By: Chankey Pathak Chankey007@gmail - Co M
By: Chankey Pathak Chankey007@gmail - Co M
com
Agenda:
Introduction
Importance of testing in SDLC
Testing life cycle
Test planning
Types of testing
Verification & Validation
Quality Assurance & Control
Bug reporting
Software Testing
Software testing is a process used to
identify the correctness, completeness
and quality of 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
Why Software
Testing
?
Software Testing is important as it
may cause mission failure, impact
on operational performance and
reliability if not done properly.
Effective software testing delivers
quality
software
products
satisfying users requirements,
needs and expectations.
What ????
is
an ERROR??
.is a Bug??
.is Fault, Failure ??
Who is a
Software Tester??..
Software Tester is the one who
performs testing and find bugs, if they
exist in the tested application.
QA Lead
Test Engineer Writing and executing test cases and Reporting defects
Test engineers are also responsible for determining the
best way a
test can be performed in order to achieve 100% test
coverage of all
When to Start
Testing in SDLC
Requirement
Analysis
Design
Coding
Testing
Implementation
Maintenance
Testing
Life
Cycle
Project Initiation
System Study
Summary Reports
Analysis
Test Plan
Regression Test
Design Test Cases
Report Defects
Test
Plan
A test plan is a systematic approach to testing a
system i.e. software. The plan typically contains a
detailed understanding of what the eventual testing
workflow will be.
Test
Case
A test case is a specific procedure of
testing a particular requirement.
It will include:
Identification of specific
requirement tested
Test case success/failure criteria
Specific steps to execute test
Test Data
Unit
Testing
1.
2.
3.
Integration Testing
After completing the unit
testing and dependent modules
development, programmers
connect the modules with
respect to HLD for Integration
Testing through below
approaches.
System Testing
After completing Unit and Integration testing
through white box testing techniques
development team release an .exe build (all
integrated module) to perform black box
testing.
Usability Testing
Functional Testing
Performance Testing
Security Testing
Usability Testing
During this test, testing team concentrates on the user
friendliness of build interface. It consists of following sub tests.
Functional
Testing
It is geared to functional
requirements of an application.
To check the correctness of
outputs.
Data validation and Integration
i.e. inputs are correct or not.
Performance
Testing
Security Testing
Testing how well the system
protects against
unauthorized internal or
external access, willful
damage, etc, may require
sophisticated testing
techniques
Smoke testing
Smoke testing is nonexhaustive software
testing, ascertaining that
the most crucial functions
of a program work, but not
bothering with finer details.
Alpha Testing
1. The application is tested by the users who
doesnt know about the application.
2. Done at developers site under controlled
conditions
3. Under the supervision of the developers.
Acceptance
Testing
Beta Testing
1. This Testing is done before
the final release of the
software to end-users.
2. Before the final release of the
software is released to users
for testing where there will
be no controlled conditions
and the user here is free
enough to do what ever he
wants to do on the system to
find errors.
Regression
Testing
Testing with the intent of
determining if bug fixes have
been successful and have not
created any new problems.
Also, this type of testing is
done to ensure that no
degradation of baseline
functionality has occurred.
Monkey Testing
Testing the application randomly
like hitting keys irregularly and
try to breakdown the system
there is no specific test cases and
scenarios for monkey testing.
Verification
Verification is the process
confirming that -software meets
its specification, done through
inspections and walkthroughs
Validation
Validation is the process
confirming that it meets the
users requirements. It is the
actual testing.
What is Quality ?
Quality is defined as meeting the customers
requirements and according to the standards
The best measure of Quality is given by FURPS
Functionality
Usability
Reliability
Performance
Scalability
Why
Quality ?
Quality
is the important
factor affecting an
organizations long term
performance.
Quality improves
productivity and
competitiveness in any
organization.
Quality Assurance
Quality Assurance is a planned
and systematic set of activities
necessary to provide adequate
confidence that products and
services will conform to
specified requirements and
meets user needs.
It is process oriented.
Defect prevention based.
Throughout the Life Cycle.
Its a management process.
Quality Control
Quality control is the
process by which product
quality is compared with
the applicable standards
and the action taken when
non conformance is
detected.
It is product oriented
Defect detection based
QA vs. QC
QA is preventive process.
QC is corrective process.
Bug
New
Deferred
Assigned
Resolved
Re-open
Verified
Closed
Cost incurred
Stop Testing
Bugs ratio
Amount of Testing