Saturday, January 5, 2008

SOFTWARE QA & QC


Software quality assurance is made up of two components: quality assurance (QA) and quality control (QC). Some of the activities and responsibilities performed in each of these areas are listed below. Quality control is a process directed at validating that a specific deliverable meets standards, is error free, and is the best deliverable that can be produced. This is often performed through formal inspections and testing. QA, on the other hand, is a review with a goal of improving the process as well as the deliverable. QA is often a process that is external to the development departments. QA is an effective approach to producing a high-quality product. One aspect is the process of objectively reviewing project deliverables and the processes that produce them (including testing), to identify defects, and then making recommendations for improvement based on the review. The result is the assurance that the system and application is of high quality, and that the process is working.


Software Quality Assurance Activities

· Software development life cycle definition

· Control procedure definition and improvement

· Software configuration management

· Library control

· Change control

· Metrics and measurement

· Define and implement SQA plan

· Process and product reviews

· Methods and standards (CMM, ISO) adoption

Software Quality Control Activities

· Software testing

· Test automation

· Inspections, walkthroughs, and review

· Test strategy and plans development

· User acceptance, unit, and integration testing

· Regression testing

· Load, security, and performance tests

· Test case development

· Build and maintain test environments


Because there are so many activities within software quality assurance, it is important to understand your organization’s definition of software quality and all of the activities included in that. Testing is one of many disciplines used as part of a complete SQA approach for improving the quality of a software project. Testing or QC activities are often the only or the first activities performed by new software quality assurance departments within an organization. So how does all of this relate to manufacturing? There are many similarities to manufacturing and the quality principles applied, including statistical process control (SPC). Most of these fall within the QA component. The process improvement and quality methods used are fundamentally the same as all QA disciplines. There are also some things that are unique to software and require special applications of these fundamental concepts. Some of these concepts include software configuration management, software testing, SPC and process methods for software development such as the CMM.

No comments: