The testing life cycle usually starts with planning, and admittedly that part isn’t much fun. Testers often have a better ability to grasp the ‘big-picture’, the processes and user interactions involved in using a specific software. This links to the overall “quality assurance” role, where testers audit and improve the overall development process as well as the product. Test planning looks at the details of using the software, and testers would design “test cases” with detailed steps to operate the software, and the expected results for each step.
Testers will use the software’s features as end users and try to find any behaviour that differs from the customer or user’s expectations. When a defect is found, testers will report it so designers and programmers can fix it. Writing an effective description of a bug is an art that gets better with experience. There are different stages to testing: lower level and higher level, each require a different set of skills.
In the table below you can read about some examples of common test stages. It is important to note that there are many more test stages that may be included and conducted in the different test environments, however we are only going to describe the most common ones.
This testing stage will seek to verify that the integration with other systems/applications or between components tested in the Unit testing stage work together as per the design.
A very short cycle of tests (usually up to 0.5 day) that test the very basic functionality of the component, such as install , login , network connectivity and so on. At the end of this stage we should conclude whether the changes received are ‘ready to be tested’
At this stage we test to verify that the system behaves correctly from the user/business perspective and functions according to the requirements. The functional test must determine if each component performs in accordance to its specifications.
This stage also ensures that the component conforms to the industry standards relevant to that environment; for example, in a Windows programs, pressing F1 brings up help etc.
This stage includes Security Testing as well as Recovery after critical failures have occurred (network’s down , no power, Failover etc.); This stage also refers to performance , stress and load testing
Regression testing will seek to ensure that new changes implemented or configured have not negatively impacted pre-existing functionality.
This test stage seeks to prove the component works as expected in its overall capacity; e.g. while deployed from a server and connected to other systems on the company’s network.
User Acceptance Testing / Pilot
At this stage end users verify the changes are fit for purpose in their specific environment. These components may be configured differently from market to market and this may affect the behaviour of the component. This stage also ensures that Subject Matter Expert applications (such as SAP or Banking apps) can work correctly with the modified component.
As before we conclude with a comment to our interested students:
Software Testing is sometime rigidly based on standards and structures, but is also open to some interpretation. In our IT retraining course Retrain as a Software Test Analyst you will learn how to make the right decision when putting theory into practise.
Your feedback is always welcome, and here is short video we prepared!