You are on page 1of 41

Software Testing Foundation

Testing throughout Software Life Cycles

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 1


Lesson Objectives

 Software Development Life Cycle (SDLC)

 Software Maintenance Life Cycle (SMLC)


 Software Development Models

 Testing in Development Models

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 2


Section 1
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 3


SDLC Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 4


Flowchart
Initiation
Quality
1. Characteristics of stages Gate
 A stage has its own objectives and work products Definition
generated by internal processes of the stage.
Requirement
 A stage may have one or more iterations depending Review
Solution
on the complexity of the stage.
 Stages may be combined to one depending on the Architecture
complexity of project. Review
Construction

2. Quality Gate
Final
To be performed by QA to determine: Inspection
Transition
 If the objectives of the stage have been met.
 If the mandatory work products have satisfied the Customer
acceptance
requirements. Termination

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 5


Initiation State

1.Overview
 The Initiation stage is the start of the SLC.
 The main activities:
 Establish project's software scope and boundary conditions
 Estimate overall cost and schedule of the project
 Build the project team
 Draft a project plan
 Define potential risks
 Providing all necessary resources/tools/supports required to carry out the project
 Opening Decision: Decision for PM, actual Start date of the project
 Project Kick-off

2.Outputs
 User Requirement Document
 Proposal

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 6


Definition State

1. Overview
 The main purpose of this stage is to understand customer requirements.
 The main activities:
 Study and clarify user requirements
 Negotiate Acceptance Criteria with customer
 Update and release complete project plan
 Create Test Plan

2. Outputs
 Project plan
 Test plan
 Prototype

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 7


Solution State

1. Overview
 The main purpose of this stage is to define an effective solution to meet customer
requirements.
 The main activities:
 Create HLD
 Create DDD
 Create test case and test data

2. Outputs
 Architecture Design Document
 Detailed design document
 Test case and test data

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 8


Construction State

1. Overview
 The goal of this stage is to develop the system.
 The main activities:
 Coding
 Testing

2. Outputs
 Software package
 Test report
 Defect report
 Installation guide
 User manual

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 9


Transition State

1. Overview
 The focus of this stage is to ensure that software is available for its end users.
 The main activities:
 Deliver software to customer
 Support UAT

2. Outputs
 Project report
 Test report
 Acceptance report

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 10


Termination State

1. Overview
 The goal of this stage is to summarize the results of the project and to provide the project
knowledge and experiences for other projects.
 The main activities:
 Get customer acceptance of the whole project.
 Postmortem project
 Project assets must be collected and transferred to company

2. Outputs
 Customer Satisfaction Survey
 Project Report
 Acceptance Note

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 11


Section 2
SOFTWARE MAINTENANCE LC (SMLC)

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 12


SMLC Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 13


Flowchart

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 14


Initiation State

1.Overview
 The Initiation stage is the start of the SLC.
 The main activities:
 Establish project's software scope and boundary conditions
 Estimate overall cost and schedule of the project
 Build the project team
 Draft a project plan
 Define potential risks
 Providing all necessary resources/tools/supports required to carry out the project
 Opening Decision: Decision for PM, actual Start date of the project
 Project Kick-off

2.Outputs
 Work order
 Project plan
 Customer Requirement

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 15


Help Desk

1. Overview
 The main activities are:
 Receive customer requirements in a request form such as problem report or
change request,
 Perform primary evaluation of the request and responding to customer.

2. Outputs
 Customer requests (CRs)

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 16


Bug Fixing

1. Overview
 The main purpose of this workflow is to correct customer submitted defects of the maintained
system.
 The main activities are:
 Analyze submitted defects, coding and testing.
 Regression test

2. Outputs
 Test case and Test Data
 Software package
 Test Report
 Installation Manual (optional)
 User Manual (optional)

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 17


Enhancement Workflow

1. Overview
 The goal of this workflow is to enhance the system like a small or shorted development
project with the input being change requirements defined from change requests .
 The main activities are
 Analyze, refine design
 Coding and testing for the updated software package

2. Outputs
 Requirement documents
 Design documents
 Test plan, test case
 Software package

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 18


Release Sub-stage

1. Overview
 The focus of this sub-stage is to ensure that updated software is available for its end users.
 The main activities are:
 Deliver the updated software to customer
 Implement the updated software systems on customer site and conduct test activities
for release acceptance.
• Normally there are two kind of release: Emergency and Periodical which is mandatory.

2. Outputs
 Software package
 Release note
 Project Report

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 19


Transition Stage

1. Overview
 The focus of this stage is to ensure that the updated software of all releases is available for it end
users.
 The main activities are:
 Conduct the regression test
 Deliver the final updated software (Final release) to customer, implement the final updated
software systems on customer site and conduct test activities for final acceptance.

2. Outputs
 Software package
 Project documents
 Release note
 Project report

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 20


Termination State

1. Overview
 The goal of this stage is to summarize the results of the project and to provide the
project knowledge and experiences for other projects.
 The project closes at this stage when customer accepts the whole project. Project
assets must be collected and transferred to company library.

2. Outputs
 Customer Satisfaction Survey
 Project Report
 Acceptance Note

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 21


Section 3
SOFTWARE DEVELOPMENT MODELS

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 22


Software Development Models

 Traditional Development Models


 Waterfall

 Iterative
 Rapid Application Development - RAD

 Spiral

 Agile Development Models


 Scrum
 Kanban

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 23


Waterfall Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 24


Waterfall Development Model

Advantages: Disadvantages :

Very difficult to go back and change


Simple and easy to understand and
Not a good model for complex and object-
use
oriented projects.
Phases are processed and completed Poor model for long and ongoing projects.

one at a time. Phases do not overlap. Not suitable for the projects where requirements
are at a moderate to high risk of changing
 When to use:
 Works well for small and short projects when the requirements are very well known, clear and fixed.
 There are no ambiguous requirements
 Technology is understood
 Ample resources with required expertise are available freely

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 25


Iterative Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 26


Iterative Development Model

Advantages:  Disadvantages:
 More flexible – less costly to change scope and  Needs good planning and design.
requirements  Needs a clear and complete definition of the whole
 Easier to test and debug during a smaller iteration system before it can be broken down and built

 Customer can respond to each build incrementally


 Total cost is higher than waterfall.
 Easier to manage risk because risky pieces are identified
and handled during it’d iteration
 When to use:
 The incremental model should be used for the project where major requirements must be defined; however,
some details can evolve with time.
 There is a need to get a product to the market early.
 A new technology is being used
 Resources with needed skill set are not available
09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 27
Rapid Application Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 28


Rapid Application Development Model

 Advantages:  Disadvantages:
 Reduced development time  Depends on strong team and individual
 Increases reusability of components performances for identifying business requirements.
 Quick initial reviews occur  Requires highly skilled developers/ designers.
 Encourages customer feedback  High dependency on modeling skills
 Integration from very beginning solves a lot  Inapplicable to cheaper projects as cost of modeling
of integration issues and automated code generation is very high.

 When to use:
 There is a need to create a system that can be modularized in 2-3 months of time.
 Should be chosen only if resources with high business knowledge are available and there is a need to produce
the system in a short span of time (2-3 months).

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 29


Spiral Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 30


Spiral Development Model

 Advantages:  Disadvantages:
 Good for large and mission-critical projects  Can be a costly model to use.
 Strong approval and documentation control.  Risk analysis requires highly specific expertise.
 Software is produced early in the software life  Project’s success is highly dependent on the risk
cycle analysis phase.
  Doesn’t work well for smaller projects.
Additional Functionality can be added at a later
date.

 When to use:
 For medium to high-risk projects
 Long-term project commitment unwise because of potential changes to economic priorities
 Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected (research and exploration)
09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 31
Agile Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 32


Agile Development Model

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 33


Agile Development Model

 Emphasize face-to-face communication over written


documents
 Release = Sprint
 Short tasks
 Write test scripts before code

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 34


Agile Development Model

Advantages:  Disadvantages:
 Customer satisfaction by rapid, continuous delivery of useful  In case of some software deliverables, especially the large
software. ones, it is difficult to assess the effort required at the beginning
of the software development life cycle.
 Customers, developers and testers constantly interact with
 There is lack of emphasis on necessary designing and
each other. documentation.
 Face-to-face conversation is the best form of communication.  The project can easily get taken off track if the customer
 Close, daily cooperation between business people and representative is not clear what final outcome that they want.
developers.  Only senior programmers are capable of taking the kind of
 Continuous attention to technical excellence and good design. decisions required during the development process.

 Regular adaptation to changing circumstances.


 Even late changes in requirements are welcomed.

 When to use:
 When new changes are needed to be implemented

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 35


Section 4
TESTING IN DEVELOPMENT MODELS

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 36


Testing in Waterfall model (V-model)

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 37


Testing in other Models

 Sequential development: V-model

 Iterative and incremental: : Testing in iterations/increments;


IT, Regression Test

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 38


References
 https://www.istqb.org/ , Foundations of Software Testing,
Chapter 2

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 39


Lesson Summary

 Software Development Life Cycle (SDLC)

 Software Maintenance Life Cycle (SMLC)


 Software Development Models
 Testing in Development Models

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 40


Thank you

09/26/2023 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 41

You might also like