First of all, the process of software testing is never ending, because the product always need to be improved and every time you do it you need to test it again. Now lets talk about the steps of the software testing process.
- Creation of scenarios
- Preparation of test environment and data creation
- Run the scenarios
- Reporting results
Software testing is an iterative process and continues after the software is completed.
Types and levels
When we say testing, we see that there are different types of tests. Test types have a per-category in terms of levels, types and processes. Each type of test can be an article in its own right or even a book
Activities and roles
Test lead/manager: A test lead is responsible for:
- Defining the testing activities for subordinates – testers or test engineers.
- All responsibilities of test planning.
- To check if the team has all the necessary resources to execute the testing activities.
- To check if testing is going hand in hand with the software development in all phases.
- Prepare the status report of testing activities.
- Required Interactions with customers.
- Updating project manager regularly about the progress of testing activities.
Test engineers/QA testers/QC testers are responsible for:
- To read all the documents and understand what needs to be tested.
- Based on the information procured in the above step decide how it is to be tested.
- Inform the test lead about what all resources will be required for software testing.
- Develop test cases and prioritize testing activities.
- Execute all the test case and report defects, define severity and priority for each defect.
- Carry out regression testing every time when changes are made to the code to fix defects.
A testing environment is a setup of software and hardware for the testing teams to execute test cases. In other words, it supports test execution with hardware, software and network configured.
Key areas to set up in Test Environment:
- System and applications
- Test data
- Database server
- Front-end running environment
- Client operating system
- Hardware includes Server Operating system
- Documentation required like reference documents/configuration guides/installation guides/ user manuals
Specification-Based or Black-Box techniques: create tests, primarly, by analysis of the test basis and tracing the bugs in order to know how the system behaves.
Structure-Based or White-Box techniques: code coverage, statement and decision coverage, and control flow test design technique.
Experience-Based techniques: based on the testers skill, perception, experience with similar applications, and experience with similar technologies.
Process for control and management of defects in artifacts
- Defect prevention
- Deliverable baseline
- Defect discovery
- Defect resolution
- Process improvement