At Subex, quality is our highest priority. From our working environment to our client's experience with every project, to the final software delivered, our endeavor is to provide quality. The primary objective of STI’s QA system is to embed quality into all our processes. Our QA processes are proactive in nature - aimed at identifying problems during software development, rather than identifying them during the verification process and then having to correct them.
Our QA team has delivered several value added projects to our clients in the areas of end to end QA testing and delivery. Experts in producing key deliverables of data matrix, test execution schedule, detailed test plans, validation results for enterprises and large clients. Capable of handling the whole test division independently by suggesting methodologies & strategies and developing test plans, test cases, data management, validation results, defect tracking, test execution and metric production.
QA methodology at STI
Requirements Gathering : The QA methodology begins with the requirements gathering phase. This process is carefully managed by a Project Manager, including a Business Analyst to work closely with the client. The requirements’ document (SRS document) forms the basis for all future design and specification work; in keeping with the same, our team carefully and thoroughly documents all project requirements, identifying potential risk areas and possible contingency plans.
Specifications Phase : Our team performs systems analysis and creates detailed specifications, once project requirements are finalized. Ongoing, open communication takes place between our team and the client, as all design and system specifications are shared, updated, and then approved. Our QA team maps the requirements document to the specifications, thereby ensuring that all functionality is addressed and that the software we have specified is exactly what the client desires.
Test Plans Phase : Once the specifications are marked as final, detailed test plans - including use cases and user scenarios - are created and reviewed by our team as well as by the client. Client’s can expect STI to adhere to a solid quality assurance practice that covers each phase - from design to deployment.
Throughout development, the client’s team and our team tests the application / software being designed. We maintain a complete testing environment containing a variety of hardware / software configurations and automated testing tools. We provide detailed reports as a result of our testing, ensuring all problems and issues are corrected and verified immediately. This comprehensive approach ensures a quality product and eliminates any duplication of effort between development and testing.
Stringent quality checks are performed by preparing checklists at various phases of the Development Life Cycle. The following is a brief outline of these checklists.
- INITIAL CHECK: The Initial Checklist is filled in by the Project Manager at the end of the ‘requirement analysis’ The list ensures that all the requirements for the project are complete and are well understood before actual development begins.
- TEST CASES: In the project planning stage, Test Case reports are created by the QA team; these reports document and describe every input, action, or event and an expected response, to help determine if every feature / functionality of an application is working correctly. These test cases cover all the positive and negative scenarios involved with the application and its performance.
- DEVELOPMENT CHECK: The Development Checklist is used to ensure that coding is completed according to design specifications, and that the style guide is followed during the process. This includes documentation of the source code and checking the source code with the help of Code Analysis tools.
- DATABASE CHECK: The Database Checklist is filled once the database design is complete. This helps to identify whether accepted database conventions were followed for the project database.
- QA CHECK: The QA Checklist is filled at the end of testing phase and ensures that the project as a whole has been reviewed. Herein, we use Code Coverage Tools to quantify our application testing and to identify untested portions of the code. These tools automatically instrument the code to provide detailed information about application behavior.
- RELEASE CHECK: Finally, the Release Checklist re-confirms that the project is organized and that all the project documents are available. This includes rechecking that all defects and bugs have been resolved; regression testing of the application is done and verifying installation procedures have been completed successfully. The software is now ready to be released to the client.
All testing is done from the point of view of the user. It is aimed at finding and correcting bugs such as incorrect functions, interface problems, and database errors. As a standard practice, we use the black box testing approach. The types of testing performed by us are:
| Type of test || Description || Method Used |
|Unit ||Tests a small unit of a software application, separate from other units of the application. ||Black Box |
|Integration ||Integration of small modules is tested. ||Black Box |
|System ||It is done after the product is ready to be tested finally to check whether it satisfies the user’s requirement. ||Black Box |