Sie sind auf Seite 1von 34

Software Testing

Presented By : Pushpendra Singh


Designation : Senior QA at Trimantra
Software solution

What is software testing ?


Software testing is a process to investigation about
the quality.
Or
Process of finding defect i.e. variance
between Expected and actual result.

Why ? What ? How? Who?


Why to test ?
What to test ?
How to test ?
Who test ?

Why is testing necessary ?


software testing is necessary to make sure the
product or application is defect free, as per
customer specifications.
Software testing identifies fault whose removal
increases the software Quality and Increases the
software reliability.
Testing effort is directly proportional to the
complexity of the program.

Why is testing necessary ?


Software should be
Error free as per requirement
Efficient
Secured

Start Testing-when?

Testing starts right from the requirements


phase and continues till the release time .

Participations in testing
Customer
User
Developer
Tester
Auditor

Common problems in the


software development process ?
Poor requirements
Unrealistic schedule
Features
Miscommunication

Misconception

Anyone can test software : no particular skill


is required .
Tester can test the quality at the end of the project
Defects found means blaming to the developers.

What are the skill required for testing?

Strong Desired for quality and attention to details


Ability to understand the point of customer, what
He / She want
Good understanding with developer and tester.
judgment skill
Things to break attitude

Software Development Life Cycle


(SDLC)
The seven stages of SDLC process are
Requirement Gathering
Analysis.
Design
Development
Testing
Implementation
Maintenance

SDLC Models

There are few recognized models.....

Water Fall Model

Prototype Model

Incremental Model

RAD (Rapid Application Development) Model

Spiral Model

V Model

Agile Model

Software Testing Life Cycle (STLC)

Software Testing is not a just a single activity. It


consists of series of activities carried out
methodologically to help certify your software
product. These activities (stages) constitute the
Software Testing Life Cycle (STLC).

STLC Stages
Requirements Analysis
Test Planning
Test Analysis
Test Design
Test Construction and Verification
Test Execution and Bug Reporting
Final Testing and Implementation
Post Implementation

Verification and Validation


Requirement

Requirement
review

Functional
specification

Release For
use

Build
system

Functional
space review

Design

Design
Review

Code

Build
software

CODE
REVIEW

Acceptance
testing

System
testing

Integration
testing
Unit
testing

Verification
Verification also known as quality assurance.
Static testing is done on this.

Walkthrough
Inspection
Technical review
Audit

Validation
Validation typically involves actual
testing and takes place after the
verifications are complete.
Validation determines the correctness
of a final build with respect to its
requirements.
Validation checks whether we are
building the right product.

Levels Of Testing
Unit Testing
Integration Testing
System Testing
User Acceptance Testing

Unit Testing
Unit - smallest testable piece of software.
Unit testing is process of testing the smallest/ individual component of
program.
Unit test is a procedure used to validate that individual unit of source code
is working properly.
Before entering into the unit testing it should be gone through code review.
Tests the functionality of units.
Typically done by the developers and not by testers.
It is typically used to verify control flow, data flow
and memory leak problems.

Functional Testing Type

Functionality testing
Smoke testing
Sanity testing

Non-Functionality Testing Type


Recovery Testing
Compatibility Testing
Configuration Testing
Inter system Testing
Installation Testing
performance Testing
Load Testing
Stress Testing
Data Volume Testing
Security testing

Usability Testing

Use interface (GUI)


Manual support testing

Black Box and White box


Techniques
Black Box Testing
Black box testing is testing that ignores the internal
mechanism of a system or component and focuses
solely on the outputs generated in response to selected
inputs and execution conditions.
(also called as Behavioral testing, Functional testing, Data driven
testing, I/O driven testing)
White Box Testing
White box testing is testing that takes into account the
internal mechanism of a system or component.
(also called as Structural testing, Glass box testing,
Transparent-box and Clear box Testing )

Black box testing


Test Case Design methods:
Equivalence Class partitioning method
Boundary value analysis
Decision Tables
State transition testing
Use case based testing
Error guessing

White box Testing


Testing based on analysis of internal logic (design,
code, etc.).
White-box testing techniques apply primarily to
lower levels of testing (e.g., unit and component).
Targets to check control flow, looping, dataflow, all
the nodes and paths.
Mandatory to have a knowledge of code in which
the system is designed.

White Box - testing techniques

Statement coverage
Decision coverage
Condition Coverage

Statement coverage

Execute all the statements at least once


Weakest form of coverage as it requires
every line of code to be checked

Decision coverage (Branch coverage)

Exercise all logical decision on


their true or false sides.
To test the branch we must
once
check the true condition and
once
the false condition

False
?
True

Condition Coverage
Execute each decision with all
possible outcomes at least once
It requires all cases.
Checks each of the ways
condition can be made true or
false

Condition Coverage

1234

?
1 2

23

?
?

Cyclomatic Complexity

It is important to testers because it provides


an indication of the amount of testing.
Cyclomatic complexity is defined as
control flow graph G,
cyclomatic complexity V(G):
V(G)= E-N+2 Where
N is the number of nodes in G
E is the number of edges in G

Cyclomatic Complexity
Read A
IF A < 0 THEN
Print ?A negative?
ENDIF
IF A > 0 THEN
Print ?A positive?
ENDIF
Cyclomatic complexity= 3
E-N+2
8-7+2=3

Das könnte Ihnen auch gefallen