You are on page 1of 23

SDLC & TESTING

CONCEPTS

By Sandeep Benny
Q. How many QA testers does it take to change a lightbulb?
SDLC
“The period of time that starts when a software product is
conceived and ends when the product is no longer
available for use..”
Waterfall Model  Pros
 Good for management control
(plan, staff, track)
 Easy to understand, easy to
use
 Provides structure to
inexperienced staff

 Cons
 All requirements must be
known upfront
 inhibits flexibility-
Deliverables created for each
phase are considered frozen
 Little opportunity for customer
to preview the system (until it
may be too late)
V model
V Model
 Pros  Cons
 Testing activities parallel to  It’s very rigid and least
development activities. flexible
 It saves ample time as testing  very costly to implement
begins much early in the  Not ideal for small projects
lifecycle.  No early prototypes of the
 reduces the cost for fixing software are produced.
the defect
 develop a quality product
Prototype Model
 The reasons of Rapid
Prototyping are :
 To increase effective
communication.
 To decrease development
time.
 To decrease costly mistakes.
 To minimize sustaining
engineering changes.
 To extend product lifetime
by adding necessary features
and eliminating redundant
features early in the design
Incremental Model
 Advantages
 Generates working
software quickly and early
during the software life
cycle.
 More flexible
 Easier to test and debug.
 Easier to manage risk.

 Disadvantages
 Expensive
Spiral Model
 Spiral= prototype + waterfall
 There are four phases in the
“Spiral Model” : Planning, Risk
Analysis , Engineering, and
Customer Evaluation.
 Pros
 Focuses attention on early error
elimination
 Puts quality objectives up front 
 Integrates development and
maintenance.
 Adaptable model.
 Cons
 Requires risk assessment expertise
 Time consuming
 One of the most expensive models.
AGILE Methodology
 As the title suggest, focuses on 'agility' and 'adaptability' in
development.
 Agile models involve multiple iterative development
schedules that seek to improve the output with every
iteration.
 Each iteration goes through the all the steps of design,
coding and testing.
 More opportunities to asses the direction of the project
compared to the traditional waterfall model.
 Regular meetings are held with the clients to track the
development of the project. It Responds to change over
following a plan.
 Working s/w is given more priority over detailed
documentation.
Waterfall v/s Agile
• Waterfall

Developers Testers Clients

• Agile

Developers Testers Clients


What is software testing??
 Testing is a process in which the defects are
identified, isolated , and subjected for
rectification and finally make sure that all the
defects are rectified ,in order to ensure that the
end product is a Quality product.
WHY Testing..!!!

 In SDLC, each phase produces deliverables required by


the next phase in lifecycle like Requirement are translated to
Design.
 Testing verifies that all 3 phases are in synch with each
other.
 A developer wouldn’t be able to find faults in his code
as he would be emotionally attached to it.
 To develop quality product which in turn results in
better customer experience & satisfaction
Testing Lifecycle
Testing terminologies
 Test Plan
Test plan is a document, which describes the scope, approach and objective of testing.
It describes some of the following steps:
 Test Deliverables
 Describes the functionality to be tested
 Schedules and Resource allocations
 Test Environment Details
 Identifying the tools to be used

 Test Strategy
A strategy is how you are going to address testing for the project. Issues like :
 Objective/Scope of Testing
 Test Levels (Unit/Module/System/Integration)
 Test Types ( Functional/Non-Functional)
 Test Environment
 Test Automation Approach
 Test Tools to be used
 Defect Management approach
 Defect classification
 Test Environment
Environment that is to be created for the testing team to execute
the tests manually as well as by automation. This test environment
is the integration of software, hardware, networks, servers ,
database etc according to the client requirements
 Test Case
Test cases is a sequence of steps to test the correct behavior of a
functionality/feature of an application
A test case should have an input description, Test Sequence and
an Expected Output.
 Test Reporting:
Test reporting, analysis and Bug fixing management ,The QA
person will track the bug and report in Bug Tracking Tools. Once
the bugs are fixed from development team, Retesting/Regression
testing is done to assure that the bugs are closed.
Testing levels
 Unit Testing.
 Unit Testing is primarily carried out by the developers themselves.
 Deals functional correctness and the completeness of individual
program units.
 White box testing methods are employed

 Integration Testing.
 Integration Testing: Deals with testing when several program units are
integrated.
 Regression testing : Change of behavior due to modification or
addition is called ‘Regression’. Used to bring changes from worst to
least.
 Incremental Integration Testing : Checks out for bugs which
encounter when a module has been integrated to the existing.
 Smoke Testing : It is the battery of test which checks the basic
functionality of program. If fails then the program is not sent for
further testing.
 System Testing.
 System Testing - Deals with testing the whole program system for its
intended purpose.
 Recovery testing : System is forced to fail and is checked out how well
the system recovers the failure.
 Security Testing : Checks the capability of system to defend itself
from hostile attack on programs and data.
 Load & Stress Testing : The system is tested for max load and extreme
stress points are figured out.
 Performance Testing : Used to determine the processing speed.
 Installation Testing : Installation & uninstallation is checked out in
the target platform.

 Acceptance Testing.
 UAT ensures that the project satisfies the customer requirements.
 Alpha Testing : It is the test done by the client at the developer’s site.
 Beta Testing : This is the test done by the end-users at the client’s site.
 Compatibility Testing : Determines how well the product is
substantial to product transition.
Testing Methodologies
 Black Box Testing  White Box Testing
 Examines the application  Focuses on the program
external functional behavior. part. Rather than
 Done by the testing team. functionality.
 Done by development
 Knowledge of internal team
coding not required.  Knowledge of internal
 Performance of the
e..coding required.
application can be tested.
 Performance of the
 E.g. Equivalence partitioning,
application can’t be tested.
Boundary Value Analysis &  E.g. Fault injection, static
Error guessing. testing, flow control tests.
Functional V/s Non Functional tests

 Functional Tests  Non Functional Tests


 Testing developed application against  Testing the application based on the
business requirements. clients and performance
 Functional testing is done using the requirement.
functional specifications provided by  Non-Functioning testing is done based
the client on the requirements and test scenarios
 Functional testing covers : defined by the client.
 Non-Functional testing covers :
· Unit Testing
· Smoke testing / Sanity testing · Load and Performance Testing
· Integration Testing · Stress & Volume Testing
· Interface & Usability Testing · Compatibility Testing
· System Testing · Recovery Testing
· Regression Testing · Security / Penetration Testing
· Pre User Acceptance Testing · Reliability Testing
(Alpha & Beta) · Installation Testing
· User Acceptance Testing · Security Testing (Application
Security, Network Security)
Defect lifecycle
 Defect Life Cycle is the Cycle through which a defect goes. It starts when defect is
found & ends when defect is closed after ensuring its not reproduced. Defect Life cycle
is related to Bug found during testing so it doesn't depend on Manual & Automated
Testing.

Phases of Defect Life Cycle is

1. New : When Defect discovered.

2. Assigned:-Once Tester encounter with bug Team lead or Tester will assign it to
Developer team and change status as Assigned

3. Open: Once the Developer start working on the Bug he will make the status as Open.

4. Fixed : This status is set once the issue is fixed or defect solved by developer.

5.Retest:- Once tester will start retesting onto his Bug then he change status as Retest.

6.Closed : After Retest, once assured its no more a defect its status is Closed.
Thank You

 P.s : Check the next slide for Answer


Q. How many QA testers does it take to change a lightbulb?

Ans. QA testers don't change anything. They just report that it's dark.

You might also like