1/44
A comprehensive set of question-and-answer flashcards covering definitions, concepts, models, and distinctions introduced in Chapter 1 of the Software Quality Assurance and Testing course.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is the IEEE definition of software?
Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.
Name the four components of software.
1) Computer programs (code) 2) Procedures 3) Documentation 4) Data necessary for operating
Why are procedures necessary in software quality assurance?
They define the order, schedule, methods, and responsibilities for running programs, ensuring correct application of the software.
Identify the three primary types of documentation and their audiences.
• Development documentation – for developers • User documentation – for end-users • Maintenance documentation – for maintenance personnel
Why is data considered a necessary component for SQA?
It adapts software to specific users (parameters, codes, lists) and includes standard test data to detect unintended changes or malfunctions.
Besides code quality, what other component qualities must SQA always include?
Quality of procedures, documentation, and necessary data.
Define a software error/mistake.
A programmer-made error such as a syntax or logical mistake in the code.
Give two common categories of software errors.
Grammatical/syntax errors and logical errors that violate client requirements.
Define software fault/defect/bug.
Any non-conformance with the requirements specification found during testing.
What is a software failure?
An observed malfunction when the application runs in the customer’s environment, causing it not to work as expected.
Arrange the causal chain linking error, fault, and failure.
Error → Defect/Fault/Bug → Failure
Give two reasons a fault might never become a failure.
1) Faulty code is never executed by users. 2) Required conditions to activate the fault never occur.
List the nine common causes of software errors.
1) Faulty requirement definitions 2) Client–developer communication failures 3) Deliberate deviations 4) Logical design errors 5) Coding errors 6) Non-compliance with instructions 7) Testing shortcomings 8) Procedure errors 9) Documentation errors
State the IEEE definition of software quality (two parts).
1) Degree to which a system, component, or process meets specified requirements. 2) Degree to which it meets customer or user needs or expectations.
According to Crosby, what does quality mean?
Conformance to requirements.
According to Juran, what are the two aspects of quality?
(1) Features that meet customer needs and give satisfaction. (2) Freedom from deficiencies.
Give Pressman’s three requirements for software quality assurance.
Conformance to: 1) Explicit functional & performance requirements, 2) Documented development standards, 3) Implicit professional (state-of-the-art) characteristics.
Provide the IEEE definition of software quality assurance.
A planned and systematic pattern of all actions necessary to provide adequate confidence that a product conforms to established technical requirements and to evaluate the process by which it is developed.
How does the expanded SQA definition extend the IEEE’s?
Adds coverage of maintenance, schedule adherence, and budget constraints.
Differentiate QA from QC in terms of orientation.
QA is process-oriented; QC is product-oriented.
Which activity is preventive and which is corrective: QA or QC?
QA is preventive; QC is corrective.
Regarding verification vs. validation, which corresponds to QA and which to QC?
QA = verification (doing the right things in the right way); QC = validation (checking the product meets requirements).
According to IEEE 1991, what is software engineering?
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
How many quality factors are in McCall’s model?
11 software quality factors.
List McCall’s product operation factors.
Correctness, Reliability, Efficiency, Integrity, Usability.
List McCall’s product revision factors.
Maintainability, Flexibility, Testability.
List McCall’s product transition factors.
Portability, Reusability, Interoperability.
What does the correctness factor focus on?
Accuracy, completeness, timeliness, availability, and standards of the software outputs.
What metric do reliability requirements typically specify?
Maximum allowed failure rate for the system or its functions.
Which resources are considered under efficiency requirements?
Processing power, memory/disk capacity, communication bandwidth, and sometimes power consumption between recharges.
What is meant by integrity in software quality?
Security measures that prevent unauthorized access and distinguish read and write permissions.
Define usability in the context of software quality.
The staff resources and training time needed to learn and operate the system effectively.
What is maintainability?
The effort required to locate, fix, and verify corrections of software failures.
What is flexibility?
The effort and resources needed to adapt or enhance software for new customers, environments, or requirements.
Define testability.
The ease of testing a system, including built-in diagnostics, logs, and standard test data.
Define portability.
The ability to transfer software to different hardware, operating systems, or environments at low cost.
Define reusability.
The capability to use existing software modules in new projects, saving time and improving quality.
Define interoperability.
The capacity of software to interface and exchange data with other systems or equipment firmware.
Which quality factors are usually of greater interest to developers than to clients?
Portability, Reusability, and Verifiability/Testability.
Name three key features of the SQA environment highlighted in the lecture.
1) Projects must work in teams and coordinate with other teams. 2) Software must interface with other systems. 3) Maintenance must continue for many years even as teams change.
Summarize the difference between QA focus and QC focus.
QA improves development processes to prevent errors; QC improves the product by detecting and correcting defects.
In the chapter summary, what four software components are always included in SQA?
Code, procedures, documentation, and necessary data.
What is the main objective of SQA?
To provide confidence that the software process and product conform to technical, functional, schedule, and budget requirements.
What two categories of decisions shape an organization’s SQA system?
(a) The SQA organizational base; (b) The components to be implemented and their extent of use.
Give three contexts outside professional development where SQA is still needed.
Software created by students, hobbyists, or non-software professionals to support their work.