Software Testing Life Cycle
Manual Software Testing
Manual Testing is a process of finding out the defects, bugs in a software program. A tester performs the end-user role and verifies if all the features are working properly or not. Tester manually executes the test cases. Manual testing is the process of using the features of an application as an end-user. With manual testing, a tester manually conducts tests on the software. This process is carried out to find defects/bugs. Manual Testing is a basic type of testing in the application under test.
Software testing process flow
Requirement (SRS Review/Analysis)
A software requirements specification (SRS) is a document that contains a complete description of how the system is expected to perform. After completing, it is signed off at the end of the requirements. SRS review is nothing but going through the functional requirements specification document and trying to understand what the target application is going to be like.
- We cannot gather all information at one time
- Lots of discussions needed
- Sometimes the speed of discussion would be too fast or too slow to understand
- We should pay attention and listen carefully
- Keep note book or laptop for writing notes
- Draw diagram or rough block code for better understanding and for reference
Test Plan Creation
It’s a document developed by the test manager. It is a set of ideas that guide and is created to inform all the managers, testers, developers about the testing process.
- Strategy is not the thing which can be changed frequently
- It has very high importance
- Make list of different environment where applications can be deployed
- Make a list of all the third party tools needed for application
- List of all Operating system like Win 7, Win 10, Win Server
Test plan contains detailed understanding of workflow. It consist test templates which has introduction, scope, test strategy, environment requirements, test schedule, functions to be tested, resources and responsibilities, deliverables, suspension/ exit criteria, resumption criteria, dependencies, risks, tools, documentation and approvals.
- Success or failure will depend upon how the test is been carried out. This phase is important in testing software life cycle.
- Create a matrix environment where the software can be tested in all environments.
- Configure the test setups for Win 7, Win 8, Win 10 and Android
- Keep the databases (MySQL, Oracle, SQLServer) in the test matrix in such a way that they are too integrated with some test.
In this phase, the application build is ready and out to find bugs. Actual testing is done and bugs are reported. Testing is done in many ways like Functional (Unit testing, Integration testing, Smoke, Localization), Non-Functional (Performance, volume, Load), Maintenance (Regression).
Testing is a heavy process which itself is error regrettable! One finds many challenges while testing an application.
- Follow navigation path of software (AUT)
- Ask doubt to developer before going to product owner
- Take help of developer when required
Before releasing the software in the market, quality of product is ensured. Once a software is built, it is tested several times.
- Software should be tested carefully in many parameters i.e. functional, behavioural, performance and scalability.
- All the features on all platform should be tested
- Highlight the data which is not tested
- Application health card should be present to stakeholder
Steps in Requirements to Release
SRS is a description of a software system to be developed. It contains functional and non-functional requirements.
Objectives are set for major and minor releases.
Target date is the date in which the build is released
Detailed Project Plan
Detailed Project Plan is nothing but the project build, it includes design and decision specifications
Develop Test Plan
Develop Test Plan is based on design specifications
This includes objectives, testing schedule, the methodology adopted while testing, features to be and not to be tested, multi-platform support risk criteria, and the resource allocation for testing.
Test Specifications document includes technical details (software requirements) required prior to testing.
Writing of Test Cases
Test cases are of different types like smoke test cases, sanity test case, regression tests cases, negative test cases
In the development phase modules are developed one by one
It is used for building individual product
A build includes Installers of the available products – multiple platforms.
Testing of new features. Cross browser and cross platform testing. Stress testing and memory leakage testing
Test summary report
Test report, bug and other report are created in Test summary report
In Code freezing no more lines of code can be added
Decision to release the product
Here decision is made to release or postponed release of the product
The existence of both manual testing and automation testing forces us to think about our choice of tools, their cost, and the benefit they will provide. There is a time and place for both methods of testing. Manual testing helps us understand the entire problem and explore other angles of tests with flexibility. Automated testing helps save time in the long run by accomplishing a large number of surface level tests in a short time. It’s up to you to determine when and where each method of testing is used.
What’s best for ESDS?
ESDS is involved in manual testing since 2 years including functional testing, smoke testing, regression testing, sanity testing, unit testing, integration testing and system testing.