You are on page 1of 21

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

You might also like