Software Testing Approaches

Krisnawan Hartanto
4 min readOct 28, 2022

--

Photo by Christina @ wocintechchat.com on Unsplash

Introduction

In this article, we’re going to talk about different approaches to testing. We’ll also talk about how to consider the best approach before diving into any particular approach.

Two techniques

A test approach has two techniques: proactive and reactive. Proactive help identifies and fixes errors early, while reactive is only used when products have already been developed.

List of Test Approaches

Software Testing Approaches instagram.com/mydoqa/

Analytical approach

The analytical approach is commonly used in software development projects. It focuses on the most critical functionality and uses some formal and informal analytical techniques.

The main advantage of this approach is that it allows you to focus testing on the most important parts of your system, which reduces risk.

This type of testing methodology focuses on the specified requirements instead of focusing on what users need or want from a product or service.

Model-based approach

The Model-based approach generates or uses a statistical model for defining system behavior.

When designing or selecting a formal or informal model for critical system behavior (e.,g., response time), this information will be used during the requirements and design stages of the project

Methodical approach

A methodical approach is a step-by-step approach to testing. It has a pre-planned, systematized approach, assembled from various concepts. It is a formal way of testing and it has been used in many industries like software development, product development, etc.

A thorough understanding of this methodology will help you achieve better results and improve your quality assurance processes

Process or standard-compliant approach

The process- or standard-compliant approach is the most common in software testing. It involves testing against a particularly known standard, such as an IEEE 829 standard for embedded systems.

Software testing standards are usually created by industry bodies such as ISO and IEEE, which aim to ensure consistency across countries by defining what should be done within their scope of work.

The benefits of using these standards include:

  • Consistency — everyone knows what they should do and how they should do it
  • Uniformity — there’s no need to reinvent the wheel each time you start working on something new

Dynamic and heuristic testing approach

This approach concentrates on finding as many defects as possible during test execution, it also adapts to the realities of the system under test as it is when delivered. Such an approach usually involves exploratory testing, where a tester tries out various variations of input data, such as user actions or configurations (the latter can be done using simulation). The goal here is not only to find all bugs but also to understand how these bugs can be fixed and where they might occur in future releases. In addition, this method allows for the execution of independent evaluation tasks such as planning tests for new features or fixing known issues before deployment

Consultative approach

A consultative approach is a type of test strategy in which the software tester acts as a consultant to the software development team. The two parties communicate with each other and work together on finding defects, fixing them, and testing new functionality.

This type of collaboration can be beneficial for both parties involved because it allows developers to make changes without having any fear about breaking things for testers, who might need time to come up with ways around these obstacles.

Regression-averse testing approach

Regression testing is the process of re-testing a previously tested program after a software change to ensure that it continues to function as expected. It can be performed on any new build of the software, or any modified portion of the software.

Regression testing involves automating the functional test before its release to detect defects in newly added features and functionalities (e.g., new UI elements). In this case, regression testing requires early testing because it takes longer than manual regression tests which have been implemented earlier in the development life cycle

Selecting the best approaches/ strategy

The selection of the right approach or strategy will depend on the nature of your product, as well as the nature of your team. You should consider every aspect of your project, including:

  • Risks involved with making a product or risk of failure
  • Expertise and experience of your people in the proposed tools and techniques
  • Regulatory and legal aspects such as external and internal regulations of the development process
  • The nature of the product and its domain

Conclusion

Software testing is a highly specialized and technical field. There are many ways to test software, but some of them are described here.

Connect with me

Krisnawan: Twitter | Linkedin | Medium

MydoQA: Twitter | Blog | Instagram | Facebook

Resources

--

--

Krisnawan Hartanto
Krisnawan Hartanto

Written by Krisnawan Hartanto

Software Development Engineer in Test | Questioning the Unquestionable | Contributor to mydoqa.my.id