Debark University CS: Department of
Debark University CS: Department of
Department of cs
Jan, 2020
03/12/2021 Shimels T. 1
Chapter 6 – Software Testing
03/12/2021 Shimels T. 2
Software Testing
03/12/2021 Shimels T. 4
OO testing Activities
03/12/2021 Shimels T. 5
Correctness of OOA/OOA Models
• Syntactic correctness
– judged by making sure proper modeling
conventions and symbolism were used
• Semantic correctness
– Does the model reflect the real world problem?
03/12/2021 Shimels T. 6
Consistency of OOA/OOD Models
Consistency of OOA/OOD Models
• Assess the class-responsibility-collaborator (CRC) model and
object-relationship diagram
• Review system design
– examine the object-behavior model to check mapping of
system behavior to subsystems
– review concurrency and task allocation
– examine the use-case scenarios and exercise the user
interface design
• Test object model against the object relationship network to
ensure that all design object contain necessary attributes and
operations needed to implement the collaborations defined for
each CRC card
03/12/2021 Shimels T. 7
1. Revisit the CRC model and the object-relationship model
Class Model Assessment
03/12/2021 Shimels T. 10
Object Oriented Programming Testing Concerns
03/12/2021 Shimels T. 12
Object-oriented Testing Strategies
03/12/2021 Shimels T. 13
Unit testing
03/12/2021 Shimels T. 14
Integration Testing
• Once all the modules have been unit tested, integration
testing is performed.
• It is systematic testing.
• Focuses on groups of classes that collaborate in some
manner
• Produce tests to identify errors associated with
interfacing.
Types:
• Big Bang Integration testing
• Top Down Integration testing
• Bottom Up Integration testing
03/12/2021 Shimels T. 15
System Testing
03/12/2021 Shimels T. 16
Cont….
Alpha Testing
• It is carried out by the test team within the developing
organization .
Beta Testing
• It is performed by a selected group of friendly customers.
Acceptance Testing
• It is performed by the customer to determine whether to
accept or reject the delivery of the system.
Performance Testing
• It is carried out to check whether the system meets the
nonfunctional requirements identified in the SRS
document.
03/12/2021 Shimels T. 17
Types of Performance Testing:
• Stress Testing
• Regression Testing
• Configuration Testing
• Compatibility Testing
• Recovery Testing
• Maintenance Testing
• Documentation Testing
• Usability Testing
03/12/2021 Shimels T. 18
Software Testing and the life cycle
• Requirements engineering
– criteria: completeness, consistency, feasibility, and testability.
– typical errors: missing, wrong, and extra information
– determine testing strategy
– generate functional test cases
– test specification, through reviews and the like
• Design
– functional and structural tests can be devised on the basis of the
decomposition
– the design itself can be tested (against the requirements)
– formal verification techniques
– the architecture can be evaluated
03/12/2021 Shimels T. 19
Testing and the life cycle (cont’d)
• Implementation
– check consistency implementation and previous
documents
– code-inspection and code-walkthrough
– all kinds of functional and structural test techniques
– extensive tool support
– formal verification techniques
• Maintenance
– regression testing: either retest all, or a more selective
retest
03/12/2021 Shimels T. 20
03/12/2021 Shimels T. 21