Principles of Testing and Analysis
1) What : The quality process
Quality Process : Set of activities and responsibilities
- Focused primarily on ensuring adequate dependability.
- concerned with project schedule or with product usability.
The quality process provides a framework for
- selecting and arranging activities.
- considering interactions and trade-offs with other important goals.
Process Quality
- Repeatability, Timeliness, Cost.
Product Quality
- Internal Qualities: Reusability, Manageability, Maintainability, Modifiability.
- External Qualities:
- Dependability qualities : Availability, correctness, reliability, safety, robustness.
- Usefulness qualities : Usability, Performance, Security, Portability, Interoperability.
2) Where : Focusing on problematic constructs and modules most likely to contain bugs.
- Floating points numbers:
Inherently imprecise. The imprecision may lead to invalid comparisons
Sequences of computations may lose precision. - Pointers(C/ C++):
Pointers referring to the wrong memory areas can corrupt data.
Aliasing can make programs difficult to understand and change. - Parallelism:
Can result in subtle timing errors because of unforeseen interaction between parallel processes
Can result in deadlock if synchronization is used incorrectly. - Numeric Limits/Boundaries:
Very large values for integers/floats
Boundary values for relational expressions. - Interrupts:
Interrupts can cause a critical operation to be terminated and back make a program difficult to understand.
Interrupts are comparable to goto statements. - Complex boolean expression:
Nested boolean operators can be difficult to understand. - Casts and conversions between types:
Especially numeric types : can lose precision or overflow
3) When : Performing testing as early and often as possible.
It involves V model
V Model:
It is a model of software development which pairs phases. Each phase on the left side of the V generates test planning for an accompanying phase on the right side.
Validation:
- Confirms that the software performs to the user's satisfaction.
- Assuring that the software system meets the user's needs.
- Answering "Are we building the right product?"
Verification:
- Confirms that the software performs and conforms to its specification.
- Answering "Are we building the product right?"
4) Who : Structuring organization for effective testing.
5) How : Strategies for effective testing
- Scope of tests
- Purpose of tests
- Testing techniques
- Visibility : Observability, State exposure, Logging
- Repeatability
- Redundancy
- Feedback
Comments
Post a Comment