0% found this document useful (0 votes)
20 views

Chapter 9 Testing

The document provides an overview of software testing basics. It defines software testing as checking if a software product matches requirements and is defect-free. It also discusses the need for testing to avoid expensive bugs. The document then describes different types of testing including black box testing, white box testing, unit testing, integration testing, system testing, and acceptance testing. It emphasizes that testing is important to ensure software functions properly and meets user needs.

Uploaded by

sirimran.teaches
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)
20 views

Chapter 9 Testing

The document provides an overview of software testing basics. It defines software testing as checking if a software product matches requirements and is defect-free. It also discusses the need for testing to avoid expensive bugs. The document then describes different types of testing including black box testing, white box testing, unit testing, integration testing, system testing, and acceptance testing. It emphasizes that testing is important to ensure software functions properly and meets user needs.

Uploaded by

sirimran.teaches
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/ 19

Basics of Software Testing

Compiled and Presented By:


Muhammad Imran Saeed Qureshi

Compiled and Presented By: Muhammad Imran Saeed Qureshi


What is Software Testing?
 Software Testing is a method to:

a) Check whether the actual software product matches


expected requirements
Purpose: To identify gaps or missing requirements in contrast to
actual requirements.

b) To ensure that software product is DEFECT (Error) free.


Purpose: To identify bugs and errors

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Need of Testing
Testing is important because software bugs could be
expensive or even dangerous. Software bugs can
potentially cause monetary and human loss, and history is
full of such examples.
- Nissan cars recalled over 1 million cars from the market due to
software failure in the airbag sensory detectors. There has been
reported two accident due to this software failure.
- Starbucks was forced to close about 60 percent of stores in the
U.S and Canada due to software failure in its POS system. At
one point, the store served coffee for free as they were unable to
process the transaction.
- China Airlines Airbus A300 crashed due to a software bug on
April 26, 1994, killing 264 innocents live
Compiled and Presented By: Muhammad Imran Saeed Qureshi
Methods of Testing
There are two Methods of Testing:

Black Box Testing: is a software testing method in which the


internal structure/ design/ implementation of the item being tested is
not known to the tester. Tester Gives the input and checks if the out
put is CORRECT and as per requirement or not.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Methods of Testing
There are two Methods of Testing:

White Box Testing: When the software’s internal infrastructure,


code and design are visible to the developer or tester, that refers to
white-box testing.
In a white-box testing approach, testers test several aspects of the
software, like decision branches, loops and statements in the code.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Another Method of Testing
There are two Methods of Testing (Cont..):

Grey Box Testing: When Testers use both Black Box as well as
White Box Testing method then it is known as Grey Box Testing.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Classification of testing
There are Generally following three Categories of Testing:

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Classification of testing
There are Generally following three Categories of Testing:

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Few Types of Functionality
Testing
Unit Testing: Software verification and validation method in which
a programmer tests if individual units of source code are fit for use.
It is usually conducted by the development team.
Integration Testing: The phase in software testing in which
individual software modules are combined and tested as a group. It
is usually conducted by testing teams.
Smoke Testing: Testing technique which examines all the basic
components of a software system to ensure that they work properly.
Smoke testing, also called build verification testing or confidence
testing, is a software testing method that is used to determine if a
new software build is ready for the next testing phase. This testing
method determines if the most crucial functions of a program work
but does not Look into finer details.
Compiled and Presented By: Muhammad Imran Saeed Qureshi
Few Types of Functionality
Testing
Acceptance Testing: Formal testing conducted to determine whether
or not a system satisfies its acceptance criteria and to enable the
customer to determine whether or not to accept the system. It is
usually performed by the customer.
Globalization Testing: Testing method that checks proper
functionality of the product with any of the culture/locale settings using
every type of international input possible.
Localization Testing: Part of software testing process focused on
adapting a globalized application to a particular culture/locale.
Interoperability testing is a type of software testing that verifies the
compatibility and communication of different systems, applications, or
devices. It ensures that the data exchange and functionality are
consistent and reliable across various platforms and environments.
Compiled and Presented By: Muhammad Imran Saeed Qureshi
Classification of testing
There are Generally following three Categories of Testing:

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Examples of Non-Functional
Testing
Performance Testing: Functional testing conducted to evaluate the
compliance of a system or component with specified performance
requirements. It is usually conducted by the performance engineer.
Endurance Testing: Type of testing which checks for memory leaks
or other problems that may occur with prolonged execution. It is
usually performed by performance engineers.
Volume Testing: Testing which confirms that any values that may
become large over time (such as accumulated counts, logs, and data
files), can be accommodated by the program and will not cause the
program to stop working or degrade its operation in any manner. It is
usually conducted by the performance engineer.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Examples of Non-Functional
Testing
Scalability Testing: Part of the battery of non-functional tests which
tests a software application for measuring its capability to scale up –
be it the user load supported, the number of transactions, the data
volume etc.
Usability Testing: Testing technique which verifies the ease with
which a user can learn to operate, prepare inputs for, and interpret
outputs of a system or component.
Load Testing: Testing technique that puts demand on a system or
device and measures its response. It is usually conducted by the
performance engineers.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Few Types of Maintenance
Testing
Regression Testing: Type of software testing that seeks to uncover
software errors after changes to the program (e.g. bug fixes or new
functionality) have been made, by retesting the program. It is
performed by the testing teams.
Maintenance testing is a test that is performed to either identify
equipment problems, diagnose equipment problems, or confirm that
repair measures have been effective.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Important Types of Testing
 There is a large
number of Testing
types but we will learn
few that are related to
our subject.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Important Types of Testing
 Unit Testing: This software testing basic
approach is followed by the programmer to test
the unit of the program. It helps developers to
know whether the individual unit of the code is
working properly or not.
 Integration testing: It focuses on the construction
and design of the software. You need to see that
the integrated units are working without errors or
not.

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Important Types of Testing
System testing: In this method, your software is
compiled as a whole and then tested as a whole. This
testing strategy checks the functionality, security,
portability, amongst others.

Acceptance testing. The purpose of acceptance


testing is purely to ensure that the end user can
achieve the goals set in the business requirements.

What are Alpha Testing and Beta Testing?


Compiled and Presented By: Muhammad Imran Saeed Qureshi
Important Homework
1. What are Alpha Testing and Beta Testing?
2. Please visit the following website for
basic definitions fo different types of
testing studied in your lectures:
https://www.guru99.com/types-of-software-
testing.html

Compiled and Presented By: Muhammad Imran Saeed Qureshi


Thank You

Compiled and Presented By: Muhammad Imran Saeed Qureshi

You might also like