We will write a custom Assessment on Software Testing Profession specifically for you
301 certified writers online
Software Testing Skills and Mindset
Software testing is an integral part of the software development process. Without testing software prior to its application and promotion to the market, it is very likely to be filled with various bugs and malfunctions. Receiving an incomplete product would upset the customers and damage the company’s name. There are many examples of poorly tested software causing massive negative feedback and loss of profit. Some of the recent examples involve the release of Rome 2 – Total War and Star Wars Battlefront 2 computer games, which came under fire for numerous bugs and crashes that were missed by the software testing team due to various internal issues and project constraints (Gault & Maiberg, 2017). The profession of a software tester is paramount to the programming industry, as it allows for spotting and fixing issues that were missed during the product creation stage.
Prior to watching the video about software testing, I assumed that the most valued skill in software testing was the ability to methodically check and perform many basic and redundant testing sequences in order to spot any potential flaws that might occur when performing basic functions. My reasoning behind this assumption was that the majority of programming errors could be spotted this way, whereas more complicated and hidden errors would not be visible to the naked eye and would only be revealed after a series of reported user complaints. However, this assumption was incorrect. The video made me realize that spotting basic functionality errors is not that difficult and does not require any exceptional skills and dedication. The most important skills in a software testing are the ability to critically think and analyze the situation in order to spot hidden and complex programming errors, and communication skills in order to properly relay and explain these findings to the developers and customers (EuroSTAR, 2012).
Top Five Assumptions in Systems Test Plans
Although every system test plan is individually fitted to a specific product or software, there are always assumptions that must be made in order for the system to operate efficiently. The majority of the assumptions regarding a particular project are outlined during the project planning phase (Merkow & Raghavan, 2010). However, there are several assumptions that are considered universal and can be largely applied to any systems test plans. These assumptions are as follows (Jorgensen, 2016):
- Testing will be conducted within the implementation timeframes outlined by the testers and approved by the customers.
- The test team will be provided with all the tools necessary for conducting quality systems tests specific to the software in question.
- The configurations of testing hardware and the software will be similar to those present in the production environment.
- The test team will be provided with an acceptable environment in which the testing will be conducted.
- The test team will be provided with all the requirements necessary for the completion of the project, which includes business requirements, system requirements, and data requirements.
These basic assumptions are used as a foundation, upon which the majority of the testing projects are being based.
Challenging the Assumptions
Although the five basic assumptions are theoretically applicable to any project, the realities of the market indicate that some assumptions cannot be met due to a series of events prior to or during the project that lies outside of the customers’ or test team’s control. Depending on the situation, some of the assumptions will not be met. This tends to have a negative effect on the quality of the software testing process.
In order to demonstrate this, we can once more re-assess the blunder that Rome 2: Total War was on release due to a series of errors and poor test runs on the part of the Creative Assembly. The first assumption on the list was that tests are to be conducted within the implementation timeframes outlined by the testers and approved by the customers. However, the core reason behind the number of bugs and glitches in the game was tied to the pressure by Sega on the Creative Assembly to release the game earlier (Grayson, 2013). Thus, the implementation timeframes were based solely on the needs of the customers and not on the realistic expectations of the development and testing teams. As a result, the product was unfinished upon release. This situation happens in projects that are urgent and have severe time constraints. It affects product testing in a negative way.
Another example of basic assumptions not being met can be found in the day-to-day work of testing and programming industries. The last assumption on the list states that the test team is to be provided with all the requirements necessary for the completion of the project, which includes business requirements, system requirements, and data requirements. However, as it often happens, the customers do not have a clear vision of what their software is expected to do. Therefore, a situation occurs where the requirements are not clear, which makes formulating software-specific assumptions harder. Without clear requirements, it is impossible to assess the presence or absence of certain functions that may later be needed by the end-users of the product, making it impossible for the test team to locate these errors (Stafford, 2014). In order to ensure quality, the test team must have a clear vision of what the end product is supposed to do as well as the requirements for the system and the quality of the provided data.
EuroSTAR. (2012). What is the most important skill a software tester should have? [Video file]. Web.
Gault, M., & Maiberg, E. (2017). ‘Star Wars Battlefront II’ is everything that’s wrong with big budget games. Web.
Grayson, N. (2013). Et tu, CA? – Rome II devs apologize for issues. Web.
Jorgensen, P. C. (2016). Software testing: A craftsman’s approach. New York, Boca Raton, FL: CRC Press.
Merkow, M. S., & Raghavan, L. (2010). Secure and resilient software development. Boca Raton, FL: CRC Press.
Stafford, W. (2014). The importance of requirements gathering for software projects. Web.