0% found this document useful (0 votes)
24 views8 pages

Session 1-Test Strategy and Planning

The document provides an overview of software testing, emphasizing its importance in the software development lifecycle and the various models used, such as Waterfall, V-Model, and Agile. It outlines different types of testing, including functional and non-functional testing, and discusses risk management strategies in the context of software development. Additionally, it includes a case study on testing types for a taxi booking application and resources for further learning.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views8 pages

Session 1-Test Strategy and Planning

The document provides an overview of software testing, emphasizing its importance in the software development lifecycle and the various models used, such as Waterfall, V-Model, and Agile. It outlines different types of testing, including functional and non-functional testing, and discusses risk management strategies in the context of software development. Additionally, it includes a case study on testing types for a taxi booking application and resources for further learning.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Introduction to Software Testing

What is Software Testing

Software testing is not about making sure that everything is ok.

Software Testing is Relentless Learning

Software Testing is exploring software with the intent of finding bugs.

Why is Software Testing Important?

Software testing is an integral part of the software development life cycle because
people are prone to making mistakes/errors. Some errors are insignificant, others
may have costly repercussions.

Since everyone makes mistakes, we have to thoroughly verify the result of our work,
as well as the work of others in everything we do.

Software Development Lifecycle Models

Sequential

A sequential development model describes the software development process as a


linear, sequential flow of activities. Any phase in the development process begins
when the previous phase is complete.

Incremental

Incremental development involves establishing requirements, designing, building,


and testing a system in pieces, the software’s features grow incrementally.

Sequential development models.

The Waterfall Model

● The waterfall model has a natural timeline where tasks are executed in a
sequential fashion.
● It is easy to manage and the process is well-documented.
● It is hard to get feedback passed up the waterfall. Test activities only occur after
all other development activities have been completed.
● High cost of defects.
The V-Model

● The V-model associates test levels with corresponding development phases.


● The V-model provides guidance that testing needs to begin as early as possible.
● Testing activities are carried out in parallel with development activities.
● It still has a limited built-in ability to respond to adjustment.
● Testing is constrained by rigid time frames.
● There is a strict link between the corresponding level of development and testing.

Iterative development model

Iterative development occurs when groups of features are specified, designed, built,
and tested together in a series of cycles, often of a fixed duration.

Regression testing is increasingly important in all iterations after the first one.

Agile development

● Individuals and interactions over processes and tools


● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan

Types of Software Testing

● Functional Testing
● Non-functional Testing
● Change-related Testing
Functional testing

The functions are “what” the system should do.

Non-functional testing

Non-functional testing is the testing of “how well” the system behaves.

Functional Testing Types

● Unit Testing
● Integration Testing
● Smoke/Sanity
● User Acceptance
● Localization
● Globalization
● Interoperability

And so on…

Non-Functional Testing

● Performance
● Endurance
● Load
● Volume
● Scalability
● Usability

And so on...

Functional testing methods

● Requirements-based testing
● Business-process-based testing
● Experience-based testing

Testing functionality can be done from three perspectives:

● Functional correctness
● Functional appropriateness
● Functional completeness
Change-Related Testing

Confirmation testing

Confirmation testing (retesting) is re-execution of all test cases that failed due to the
defect to confirm that the defect has indeed been fixed.

Regression testing

The purpose of regression testing is to verify that modifications in the software have
not caused unintended adverse side effects and that the system still meets its
requirements.

Product and Project Risks

Risk - what can go wrong

Risk evaluation -- it’s an estimation of the probability of this risk happening

PRODUCT Risks

Product Risk - what can be wrong with the result (with the software you are
developing) (i.e. defects in production)

● The software cannot perform its intended functions.


● A system architecture may not adequately support some non-functional
requirements.
● A particular computation may be performed incorrectly in some circumstances.
● A loop control structure may be coded incorrectly.
● Response times may be inadequate for a high-performance transaction
processing system.
● User experience feedback might not meet product expectations.

PROJECT Risks

Project Risks - what can go wrong in the process of development (i.e. lack of
specialists at a project)

● Organizational issue
● Project issues
● Political issues
● Technical issues
● Supplier issues
What to do with the RIsks?

a) Mitigate - You can reduce the impact of a risk


b) Contingency - Prepare a plan for a case when risk worked
c) transfer - move that risk from your side to someone else’s
d) Ignore - do nothing

Proper risk management involves:


a) analyze what went and what can go wrong on a regular basis
b) prioritization of the risks to determine the most important ones
c) understand how to reduce the risks (for some of them)
d) Prepare contingency plans (for others)

Risk-based Testing and Product Quality

To determine

● The test techniques to be used.


● The particular levels and types of testing to be performed.
● The extent of testing to be carried out for the different levels and types of testing.
● Whether any activities in addition to testing could be employed to reduce risk.

To prioritize testing

What is risk-based testing?

● The idea is to reduce PRODUCT risks


● You need to start Requirement based Testing as early as possible
● You need to examine aspects of a product (i.e. requirements)
● You can use techniques
● You can involve related teams

Quiz 1 - Answer all Questions.

https://forms.gle/SJZWhQCVR4mrgemr9
Case Study 1 - Testing Types for Taxi Booking Application

The Internet and smartphone era has brought changes to well-known offline services and has
influenced every corner of our everyday life. If someone needs to book a flight, train tickets, a
room in a hotel, or order something in a restaurant, they most likely will use a mobile app for
these purposes.

Taxi services are certainly no exception to this. The traditional way to book a taxi is by physically
waving one down in the street or by calling the taxi company. These methods are hardly used
anymore. Booking services such as Pick Me that use mobile apps for their business are
currently valued most in the taxi market in Sri Lanka.

● Understand the Business requirement of a Taxi Booking

● Identify 5 software risks and mitigation plans for testing for the above requirement

# Product Risks Criticality Mitigation

4
5

Additional Readings:

Fake Testing: "The Pentagon Wars" Film Review

https://youtu.be/2S--Ge3c-yA

In this video, Kirill Anisimov, QA Analyst at Exactpro, uses a Hollywood comedy to talk about quality
assurance and the typical issues we, as a software testing company, face in our daily work.

ISTQB Foundation Level Certification Overview

https://youtube.com/playlist?list=PL8Ql2_5rYPjjQ62TYjQISsI3CMcxVfIUG

ISTQB® is the leading global certification scheme in the field of software testing with over 1.1
million exams worldwide..
The series videos on ISTQB’s Foundation Level certification where we give you the gist of what
the exam program.

You might also like