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

04 - Software Testing Levels

The document discusses different levels of software testing: unit testing, integration testing, system testing, and user acceptance testing. It then provides more details about each type of testing, describing their purpose and focus.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

04 - Software Testing Levels

The document discusses different levels of software testing: unit testing, integration testing, system testing, and user acceptance testing. It then provides more details about each type of testing, describing their purpose and focus.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Software Testing Levels

1
Agenda

 Unit Test
 Integration Test
 System Test
 User Acceptance Test

2
Software Testing - Levels

Level Summary
A level of the software testing process where individual
Unit Testing units/components of a software/system are tested. The purpose is to
validate that each unit of the software performs as designed.
A level of the software testing process where individual units are
Integration Testing combined and tested as a group. The purpose of this level of testing
is to expose faults in the interaction between integrated units.
A level of the software testing process where a complete, integrated
System Testing system/software is tested. The purpose of this test is to evaluate the
system’s compliance with the specified requirements
A level of the software testing process where a system is tested for
acceptability. The purpose of this test is to evaluate the system’s
Acceptance Testing
compliance with the business requirements and assess whether it is
acceptable for delivery

3
What is Unit Test?

 A unit is the smallest testable part of an application like functions,


classes, procedures, interfaces. Unit testing is a method by which individual units of
source code are tested to determine if they are fit for use.
 Unit tests are basically written and executed by software developers to make
sure that code meets its design and requirements and behaves as expected.
 The goal of unit testing is to segregate each part of the program and test that the
individual parts are working correctly.

4
What is Integration Test?

 Integration testing tests integration or interfaces between components, interactions to


different parts of the system such as an operating system, file system and hardware
or interfaces between systems.
 Also after integrating two different components together we do the integration
testing. As displayed in the image below when two different modules ‘Module A’
and ‘Module B’ are integrated then the integration testing is done
 Example: http://giphy.com/gifs/unit-test-integration-3o7rbPDRHIHwbmcOBy

5
What is Integration Test?
Bottom-up Integration

 In the bottom-up strategy, each module at lower levels is tested with higher modules
until all modules are tested.
 Advantages:
 Fault localization is easier.
 No time is wasted waiting for all modules to be developed unlike Big-bang approach
 Disadvantages:
 Critical modules (at the top level of software architecture) which control the flow of
application are tested last and may be prone to defects.
 An early prototype is not possible

6
What is Integration Test?
Top-down Integration

 In Top to down approach, testing takes place from top to down following the control
flow of the software system.
 Advantages:
 Fault Localization is easier.
 Possibility to obtain an early prototype.
 Critical Modules are tested on priority; major design flaws could be found and fixed first.
 Disadvantages:
 Modules at a lower level are tested inadequately.

7
What is Integration Test?
Hybrid/ Sandwich Integration

 In the sandwich/hybrid strategy is a combination of Top Down and Bottom up


approaches. Here, top modules are tested with lower modules at the same time lower
modules are integrated with top modules and tested.

8
What is System testing?

 It may include tests based on risks and/or requirement specifications, business


process, use cases, or other high level descriptions of system behavior, interactions
with the operating systems, and system resources.
 System testing is most often the final test to verify that the system to be delivered
meets the specification and its purpose.
 System testing should investigate both functional and non-functional requirements of
the testing.

9
What is System Test?
What is Functional testing?

 Requirement-based testing: In this type of testing the requirements are prioritized


depending on the risk criteria and accordingly the tests are prioritized. This will
ensure that the most important and most critical tests are included in the testing
effort.
 Business-process-based testing: In this type of testing the scenarios involved in the
day-to-day business use of the system are described. It uses the knowledge of the
business processes.

10
What is System Test?
What is Non-functional testing?

Smoke Test

 Smoke testing is a type of software testing which ensures that the major functionalities of
the application are working fine. This testing is also known as ‘Build Verification testing’.
 It is a non-exhaustive testing with very limited test cases to ensure that the important
features are working fine and we are good to proceed with the detailed testing.

Sanity Test

 Sanity testing is usually performed when any minor bug is fixed or when there is a small
change in the functionality.
 It is a kind of software testing which is done by the testers to ensure that the functionality is
working as expected.

11
What is System Test?
What is Non-functional testing?

Re-Test

 Retesting is testing of a particular bug after it has been fixed. Usually tester raises the
bug when they find it while testing the product or its component.
 Post fixing the bug is assigned to the tester for its verification. This testing is known as
retesting.

Regression Test

 When any modification or changes are done to the application or even when any
small change is done to the code then it can bring unexpected issues.
 Along with the new changes it becomes very important to test whether the existing
functionality is intact or not. This can be achieved by doing the regression testing.

12
What is System Test?
What is Non-functional testing?

Security Test

 Security testing is basically a type of software testing that’s done to check whether
the application or the product is secured or not. It checks to see if the application is
vulnerable to attacks, if anyone hack the system or login to the application without
any authorization.
 The security testing is performed to check whether there is any information leakage
in the sense by encrypting the application or using wide range of software’s and
hardware’s and firewall etc.

Recovery Test

 Recovery testing is done in order to check how fast and better the application can
recover after it has gone through any type of crash or hardware failure etc.
 Recovery testing is the forced failure of the software in a variety of ways to verify
that recovery is properly performed.

13
What is System Test?
What is Non-functional testing?

Usability Test

 In usability testing basically the testers tests the ease with which the user interfaces can be
used. It tests that whether the application or the product built is user-friendly or not.
 How easy it is to use the software.
 How easy it is to learn the software.
 How convenient is the software to end user.

Performance Test

 Performance testing is testing that is performed, to determine how fast some aspect
of a system performs under a particular workload.
 It can serve different purposes like it can demonstrate that the system meets
performance criteria.

14
What is System Test?
What is Non-functional testing?

Load Test

 A load test is type of software testing which is conducted to understand the behavior
of the application under a specific expected load.
 It helps to identify the maximum operating capacity of an application as well as any
bottlenecks and determine which element is causing degradation. E.g. If the number
of users are increased then how much CPU, memory will be consumed, what is the
network and bandwidth response time

Stress Test

 It involves testing beyond normal operational capacity, often to a breaking point, in


order to observe the results.
 The goals of such tests may be to ensure the software does not crash in conditions of
insufficient computational resources (such as memory or disk space).

15
What is User Acceptance Test?

 After the system test has corrected all or most defects, the system will be delivered
to the user or customer for acceptance testing.
 Acceptance testing is basically done by the user or customer although other
stakeholders may be involved as well.
 The goal of acceptance testing is to establish confidence in the system.
 Acceptance testing is most often focused on a validation type testing.

16
What is User Acceptance Test?
Alpha Testing

 This test is the first stage of testing and will be performed amongst the teams
(developer and QA teams). Unit testing, integration testing and system testing when
combined together is known as alpha testing. During this phase, the following
aspects will be tested in the application:
 Spelling Mistakes
 Broken Links
 Cloudy Directions
 The Application will be tested on machines with the lowest specification to test loading
times and any latency problems.

17
What is User Acceptance Test?
Beta Testing

 This test is performed after alpha testing has been successfully performed. In beta
testing, a sample of the intended audience tests the application. Beta testing is also
known as pre-release testing. Beta test versions of software are ideally distributed
to a wide audience on the Web, partly to give the program a "real-world" test and
partly to provide a preview of the next release. In this phase, the audience will be
testing the following:
 Users will install, run the application and send their feedback to the project team.
 Typographical errors, confusing application flow, and even crashes.
 Getting the feedback, the project team can fix the problems before releasing the software
to the actual users.
 The more issues you fix that solve real user problems, the higher the quality of your
application will be.
 Having a higher-quality application when you release it to the general public will increase
customer satisfaction.

18
Reference Link

 http://tryqa.com/what-are-software-testing-levels/
 https://www.guru99.com/levels-of-testing.html
 https://www.guru99.com/integration-testing.html
 https://www.tutorialspoint.com/software_testing/software_testing_levels.htm
 http://softwaretestingfundamentals.com/unit-testing/
 http://softwaretestingfundamentals.com/integration-testing/
 http://softwaretestingfundamentals.com/system-testing/
 http://softwaretestingfundamentals.com/acceptance-testing/

19
THANK YOU!

20

You might also like