Independent QA and Testing
Quality assurance and testing are extremely crucial in the software development cycle and should be introduced at the earliest stage of the project.
The activities performed by out team of QA professionals include the following:
- Planning: A road-map for the QA process is drawn up. It also involves the review of the documents and application design at the pre-development phase. This ensures that the basic architecture of the solution adheres to the norms laid down.
This process also involves the planning of the testing process that includes the creation of test plans detailing the testing processes to the followed for the project, the tools to be used etc.
- Testing: On the basis of the test plans, our QA team perform a variety of tests to identify errors, defects etc.
- Fixing:All errors identified are duly documented and communicated to the concerned people. Bugzilla and Event are some of the issue tracking tools used at Troy. Once the errors are rectified, the QS teams verifies whether or no the issues have been resolved. The solution is released to the client after all issues/errors have been successfully resolved and verified by the QA team.
Testing is an integral part of the QA process as it provides a means for judging the reliability, portability, and the usability of solutions. The tests that we perform include:
- Code Review: The code is verified to ensure that all conventions and practices are being adhered to.
- Unit Testing: This involves the testing the functionality of the smallest unit of code such as a class, function etc. This prevents any errors in programming logic and methods.
- Integration testing: This test is carried out to ensure that all the application as a whole functions properly.
- Functional Testing: Functional testing is performed to ensure that the application has been developed as per the functional specifications. Each feature of the application is tested. In case of web based applications our QA team verifies the application against issues such as meaningful page titles, use of CSS for defining web page layout, use of alt tags for images, form validations, use of search engine friendly URL etc.
- Compatibility Testing: This test is carried out to ensure that the application is compatible across platforms on which it operates.
- Performance Testing: A performance test determines how an application will perform under user load. We make use of various testing tools to simulate high usage loads.
- Automated Testing: At Troy we also make use to automated testing to carry out repetitive testing tasks. We create testing scripts for such tasks.