Академический Документы
Профессиональный Документы
Культура Документы
Chapter- 1
Fundamentals of Testing
Agenda
Loss of money
Waste of time
Business reputation
Cause of injury and even death
A person
makes
an error ...
… that creates a
fault in the
software ...
… that can
cause
a failure
in operation
Client or Topic | Financial Services
In collaboration with All work described was performed by Capgemini or a Capgemini affiliate
Partner logo Insert "Title, Author, Date" © 2007 Capgemini - All rights reserved 3
Error - Fault - Failure
FAULT
HUMAN ERROR FAILURE OF
BUG
MISTAKE SYSTEM
DEFECT
Technical Business
Project Risk Time Budget
Risk Product Risk
Point to Remember!
Testing should provide sufficient information to stakeholders
to make informed decisions about release of the software
for the next development step or handover to customers.
A common misconception:
“Testing consists only of running tests i.e. execution of
software”
is this true?
of course not! Test execution is only a part of the whole
testing process!
Testing activities exist both before and after test execution.
Testing also includes reviews of documents including
source code
Testing:
Development Testing
Acceptance testing
Maintenance testing
Operational testing
Identifying the
cause of the defect
Example:
A small program that takes 128 bytes of effective input can have " n "
possible individual tracks that have to be examined.Instead of testing all
those n possibilities take some selected values and test the application
• Early testing
There are two important words which makes this principle more
effective.
Injection: when a bug is introduced in a software is injection of a bug.
Detection: when a tester finds the bug is detection
As the time between the injection of a bug and the detection of the bug
increases, the cost of fixing the also increases. so Testing from the
initial stages of development will reduce the cost as well as risk.
Defect clustering
Identifying the density of bugs in a particular module is termed as defect
clustering.
Example:
An application has four modules to be tested.If the tester finds the
percentage of failure in particular module is more ,then a test engineer
reports that a defect clustering has occured in particular module.
Once the cluster is identified,there is no use of continuing the test
process.Instead the build is given back for fixing.
Logging the outcome of test execution and recording the identities and
versions of the software under test, test tools and test ware.
Comparing actual results with expected results.
Reporting discrepancies as incidents and analyzing them in order to
establish their cause (e.g. defect in the code, in specified test data, in
the test document, or a mistake in the way the test was executed).
Repeating test activities as a result of action taken for each
discrepancy. For example, re-execution of a test that previously failed in
order to confirm a fix (confirmation testing), execution of a corrected test
and/or execution of tests in order to ensure that defects have not been
introduced in unchanged areas of the software or that defect fixing did
not uncover other defects (regression testing).
www.capgemini.com