SWEN 256 – Software Process & Project Management
SWEN 256 Software Process & Project Management What is - - PowerPoint PPT Presentation
SWEN 256 Software Process & Project Management What is quality? A definition of quality should emphasize three important points: 1. 1. Softw tware are requir iremen ements ts are the foundation from which quality is
SWEN 256 – Software Process & Project Management
[DACS]
The purpose of software testing is to assess and evaluate
Although it sometimes seems that way, the purpose of
The goal of testing is to ensure that the software performs
[DACS]
A good development process, tools, methods, and people
Testing is one aspect of assuring software quality
“Quality cannot be tested into a product” So
Failures are usually a result of system errors (which turn
However, faults do not necessarily result in system failures
an error arises
Errors do not necessarily lead to system failures
facilities
[Sommerville]
Human (developer) Error Software Defect (bug) System Fault System Failure
Latent (dormant) defect
Assuring that a software system meets a user's needs
Verification:
Validation:
V&V: Bui
[Sommerville]
V&V is a whole life-cycle process
V&V has two principal objectives
[Sommerville]
Software testing:
Software inspections:
Depends on:
Cost-benefit trade-offs
At each stage of the software development
Remember: V&V is expensive.
Plan and develop tests throughout the life cycle Implement tests when there is an implementation ready to test Iterative and incremental: Repeat “V” at each iteration
http://blog.sei.cmu.edu/post.cfm/using-v-models-testing-315
Quality as a System and a Process
Few, if any, defects remain in the software system when it is
Remaining defects will cause minimal disruptions or
The following need to be considered: Scope, Stakeholders,
Project-specific stand
ISO 9000, OSHA, etc)
etc.)
Defect Prevention
Defect Reduction
Defect Containment
Education and training address human misconceptions that
Formal
Stan
Discover and remove defects Inspection: direct fault detection
Testing: failure observation and fault isolation
defect(s) causing the failure
Need implemented software to execute Need software instrumentation, execution history to:
Impossible to test everything
Risk of too much and not enough testing
Quantity Amount of Testing
Cost of testing Number of missed defects
Optimal Amount of Testing Over-testing Under-testing
Denotes a potential negative impact that may arise from
What is your risk exposure to a defect that is hidden?
Risk exposure determines ...
Software fault tolerance
tolerant
Software failure containment
e1 e2 e3 e4 e5 e6 f1 f2 f3 f4 x1 x2 Error Sources Faults Failures Input to Software Development Software System Usage Scenarios and Results a
presence of “a”
a
“a” causes “b”
b Legend
defect barrier/remover
a
removal of “a”
Error Removal Fault Removal Failure Containment Failure Prevention
QA ensures software:
QA techniques:
Remove the root cause of human errors
Discover defects
Limit the impact of a fault
[DACS] Data and Analysis Center for Software, Software
[Patton] Ron Patton, Software Testing, Sams Publishing,
[Sommerville] Ian Sommerville, Software Engineering, 6th
[RUP] Rational Unified Process, IBM Rational Software
[Whittaker] “What Is Software Testing? And Why Is It So