Quality depends on requirements and context
A behaviour becomes a defect when it violates an explicit or implied need. The same behaviour can be judged differently across products, users, and settings.
Week 06 · Own-time knowledge summary
Software quality is not a label that can be “tested in” before release. It is a system capability built continuously across requirements, design, development, verification, and operation. This guide turns the Week 06 materials into one coherent, practical study path.
A behaviour becomes a defect when it violates an explicit or implied need. The same behaviour can be judged differently across products, users, and settings.
Testing can expose poor quality, but cannot create quality by itself. Clear requirements, validated designs, and early feedback determine the cost of rework.
People, processes, and technology shape the result together. Blaming code or developers alone misses the underlying systemic causes.
Safety-critical, mission-critical, and business-critical systems fail in different ways, so their acceptable defect levels and control strength must differ.
Quality is not an abstract sense of “good.” It is the extent to which a product satisfies requirements, user goals, and risk constraints.
Defect = behaviour that does not conform to requirements; Quality = fitness for purpose in a specific context.
A defect is therefore contextual. Poor mobile rendering may not violate the requirements of an explicitly desktop-only product; it becomes a quality issue when target users need mobile access.
Organisation- and process-oriented. Standards, plans, roles, and preventive activities improve development processes and reduce the creation of errors.
Product- and outcome-oriented. Inspection and verification confirm that deliverables meet agreed quality requirements before release.
An execution-level activity that finds technical issues and evaluates functionality, usability, performance, security, and compatibility.
Testing ≠ quality assurance. Testing tells a team where problems exist; quality assurance focuses on preventing them. High quality comes from the full lifecycle, not a final testing gate.
| Concept | Question | Management meaning | Example |
|---|---|---|---|
| Severity | How large is the impact? | Describes technical or business consequences. Sev 1 commonly means the system is unavailable with no workaround. | The payment flow is completely unavailable. |
| Priority | How quickly should it be addressed? | Orders work using severity, urgency, user visibility, and business timing. | Correct a homepage brand typo before a launch campaign. |
| Acceptable defects | Is the residual risk acceptable? | Ordinary systems can trade off risk; critical systems should drive acceptable defects towards zero. | An aviation-control failure cannot be accepted as “fix later.” |
The lecture uses Six Sigma's approximately 3.4 defects per million opportunities to illustrate a low-defect target, and Crosby's Zero Defects to express a preventive mindset: defects are not inevitable. These are quality aspirations, not one universal acceptance threshold.
Failures can originate in people (users and teams), processes (rules, hand-offs, and decisions), or technology (code, devices, and infrastructure). Effective improvement addresses systemic causes, not just surface bugs.
Failure may cause death, serious injury, major property damage, or environmental harm—for example, aviation, chemical-processing, and nuclear systems.
Failure significantly disrupts core operations and may threaten organisational survival, such as a production system that depends heavily on electricity.
Failure creates very high business costs, such as unavailable core banking services, interrupted transactions, or large-scale customer loss.
Defect counts alone are insufficient. Complete measurement covers internal structure, external behaviour, and outcomes for users in real contexts.
Structural properties observable without running the software, such as architectural weaknesses, complexity, maintainability, and static-analysis findings.
Behaviour shown while the software runs, such as errors, response time, resource use, recoverability, and compatibility.
Outcomes users achieve while completing goals: effectiveness, productivity, safety, and satisfaction. It ultimately answers “is it fit for purpose?”
ISO 9126's quality-in-use model focuses on four outcomes: effectiveness, productivity, safety, and satisfaction. Internally elegant code does not automatically mean user success.
| Quality dimension | Question to answer | Measures / methods in the materials |
|---|---|---|
| Defects | How many deviations from requirements exist, and how much do they matter? | Defect count; severity and priority classification; production defects. |
| Reliability | How long can the system operate reliably? Do changes break existing behaviour? | Production defects, load testing, regression testing, downtime behaviour. |
| Performance efficiency | Does the system remain responsive within given time and resource constraints? | Stress testing, soak testing, application performance monitoring (APM). |
| Security | Can information and systems resist unauthorised access and exploitation? | Vulnerability count, patch deployment rate, time to resolve vulnerabilities. |
| Maintainability | How easy is the software to modify, understand, hand over, and extend? | Lines of code, cyclomatic complexity, ISO 5055 structural weaknesses. |
| Delivery | Can the team deliver value to users continuously and safely? | Number / frequency of releases; speed of testing feedback. |
Measures must connect to requirements, risk, and decisions. An isolated number can create an illusion of control. Ask what action it will change before deciding to collect it.
Treat the standards as complementary views: a product-quality model, source-code structural measurement, and organisation-level information-security management.
Establishes a common language for software product quality across four parts: quality model, external metrics, internal metrics, and quality-in-use metrics.
Uses static analysis to measure internal software structure and find severe weaknesses that can harm operations or raise IT costs.
Defines requirements to implement, maintain, and continually improve an Information Security Management System (ISMS), protecting the CIA triad.
| Standard | Primary object | Core purpose | Typical outputs |
|---|---|---|---|
| 9126 / 25010 | Software product and outcomes in use | Defines the dimensions of quality and supports quality requirements and evaluation models. | Characteristics, sub-characteristics, and internal / external / in-use measures. |
| 5055 | Internal source-code structure | Automatically finds dangerous architectural and component weaknesses before operational incidents. | Weakness counts / density, quality targets, release or supplier acceptance gates. |
| 27001 | An organisation's information-security management system | Builds a risk-based loop of policy, controls, audit, and continual improvement. | ISMS scope, risk treatment, controls, internal audit, and management review. |
Traditional operational measures mostly show after-the-fact outcomes. ISO 5055 inspects internal construction, finding SQL injection, unreleased resources, authentication-bypass paths, and other structural weaknesses during development and acceptance. Its measures can become RFP, SOW, contract, release, and technical-debt targets.
Plan: identify scope and risk. Do: implement policies, processes, and controls. Check: monitor, audit, and conduct management reviews. Act: correct and continually improve. The 2022 Annex A reorganises 93 controls into organisational, people, physical, and technological groups.
Shift-left is not about mechanically moving every test earlier. It brings feedback, questions, and risk judgement forward.
Identify users, problems, use environments, success measures, load, security, and update needs.
Use prototypes, alternative designs, design reviews, and usability testing to avoid solving the wrong problem beautifully.
Use TDD, pair programming, testable code, static analysis, and small integrations.
Use unit, integration, end-to-end, and exploratory tests, formal technical reviews, and UAT.
Monitor real performance, user feedback, defect trends, and patches while continuously paying down technical debt.
Unit tests form a large, fast base. Integration tests verify collaboration among components. A small E2E layer covers critical user journeys but costs the most to write and maintain.
Do not pick one side: automation suits stable, repetitive, high-frequency work; human exploration suits unknown risks, usability, edge behaviour, and judgement-heavy scenarios.
Write a failing test, add the minimum implementation to pass it, then refactor while keeping tests green. Benefits include rapid feedback, executable documentation, clearer code, and lower late-stage debugging costs.
Use formal reviews, walkthroughs, or inspections to find functional, logical, and standards deviations early. Record what was reviewed, who participated, and the findings and decisions.
Ask appropriate subject-matter experts and end users to verify contractual, regulatory, operational, and real-use needs. Test user documentation and training as well.
Integrate frequently and run automated tests on each change. Only changes that pass quality gates enter the sustainable release flow, shortening feedback cycles.
Exploratory testing learns and designs tests at the same time within a scope; ad hoc testing is more random and driven by error guessing. Both can uncover behaviour missed by scripted tests.
Report one issue per ticket with a clear summary, environment, reproduction steps, actual and expected results, and evidence. Confirm reproducibility first and state frequency when relevant.
Earlier errors become more expensive: a wrong requirement propagates into design, code, and tests. Agile does not remove this effect; every iteration should revalidate the problem statement, user stories, and design assumptions.
It amplifies across technical, operational, customer, and legal pathways, while technical debt turns today's speed into tomorrow's resistance.
These figures are CISQ / Synopsys estimates cited by the course materials. They show scale and risk structure; categories may overlap and should not simply be added together.
Poor experiences quickly become app-store ratings and social-media sentiment. They damage the current product and create negative expectations for future products.
Skipping unit and regression tests can create short-term speed, but increases side effects, maintenance costs, and the risk of failed modernisation.
Accessibility, security vulnerabilities, privacy, data loss, and downtime can trigger penalties or litigation. Software now shapes the real world.
Maintain a software bill of materials for third-party and open-source components. When a new vulnerability appears, the team can locate affected systems, assess risk, and patch promptly.
Add explicit quality activities and gates to high-velocity Agile, DevOps, and DevSecOps delivery, supported by automated analysis, operational monitoring, and continuous technical-debt management.
The most effective quality management does not come from buying more tools. It aligns people, processes, technology, and decision-making.
A test policy defines organisational principles; a quality management plan defines project quality goals and responsibilities; a test strategy defines the product-level approach; a test plan says what, when, how, and who.
Clarify roles, respect testers, provide business training, encourage direct development–QA communication, and improve collaboration through retrospectives.
Connect requirements, test cases, environments, execution results, defects, and KPIs to improve traceability and visibility. Tools should serve the process, not replace thinking.
Turn Week 06 into a quality roadmap the team can use now.
Quality decisions are professional responsibilities. Explain risk, evidence, trade-offs, and residual uncertainty clearly to non-technical stakeholders; “the tests passed” is not enough.
Remember the structure first, then add detail. Select a question to reveal the reference answer.
SQA manages process and prevention; SQC manages product conformity; testing finds and evaluates problems.
Functionality, reliability, usability, efficiency, maintainability, and portability.
Reliability, security, performance efficiency, and maintainability—the business-critical structural factors in source code.
A defect is judged against requirements and context of use. If the behaviour does not violate target-user, functional, or environmental needs, it may not be a defect for that product. The judgement changes when requirements change.
Severity describes impact; priority describes urgency of treatment. High-severity issues are often high priority, but business timing, visibility, and workarounds can change the order.
Testing mainly exposes existing problems. If wrong requirements, poor designs, broken processes, and communication problems have entered the product, end-stage testing can only reveal them at high rework cost.
ISO 9126 provides a software product-quality model; ISO 5055 automatically measures critical structural weaknesses in source code; ISO 27001 establishes an organisation-level ISMS and continual-improvement loop.
It brings requirements review, risk identification, test design, automated feedback, and cross-functional collaboration forward to prevent problems and shorten find–fix cycles. Shift-right feedback in operation remains important.
Unit tests are fast, stable, and inexpensive, making them suitable for frequent feedback. E2E tests cover real journeys but run slowly, cost more to maintain, and are more likely to be flaky, so they should focus on a few critical flows.
Unauthorised access, database attacks, supply-chain vulnerabilities, and failed patching can make systems unavailable, damage data, or cause incorrect behaviour. A system that cannot resist these threats is not reliable.
Production failures, cybercrime, defect repair, legacy systems, and failed development create direct losses. Unpaid technical debt then slows future change and raises regression risk, creating a reinforcing loop.
Course visual and caption links use local copies; article links return to their original web sources for checking.
Material boundary: The listed Code Quality Podcast has no local captions or transcript, so this guide does not invent its content. The target page for “What Determines Software Quality?” has also become unavailable. This page summarises only verifiable local materials and excludes real-time cases.