Testing
Software development is a complex process with changes occurring throughout the project life cycle. The software development team at QBurst has adopted agile methodologies to easily and efficiently accommodate clients’ changing requirements and meet their expectations. Our QA (Quality Assurance) & Testing team also follows an agile methodology, by default, keeping in sync with the development team.
Agile Methodology
Agile methodology improves the quality of the product by implementing testing in every iteration. It enables the testing team to adapt to changes quickly and smoothly. This is made possible using short iterations resulting in incremental development of the product. Each iteration is followed by a product release, which is thoroughly tested to ensure smooth functioning of the product. The frequent iterations help testers to test all changes requested by the client during the development process.
Our Approach
The testing team initially studies the requirements document, prototypes and all other documents about the project. The team decides the objective, scope, purpose and deliverables of the testing process. The feasibility risks are also addressed. The risk mitigation plan and third party dependencies are recorded.
A test scenario diagram is created illustrating workflow or the tasks, at a high level. The diagram will reflect the clients’ vision, and is prepared based on extensive communication with them. The diagrams are then sent for review and approval, and any modifications/suggestions are incorporated. The final approved document is used to help execute QA testing. A test plan is also prepared on understanding the project requirements. The test scenario diagram and test plan serve as a guide to create testing activities. Requirements will be managed in the test management system as user stories, use case and test cases.
Iteration Phase
A single iteration consists of three phases:
- Test Design - The test plan and test scenario diagram used as inputs taken to design the testing processes. Test cases are created by following the structure in the scenario diagram. The test cases are documented in test management tools like Quality Center, Test link or any other tools as per the project requirements. We always ensure that the test cases match the requirements, which helps us in generating the test coverage or traceability reports after the test execution phase.
- Test Execution - Test cases are executed and the status is marked as ‘Passed/Failed/Blocked’. The status is updated in TestLink and the detected defects are reported in the defect tracking system (Trac). Exploratory testing is also be conducted and the defects logged. Bug fixes are regressed and the status updated against the test cases in TestLink.
- Test Report - The defect tracking system will have details of all the detected bugs. This helps in generating statistics for all stages of testing. The statistics will consist of the total number of test cases executed and the number of test cases passed/failed/not run. Reports are generated based on count and percentage. A traceability matrix is created to ensure proper test coverage.
Post Iteration Phase
When iteration is complete, a bug report is prepared with details of any bugs found during the iteration. This report is made available to the project team, and the development manager or the product owner who can prepare the schedule to resolve open bugs or defer the defects for a later release. The development team re-submits the code for test after correction. The corrected code goes through the testing process until it is bug-free. When the code passes the testing process, the product is released.
Test Deliverables across all Iterations
- Mind maps / Test scenario diagram
- Test specification (High level test cases)
- Defect reports
- Test coverage report / Requirements Traceability Matrix

