C19: Software Quality Assurance Flashcards
What is a Software Attribute?
Describes, or characterizes, one aspect of the interest of the software.
What is a Software Quality Attribute?
A software attribute that describes, or characterizes, a quality-related aspect of the software.
What are some common software quality attributes?
Reliability - Ability of software to perform its required functions under stated conditions and produce correct and consistent results.
Robustness - Ability of software to perform its required functions under rough or exceptional conditions.
Efficiency - Ability of software to perform its required functions and produce desired results with minimum expenditure of time and resources.
Interoperability - The ability of software to interact and exchange information with other software.
Maintainability - The aptitude of the software to undergo repairs and evolution.
Testability - The aptitude of the software to permit all desired and applicable forms of assessment. Including inspection, peer review, ect.
Portability - The aptitude of the software to permit itself to be transported to run on different operating systems or environments.
Reusability - The aptitude of the software to permit itself to be used in a similar or different context with or without extension or customization.
Modularity - The aptitude of the software to facilitate integration or arrangement of its component modules.
Cohesion - The degree of relevance of the functions of a software module with respect to the modules core functionality.
Coupling - The degree of dependency and interaction between a module and other modules.
What is a software measurement?
An objective and quantitative assessment of a software attribute.
What is a software metric?
A standard software measurement.
What is an indicator?
A measurement or metric value believed to have significant implication.
What is the usefulness of quality measurements and metrics?
- Definition and use of indicators.
- Direction valuable resources to critical areas.
- Quantitative comparison of similar projects and systems.
- Quantitative assessment of improvement
- Quantitative assessment of technology
- Quantitative assessment of process improvement
What are some conventional quality metrics?
- Requirements metrics
- Design metrics
- Implementation and system metrics
What is verification?
Ensures that the process is carried out correctly.
What is validation?
Ensures that the correct product is built.
What are the different types of validation?
Static: Which checks the correctness of the product without executing the product.
Dynamic: Which executes the product.
Testing and static approaches are complementary.
Explain the different types of static validation.
Inspection: Inspector checks the product against a list of common errors and anomalies in order to detect commonly encountered programming errors.
Walkthrough: Developer checks through the program aloud and explains to other team members.
Peer Review: Product reviewed by peers, guided by a list of review questions. Reviewers review the work, then a review meeting is held to discuss the review results.
When should verification and validation be performed?
In each of the phases to ensure the process and products of each phase are correct.
What is formal verification?
A precise mathematical analysis process.
What is informal verification?
Correspondence is checked by a manual process.