Testing in Software Engineering
Testing in Software Engineering
It consisted of
call taking phase (receive calls, record incident details,
pinpoint location)
resource identification (examine details, compare details
recorded, decide which ambulances to mobilise), and
resource mobilisation (dispatcher passes on instructions
to ambulance operator).
Problem
Multiple ambulances were sent to same location
Closest ambulance was not chosen for dispatch.
London Ambulance Service: Computer Aided Design
October 26th – 28th, 2004
Real-Time Response
Time involvement
Making runtime changes depending upon change in
customer requirements
LEVELS
of
TESTING
Testing Levels
Unit Testing
A unit is the smallest testable piece of software that can
be compiled or assembled
Unit testing is the testing done to show that the unit does
satisfy its functional specification
Testing Levels
Component Testing
A component is an integrated aggregate of one or more
units.
A component can be anything from a unit to an entire
system.
Component testing is the testing done to show that the
component does satisfy its functional specification.
Testing Levels
Integration Testing
Integration is a process by which components are
aggregated to create larger components.
Integration testing is testing done to show that even though
the components were individually satisfactory, does not
reveal errors due to integration
Testing Levels
System Testing
A system is a big component.
System testing is aimed at revealing bugs that cannot be
attributed to components as such
System testing concerns issues and behaviors that can
only be exposed by testing the entire integrated system or
a major part of it.
Test
Strategies
Test Strategies
I/O First
I/O First testing is the use of every valid input condition as
a test case.
Additional input conditions are also used as test cases to
demonstrate every valid output.
Other possible input conditions may need to be tested to
find other errors.
Test Strategies
Alpha Test
Alpha testing performed by a team of highly skilled testers who
are usually the internal employee of the organization.
Software is tested at the developer’s site, sometimes by a
customer.
Beta Test
Beta testing performed by clients or end-users in a real-time
environment, who is not an employee of the organization.
The customer records all the problems (real or imagined) that are
encountered during beta testing and reports these to the developer
at regular intervals. controlled by the developer.
Test Strategies
Black box testing
Black box testing methods focus on the functional
test cases that guarantee that all independent paths within a module
have been exercised at least once
Exercise all logical conditions on their true and false sides
bounds, and
Exercise internal data structures to ensure their validity.
Test Strategies
Gray Box Testing
Combination of black and white box testing
Test Documentation
Test Management