0% found this document useful (0 votes)
33 views16 pages

Lecture 3 - Testing Fundamentals - Psychology

Software quality assurance involves testing software to: 1) Build confidence by proving the software is correct and conforms to requirements. 2) Find faults to reduce costs and show the system meets user needs. 3) Assess software quality over time as more testing is done.

Uploaded by

Janitha Chamaka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views16 pages

Lecture 3 - Testing Fundamentals - Psychology

Software quality assurance involves testing software to: 1) Build confidence by proving the software is correct and conforms to requirements. 2) Find faults to reduce costs and show the system meets user needs. 3) Assess software quality over time as more testing is done.

Uploaded by

Janitha Chamaka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Software Quality Assurance

Pavithra Subashini
Head/Senior lecturer
Faculty of Computing
Psychology of testing
Why test?

• build confidence
• prove that the software is correct
• demonstrate conformance to requirements
• find faults
• reduce costs
• show system meets user needs
• assess the software quality
Confidence
Confidence
Fault
Faultsfound
found

Time

No faults found = confidence?


A traditional testing approach

 Show that the system:


– does what it should
– doesn't do what it shouldn't
Goal:
Goal: show
show
working
working
Success:
Success:system
system works
works
Fastest achievement: easy test cases

Result:
Result: faults
faults left
left in
in
A better testing approach

 Show that the system:


– does what it shouldn't
– doesn't do what it should
Goal:
Goal: find
find faults
faults
Success:
Success:system
system fails
fails

Fastest achievement: difficult test cases

Result:
Result: fewer
fewer faults
faults left
left in
in
The testing paradox

Purpose of testing: to find faults


Finding faults destroys confidence

Purpose of testing: build confidence

The
Thebest
bestway
waytotobuild
buildconfidence
confidence
is
isto
totry
tryto
todestroy
destroyitit
Who wants to be a tester?

• A critical process
• Bring bad news (“your baby is ugly”)
• Under worst time pressure (at the end)
• Need to take a different view, a different
mindset (“What if it isn’t?”, “What could go
wrong?”)
• How should fault information be
communicated (to authors and managers?)
Tester’s have the right to:

– Accurate information about progress and changes


– Insight from developers about areas of the software
– Delivered code tested to an agreed standard
– Be regarded as a professional (no abuse!)
– Find faults!
– Challenge specifications and test plans
– Have reported faults taken seriously (non-
reproducible)
– Make predictions about future fault levels
– Improve your own testing process
Testers have responsibility to:

– Follow the test plans, scripts etc. as documented


– Report faults objectively and factually (no abuse!)
– Check tests are correct before reporting s/w faults
– Remember it is the software, not the programmer,
that you are testing
– Assess risk objectively
– Prioritise what you report
– Communicate the truth
Independence

 Test your own work?


– find 30% - 50% of your own faults
– same assumptions and thought processes
– see what you meant or want to see, not what is
there
– emotional attachment
• don’t want to find faults
• actively want NOT to find faults
Levels of independence

• None: tests designed by the person who wrote


the software
• Tests designed by a different person
• Tests designed by someone from a different
department or team (e.g. test team)
• Tests designed by someone from a different
organisation (e.g. agency)
• Tests generated by a tool (low quality tests?)

You might also like