Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

SOFTWARE TESTING

WHAT IS SOFTWARE TESTING?


Software testing is more than just error
detection;
Testing software is operating the software

under controlled conditions, to (1) verify that it


behaves as specified; (2) to detect errors,
and (3) to validate that what has been
specified is what the user actually wanted.
VERIFICATION is the checking or testing of
items, including software, for conformance and
consistency by evaluating the results against
pre-specified requirements. [Verification: Are
we building the system right?]
ERROR DETECTION: Testing should
intentionally attempt to make things go wrong
to determine if things happen when they
shouldnt or things dont happen when they
should.
VALIDATION looks at the system correctness
i.e. is the process of checking that what has
been specified is what the user actually
wanted. [Validation: Are we building the right
system?]
REMEMBER: The purpose of testing is
verification, validation and error detection in
order to find problems and the purpose of
finding those problems is to get them fixed.
If a failure occurs
during preliminary
testing and the code is
changed, the software
may now work for a
test case that it didn't
work for previously.
Every method you use to prevent or find bugs leaves a
residue of subtler bugs against which those methods
are ineffectual. Pesticide Paradox

Software complexity(and therefore that of bugs) grows


to the limits of our ability to manage that complexity.
Complexity Barrier
Software testing answers questions
Does it really work as expected?
Does it meet the users requirements?
Is it what the users expect?
Do the users like it?
Is it compatible with our other systems?
How does it perform?
How does it scale when more users are added?
Which areas need more work?
Is it ready for release?
FACTORS
Business requirements
Functional design requirements
Technical design requirements
Regulatory requirements
Programmer code
Systems administration standards and restrictions
Corporate standards
Professional or trade association best practices
Hardware configuration
Cultural issues and language differences
WHO DOES THE TESTING?

The Programmers?

The Testers?
THE TESTERS
Testers must be cautious, curious, critical but non-
judgmental, and good communicators. One
part of their job is to ask questions that the
developers might find not be able to ask
themselves or are awkward, irritating, insulting
or even threatening to the developers
How well does it work?
What does it mean to you that it works?
How do you know it works? What evidence do you
have?
In what ways could it seem to work but still have
something wrong?
In what ways could it seem to not work but really
be working?
What might cause it to not to work well?
Key Players and Their Roles
Business sponsor(s) and partners
Provides funding
Specifies requirements and deliverables
Approves changes and some test results

Project manager
Plans and manages the project
Key Players and Their Roles
Software developer(s)
Designs, codes, and builds the application
Participates in code reviews and testing
Fixes bugs, defects, and shortcomings

Testing Coordinator(s)
Creates test plans and test specifications based on the
requirements and functional, and technical documents

Tester(s)
Executes the tests and documents results
V-MODEL OF SOFTWARE TESTING

You might also like