Quality isn't tested in.
It's built in, then verified.
Testing doesn't create quality — it measures it, like a scale measures weight without changing it. Real quality comes from good process, planning, and discipline before testing ever starts. This chapter walks through what quality actually means, how QA and QC split the work, why some projects succeed while others quietly implode, and how you turn all of that into numbers you can actually track.
What "quality" actually means, and what testing does about it
Three ingredients define quality. Testing only checks whether you have them — it never adds them.
The foundation quality is measured from
Software requirements are the foundation from which quality is measured. Lack of conformance to a requirement is lack of quality — full stop.
The rules that guide how it's built
Specified standards define a set of development criteria that guide the manner in which software is engineered. If the criteria aren't followed, lack of quality will almost surely result.
The ones nobody wrote down
There is a set of implicit requirements that often goes unmentioned (e.g. good maintainability). If software conforms to its explicit requirements but fails to meet implicit ones, software quality is suspect.
It is NOT to use up all the remaining budget or schedule resources at the end of a development effort — even though it sometimes seems that way.
The goal of testing is to ensure the software performs as intended, and to improve software quality, reliability and maintainability.
"Software testing is a full-life-cycle assessment of quality."
· Software engineering process improvement — prevent the insertion of defects
· Fault tolerant software design — tolerate the existence of defects
· All aspects of software verification and validation — including testing
QA: build the process that keeps defects out
QA is proactive and process-focused — it's the framework everything else operates inside of.
Goal of Quality Assurance
defect preventionQuality assurance (QA) activities strive to ensure:
Planning Quality
before the work startsThe following need to be considered when planning quality: Scope, Stakeholders, Risks, Internal and External Environmental Factors, Process.
· Includes how PM activities themselves should be done
· Plans/Project must comply with external standards (CISG, ISO 9000, OSHA, etc.)
· Plans/Project must comply with organizational standards
· Plans/Project must meet the customer's quality standards
· Tracking / proof may be needed (metrics, measurements, etc.)
A plan that satisfies the org's internal standard but ignores the customer's quality bar has not planned quality correctly — all four layers have to be reconciled.
The Software Quality Assurance Group
an independent watchdogThe SQA group should prepare an SQA plan for a project.
· Reviews software engineering activities to verify compliance with the defined process
· Audits designated software work products to verify compliance with those defined as part of the process
· Ensures deviations in software work/work products are documented and handled per a documented procedure
· Records any noncompliance and reports it to senior management
Notice the last bullet: the SQA group doesn't just quietly fix things — a recorded noncompliance gets escalated to senior management. That's the detail examiners like to test.
QC: watch the actual results, catch the actual problems
If QA is the rulebook, QC is the referee on the field, checking specific results against it.
Perform Quality Control
monitor & correctPerform quality control is concerned with monitoring specific project results for compliance with quality standards. It is:
Habits that keep a project alive
A grab-bag of practical management habits the slides call out by name — each one shows up as a specific term you should recognize.
· One milestone at a time
· Smaller, incremental chunks
· As simple as possible, but no simpler
· The value of versions — "we will put that in phase 2"
· An ounce of prevention — cheaper than a pound of cure
· Delegate — don't be a "control freak"; be the hub, not everything
· Project Home Page — give the project an intranet page as a central repository for status, documents, and other resources
Success Metrics
the four that get quoted, and the one that's real1. On schedule
Requires good plan, estimation, and control.
2. Within budget
Again: planning, estimation & control.
3. According to requirements
Importance of good requirements; perception & negotiation are critical.
4. High quality
May or may not be the same thing as item 3.
The same factors, viewed from both sides
Every "successful projects do X" fact in these slides has a mirror-image "unsuccessful projects do the opposite" fact. Learn the pairs, not just one side.
Why Executive Support?
the #1 success factorTop management can help to: secure adequate resources, get approval for unique project needs in a timely manner, receive cooperation from people throughout the organization, and provide leadership guidance.
Two categories of factors influence success or failure: Social Factors and Technology. Below, each is shown red (unsuccessful) vs. green (successful) — same axis, opposite outcome.
Excessive schedule pressure
Executive rejection of estimates
Severe friction with clients
Divisive corporate politics
Poor team communications
Naïve senior executives
Project management malpractice
Unqualified technical staff
Generalists used for critical tasks: QA, testing, planning, estimating
Realistic schedule pressure
Executive understanding of estimates
Cooperation with clients
Congruent management goals
Excellent team communications
Experienced senior executives
Capable project management
Capable technical staff
Specialists used for critical tasks: QA, testing, planning, estimating
No historical software measurement data
Failure to use automated estimating / planning tools
Failure to monitor progress or milestones
Failure to use effective architecture / development methods
Failure to use design reviews / code inspections
Failure to include formal risk management
Informal, inadequate testing
Manual design and specification
More than 30% creep in user requirements
Accurate software measurement, early & continuous tool use
Formal progress reporting
Formal architecture planning & development methods
Formal design reviews & code inspections
Formal risk management
Formal testing methods
Automated design, specification & configuration control
Less than 10% creep in requirements
How To Ensure a Project Fails
a satirical checklist, taken straightA deliberately sarcastic list — read each line as the mistake to avoid:
· Don't listen to your experts — the last project worked out okay (mostly)
· Don't measure progress with metrics — the only thing that counts is "did you meet the delivery date?"
· Set delivery dates with the customer but not with the developers — "developers can meet any schedule we ask for"
· Don't use new tools — keep using the ones from ten, twenty years ago
· Spend your time making sure people do it your way
· Office politics and vendettas are more important than the project
Turning quality into a number you can track
"Not everything that can be counted counts, and not everything that counts can be counted." — Albert Einstein
| Measure | Provides a quantitative indication of the size of some product or process attribute. |
|---|---|
| Measurement | The act of obtaining a measure. |
| Metric | A quantitative measure of the degree to which a system, component, or process possesses a given attribute. |
Categories of Metrics
product vs. process & projectAssess the quality of the design and construction of the software product being built. A quality metric should be a predictor of product quality.
Static metrics — collected by measurements made of the system representations (design docs, code as text, not running). Help assess complexity, understandability, and maintainability.
Quantitative measures that let software engineers gain insight into the efficiency of the software process and the projects run inside that process framework.
Public process metrics — enable organizations to make strategic changes to improve the software process.
Metrics should never be used to evaluate the performance of individuals.
· A relationship exists between what we can measure and what we actually want to know
· That relationship has been formalized and validated
· It may still be difficult to relate what can be measured to the desirable quality attributes we actually care about
Software Measurement, End to End
direct vs. indirectDirect measures of the product: lines of code (LOC), execution speed, memory size, defects reported over a time period.
Indirect product measures examine the quality of the software product itself: functionality, complexity, efficiency, reliability, maintainability.
A single measurement
activity draws from process and product inputs, and feeds
three outputs: process metrics, project metrics, and product
metrics.
· Tell people why the data is being collected — it should not be part of personnel evaluation
· Don't rely on memory — collect data when it is generated, not after a project has finished
The loop: Software process →
Control measurements → feeds Predictor measurements and
Management decisions, which feed back into the process. The process also
produces the Software product directly.
Metric Types, with Examples
four families you'll recognize by nameSize-oriented
Defects, human effort, Lines of Code (LOC).
Function-oriented
Function points.
Web Engineering
Number of static web pages (Nsp), number of dynamic web pages (Ndp), and a
Customization Index: C = Nsp / (Ndp + Nsp)
Product metrics
Cyclomatic complexity, Fan-in / Fan-out.
Where students actually lose marks
Six concepts in this chapter are genuinely easy to mix up. Drill these pairs specifically.
1. Quality Assurance vs. Quality Control
"QA and QC are basically the same thing — both just mean checking the software works."
QA is the process/framework — the standards, plan, and activities that prevent defects and structure the whole project. QC is the act of monitoring specific results against those standards, and taking corrective action. QA is the recipe; QC is tasting the soup while it cooks. QA provides the framework for performing QC.
2. "Testing delivers quality"
"If we test thoroughly enough, the product will end up high-quality."
"Quality cannot be tested into a product." Testing is a measure of quality — it doesn't deliver it. Quality comes from good process, tools, methods, and people during development; testing only assesses whether that quality is present.
3. The purpose of testing
"Testing exists to use up whatever budget and schedule are left over at the end of the project."
The slides explicitly call this out as false. The real purpose is to assess and evaluate quality of work at each step of the development process, and to improve quality, reliability, and maintainability.
4. Static vs. Dynamic product metrics
"Static metrics measure the program while it's running, dynamic metrics measure the design documents."
It's the reverse. Dynamic metrics come from a program in execution, and assess efficiency and reliability. Static metrics come from system representations (documents, source-as-text), and assess complexity, understandability, and maintainability.
5. Private vs. Public process metrics
"Process metrics should be used to rank and evaluate individual developers' performance."
Private process metrics (like per-individual defect rates) are known only to the individual/team, and metrics should never be used to evaluate the performance of individuals. Public process metrics are for organizational, strategic decisions — not personnel reviews.
6. "Meeting schedule, budget, and requirements = project success"
"A project that shipped on time, on budget, and matching the written requirements is automatically a success."
Those three (plus "high quality," which may or may not equal "met requirements") are commonly quoted — but the slides say the only real measure is: is the customer happy? Customer satisfaction is what actually counts.
7. Process Spectrum: more process is always better
"Adding more formal process, reviews, and documentation always improves a project."
"Too much medicine can kill the patient." Process sits on a spectrum between Chaos and Bureaucracy, and balance is crucial. Over-process causes Analysis Paralysis (nothing gets finished — 65% of professionals have experienced it); fear of that can overcorrect into Paralysis Paranoia (avoiding process altogether). Neither extreme is the goal.
The whole chapter, one table
| Concept | What it means | Key detail to remember |
|---|---|---|
| Quality (definition) | Conformance to explicit requirements, specified standards, and implicit expectations | Missing any one of the three makes quality "suspect" |
| Software testing | Full-life-cycle assessment of quality at each development step | NOT for burning leftover budget/schedule |
| Quality Assurance (QA) | Process improvement + fault-tolerant design + all V&V (incl. testing) | Provides the framework for QC; goal = few defects, minimal disruption |
| Quality Control (QC) | Monitors specific results against quality standards, throughout the project | Includes taking control actions to correct problems |
| SQA Group | Prepares SQA plan; reviews, audits, records noncompliance | Noncompliance gets reported to senior management |
| Success metrics | Schedule, budget, requirements, quality | Only real measure = customer satisfaction |
| Why projects succeed | Executive support, user involvement, experienced PM, clear objectives… | Executive support is listed first / bolded |
| Process Spectrum | Balance between Chaos and Bureaucracy | "Too much medicine can kill the patient" |
| Measure / Measurement / Metric | Quantitative value / the act of obtaining it / a measure of a specific attribute | Metric = measure applied to system/component/process attribute |
| Static vs. Dynamic metrics | System representations vs. program in execution | Static → complexity/understandability/maintainability; Dynamic → efficiency/reliability |
| Private vs. Public process metrics | Individual/team-only vs. organization-wide | Never use metrics to evaluate individuals |
| Metric types | Size-oriented, function-oriented, web engineering, product metrics | C = Nsp / (Ndp + Nsp); cyclomatic complexity; fan-in/fan-out |
Click a question to reveal the answer
Quick self-check before you move to the Practice Lab.
Apply the definitions to scenarios
Same shape of question you'll see on an exam — worth drilling until the reasoning is automatic.