3. Testing
is a process of identifying defects
Develop
A test case is a formal description of
test cases and test data
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
Dr. H. s. Gour Central utd. Sagour
3
4. Programmers
Unit testing
Testing buddies can test other programmer’s
code
Users
Usability and acceptance testing
Volunteers are frequently used to test beta
versions
Dr. H. s. Gour Central utd. Sagour
4
5. Component
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
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
Dr. H. s. Gour Central utd. Sagour
5
7. Unit
Testing
Integration Testing
Usability Testing
Customer Acceptance Testing
Regression testing
Smoke Testing
Dr. H. s. Gour Central utd. Sagour
7
8. 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
Dr. H. s. Gour Central utd. Sagour
8
9. Evaluates
the behavior of a group of methods
or classes
Identifies interface compatibility, unexpected
parameter values or state interaction, and runtime exceptions
System
Integration test of the behavior of an entire
system or independent subsystem
Build
test
and smoke test
System test performed daily or several times a
week
Dr. H. s. Gour Central utd. Sagour
9
10. 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
Dr. H. s. Gour Central utd. Sagour
10
11. Determines
whether the system fulfills user
requirements
Involves the end users
Acceptance
testing is a very formal activity
in most development projects
Dr. H. s. Gour Central utd. Sagour
11
12. •
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
Dr. H. s. Gour Central utd. Sagour
12
13.
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
Dr. H. s. Gour Central utd. Sagour
13
14. •
•
•
•
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)?
Dr. H. s. Gour Central utd. Sagour
14
16. . Compares the system’s actual performance
with its requirements
•
Develops test cases based on the
requirements document
Dr. H. s. Gour Central utd. Sagour
16
17. •
•
•
•
•
•
•
Stress tests
Volume tests
Configuration tests
Compatibility tests
Regression tests
Security tests
Timing tests
Dr. H. s. Gour Central utd. Sagour
•
•
•
•
•
•
Environmental tests
Quality tests
Recovery tests
Maintenance tests
Documentation tests
Human factors (usability)
tests
17
18. . Enable the customers and users to determine
if the built system meets their needs and
expectations
•
Written, conducted and evaluated by the
customers
Dr. H. s. Gour Central utd. Sagour
18
19. •
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
Dr. H. s. Gour Central utd. Sagour
19
20. 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
Dr. H. s. Gour Central utd. Sagour
20
22.
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
Dr. H. s. Gour Central utd. Sagour
22
23. Google
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.
Dr. H. s. Gour Central utd. Sagour
23