0% found this document useful (0 votes)
17 views12 pages

Risk-Based Testing Strategies Explained

The document outlines various testing methods in software development, including functional, non-functional, structural, and automated testing. It details specific techniques such as unit testing, integration testing, performance testing, and security testing, emphasizing their roles in identifying risks and ensuring software quality. Additionally, it highlights the importance of automated testing in enhancing efficiency and accuracy in the testing process.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views12 pages

Risk-Based Testing Strategies Explained

The document outlines various testing methods in software development, including functional, non-functional, structural, and automated testing. It details specific techniques such as unit testing, integration testing, performance testing, and security testing, emphasizing their roles in identifying risks and ensuring software quality. Additionally, it highlights the importance of automated testing in enhancing efficiency and accuracy in the testing process.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Unit 23: Risk Analysis and System Testing

LO2 Create a customized risk-based test strategy, plans and techniques for a given
specification.
4. Functional Testing, Structural Testing & Automated Testing

1
2
Functional Testing - Functional Testing Methods

 Unit Testing: In Unit Testing, individual units of the software are tested. Unit Testing of software
package applications is done during the development(coding) of an application. The goal of Unit
Testing is to isolate a section of code and verify its correctness.
 Integration testing: Integration Testing is a level of software package testing where individual
units are combined and tested as a bunch. The purpose of this level of testing is to show faults
within the interaction and between the integrated units.
 Smoke Testing: In the smoke testing technique, testers examine all the basic components of a
software system to ensure that they work properly. Typically, smoke testing is conducted by the
testing team, instantly once a software package build is formed.

3
Functional Testing - Functional Testing Methods

 User Acceptance: Acceptance testing is Formal testing that is used to determine whether a

system satisfies its acceptance criteria or not and lets the customer determine whether to

accept the system or not. This testing is usually performed by the customer.
 Localization Testing: Part of the software testing process that focuses on adapting a globalized

application to a particular culture/locale. This testing is normally done by the testing teams.
 Globalization Testing: Globalization Testing is a testing method that checks the proper

functionality of the product with any of the culture/locale settings by using every type of

international input possible. It is performed by the testing team.


4
Non-Functional Testing - Non-Functional
Testing Methods
 Performance Testing: In Performance Testing, a tester confirms that the software will perform
well under its expected workload. A software performance likes its response time, reliability,
resource usage, and scalability. The goal of Performance Testing isn’t to find bugs but to eliminate
performance bottlenecks.
 Exploratory Testing: Exploratory testing means the testing of a software package without any
specific plans or schedules. This is a testing method where we don’t have any test cases or test
planning documents to check the application.
 Load Testing: Load testing is conducted to recognize the behavior of the application under a
specific expected load. Load testing is done to find out that, how will an application behave under
both normal and at peak conditions.
5
Non-Functional Testing - Non-
Functional Testing Methods
 Volume Testing: Volume Testing is used to check the system performance of an application by increasing the
volume of data in the database. It helps to analyze how a software or application response under these
conditions. It is also known as Flood Testing.
 Scalability Testing: Scalability Testing is a part of non-functional tests that examines a software package to
ensure that an application can handle the projected increase in user traffic, data volume, transaction counts
frequency, etc.
 Usability Testing: Usability testing is used to test how easy is to use the software by testing it with real users.
Users are asked to complete tasks while they are being observed by developers, to see where they encounter
problems and experience confusion.
 Security Testing: Security Testing is a Non-functional testing method that ensures its data and resources are
protected from possible intruders. It also tests that software systems and applications must be free from any
threats, risks that may cause a big loss.
6
Maintenance
 Regression Testing: Type of software package testing that seeks to uncover
software package errors once changes to the program (e.g. bug fixes or new
functionality). This is executed by retesting the program. This testing is performed
by the testing teams.
 Maintenance Testing: Maintenance Testing is done on the already deployed
software package. The deployed software package needs to be enhanced,
modified or migrated to different hardware. The Testing done during this
improvement, modification and migration cycle is known as maintenance testing.

7
Functional Testing
Functional testing focuses on verifying that the software meets the specified functional

requirements and behaves as expected from a user's perspective. It ensures that the system

functions correctly and performs its intended tasks. In a risk test plan, functional testing helps

identify risks associated with the software's functionality and ensures that critical

functionalities are working as intended.

Functional testing techniques, such as black-box testing and user acceptance testing, involve

testing the software without considering its internal structure or code. The goal is to validate

that the software meets the desired functional criteria and performs as intended, reducing

the risk of functional failures or inadequate system behaviour. 8


9
Structural Testing

Structural testing, also known as white-box testing, focuses on examining the internal structure and
code of the software. It aims to ensure that the software functions correctly at the code level,
uncovering any vulnerabilities, flaws, or deviations from expected behaviour. Structural testing is
particularly important in identifying risks related to security, reliability, and maintainability.

Techniques like code coverage analysis, path testing, and mutation testing are used in structural
testing to assess the quality and robustness of the software's codebase. By examining the internal
structure, structural testing helps uncover potential risks that might not be apparent through
functional testing alone, enabling their timely identification and mitigation.

10
Automated Testing

Automated testing involves using


Automated functional testing tools,
software tools and scripts to automate
such as Selenium, allow for the efficient
the execution of test cases, thereby
execution of large sets of functional test
increasing testing efficiency,
cases across various platforms and
repeatability, and accuracy. It plays a
configurations. This reduces the risk of
crucial role in risk test plans by
overlooking critical functionality or
mitigating risks associated with time
introducing errors due to manual
constraints, repetitive tasks, and human
execution.
error in testing processes.

11
 THANK YOU!

12

You might also like