CPSA-FL practice question 1 of 10

Which two of the following statements about quality characteristics are most accurate? (Choose two.)

Full set: 43 questions
Answer options
A: Flexibility reduces testability Correct answer
B: Increased flexibility improves robustness
C: Simplicity increases comprehensibility Correct answer
D: Increased efficiency results in reduced performance
Correct Answer:
A. Flexibility reduces testability; C. Simplicity increases comprehensibility
Explanation

This question evaluates the understanding of relationships and trade-offs between software quality characteristics.
Statement C is fundamentally correct. Simplicity in a system's design and implementation (e.g., low complexity, clear structure) is a primary driver for its comprehensibility. A system that is easier to understand is also easier to analyze, maintain, and evolve.
Statement A describes a common trade-off in software engineering. Increased flexibility often implies more features, configuration options, and execution paths. This leads to a combinatorial increase in the number of states to be tested, making it significantly more difficult and costly to achieve thorough test coverage. Therefore, flexibility can negatively impact, or "reduce," practical testability.

Why Incorrect

B. Increased flexibility improves robustness: This is generally incorrect. Flexibility and robustness are often conflicting quality goals. Increasing flexibility can introduce more complexity and potential points of failure, thereby making the system harder to secure and potentially less robust.
D. Increased efficiency results in reduced performance: This statement is contradictory. In software quality models like ISO/IEC 25010, "Performance efficiency" is a key characteristic. Efficiency (resource utilization) and performance (time-behavior) are positively correlated; improving efficiency typically improves performance, it does not reduce it. ---

References

1. For Correct Option C (Simplicity increases comprehensibility):

Van Vliet

H. (2008). Software Engineering: Principles and Practice. 3rd Edition. John Wiley & Sons. Chapter 7

Section 7.3

on design heuristics

emphasizes that simplicity and low complexity are crucial for creating understandable and maintainable systems. It states

"A simple design is easy to understand and easy to maintain."

2. For Correct Option A (Flexibility reduces testability):

Patton

R. (2006). Software Testing. 2nd Edition. Sams Publishing. Chapter 1 discusses the testing axiom "The more complex the software

the more bugs it will have." Flexibility adds to this complexity. The book explains how a multitude of options and configurations (a hallmark of flexibility) exponentially increases the number of test cases required

making exhaustive testing impossible and practical testability more challenging.

3. For Incorrect Option B (Flexibility vs. Robustness):

International Software Architecture Qualification Board (iSAQB). (2019). Curriculum CPSA-Foundation Level

Version 2.0.1 DE. Page 19

Section 2.3. This official curriculum explicitly lists "Flexibilität vs. Stabilität/Robustheit" (Flexibility vs. Stability/Robustness) as a well-known example of conflicting quality requirements. This directly contradicts the claim that one improves the other.

4. For Incorrect Option D (Efficiency vs. Performance):

ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. Section 4.2 describes the "Performance efficiency" characteristic

which includes sub-characteristics like "Time-behaviour" and "Resource utilization." The standard defines them as related components of the same high-level quality attribute

indicating they are not in opposition.

Scroll to Top