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.
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 ratings0% 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.
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