Quality Assurance is the process of ensuring that the software applications developed adhere to and meet the defined standards and requirements. Quality Assurance activities begin with establishing a development methodology and the coding conventions and practices to be followed. After the standards and conventions are in place, QA activities such as testing and audits are carried out to ensure that the applications are being developed on the basis of the guidelines that have been laid down. In case of any deviations or defects, timely preventive action can be taken thereby ensuring the delivery of quality products.
Our team of Quality Professionals ensures the delivery of quality products by tailoring the Quality Assurance processes to meet the requirements of individual projects. The QA processes are modified as per the nature of the project, its complexity and duration.
The QA team conducts a review of the code written by the developers at regular intervals to verify that the code conforms to the standards and practices defined. This helps in rectifying any deviations at an early stage. In case of web based applications issues such as adherence of the website design and coding (CSS, HTML, XHTML etc) practices, use of semantically correct markup etc are reviewed to ensure conformance with W3C standards.
Testing is one of the most important aspects of Quality Assurance. Apart from the identification of errors and defects, testing helps in judging the reliability, portability, and the usability of the application.
As per the test plan defined, out team of testers perform a variety of tests to check the software application for bugs and errors. Some of the tests performed by our team include the following:
Our QA team is responsible for documenting and recording the errors and issues identified during the testing process. At Open Source Development, we use various bug/issue tracking tools (such as Bugzilla and Eventum) to report the errors and their resolution details. The development team accesses the issue tracker to view the errors and issues posted. The developers resolve the issue as per the priority set for the bug/issue. After the successful resolution of the bug/issue, the QA team verifies the success of the same.
We also provide our clients with access to issue tracker enabling them to directly track and post bugs and raise issues. Alternately, we also offer to enter and record the errors and issues on any bug tracking application that is being used by the client.
On successfully fixing and verifying the bugs and defects, a version of the software is released to the client for acceptance testing. Any bugs/issues detected by the client are duly recorded and worked upon. Once the cycle of testing and verifying has been successfully completed, the final version of the software application is released to the client.
Outsourcing web development efforts can yield drastically different results depending on who you partner with. In the end, success depends on so many factors far beyond code development itself - strong project management skills, the ability to balance a strategic vision and end user needs with technical realities, discipline in execution, steady productivity, honesty, and a positive attitude in dealing with unexpected challenges and changes to name a few. I've found that those who can consistently deliver on these key attributes are rare.
Ted Bream
CEOCore Agenda Inc.