You are on page 1of 29

SOFTWARE TESTING

Designed By:
The Purpose of the Testing

¾ To measure the quality of the software


¾ To detect the faults in the software
¾ To improve the quality and reliability by removing the
faults from the software
Why Do Faults occurs in the software?

¾ One of the major causes is the specification.


¾ Also there are deadlines to deliver the project on time
¾ Another reason is human beings create software
Importance of software Testing

Software testing is one of the most important phase in


Software development life cycle . Although reviews
and SQA activities can uncover the errors but
thorough Testing is required to deliver the quality
product to the Customer. Therefore it’s always better
to find the bugs ,Than the customer finds them.
SOFTWARE DEVELOPMENT LIFE CYCLE

Is the overall process of developing information


systems through a multi step process from
investigation of initial requirement through analysis
design implementation and maintenance.

There are many different models and methodologies


but each generally consists of a series of defined steps
or stages.
ILLUSTRATION

How the customers explained it

How the project leader understood it

How the analyst designed it


Problem
Definition

Status Quo Technical


Development

Solution
Integration
SDLC Models

•Water Fall Model (Linear Sequential Model)


•Spiral Model
•Prototype Model
•Rapid Application Development
•V Model
Water Fall Model

Analysis

Design

Code

Test

Support
Prototype Model

Listen to Customer Build/revise mock-up

Customer test-drives mock-up


Rapid Application Model

Team #1 Team #2 Team #3

Business Business Business


Modeling Modeling Modeling

Data Data Data


Modeling Modeling Modeling

Process Process Process


Modeling Modeling Modeling

Application Application Application


Modeling Modeling Modeling

Test and Test and Test and


turnover turnover T turnover
e
s
V Model
User Manual

Requirements Specification System/Acceptance Test

SRS Tested Software

System Design System Integration Test

Detail Design Integration Test

Module Design Tested Module

Coding Unit Test

Code
Importance of Testing in SDLC

Software testing is one of the important phases in SDLC


because of the following reasons:

It helps to very that all the software requirement are implemented


correctly.

It helps in identifying defects and ensuring that they are addressed


before software deployment.

Data collection as testing is conducted provide a good indication of


software reliability and some indication of Software reliability and
some indication of software Quality as a whole.
Errors, Bugs and Faults in Software

Errors & Bugs –


Is a human action that produces the incorrect result,and
the presence of the error at the time of execution of the
software is know as bug .

Faults –
Is a software defect that cause a failure and Failure is a
deviation of the software.
Testing and Quality

• Testing is the process of checking the functionality


and correctness of software by executing it and it
measure the software quality.

• If a software product is of high quality, it will


meet
Why does software have bugs?

z Miscommunication or no
communication
z Software complexity
z Programming errors
z changing requirements
z time pressures
Testing life cycle
Comparisons & Relationships

z SDLC
z STLC
z VV Model
z Standards and Guidelines
VV Model
Verification & Validation

Start Start
Implementation Test

•SRS •Test Plan

•Build •Test Design

•Install •Test Execute

•Prooduction •Acceptance

•Maintenance •Report
•Evaluation

Correction
Complete
Levels of testing
Insight into various levels in a test phase

z Unit testing
z Integration or module
z System
z Acceptance
z Alpha , Beta
TESTING LIFE CYCLE

Effort Estimation

Project Initiation Summary Reports

System study
Analysis

Test plan Regression Test

Report defects
Design Test cases

Test Automation Execute Test cases


TEST PLAN

Test plan is a document that describes the objectives,


scope, approach and focus of a Software testing
efforts.
Some items that might be included in a test plan depending
on particular project:

• Title
• Identification of software including version number
• Revision history of document including authors,dates
• Table of contents
• Purpose of document
• Objective of testing effort
• Software product overview
Some items that might be included in a test plan depending
on particular project: Cont…

• Relevant related document list, Exe requirements,


design documents etc.
• Assumptions and dependencies
• Project risk and analysis
• Testing priorities and focus
• Test outline
• Test environment
• Test tools to be used
• Personal allocation etc………………….
Test Case, Test Logs, Test Harness

TEST CASES:
A Test cases is a document that describes an input,
action or event and an expected response to determine
if a feature of an application is working correctly.

contd….
Test Case, Test Logs, Test Harness Cont…

TEST LOGS:
A collection of raw output captured during a unique
execution of one or more tests, usually representing the
output resulting from the execution of a Test suite for a
single test cycle.

TEST HARNESS:
A test harness is a small program specially written to
test a particular subroutine or module.
AUTOMAED Vs MANUAL TESTING

Software testing assisted with software tools that require very


little operator input, or evaluation is referred to as
AUTOMATED TESTING

Whereas that part of software testing that requires human input,


analysis or evaluation is know as
MANUAL TESTING.
Acceptance Testing

A formal test conducted to determine whether or not


system satisfies its acceptance criteria and to enable the
customer to determine whether or not to accept the
system. It is the final test action before deploying the
software.the goal of acceptance testing is to verify that
software is ready and can be used by end users.
BLACKBOX TESTING

Also known as functional testing. Asoftware testing technique


whereby the internal workings of the item being tested are not
known by the tester. For example, in a black box test on a software
design the tester only knows the inputs and what the expected
outcomes should be and not how the program arrives at those
outputs. The tester does not ever examine the programming code
and does not need any further knowledge of the program other than
its specifications.
WHITEBOX TESTING

Also known as glass box, structural, clear box and open box testing. A
software testing technique whereby explicit knowledge of the
internal workings of the item being tested are used to select the test
data. Unlike black box testing, white box testing uses specific
knowledge of programming code to examine outputs. The test is
accurate only if the tester knows what the program is supposed to
do. He or she can then see if the program diverges from its intended
goal. White box testing does not account for errors caused by
omission, and all visible code must also be readable.

You might also like