The goals of software quality assurance (SQA) are monitoring the software and its development process, ensuring compliance with standards and procedures, and ensuring that product, process, and standards defects are visible to management.
Quality is the operational behavior of a product required by its users. It comprises a set of product characteristics, both external and internal. External quality characteristics are related to how the product works in its environment (e.g., usability and reliability). Internal quality characteristics reflect how the product is developed (characteristics such as structural complexity, size, test coverage, and fault rates). Important factors affecting product’s quality
characteristics are process maturity level of the company that has developed the software product, its development environment (such as the design methodology and CASE tools used), and the development team’s skill and experience.
It is desirable for a software development organization to plan and control product quality during development. Projects managers cannot allow the luxury of going back and adding quality by the time a quality problem is detected, it is probably too late to fix it. For that reason, it is necessary to establish procedures and expectations for high levels of quality before any other
development begins. Also, hiring developers proven to develop high-quality code, staffing the project accordingly, and enforcing peer-level code reviews and external reviews must be top priority of every software project management.
• Establishing targets for the external quality characteristics.
• Pursuing those targets during development by defining and monitoring targets for internal quality characteristics - this can be done using conventional software measures of size, fault rates, change rates, structure, test coverage, and so on, taken early in product development.
• Establishing relationships between internal and external quality characteristics, using experience from similar past software development projects.
• Identifying and setting targets for internal quality characteristics.In practice, all this can be done by first defining a quality model (in terms of measurable quality characteristics; it can be an international standard like ISO 9126, or a company-specific model), and then applying a quality process.
Quality process includes quality specification (establishing the software product’s quality requirements), planning (deciding on a suitable development process and setting target values for measurable internal quality characteristics),control (monitoring progress throughout development using internal software measures associated with deliverables and activities related to each major review point in development), and evaluation (measuring the actual values of the
external quality characteristics and comparing each actual value with its target value). Maintaining and using a database of past projects helps perform each step in the process more successfully....................
Software Quality Assurance
Posted by Ayub at 6:46 AM
0 comments:
Post a Comment