The functionality of Software Quality Assurance is to assure that the standards, processes, and procedures are appropriate for the project and are correctly implemented.
This is a process, which flows from software requirement Analysis, software design, coding, source code control, product testing, code reviews, change management, configuration management, and release management.
SQA comes in many forms, from the developer who tests the own code, and SQA testers work with automated testing tools and manual testing. Many vendors and groups have recognized Quality Assurance and Testing as an essential part of the development and maintenance process and have developed certifications to standardize and demonstrate knowledge of the QA process and testing tools.
SQA Certifications standardized by the Quality Assurance Institute (QAI) includes following levels of Certifications.
Certified Software Quality Analyst (CSQA),
Certified Software Tester (CSTE)
Certified Software Project Manager (CSPM)
Acquiring the above levels of certifications indicates a professional level of competence in the principles and practices of quality assurance in the IT profession and gains recognition as software quality profession, achieve more rapid career advancement, and gain greater acceptance in the role as advisor to management.
Discussing about new trends in software testing can be forced on testing tools and new methodologies in testing as the companies are trying hard to keep up a good demand by delivering reliable, bug-free, and quality software.
Continuous Integration (CI) is one such software testing trend that is quickly being adopted into the testing arena. It is a practice where the team members integrate their work with rest of the development team on a frequent basis. The development team and the testing team commit their changes to a central versioning system.
With CI the integration between the developed code and testing can be done as soon as the changes by developers get committed. This results in many integrations per day, as the development team will not have to wait for long to get feedbacks from the team of testers. CI would result in removing the code duplication, authenticity of dependencies, and coding standards.
Using the correct testing tool at the right time in a project can significantly increase the efficiency of testing by automating processes, increasing communication, promoting best practices and re-use of tests and test data.
The leading functional automated testing tools include:
QuickTest Professional™ (QTP) and Mercury WinRunner® deliver a complete solution for functional test, GUI test, and regression test automation with support for practically every software application and environment.
When testing complex applications based on Microsoft, Java and web-based technologies, TestPartner helps reassure that testing efforts are complete. For other application types, QARun gives developers and testers the automation capabilities needed to create and execute test scripts, verify tests and analyze test results.
IBM Rational Robot is a general purpose test automation tool for QA teams who want to perform functional testing of client/server applications.
Axe is a new class of business process-oriented tools that allow non-technical users to automate testing. It provides a means to rapidly deploy automated testing systems that can be used by staff without specialist automation skills and minimal training. This reduces the cost of introducing and maintaining test automation by a factor of four. Axe can translate scripts to run with any of the functional testing tools mentioned above.
These are the leading automated testing tools for functional and regression testing. As well as functional regression testing tools there are also automated performance testing tools