Software Quality Assurance: Defect Management and Metrics
Steps in Defect Management Process
Defect Prevention
Defects are prevented in the early stages of development. The main goal is to find and fix issues before they appear in later stages. Root cause analysis is done to stop similar defects from happening again.
Deliverable Baseline
When a software version is stable and ready for testing, it becomes the “baseline.” Future changes and tests are done based on this baseline.
Defect Discovery
Defects are found during testing. Steps:
- Find defect – Identify
Software Testing Concepts: STLC, Bug Life Cycle & Metrics
Input Domain Testing
The input domain of a program is the set of all possible inputs that it can accept. Since testing every single input is impossible, input domain testing is used to partition the input space into manageable subsets, ensuring effective test coverage.
Explanation:
- Input domain testing is a black-box testing technique.
- Inputs are divided into equivalence classes (valid and invalid).
- Testers choose representative values from each class.
- Special focus is given to boundary values, since
wsasasdas
It gives a common checklist and language for quality (like usability, reliability, security), so teams set clear goals. It breaks each into measurable sub-points, which guide design and testing. Result: better coverage, fewer surprises, and software built and verified against the right qualities.
Apache Ant, it improves Maintainability → Modifiability because the build logic lives in one XML file that’s easy to change, and Portability → Installability because scripted one-command builds make
Read MoreCore Concepts in Software Testing and Code Quality
Graphs and Cyclomatic Complexity
A graph is a structure composed of nodes (also called vertices) and the connections between them, known as edges or arcs. They are used to represent relationships between elements.
Graph Types
- Directed: Connections have a specific direction (e.g., A → B).
- Undirected: Connections have no specific direction (e.g., A – B).
McCabe’s Cyclomatic Complexity
Cyclomatic complexity measures the number of linearly independent paths through a program’s source code. This metric helps
Read MoreFundamentals of Software Development, Testing, and Modeling
What is Software and Its Common Myths?
Definition of Software
Software is a set of instructions, data, or programs used to operate computers and execute specific tasks. It is the intangible component of computers, as opposed to hardware.
Types of Software
- System Software: e.g., Operating Systems
- Application Software: e.g., MS Word, Web Browsers
- Programming Software: e.g., Compilers, Editors
Common Software Myths
(Content for this section was not provided).
Core Software Engineering Concepts
Software Engineering
Read MoreSoftware Maintenance, Evolution, and Documentation Best Practices
Software Maintenance Fundamentals (Week 1)
Definition of Software Maintenance (SM)
- “The modification to a software product after delivery to correct faults.”
Maintenance vs. Software Evolution
| Maintenance | Evolution |
|---|---|
| All activities preventing failure or decay of a software system. | Activities that provide new or changed functionality only. |
Software Aging and Decay
- Software ages when it does not adapt to changing technology, user needs, or competitors.
Lehman’s Laws of Software Evolution
- Continuing Change:
- Real-
