First of all, we should know that How to test web application means and who does it? Testing is done by Software Testers who are hired exclusively to test the web application. Testing in a broader sense refers to testing of the website. Now, what does Testing of a website means….. During testing of Website or Web application, we see whether there is a deviation from the requirement or not. If there is a deviation from the requirement, then a defect is logged or reported.
Now, it is important to know what is a requirement in software testing and from where it comes from. The requirement comes from Business Analyst, who is in direct touch with the client and gets the requirement of business scenarios from the client and develops Business Requirement Specification or User Requirement Specification. He is the point of contact for tester in case of any confusion regarding the requirement.
Before starting Testing Process, Test Plan is prepared which contains plan how, when and who will do the testing. But main features of the content of the Test Plan are what features to be tested, what features not to be tested, scope and objective of particular Web Application Release. After Test Plan is Prepared, Tester or Test Engineer understands the requirement and in case of any doubt, he gets the requirement clarified by Business Analyst. After the requirement is clear, Test Engineer starts preparing Test Case document which consists of Test Cases, which is used to describe Business needs, technically called Test Scenarios (can be called Business Scenario).
Now when development is done and first build (particular release before the final release is called build) of the project is released, tester start testing the build or released web application against the test cases which describes the business scenarios. If the web application is meeting all the business requirement as written in the test case, then web Application release is final and can be moved to production environment(which does not happen), otherwise Bug report is prepared in specific template against the failed test cases with full description, Reproduction Steps, Input Data etc. Now this bug report is seen by Development Team. Now the bug is assigned to a developer. Developer fixes the bug and releases it in next build. Now build is released with all bugs fixed. Also if a build is not final, the build may contain added features.
So, the tester is required to focus on two things and this is called regression testing
1) Test whether all bugs have been fixed properly or not and
2) Test newly added features.
Now, while the developers were fixing the bug and were developing new features, Testers were developing Test Cases for newly added Features.
Now after build release, Tester checks that all the bugs have been fixed properly or not. If not, the bug is again reopened and assigned to developer otherwise marked as Closed. For newly added features, Tester again verifies all the test case, run the application, check particular test case is running as expected and expected output is same as that written in Test Case, Test Case is Pass otherwise bug is reported for a particular test case. From this process, now it will be easy to understand Software Testing Life Cycle.
Software Testing Life Cycle (STLC):
Software Testing Life Cycle starts from start of the Test Management Process to End of Test Management Process. It consists of many phases or stages. All stages or phases of Software Testing Life cycle with different is mentioned as below:
Requirement Gathering:
As explained above, before start of actual testing, requirement gathering and understanding is done, so as to properly understand the flow of the application.
Test Planning:
In this phase, Test Plan document is prepared which deals with all aspects of testing to be done for particular release.
Whole Plan is covered in this document. Though it is precise document .Features to be tested and Features not to be tested is included in this document. Also contains type of testing and Levels of testing. It is prepared, usually by Test Lead
Test Case Preparation:
Based on Test Plan, Tester starts preparing test case, based on features to be tested, in Test Plan.
Test Case Execution:
Now, this test case is executed on the application to see whether application is working fine and bug free
Defect Reporting:
If the test case is fail, then defect is reported and sent to developer for fixing
Defect Reanalysis:
After Defect is fixed, Defect is reanalyzed and if not fixed, again sent to development team for fixing and again reanalysis is done till the defect is fixed. Regression testing is done in this phase.
Test Closure:
After defect is fixed, Test is closed.
Bug Life Cycle:
After being familiar with Software Testing Life Cycle, it is important to know Bug Life Cycle (BLC).
Bug Life Cycle denotes the different status of the bug during different stages of Testing.
Also known as Defect Life Cycle, it is a complete cycle of Bug from the start of a testing process to Test Closure in Bug Tracking Tool. Bug Life Cycle may little vary, depending on organization process.
It starts when a bug is found and ends when Bug is closed. Bug status changes with the change in different phases of the testing process. The whole cycle is mentioned as below:
New: When any Bug or defect is found and logged for the first time. Its status is New. It is the initial state of bug.
Assigned: After the bug is logged, then Test Lead checks whether the bug is valid or not and if it is valid, assigns it to the development team to fix it and make the bug status as Assigned. A bug is assigned to a developer by Development Team Lead to fix it.
Open: In this state, developer opens the bug. It means Developer analyze the bug and starts fixing it.
Duplicate: Now if developer feels that same bug has been logged twice, he can mark the status of the bug as Duplicate
Rejected: If developer feels that bug is not a valid bug, he can mark the status of the bug as Rejected
Deferred: If the bug is to be fixed in next release, the developer marks the status of the bug as Deferred.
Not a Bug: If developer feels that there is minor modifications required, which does not affect the functionality, he can mark the status of the bug as not a bug.
For example, if small change in background color of the page is requested by the client, then it can be marked as not a bug
Test: After Developer fixes the bug, Tester puts the status of the bug as Test
Reopen: If the tester finds that bug is still not fixed, he keeps the status as Reopen. Again Developer needs to analyze and fix the bug and bug has to be fixed by the developer before developer puts its status as Test and the cycle continues till the Tester finds that bug is fixed and puts it in the Verified state.
Verified: Tester again tests the bug fixed by the developer and after tester finds that bug has been fixed in the application, then he puts the status of Bug as verified.
Closed: After Bug is put to verified status, tester finally checks for the bug in the application and keep its status as closed.
Conclusion:
Overall, in this document we see the whole process to test web-application starting from Requirement gathering to Test Closure and different phases of bug at different stages of testing.
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below:
Happy Testing!!!
- What is Difference Between Two-Tier and Three-Tier Architecture?
- Tips & Tricks: How to test your Web Applications?
- Complete Checklist for Website Testing
- What is Cookie Testing and test cases for Website Cookie Testing?
- Difference in Desktop, Client Server and Web Application Testing
- Sanity Testing
- Bug Life Cycle in Software Testing
- Model Based Testing: Testing Type You Must Know!
- How to do Backend Testing?
- Is Crowdsourcing Good For Quality Assurance?