Chapter 3
Types of Software Testing
1
Lesson Objectives
By the end of the session, students will able to:
Identify types of software testing
Discuss the characteristics of manual testing and
automatic testing
Identify types of manual testing
State pros and cons of types of manual testing
Describe procedures of manual testing
Justify the purpose of automatic testing
Be aware software testing tools
2
1. Types of Software Testing
Software testing is classified into two major types:
1. Manual Testing and
2. Automatic Testing
Both have their own characteristics and approaches
that make them different from each other.
There is also an integrated approach that combines
manual and automated testing to gain the best of
each.
https://www.javatpoint.com/software-testing-principles
3
2. Manual Testing
Manual software testing is a testing process in which
test cases are executed manually without using any
automated tool.
All test cases executed by the tester manually
according to the end user's perspective.
It ensures whether the application is working, as
mentioned in the requirement document or not.
Test cases are planned and implemented in order to
examine the software application under test.
Test case reports are also generated manually.
4
Cont’d …
Manual Testing is one of the most fundamental testing
processes as it can find both visible and hidden defects
of the software.
The difference between expected output and output,
given by the software, is defined as a defect.
The developer fixed the defects and handed it to the
tester for retesting.
Manual testing is mandatory for every newly
developed software before automated testing.
5
Cont’d …
This testing requires great efforts and time, but it tries
to give the guarantee of bug-free software.
It requires knowledge of manual testing techniques
but not of any automated testing tool.
If the test engineer does manual testing, he/she can
test the application as an end-user perspective and get
more familiar with the product, which helps them to
write the correct test cases of the application and give
the quick feedback of the application.
There are various methods used for manual testing.
6
Types of Manual Testing
7
White-box testing
The white box testing is done by Developer, where
they check every line of a code before giving it to the
Test Engineer and has skill of Code and architecture,
inner workings
Since the code is visible for the Developer during the
testing, that's why it is also known as White box
testing.
8
Black-box testing
The black box testing is done by the Test Engineer,
where they can check the functionality of an
application or the software according to the customer
/client's needs.
In this, the code is not visible while performing the
testing; that's why it is known as black-box testing.
Is an End-to-end testing e.g. integration web server,
DB, UI/UX.
9
Gray-box testing
Gray box testing is a combination of white box and
Black box testing.
It can be performed by a person who knew both
coding and testing.
And if the single person performs white box, as well
as black-box testing for the application, is known as
Gray box testing.
10
Where do we use Grey box Testing?
Gray box testing is most effective for evaluating
software related to:
• Web applications,
• Integration testing,
• Distributed environments,
• Business domain testing, and
• Performing security assessments
11
How to perform Manual Testing
First, tester observes all documents related to software,
to select testing areas.
Tester analyses requirement documents to cover all
requirements stated by the customer.
Tester develops the test cases according to the
requirement document.
All test cases are executed manually by using Black box
testing and white box testing.
If bugs occurred then the testing team informs the
development team.
The Development team fixes bugs and handed software
to the testing team for a retest.
12
Advantages of Manual Testing
It does not require programming knowledge while
using the Black box method.
It is used to test dynamically changing GUI designs.
Tester interacts with software as a real user so that
they are able to discover usability and user interface
issues.
It is cost-effective for small scale projects.
Easy to learn for new testers.
13
Disadvantages of Manual Testing
It requires a large number of human resources.
It is very time-consuming.
Tester develops test cases based on their skills and
experience. There is no evidence that they have
covered all functions or not.
Test cases cannot be used again. Need to develop
separate test cases for each new software.
It does not provide testing on all aspects of testing.
Since two teams work together, sometimes it is
difficult to understand each other's motives, it can
mislead the process.
14
Manual testing tools
In manual testing,
different types of
testing like unit,
integration, security,
performance, and bug
tracking.
There are various
manual testing tools.
Some of the tools are
open-source, and some
are commercial.
Activity: Which of the tools used for unit, integration, security, performance, and bug tracking or for all?
Which of the tools are open source? Jmeter(load test), Tessy(unit), Jira(agile issue trackin), ZAP(security), 15
Cont’d …
If there are manual testing tools, how it is different from
automatic testing?
Manual Testing: test cases are executed manually without
using any automated tool. It ensures whether the application
is working, as mentioned in the requirement document or
not. Test case reports are also generated manually.
Automation Testing: using special automated testing
software tools to execute a test case suite. On the contrary,
Manual Testing is performed by a human sitting in front of
a computer carefully executing the test steps.
16
3. Automation Testing
Both manual and automation testing have their
characteristics and approaches that make both the
testing technique different from each other.
Is used tools to execute the test scripts without any
human interference. It is the most acceptable way to
enhance the efficiency, productivity, and test coverage
of Software testing.
With the help of an automation testing tool, we can
easily approach the test data, handle the test
implementation, and compares the actual output
against the expected outcome.
17
Cont’d …
18
Cont’d …
19
Types of testing - Summary
Activity3[Page Limit:1page, Due date:24 April 2023]
1 Identify types of software testing by phase, by scope and by function
2 Discuss the characteristics of static testing and dynamic testing. Give
example.
3 Describe the difference between smoke testing and sanity testing. To
which type of testing do you assign it?
4 Identify at least 5 the open source software tools used in each types of
testing (white box and black box testing). Where do we use grey box
testing?
5 Justify a testing type needed for testing the different types of software
faults/errors you identified in your first assignment (i.e. activity 1).
21