Title: Software Testing and Quality Assurance
1Software Testing and Quality Assurance
- Lecture 10 - The Testing Perspective (Chapter 2,
A Practical Guide to Testing Object-Oriented
Software)
2Lecture Outline
- Testing perspective
- Object-Oriented Concepts
- Object
- Message
- Interface
3Testing Perspective
- A way of looking at any development product and
questioning its validity. - Person examining work products from this
perspective utilizes - A thorough investigation of the software and
- All its representations to identify faults.
4Testing Perspective
- Requires that a piece of software demonstrate
that - It not only performs according to is
specification, but - Performs only to that specification.
A product is tested to determine that it will do
what it is supposed to do, and it is also tested
to ensure that it does not do what it is not
supposed to do.
5Testing Perspective
- Skeptical
- Wants proof of quality
- Objective
- Makes no assumptions
- Thorough
- Does not miss important areas
- Systematic
- Searches are reproducible
6Object Oriented Concepts - Testing Perspective
- OO programming is centered around
- Object
- Message
- Interface
- Class
- Inheritance
- Polymorphism
7Object Oriented Concepts - Testing Perspective
- There are wide range of meanings for these
concepts. For example, - Distinction between operations and methods is not
significant for most programmers.
8Object Oriented Concepts - Testing Perspective
- The distinction is significant to tester because
- the approach to testing an operation, which is
part of class specification and a way to
manipulate an object, - is somewhat different from testing a method,
which is a piece of code that implements an
operation.
9Object - Testing Perspective
- An object is an operational entity that
encapsulates both specific data values and code
that manipulates those values. For example, - The data about a specific bank account and the
operations needed to manipulate that data form an
object.
10Object - Testing Perspective
- Objects are the direct target of the testing
process during software development. - The life cycle for an object begins when it is
created, proceeds through a series of status, and
ends when the object is destroyed.
11Object - Testing Perspective
- An object encapsulates and hides information.
- An object has a state that persists for the life
of the object. - Testers care about
- Whether the object behaves according to its
specification. - Whether it interacts appropriately with
collaborating objects in an executing program.
12Message- Testing Perspective
- A message is a request that an operation be
performed by some object. - OO is a community of objects that collaborative
by sending messages to one another. - A message has a sender (originating a message).
- A message has a receiver (receiving the message).
13Message- Testing Perspective
- A message may include actual parameters.
- Some messages result in some form of reply such
as return value and exception. - Testers care about
- Senders
- Receivers
- Parameters
14Key points
- Testing perspective a way of looking at any
development product and questioning its validity. - Testing perspective is
- Skeptical,
- Objective,
- Thorough and
- Systematic.