Upload
pawan-kurmi
View
113
Download
0
Tags:
Embed Size (px)
Citation preview
Testing is a process of identifying defects
Develop test cases and test data
A test case is a formal description of
A starting state
One or more events to which the software must
respond
The expected response or ending state
Test data is a set of starting states and events
used to test a module, group of modules, or
entire system
3Dr. H. s. Gour Central utd. Sagour
Programmers Unit testing
Testing buddies can test other programmer’s code
Users Usability and acceptance testing
Volunteers are frequently used to test beta versions
4Dr. H. s. Gour Central utd. Sagour
Component testing Testing of individual program components
Usually the responsibility of the component developer (except sometimes for critical systems)
Tests are derived from the developer’s experience
Integration testing Testing of groups of components integrated to
create a system or sub-system
The responsibility of an independent testing team
Tests are based on a system specification
5Dr. H. s. Gour Central utd. Sagour
Componenttesting
Integrationtesting
Software developer Independent testing team
6Dr. H. s. Gour Central utd. Sagour
Unit Testing
Integration Testing
Usability Testing
Customer Acceptance Testing
Regression testing
Smoke Testing
7Dr. H. s. Gour Central utd. Sagour
The process of testing individual
methods, classes, or components before they
are integrated with other software
Two methods for isolated testing of units
Driver
Simulates the behavior of a method that sends a
message to the method being tested
Stub
Simulates the behavior of a method that has not yet
been written
8Dr. H. s. Gour Central utd. Sagour
Evaluates the behavior of a group of methods
or classes
Identifies interface compatibility, unexpected
parameter values or state interaction, and run-
time exceptions
System test
Integration test of the behavior of an entire
system or independent subsystem
Build and smoke test
System test performed daily or several times a
week
9Dr. H. s. Gour Central utd. Sagour
Determines whether a method, class, subsystem, or system meets user requirements
Performance test Determines whether a system or subsystem can
meet time-based performance criteria Response time specifies the desired or maximum
allowable time limit for software responses to queries and updates
Throughput specifies the desired or minimum number of queries and transactions that must be processed per minute or hour
10Dr. H. s. Gour Central utd. Sagour
Determines whether the system fulfills user
requirements
Involves the end users
Acceptance testing is a very formal activity
in most development projects
11Dr. H. s. Gour Central utd. Sagour
• Identifies new faults that may have been
introduced as current one are being
corrected
• Verifies a new version or release still
performs the same functions in the same
manner as an older version or release
12Dr. H. s. Gour Central utd. Sagour
Taken from the world of hardware Power is applied and a technician checks for sparks, smoke, or
other dramatic signs of fundamental failure
Designed as a pacing mechanism for time-critical projects Allows the software team to assess its project on a frequent
basis
13Dr. H. s. Gour Central utd. Sagour
• Function testing: does the integrated
system perform as promised by the
requirements specification?
• Performance testing: are the non-functional
requirements met?
• Acceptance testing: is the system what the
customer expects?
• Installation testing: does the system run at
the customer site(s)?
14Dr. H. s. Gour Central utd. Sagour
. Compares the system’s actual performance
with its requirements
• Develops test cases based on the
requirements document
16Dr. H. s. Gour Central utd. Sagour
• Stress tests
• Volume tests
• Configuration tests
• Compatibility tests
• Regression tests
• Security tests
• Timing tests
• Environmental tests
• Quality tests
• Recovery tests
• Maintenance tests
• Documentation tests
• Human factors (usability)
tests
17Dr. H. s. Gour Central utd. Sagour
. Enable the customers and users to determine
if the built system meets their needs and
expectations
• Written, conducted and evaluated by the
customers
18Dr. H. s. Gour Central utd. Sagour
• Before the testing
– Configure the system
– Attach proper number and kind of devices
– Establish communication with other system
• The testing
– Regression tests: to verify that the system has
been installed properly and works
19Dr. H. s. Gour Central utd. Sagour
After system testing is complete, the
customer might perform a "customer
acceptance test" before signing off on the
product
The customer acceptance test is a suite of
tests that will be run by the customer (or
someone they hire) to ensure that the
product meets requirements
20Dr. H. s. Gour Central utd. Sagour
Code
Design
Requirements
System Engineering
Unit Testing
Integration Testing
Validation Testing
System Testing
21Dr. H. s. Gour Central utd. Sagour
There is no definitive answer to this question
Every time a user executes the software, the program is
being tested
Sadly, testing usually stops when a project is running out of
time, money, or both
One approach is to divide the test results into various
severity levels
Then consider testing to be complete when certain levels of
errors no longer occur or have been repaired or eliminated
22Dr. H. s. Gour Central utd. Sagour
Software Engineering- Roger S. Pressman
Software Engineering by Pankaj Jalote
Software Engineering- K. K. Agarwal
Bollinger, T. and C. McGowen, “A Critical
Look at Software Capability Eval-
Gilb, T., “What Is Level Six?” IEEE Software,
January 1996, pp. 97–98, 103.
Pressman, R.S., and S.R. Herron, Software
Shock, Dorset House, 1991.
23Dr. H. s. Gour Central utd. Sagour