Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 15

Basics of Software Testing

After the session you will be understanding:


What is Software testing?
Why do we need to Software testing?
Objectives
What is all about Errors, Bug, Fault and failure
SDLC( Software development Life cycle)
STLC( Software testing life cycle)
Testing methodologies
Testing Levels
Different types of testing
Difference between Manual and automated testing
Introduction:
What is Software testing and why software testing?
--It is the process used to identify the correctness, completeness
and quality of the developed computer software.
--It is the process of executing a program/application under
positive and negative conditions by manual or automated means.
It checks for the
Specification
Functionality
Performance
To get adequate trust and confidence on the product and to meet
organizational goals like meeting requirements, satisfied
customers, improved market shares and zero defects etc
Objectives:
Uncover as many as errors or bugs as possible in a given
product
Demonstrate a given software product matching its
requirement specifications
Validate the quality of a software testing using the minimum
cost and efforts
Generate high quality test cases, perform effective tests and
issue correct and helpful problem reports
Error, Bug, Fault and Failure

Error : It is a human action that produces the


incorrect result that produces a fault.
Bug: The presence of error at the time of
execution of the software
Fault: State of software caused by an error
Failure: Deviation of the software from its
expected result. It is an event
SDLC(Software development Life Cycle)
Standard model used word wide to develop a software.
A framework that describes the activities performed at each
stage of a software development project
Necessary to ensure the quality of the software
Logical steps taken to develop a software product.
Waterfall method :
It is the oldest and most widely used model in the field of
software development
--Continued

Feasibility study
Requirement analysis and specification
Design
Coding and unit testing
Integration and system testing
Maintenance
STLC (Software testing life cycle)
Project initiation
System Study
test plan
Design test cases
Execute test cases ( Manual/Automated)
Report defects
Regression test
Analysis
Summary reports
Testing Methodologies:
Black box testing:
No Knowledge of internal program design or code required
Tests are based on requirements and functionality
White box testing:
Knowledge of the internal program design and code required
Tests are based on coverage of code statements, branches,
paths and conditions.
Testing Levels:
Unit testing: tests each module individually and it will be
done by developers, follows a white box testing
Integration testing: once all the modules have been unit
tested, integrations testing is performed
System testing: The System as a whole is tested to uncover
requirement errors and verifies overall system functions as
expected
Types of integration testing:
Big bang Int.testing
Top down int. testing
Bottom up Int. testing
Mixed int testing
Types of System testing:
Alpha testing
Beta Testing
Acceptance testing
Performance testing
Alpha testing: It is carried out by test team within the
developing organization
Beta testing: It is performed by selected group of friendly
customers
Acceptance testing : It is performed by the customers to
determine whether to accept or reject the delivery of the
system.
Performance testing: It is carried out to check whether the
system meets the non functional requirements identified in the
SRS document
Types of Performance testing:
Stress testing
Volume testing
Configuration testing
Compatibility testing
Regression testing
Recovery testing
Maintenance testing
Documentation testing
Usability testing
Some more types of testing :
Static testing: Code is examined without being executed ex:
Code inspections, Reviews and walkthrough
Dynamic testing: Code is executed and tested without,
necessarily being examined
Ex: Black box testing
Verification and validation testing:
Verification is a set of activities carried out to check whether
we are building the system right Ex: Set of white box testing
activities
Validation is set of activities carried out to check whether we
are building the right system
Ex: Set of black box testing activities
Difference between Manual and Automated
testing:
Manual testing: Testing activities performed by people without
the help of software testing tools
Ex: Reviews and unit testing

Automated testing: Testing activities carried out with the help


of software testing tools.
Ex: Regression testing and performance testing

You might also like