Subscribe by Email


Showing posts with label SQA. Show all posts
Showing posts with label SQA. Show all posts

Wednesday, January 11, 2012

What is software quality assurance and why it is important?

Software quality assurance or SQA as it commonly abbreviated to, can be defined as a standard means of the processes of software engineering and other methods that are used to ensure the quality of the software system or application products.

The methods used for software quality assurance are several in numbers and also they are varied. These methods may include the ensuring of the conformance to more than one model such as CMMI or standards such as ISO 9000.

Software quality assurance encompasses the whole process of the software development.The software development process includes many processes such as:

- Definition of requirements
- Designing of software
- Coding of software
- Control of source code
- Review of code
- Changing the management
- Configuration management
- Testing of the software system or application product and
- Integration of the software product.

Software quality assurance like any other process is complete with certain goals and objectives.
The goals of the software quality assurance process are well organized and have been listed below:
- Commitments
- Abilities
- Activities
- Measurements and
- Verification

The standard definition of software quality assurance can be stated as follows:

“Software quality assurance is that function of software quality that assures that the processes, procedures and standards are right or appropriate for the concerned project and are well implemented.”


This definition of the software quality assurance has been given by NASA. But, the problem with this definition is that this definition confuses with other similar definitions. The problems have been stated below:

- The definition tells us a little about what software quality assurance actually is. I mean to say that is used already defined terms “software” and “assure”.

- The definition doesn’t provide a scope for something or someone who can be said responsible for software quality assurance.

- The definition doesn’t even address the relationship and role of software quality assurance with the software testing.

- In the pure form of the definition in which a distinguishing “audit” style group has been established is difficult to be applied to a small environment regarding development.

As we all know well software testing is oriented towards the detection of the vulnerabilities of the software. It makes the quality of the software.

- Quality software is delivered on time and it’s within the budget, it’s free of bugs and errors.
- Quality software reasonably meets the specifications and requirements and it is quite maintainable.

Now coming to the quality assurance of the software, it makes sure that the software product is completed or developed based on the previously mentioned specifications and requirements by the client or the customers.

- It also ensures that the software has been developed according to the stated functionality and the standards and also without any defects and possible errors.

- The quality assurance factor monitors and tries to improve or raise the standards of the development process from the beginning of the software product development.

- It is basically known to be oriented towards the prevention of problems.

- Quality assurance is one such factor that is involved in the software development process right from the beginning.

- This helps a great deal to the development team to figure out the problems and accordingly set up the testing environment and configuration.

- Usually the actual testing starts when the test plan has been framed, reviewed and approved based on the specifications of the software design stated in the documentation.


Tuesday, September 22, 2009

Software Quality Assurance - SQA

Software Quality Assurance (SQA) is defined as a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures. SQA includes the process of assuring that standards and procedures are established and are followed throughout the software acquisition life cycle. Compliance with agreed-upon standards and procedures is evaluated through process monitoring, product evaluation, and audits. Software development and control processes should include quality assurance approval points, where an SQA evaluation
of the product may be done in relation to the applicable standards.

STANDARDS AND PROCEDURES :
Establishing standards and procedures for software development is critical, since these provide the framework from which the software evolves. Standards are the established criteria to which the software products are compared. Procedures are the established criteria to which the development and control processes are compared.
Standards and procedures establish the prescribed methods for developing software; the SQA role is to ensure their existence and adequacy. Proper documentation of standards and procedures is necessary since the SQA activities of process monitoring, product evaluation, and auditing rely upon unequivocal definitions to measure project compliance.

SQA ACTIVITIES :
Software quality assurance is composed of a variety of tasks associated with two different constituencies - the software engineers who do technical work and an SQA group that has responsibility for quality assurance planning, oversight, record keeping, analysis, and reporting. Product evaluation and process monitoring are the SQA activities that assure the software development and control processes.
Product evaluation is an SQA activity that assures standards are being followed. Product evaluation assures that the software product reflects the requirements of the applicable standard(s) as identified in the Management Plan.
Process monitoring is an SQA activity that ensures that appropriate steps to carry out the process are being followed.
A fundamental SQA technique is the audit, which looks at a process and/or a product in depth, comparing them to established procedures and standards. Audits are used to review management, technical, and assurance processes to provide an indication of the quality and status of the software product.

ROLE OF AN SQA GROUP :
- Prepares an SQA plan for a project.
- Participates in the development of the project's software process description.
- Reviews software engineering activities to verify compliance with defined software process.
- Audits designated software work products to verify compliance with those defined as part of software process.
- Ensures that deviations in software work and work products are documented and handled according to a document procedure.
- Records any noncompliance and reports to senior management.


Quality Management - Overview

Software quality management is an umbrella activity - incorporating both quality control and quality assurance - that is applied at each step in the software process. SQA encompasses procedures for the effective application of methods and tools, formal technical reviews, testing strategies and techniques, procedures for change control, procedures for assuring compliance to standards, and measurement and reporting mechanisms.
SQA is complicated by the complex nature of software quality - an attribute of computer programs that is defined as "conformance to explicitly and implicitly specified requirements. But when considered more generally, software quality encompasses many different product and process factors and related metrices.

Software reviews are one of the most important quality control activities. Reviews serve as filters throughout all software engineering activities, removing errors while they are relatively inexpensive to find and correct. The formal technical review is stylized meeting that has been shown to be extremely effective in uncovering errors.
To properly conduct software quality assurance, data about the software engineering process should be collected, evaluated, and disseminated. Statistical SQA helps to improve the quality of the product and the software process itself. Software reliability models extend measurements, enabling collected defect data to be extrapolated into projected failure rates and reliability predictions.

Software quality assurance is the mapping of the managerial precepts and design disciplines of quality assurance onto the applicable managerial and technological space of software engineering. The ability to ensure quality is the measure of a mature engineering discipline. When the mapping is successfully accomplished, mature software engineering is the result.


Facebook activity