ABC of Testing
Before Beginning
Developers Vs Testers - Common Mindset
–
–

Development is a highly skillful, tedious job
A developer is an expert who always will have more skill
set as compared to a tester

–

A Tester has to have developmental skill set to find the
errors in the application.
A Tester is a proactive person and needs to think ahead of
developer.

Reality

–
What is Software Testing
Testing is to –
ī‚— Ensure that the software product
works according to the Specifications.
ī‚— Identify the defects in the software
Product.
ī‚— Check if the Software is user friendly
and easy to operate.
ī‚— Suggest improvements in the existing
working product.
ī‚—
Need for Testing of the
Software product
A Software Application is a developed
product & not manufactured Product
ī‚— There is no standardised mechanical
process of development for an
application
ī‚— The Testing ensures the
ī‚—

â—Ļ Precision of Application Functionality
â—Ļ Requirements given are fulfilled
Ensuring Precision
Common Error-Prone Areas
ī‚– Athematic Calculations on data
ī‚– Data Validations
ī‚– Data Editing and processing
ī‚– Data Comparing and merging
ī‚– Data searches that gives incorrect or
incomplete output results
ī‚– Defining data relationship
ī‚– Coding errors
ī‚– Incorrect logic destabilizing existing
business process
SDLC And Software Testing
Initiation
Requirement
Analysis
Planning

Development

Testing

Defect
Tracking

Designing

Deployment

Maintenance
Software Testing Life Cycle
ī‚—

The Test Process is the formal
process designed for the Testing of
the software

ī‚—

The Test Team along with the
development team achieves the goal
of delivering a perfect software system
Test Process
Requirement Analysis

Test Execution

Defect Tracking

Report Bugs

Regression Testing

Test Panning

Bugs Fixed

Test Scenario/Use
Case Design
Integration Testing

Design of Test Cases
System Testing

Creation of Test Data

Setup Configuration

Performance Testing

QA Sign Off

QA of
Documentation
Functional Testing
ī‚— Usability Testing:
ī‚— Performance Testing:
ī‚— Unit Testing:
ī‚— Integration Testing:
ī‚— System Testing:
ī‚— User Acceptance Testing:
ī‚— User Interface Testing:
ī‚— Boundary value Analysis:
ī‚—

Database Testing:
ī‚— Compatibility Testing:
ī‚— Security Testing:
ī‚— Scalability Testing:
ī‚— Localization Testing:
ī‚— Configuration Testing:
ī‚— Deployment Testing:
ī‚— Documentation Testing:
ī‚— Non functional Testing:
ī‚—

Types of Testing
Types of Testing
Black Box Testing

White Box Testing

The Tester does not look into the Code of the Software
Program under Test

The Tester reads and understands the code under Test.

The expertise of Tester required is basic Testing skills

The Tester should understand basic Testing as well as
writing Test programs.

Testing is primarily based in entering input data into the Testing is based on actual writing a Test Program to
Software Program mostly through User Interface and
input data and read out put data through Application
observing the Output.
Programming interfaces or function pointers.

Automation is limited to automate entering data into and In addition to Automating the entering and reading
reading the output from the User Interface.
input data it includes automates testing code functions,
decision making algorithms and interfaces. Also checks
the Test Coverage of the Software Program

Usually Database Testing is not involved in this. Tester
might not be aware of the Database or other storage.

This involves Database Testing and the Tester needs to
understand the basic RDBMS
What is BUG?
ī‚—

Any flaw/fault in the software product
which is a Defect is called a Bug in
the Software terminology.
A BUG Life Cycle
A Bug is identified by the Tester.
The Tester enters it in the defect tracking System. Bug Status: NEW

The Test Lead reviews the Bug.
The Test Lead assigns it to the Developer. Bug Status: Assigned

The Developer corrects the code.
The Developer changes the status and assigns it to the Tester for
verification. Bug Status: Fixed

The Tester executes the related tests to find out if the issue is fixed in
the code.
The Tester changes the status and
assigns the Bug to the developer for
fixing the issue.
YES
Bug Status: Reopened

Defect is
Present?

NO

The Tester retest the feature ensures
that no defect exists and changes the
status of the Bug.
Bug Status: Verified

At the End of the SDLC the Tester marks for
all Bugs that are verified
Bug Status: Closed
Common tools for Testing
ī‚—

Open Source Tools
â—Ļ

Test Management tools

â—Ļ

TET (Test Environment Toolkit)

â—Ļ

TETware

â—Ļ

Test Manager

â—Ļ

RTH

ī‚—

Functional Testing Tools
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ

Selenium
Soapui
Watir
HTTP::Recorder
WatiN
Canoo WebTest
Webcorder
Solex
Imprimatur
SAMIE
Swete
ITP
WET
WebInject
Load Testing Tools
Jmeter
FunkLoad

Proprietary/Commercial
tools
ī‚— Test Management tools
ī‚—

â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ

HP Quality Center/ALM
QA Complete
T-Plan Professional
Automated Test Designer (ATD)
Testuff
SMARTS
QAS.TCS (Test Case Studio)
PractiTest
Test Manager Adaptors
SpiraTest
TestLog
ApTest Manager
DevTest
ī‚—

Functional Testing Tools
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ

QuickTest Pro
Rational Robot
Sahi
SoapTest
Badboy
Test Complete
QA Wizard
Netvantage Functional Tester
PesterCat
AppsWatch
Squish
actiWATE
liSA
vTest
Internet Macros
Ranorex

ī‚—

Load Testing Tools
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ
â—Ļ

â—Ļ
â—Ļ
â—Ļ
â—Ļ

HP LoadRunner
LoadStorm
NeoLoad
Loadtracer
WebLOAD Professional
Forecast
ANTS – Advanced .NET Testing
System
vPerformer
Webserver Stress Tool
preVue-ASCII
Load Impact
Thank You

Abc of testing

  • 1.
  • 2.
    Before Beginning Developers VsTesters - Common Mindset – – Development is a highly skillful, tedious job A developer is an expert who always will have more skill set as compared to a tester – A Tester has to have developmental skill set to find the errors in the application. A Tester is a proactive person and needs to think ahead of developer. Reality –
  • 3.
    What is SoftwareTesting Testing is to – ī‚— Ensure that the software product works according to the Specifications. ī‚— Identify the defects in the software Product. ī‚— Check if the Software is user friendly and easy to operate. ī‚— Suggest improvements in the existing working product. ī‚—
  • 4.
    Need for Testingof the Software product A Software Application is a developed product & not manufactured Product ī‚— There is no standardised mechanical process of development for an application ī‚— The Testing ensures the ī‚— â—Ļ Precision of Application Functionality â—Ļ Requirements given are fulfilled
  • 5.
    Ensuring Precision Common Error-ProneAreas ī‚– Athematic Calculations on data ī‚– Data Validations ī‚– Data Editing and processing ī‚– Data Comparing and merging ī‚– Data searches that gives incorrect or incomplete output results ī‚– Defining data relationship ī‚– Coding errors ī‚– Incorrect logic destabilizing existing business process
  • 6.
    SDLC And SoftwareTesting Initiation Requirement Analysis Planning Development Testing Defect Tracking Designing Deployment Maintenance
  • 7.
    Software Testing LifeCycle ī‚— The Test Process is the formal process designed for the Testing of the software ī‚— The Test Team along with the development team achieves the goal of delivering a perfect software system
  • 8.
    Test Process Requirement Analysis TestExecution Defect Tracking Report Bugs Regression Testing Test Panning Bugs Fixed Test Scenario/Use Case Design Integration Testing Design of Test Cases System Testing Creation of Test Data Setup Configuration Performance Testing QA Sign Off QA of Documentation
  • 9.
    Functional Testing ī‚— UsabilityTesting: ī‚— Performance Testing: ī‚— Unit Testing: ī‚— Integration Testing: ī‚— System Testing: ī‚— User Acceptance Testing: ī‚— User Interface Testing: ī‚— Boundary value Analysis: ī‚— Database Testing: ī‚— Compatibility Testing: ī‚— Security Testing: ī‚— Scalability Testing: ī‚— Localization Testing: ī‚— Configuration Testing: ī‚— Deployment Testing: ī‚— Documentation Testing: ī‚— Non functional Testing: ī‚— Types of Testing
  • 10.
    Types of Testing BlackBox Testing White Box Testing The Tester does not look into the Code of the Software Program under Test The Tester reads and understands the code under Test. The expertise of Tester required is basic Testing skills The Tester should understand basic Testing as well as writing Test programs. Testing is primarily based in entering input data into the Testing is based on actual writing a Test Program to Software Program mostly through User Interface and input data and read out put data through Application observing the Output. Programming interfaces or function pointers. Automation is limited to automate entering data into and In addition to Automating the entering and reading reading the output from the User Interface. input data it includes automates testing code functions, decision making algorithms and interfaces. Also checks the Test Coverage of the Software Program Usually Database Testing is not involved in this. Tester might not be aware of the Database or other storage. This involves Database Testing and the Tester needs to understand the basic RDBMS
  • 11.
    What is BUG? ī‚— Anyflaw/fault in the software product which is a Defect is called a Bug in the Software terminology.
  • 12.
    A BUG LifeCycle A Bug is identified by the Tester. The Tester enters it in the defect tracking System. Bug Status: NEW The Test Lead reviews the Bug. The Test Lead assigns it to the Developer. Bug Status: Assigned The Developer corrects the code. The Developer changes the status and assigns it to the Tester for verification. Bug Status: Fixed The Tester executes the related tests to find out if the issue is fixed in the code. The Tester changes the status and assigns the Bug to the developer for fixing the issue. YES Bug Status: Reopened Defect is Present? NO The Tester retest the feature ensures that no defect exists and changes the status of the Bug. Bug Status: Verified At the End of the SDLC the Tester marks for all Bugs that are verified Bug Status: Closed
  • 13.
    Common tools forTesting ī‚— Open Source Tools â—Ļ Test Management tools â—Ļ TET (Test Environment Toolkit) â—Ļ TETware â—Ļ Test Manager â—Ļ RTH ī‚— Functional Testing Tools â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ Selenium Soapui Watir HTTP::Recorder WatiN Canoo WebTest Webcorder Solex Imprimatur SAMIE Swete ITP WET WebInject
  • 14.
    Load Testing Tools Jmeter FunkLoad Proprietary/Commercial tools ī‚—Test Management tools ī‚— â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ HP Quality Center/ALM QA Complete T-Plan Professional Automated Test Designer (ATD) Testuff SMARTS QAS.TCS (Test Case Studio) PractiTest Test Manager Adaptors SpiraTest TestLog ApTest Manager DevTest
  • 15.
    ī‚— Functional Testing Tools â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ QuickTestPro Rational Robot Sahi SoapTest Badboy Test Complete QA Wizard Netvantage Functional Tester PesterCat AppsWatch Squish actiWATE liSA vTest Internet Macros Ranorex ī‚— Load Testing Tools â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ â—Ļ HP LoadRunner LoadStorm NeoLoad Loadtracer WebLOAD Professional Forecast ANTS – Advanced .NET Testing System vPerformer Webserver Stress Tool preVue-ASCII Load Impact
  • 16.