(SEF) Lecture 9 - Software Quality Assurance

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 15

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

16 Terms

1

Software Quality

What is defined by the term ‘‘software quality’?

  • Good software should be reliable, efficient, maintanable, and meet user needs.

  • It should deliver high performance w minimal defects.

New cards
2

Types of Software Quality

There are 2 types of software quality, write it down and explain.

  1. Quality of Design

    • Ensure requirements, specifications, and design are correct.

  2. Quality of Conformance

    • Ensures implementation follows the design and requirements correctly.

New cards
3

Factos Affecting Quality

What are the factors that affect a software’s quality?

  1. Customers blame devs for bad software

  2. Devs blame customers for unrealistic expectations, constant changes and deadlines.

New cards
4

Software Quality Dimensions

What are 8 of David Garvin’s software quality dimensions?

(P.P.A.S.D.C.R.F)

  1. Performance Quality → does it meet user expectations?

  2. Perception Quality → Do customers think it is high quality?

  3. Aesthetics → user friendly and visually appealing?

  4. Serviceability → can it be easily maintained and debugged?

  5. Durability → can s/ware be modified w/out issues?

  6. Conformance → s/ware follow standards?

  7. Reliability → Does it run w/out failure?

  8. Feature Quality → have useful features?

New cards
5

McCall’s Software Quality Factors

explain 3 categories of mccall’’s sware quality factors.

  1. Product Operations (Functionality)

    • Correctness

    • Reliability

    • Efficiency

    • Integrity

    • Usability

  2. Product Revision (Maintainability)

    • Maintainability

    • Flexibility

    • Testability

  3. Product Transition (Adaptability)

    • Portability

    • Reusability

    • Interoperability (can it connect w other systems?)

New cards
6

Software Quality Assurance

What is SQA?

  • A process to ensure that the developed software meets high standards.

  • Helps in error detection, error prevention, and control.

New cards
7

Key Activities in SQA

What are all the key activities in SQA?

  1. Standards Compliance – Follows industry standards.

  2. Reviews & Audits – Checks software at each stage.

  3. Testing – Detects defects before release.

  4. Defect Analysis – Identifies root causes of errors.

  5. Change Management – Tracks and controls modifications.

  6. Security & Risk Management – Ensures safe and stable software.

New cards
8

SQA Group Responsibilities

What are the group responsibilities in the SQA process?

  • Prepares an SQA plan outlining evaluations, reviews, and audits.

  • Ensures compliance with internal and external standards (e.g., ISO-9001).

  • Tracks issues and ensures they are fixed before release.

New cards
9

Achieving Software Quality

How do you achieve software quality?

  • Good Project Management – Planning quality measures early.

  • Effective Quality Control – Inspections, reviews, and testing.

  • Quality Assurance – Auditing the project to ensure compliance.

New cards
10

Statistical SQA Process

Some processes of SQA include…?

  1. Collect & categorize defects.

  2. Identify root causes.

  3. Use the Pareto Principle (80/20 Rule) – Fix the 20% of issues causing 80% of problems.

  4. Implement fixes to prevent defects.

New cards
11

Common Causes of Software Defects

Explain. and list.

  • Incomplete or incorrect specifications.

  • Miscommunication with customers.

  • Deviation from coding standards.

  • Errors in design or programming logic.

New cards
12

Software Reliability & Safety

Explain the definition and formula..?

  • Definition: The probability of failure-free operation for a specified time.

  • Formula:
    Reliability(MTBeforeF)=Mean Time To Failure (MTTF)+Mean Time To Repair (MTTR)

  • Availability:
    Availability = [ MTTF / (MTTF + MTTR) ] x 100%

Higher MTTF → More reliable software.

New cards
13

Software Safety

What are the components of ensuring software safety?

  • Focuses on identifying and preventing hazards that can cause failure.

  • Critical in life-threatening systems (e.g., medical software, aviation).

New cards
14

Types of S/ware Quality Standards

There are 3 popular examples, explain them.

  • ISO 9001: Defines quality management system for organizations.

  • Capability Maturity Model (CMM): Evaluates software development maturity (Levels 1-5).

    • Initial – No defined process.

    • Managed – Basic project tracking.

    • Defined – Standardized processes.

    • Quantitatively Managed – Measured and controlled.

    • Optimizing – Continuous improvement.

  • Six Sigma: Aims for 3.4 defects per million operations (very high quality).

New cards
15

Cost of Quality

List down and briefly explain the categories of quality costs.

  1. Prevention Costs – Costs related to planning and training.

  2. Internal Failure Costs – Costs from fixing defects before release.

  3. External Failure CostsCostly fixes after release (e.g., refunds, lawsuits).

  • Finding and fixing defects early is cheaper than fixing them after release.

New cards
16

“Good Enough” Software

Explain.

  • Some companies release software with minor known bugs.

  • Risky for small companies → Bad reputation can cause business failure.

  • Critical applications (e.g., healthcare) must not use this approach.


New cards
robot