0% found this document useful (0 votes)
19 views

Unit 5 - Testing Ooad

The document discusses various topics related to software testing including quality assurance tests, testing strategies, debugging principles, and continuous testing. Quality assurance testing aims to find errors and ensure expected input and output. Testing strategies include black box, white box, top-down and bottom-up testing. Debugging involves finding and correcting syntax, runtime, and logic errors. Continuous testing refines the software throughout development.

Uploaded by

afazpaul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Unit 5 - Testing Ooad

The document discusses various topics related to software testing including quality assurance tests, testing strategies, debugging principles, and continuous testing. Quality assurance testing aims to find errors and ensure expected input and output. Testing strategies include black box, white box, top-down and bottom-up testing. Debugging involves finding and correcting syntax, runtime, and logic errors. Continuous testing refines the software throughout development.

Uploaded by

afazpaul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Dr. PL.

Chithra
Professor
University of Madras

TESTING
Unit 5 – TESTING Syllabus Covered

Quality Assurance Tests


Continuous Testing
Testing Strategies
Debugging Principles
Object orientation on testing
System Usability
Test Cases

Test Plans Measuring User Satisfaction


TESTING
To develop and deliver robust system, we need a high level of
confidence that

Each component will behave correctly

Collective behavior is correct

No incorrect collective behavior will be produced

Debugging and testing

Quality assurance test, testing strategies, OO on Software


quality, test plan and test cases.
Quality Assurance Tests

To Reason why quality assurance is needed,

– Computers are infamous for doing what we tell them to do,

not necessarily what we want them to do.

– To close this gap, code must be free of errors or bugs that

cause unexpected results


Quality Assurance Tests
Quality assurance testing can be divided into two major
categories

– Error based testing (testing the boundary condition)


– Scenario based testing (Usage‐based testing)

Error based Testing


- Search a given class’s method for particular clues of interests,
then describe how these clues should be tested

Scenario based Testing


- Concentrates on what the user does, not what the product does
Debugging

To Software debugging system can provide tools for finding

errors in programs and correcting them

Different kinds of errors are

– Syntax errors

– Run‐Time errors

– Logic errors
Testing Strategies
To Extend of testing a system is controlled by many factors, such
as the risks involved, limitations on resources and deadlines

There are many test strategies, but most testing uses a


combination of them
– Black box testing
– White box testing
– Top‐Down testing
– Bottom‐Up testing
Testing Strategies
• Black Box Testing
– Used to represent a system whose inside workings
are not available for inspection.
– Test items are tested as “Black”, since its logic is unknown,
all that is known is what goes in and what comes out, i.e. input
and output
– Works nicely in testing objects in OO
environment
Testing Strategies

Black Box Testing

Input Output
Testing Strategies

White Box Testing


– Assumes that the specific logic is important and must be tested to
guarantee the system’s proper functioning.
– Main use is in error‐based testing, when we already have tested all
objects of an application and all external or public methods of an
object that are of greater importance
– One form of white box testing, called path testing, makes certain
that each path in a object’s method is executed at least once during
testing.
Testing Strategies
Two types of path testing are
– Statement based testing
– Branch based testing
Testing Strategies
Top‐Down Testing
– It assumes that the main logic or object interactions and
systems message of the application need more testing than an
individual object’s method or supporting logic
– It can detect the design flows early in the
implementation
– It supports testing the user interface and event‐ driven
systems
– It can test the navigation through screens and verify that it
matches the requirement, users can see, at an early stage, how
the final application will look and feel.
– Useful for Scenario‐based testing.
Testing Strategies
Bottom‐Up testing
– Starts with the details of the system and proceeds to higher
levels by a progressive aggregation of details until they collectively
for the requirements for the system.
– This approach is more appropriate for testing the
individual object in a system.
– Test each object, combine them and test their interaction and
the message passed among object by utilizing the top‐ down
approach.
– In bottom‐up, start with methods and classes that call or rely on no
others, then progress to next level up. Those methods and classes
that use only the bottom level ones already tested
Testing Strategies
Test Cases
– To have a comprehensive testing scheme, the test must cover
all methods or a good majority of them.
– All services of the system should be checked atleast once.
– To test a system, given input and received output checked with
expected output
The main objectives of testing are:
– Testing is the process of executing a program with the intent
of finding errors.
– A good test case is the one that has a high probability of
detecting an as‐yet undiscovered error.
Testing Strategies
Test Plan
– Test plan is developed to detect and identify potential
problems before delivering the software to its users
– It provides the roadmap for testing activities, whether usability,
user satisfaction or quality assurance tests.
Steps needed to create a test plan:
– Objectives of the test
– Development of a test case
– Test analysis
All passed tests should be reported with the revised program called
regression testing, which can discover errors introduced during the
debugging process
Testing Strategies
Who should do testing?
For a small application, the designer or the design team usually will
develop the test plan and test cases and in some situations, actually
will perform the tests.
– Many organizations have a separate team, such as a quality
assurance group, that works closely with the design team and
– is responsible for these activities
Testing Strategies
Who should do testing?
Most software companies also use beta testing a popular
inexpensive and effective way to test software on a select group of the
actual users of the system
In contrast, alpha testing is done by in‐house testers, such as
programmers, software engineering and internal users
Continuous Testing
Software is tested to determine whether it conforms to the
specifications of requirements.
Software is maintained when errors are found and corrected and
software is extended when new functionality is added to an already
existing program.
There are different reasons for testing such as to test for potential
problems in a proposed design or to compare two or more designs to
determine which is better, given a specific task or set of tasks
Continuous Testing

Testing the whole system and detecting bugs is


more difficult than testing smaller pieces of the
application as it is being developed.
Testing must take place on a continuous basis and
this refining cycle must continue through out the
development process until we are satisfied with
the results.
Continuous Testing
The steps to successful testing:
– Understand and communicate the business
case for improved testing
– Develop an internal infrastructure to support
continuous testing.
– Look for leaders who will commit to and own the
process
– Measures and document your findings in a
defect recording system
– Publicize improvements as they are made and let
people know what they are doing better
Debugging Principles
Bug Locating Principle:
– Think
– If you reach an impasse, sleep on it.
– If the impasse remains, describe the problem to
someone else
– Use debugging tools
– Experimentation should be done as a last
Debugging Principles
Debugging Principle:
– Where there is a one bug, there is likely to be
another
– Fix the error, not just the symptom of it
– The probability of the solution being correct
drops as the size of the program increases
– Because of the possibility that an error
correction will create a new error
Debugging Principles
Debugging Principle:
– Where there is a one bug, there is likely to be
another
– Fix the error, not just the symptom of it
– The probability of the solution being correct
drops as the size of the program increases
– Because of the possibility that an error
correction will create a new error
THANK YOU

You might also like