2. Topics
• What is testing?
• What is software testing?
• Scope of testing
• Role of tester
• Testing types
• Testing methods
• Testing approaches
• Testing levels
• Validation testing
• Difference between Functional & Non functional testing
• Design model
• Elements of design model
2
Remove Watermark Wondershare
PDFelement
3. What Observations about Testing?
• “Testing is the process of executing a program
with the intention of finding errors.” – Myers
• “Testing can show the presence of bugs but
never their absence.” - Dijkstra
3
Remove Watermark Wondershare
PDFelement
4. What is Software Testing?
• Software testing is a process, to evaluate the
functionality of a software application with an
intent to find whether the developed software met
the specified requirements or not, and
• to identify the defects to ensure that the product is
defect free in order to produce the quality product.
4
Remove Watermark Wondershare
PDFelement
5. Scope of testing
• software testing is a process of verification and
validation.
• Without testing software can not be run.
• Todays, in market testing is important for all
software because checks the Performance,
reliability, security etc.
5
Remove Watermark Wondershare
PDFelement
6. Role of tester
• To prepare Test planning and phases of the testing.
• testers should review and contribute to test plans,
as well as analyzing, reviewing and assessing
requirements and design specifications.
• To create test conditions and creating test designs,
7
Remove Watermark Wondershare
PDFelement
7. Role of tester
• Also create test cases, test procedure specifications
and test data, defect report etc.
• Testers execute and log the tests, evaluate the
results and document problems found.
• To assist system administration and network
management staff .
8
Remove Watermark Wondershare
PDFelement
8. Software Testing Types
• Manual Testing: Manual testing is the process of
testing software by hand.
• This usually includes verifying all the features
specified in requirements documents.
• Manual test plans vary from fully scripted test
cases, giving testers detailed steps and expected
results etc.
• Manual testing is time and resource consuming.
• For example, Line by line code or script check
9
Remove Watermark Wondershare
PDFelement
9. Software Testing Types
• Automation Testing: Automation testing is the
process of testing the software using an
automation tool to find the defects.
• In this process, testers execute the test scripts and
generate the test results automatically by using
automation tools.
• Some of the famous automation testing tools for
functional testing are QTP and Selenium.
10
Remove Watermark Wondershare
PDFelement
10. Software Testing Methods
• Static Testing: It is also known as Verification in
Software Testing.
• To checking documents and files.
• to ensure that whether we are building the product
right!
• i.e., to verify the requirements which we have and
to verify whether we are developing the product
accordingly or not.
• Activities involved here are Inspections, Reviews
11
Remove Watermark Wondershare
PDFelement
11. Software Testing Methods
• Dynamic Testing: It is also known as Validation in
Software Testing.
• Validation is a dynamic process of testing the real
product.
• To ensure, whether we are building the right
product
• i.e., to validate the product which we have
developed is right or not.
• Activities involved in this is Testing the software
application
12
Remove Watermark Wondershare
PDFelement
12. Testing Approaches:
There are three types of software testing approaches.
White Box Testing
Black Box Testing
Grey Box Testing
13
Remove Watermark Wondershare
PDFelement
13. Testing Approaches:
White Box Testing: It is also called as Glass Box, Clear
Box, Structural Testing.
White Box Testing is based on applications internal
code structure.
In white-box testing, an internal perspective of the
system, as well as programming skills, are used to
design test cases.
This testing is usually done at the unit level.
14
Remove Watermark Wondershare
PDFelement
14. Testing Approaches:
White Box Testing: In this testing method, the design
and structure of the code are known to the tester.
Programmers of the code conduct this test on the
code.
15
Remove Watermark Wondershare
PDFelement
15. Testing Approaches:
Black Box Testing: It is also called as
Behavioral/Specification-Based/Input-Output Testing.
Black Box Testing is a software testing method in
which testers evaluate the functionality of the
software under test without looking at the internal
code structure.
In this testing method, the design and structure of the
code are not known to the tester, and testing
engineers and end users conduct this test on the
software.
16
Remove Watermark Wondershare
PDFelement
17. Testing Approaches:
Grey Box Testing: Grey box is the combination of both
White Box and Black Box Testing.
The tester who works on this type of testing needs to
have access to design documents.
This helps to create better test cases in this process.
18
Remove Watermark Wondershare
PDFelement
19. Testing Levels:
Unit Testing: Unit Testing is done to check whether
the individual modules of the source code are
working properly.
i.e. testing each and every unit of the application
separately by the developer in the developer’s
environment.
It is known as Component Testing
For example, in CMS system registration and login
module
20
Remove Watermark Wondershare
PDFelement
20. Testing Levels:
Integration Testing: Integration Testing is the process
of testing the connectivity or data transfer between a
couple of unit tested modules.
It is known as String Testing.
It is subdivided into Top-Down Approach, Bottom-Up
Approach and Sandwich Approach (Combination of
Top Down and Bottom Up).
For example, in CMS system, course and subjects
module because it is related to each other.
21
Remove Watermark Wondershare
PDFelement
21. Testing Levels:
System Testing (end to end testing): It’s a black box
testing.
Testing the fully integrated application this is also
called as end to end scenario testing.
To ensure that the software works in all intended
target systems.
Verify thorough testing of every input in the
application to check for desired outputs.
Testing of the users experiences with the application.
22
Remove Watermark Wondershare
PDFelement
22. Testing Levels:
System Testing one or more of the following tests:
Functionality testing - Tests all functionalities of the
software against the requirement.
Performance testing - This test proves how efficient
the software is. It tests the effectiveness and average
time taken by the software to do desired task.
Performance testing is done by means of load testing
and stress testing where the software is put under
high user and data load under various environment
conditions.
Security & Portability - These tests are done when
the software is meant to work on various platforms
and accessed by number of persons. 23
Remove Watermark Wondershare
PDFelement
23. Testing Levels:
Acceptance Testing: To obtain customer sign-off so
that software can be delivered and payments
received.
Types of Acceptance Testing are
Alpha & Beta Testing.
24
Remove Watermark Wondershare
PDFelement
24. ALPHA TESTING BETA TESTING
Alpha testing involves both the
white box and black box testing.
Beta testing commonly uses
black box testing.
Alpha testing is performed by
testers who are usually internal
employees of the organization.
Beta testing is performed by
clients who are not part of the
organization.
Alpha testing is performed at
developer’s site.
Beta testing is performed at end-
user of the product.
Reliability and security testing
are not checked in alpha testing.
Reliability, security are checked
during beta testing
Developers can immediately
address the critical issues or fixes
in alpha testing.
Most of the issues or feedback
collected from beta testing will
be implemented in future
versions of the product.
25
Remove Watermark Wondershare
PDFelement
25. Testing Levels:
Validation testing is the process of ensuring if the
tested and developed software satisfies with the
client /user needs.
The business requirement logic or scenarios have to
be tested in detail.
All the critical functionalities of an application must
be tested here.
26
Remove Watermark Wondershare
PDFelement
26. Functional Testing Non-Functional Testing
Functional testing is
performed using the
functional specification
provided by the client and
verifies the system against the
functional requirements.
Non-Functional
testing checks
the Performance, reliability,
security and other non-
functional aspects of the
software system.
Functional testing is executed
first
Non functional testing should
be performed after functional
testing
Business requirements are the
inputs to functional testing
Performance parameters like
speed , scalability are inputs
to non-functional testing. 28
Remove Watermark Wondershare
PDFelement
27. Functional Testing Non-Functional Testing
Functional testing describes
what the product does
Nonfunctional testing
describes how good the
product works
Types of Functional testing are
•Unit Testing
•Stability Testing
•Integration Testing
•White box testing
•Black Box testing
•User Acceptance testing
•Regression Testing
Types of Non functional
testing are
•Performance Testing
•Load Testing
•Volume Testing
•Stress Testing
•Security Testing
•Installation Testing
•Compatibility Testing
•Migration Testing
29
Remove Watermark Wondershare
PDFelement
29. Design Model:
• A design model in Software Engineering is an
object-based picture or pictures.
• that represent the use cases for a system.
• to describe a system's implementation and source
code in a diagrammatic fashion.
Advantages of design model like
• it is a simple representation than words alone.
• a group of people can look at these simple
diagrams and quickly get the general idea behind a
system
31
Remove Watermark Wondershare
PDFelement
31. Requirements to Design Specifications:
• Architectural - This involves breaking the system
down into its major functional pieces
• and describing each in a diagrammatic fashion.
• For example, CMS system divided in to different
part like registration & login, courses, subjects,
attendance etc.
33
Remove Watermark Wondershare
PDFelement
32. Requirements to Design Specifications:
• Interface - The architectural interactions are
broken down and described in greater detail.
• For example, in CMS system, attendance module
describe in deep also connected with database.
34
Remove Watermark Wondershare
PDFelement
33. Requirements to Design Specifications:
• Component level: the Architectural describe
broken down into different components level.
• For example, in CMS system, attendance module
describe with subject detail, course detail,
semester detail, students detail etc. with database.
35
Remove Watermark Wondershare
PDFelement
34. Requirements to Design Specifications:
• Deployment level: this is the final step, to check
all things before the delivered product to the
client.
• For example, in CMS system, to check one by one
module at the end of developer site and finally
deployment at client side.
36
Remove Watermark Wondershare
PDFelement
35. Questions
• What is testing? Define Scope of testing.
• What is software testing?
• Discuss Testing types with an example.
• Explain Testing methods.
• Write a short note on Testing approaches.
• Testing levels
• Discuss Validation testing.
• What is Design model?
• Explain elements of design model
37
Remove Watermark Wondershare
PDFelement