7 Approaches To Testing - DZone (2024)

Originally published on August 17, 2020

This article will be interesting for IT directors, product managers, project managers, and anyone who wants to understand the processes of project quality assurance better.

At Qualitica, we test large web and mobile projects, both commercial and national ones. Before a separate testing agency has been established, I spent 10 years as a specialist and head of several digital studios. Usually, in any IT project (websites, applications, games, corporate software), you start by treating testing as a formal procedure. However, normally the testing also evolves with the project: the more people are involved, the more complex is the process.

There are 7 testing evolution stages that may differ in different companies:

  1. There are no testers.Their functions are performed by developers ormanagers.
  2. Testers appear, but test projects only at the completion stage.
  3. Testers check all developer tasks to see if the result matches the original task statement.
  4. Testers are engaged in test design.
  5. A test management tool is being implemented.
  6. Testing automation appears.
  7. The complexity of the hierarchy, the creation of new roles in the test team.

Let’s learn about each stage in more detail.

Stage 1: Testing Is Performed by the Developer and/or Manager

It’s the simplest, "instinctive" approach to testing. It is common in small companies. When it is impossible or presumably unwanted to hire a professional tester, this part of the work is performed in-house. However, this is an inappropriate and problematic approach for the following reasons:

  • A developer onlytests his own scenarioswith the data he used in the development process. In this testing, alternative scenarios are omitted. As a result, somethingis out of control, and end-users usually get errors.
  • Amanagertakestesting as a side job,having littleexpertise, time, anddesireto do it. This way, you can detect gross errors, but many nuances are overlooked.
  • The subjective approachand the desire tocomplete the projectquicklyresult in the wish to ignore “minor” problems.

An extreme case is when no testing is done in the company and the error report goes from the client. Then more and more errors/bugs appear. Thus, clients become testers at their expense.

Stage 2: The Tester Tests the Project at the End

Checking the entire project at the pre-release is a classic method when working with the Waterfall model. The project is divided into global stages (sometimes the entire project is single-stage). At each stage, the software is made and then tested in place, which is good. But there are also specific problems:

  • First, serious architecture errors may be found too late necessitating to redo the project or its part.
  • Second, if there is no documentation, we can only perform surface testing using the free search method. This immediately discards some alternative scenarios.
  • Third, the project time is mostly allocated for development as a priority task. A little time is left for verification, but there is no time to fix errors. As a result, improvements may slow down the project.
  • Fourth, between the stages, the tester may forget the details and needs more time to recollect these.

Thus, this approach is logical but takes into account no global errors. Therefore, testing evolves further.

Stage 3: All Issues Are Checked To See if the Result Matches the Original Issue

Then the company understands that it is better to detect errors as they accumulate. Therefore, we switch from the Waterfall model to the Agile method. At this point, testers are deeply integrated into the development. All tasks are tested repeatedly and sequentially: separately, as part of the release, in the field.

At this stage, issues are checked for compliance with the stated requirements. Agile helps you work better, but not all testers, and especially their managers, are ready for a new approach to testing. The manager expects speed and quality from testers, but there is still no understanding of the need for test documentation and regression testing; hence, the typical problems of this stage of evolution.

Testing is rather intuitive than structured. The principle of "what I see is what I test" prevails. For each iteration, different tests are made in different sequences. As a result, you can at least skip or ignore the error at one of the testing stages as well as alternative scenarios and change of the related functionality.

Moreover, there is a problem with regression testing, which, if it is conducted, is haphazard. The QA engineer tests what he considers necessary or what the developer/manager advised.

Stage 4: Testers Are Engaged in Test Design

At this stage, the test design starts. Testers begin to consciously pay attention to requirements analysis. The functionality is divided into logical blocks, covered by checklists or test cases.

  • Checklist is a list of the functionality tests.
  • Test caseis a sequence of steps to test the functionality.
  • Full-fledged test documentation can be used to track a particular functional verification.

This is called a test design. The important professional testing begins at this stage. Now there are few tasks to be checked, but a structured process for analyzing requirements, creating test documentation, and direct testing. In particular, the approach to test data is changing. Data is no longer generated spontaneously on the fly but is taken from pre-prepared sets.

There are no obvious disadvantages at the test design stage. In general, this is already a decent level of testing. For streaming production of websites or similar projects, test design is enough. The main thing is to approach the testing process correctly: analyze the product, prepare the documentation, and test it.

Stage 5: The Test Management Tool Is Being Implemented

Next, the company needs specialized systems to:

  • Store requirements and test cases.
  • Link requirements to test cases.
  • Analyze test coverage.
  • Store different versions of the test cases.
  • Perform the test runs.
  • Perform a comparative analysis of test runs.
  • Maintain reports of testing.
  • Track the team's workload to adjust tasks and resources.

The system is always a new stage of evolution. In our case, first of all, control over the testing process is improved. We manage tests better and get a new level of product quality. In the late project development, this system reminds everyone how something should operate and how to check it. The system speeds up the introduction of new participants to the project.

Stage 6: Regular Tests Are Automated

During the long-term project development, automated individual tests are needed. Developers and testers write self-tests. Developers usually do unit tests, and testers do UI tests. They start with positive scenarios of using key functionality with self-tests. Developed self-tests are included at the CI/CD, which allows the team to learn about errors directly at the time of commitment.

There are many technologies for test automation. Over time, at Qualitica, we have identified the following for ourselves:

  • Testing framework: TestNG/JUnit
  • Programming language: Java, Python
  • Project builder: Maven/Gradle
  • Library for UI tests uses: Selenide, PyTest
  • For backtests: The Rest Assured library
  • Formation of reports: Allure

Self-tests reduce the cost of regression testing and improve the quality of the product, but they take a certain tester level. You should also know that it doesn't make sense to do self-tests at the early stages of the project. The system changes quickly, so avoiding phantom errors requires time-consuming changes in the self-tests.

Stage 7: The Hierarchy Becomes More Complex and New Roles Appear

We have reached the highest stage of evolution when the hierarchy in the testing department becomes much more complex and specialists like test managers, test leads, test analysts, test designers, etc. are required. For example, the test manager is involved in the testing arrangement at a higher level. He rather communicates with clients and developers than with the testing team.

Each person is responsible for his or her own front of work:

  • The test manager owns all the information on the product, sees the "whole picture", organizes work, and manages the testing team. His function is to communicate with the customer and the development team.
  • The test lead coordinates testing and assign tasks within the team.
  • The test analyst analyzes the requirements, prepares the documentation.
  • The test designer transforms the requirements into checklists and test cases.
  • There are testers, who make tests manually and integrate into the development team.
  • Automation engineers write self-tests for functions that do not change anymore.

New roles involving the entire team of testers are necessary for large and complex IT projects.

Conclusion

We’ve reviewed the key stages in the evolution of testing in the company. Conscious professional testing begins with the test design stage. Test design steadily improves product quality.

You can skip, combine, or mix certain stages, or go straight to a higher level.

A test management tool, self-tests, and especially test designers are not always required, but staying at the stage of instinctive testing or limiting yourself to final tests, you are unlikely to do complex long-term projects. Therefore, I wish you to find the right point of view in testing development, improve the quality of testing, and give clients a high-quality product.

Opinions expressed by DZone contributors are their own.

7 Approaches To Testing - DZone (2024)

FAQs

What are the different test approaches? ›

Test approach has two techniques: Proactive - An approach in which the test design process is initiated as early as possible in order to find and fix the defects before the build is created. Reactive - An approach in which the testing is not started until after design and coding are completed.

What is the capturing test approach? ›

A test automation approach, where inputs to the test object are recorded during manual testing in order to generate automated test scripts that could be executed later (i.e. replayed).

What is the dynamic and heuristic approach to testing? ›

Dynamic or Heuristic approach:The approach involves heuristic testing types such as exploratory testing, where tests are designed, created and executed as per the current scenario and is not pre-planned like in other approaches.

What is the key difference between preventative and reactive approaches to testing? ›

In preventative approach, tests are designed at an early stage, i.e. before the commencement of software development. In Reactive approach, tests are designed after software development.

What are 5 testing strategies? ›

However, there are some general test taking strategies that will improve your chances of getting the grade you want on most, if not all, tests.
  1. Listen to the Instructions. ...
  2. Read the Entire Test. ...
  3. Do a “Brain Dump” ...
  4. Answer the Questions You Know First. ...
  5. Answer the Questions You Skipped. ...
  6. Be Sure the Test is Complete.
Sep 29, 2022

What are 4 test taking strategies? ›

Survey the entire test prior to taking the exam. Take a few deep breaths and relax tense muscle - repeat throughout the test. Read directions carefully - ask questions. Answer easier questions first - this will help calm you down.

What are 3 testing strategies? ›

The test strategy describes the test level to be performed. There are primarily three levels of testing: unit testing, integration testing, and system testing.

What is test case approach? ›

A test case provides a set of actions performed to verify that specific software features are performing correctly. A test scenario is any feature that can be tested. A test case is beneficial in exhaustive testing -- a software testing approach that involves testing every possible data combination.

What are the four heuristic methods? ›

The four common types of heuristics include affect, anchoring, availability, and representativeness.

What are the 2 types of heuristics? ›

Heuristics come in all flavors, but two main types are the representativeness heuristic and the availability heuristic.

What is a heuristic approach? ›

Heuristics, or "rules of thumb," are problem-solving methods that are based on practical experience and knowledge. They allow you to use a "quick fix" to solve a minor problem or to narrow down options. They're also a great starting point for brainstorming or exploring new ideas.

What are the two fundamental approaches used to identify test cases? ›

two essential approaches for identifying test cases are referred to as functional and structured testing. Both of them have a number of distinct test case identification methods which are typically known as testing methods.

What is the difference between basis path testing and control testing? ›

Basis Path testing just ensures the coverage of all the paths in the program but control flow testing test the conditions as well.

What is proactive vs reactive approach? ›

Reactive management is all about reacting to problems as they arise. Proactive management, on the other hand, is about anticipating problems and taking steps to prevent them from happening in the first place. Reactive management styles can be successful, particularly when there's no time to waste.

What are the four major types of test? ›

There are various types of tests in education, from subjective, objective, summative, and formative to diagnostic tests.

What are the 3 types of t tests? ›

Selecting appropriate statistical tests is a critical step in conducting research. [2] Therefore, there are three forms of Student's t-test about which physicians, particularly physician-scientists, need to be aware: (1) one-sample t-test; (2) two-sample t-test; and (3) two-sample paired t-test.

What are 10 test taking strategies? ›

Multiple/Choice Test Tips
  • Answer all questions in order. ...
  • Read questions carefully. ...
  • Words like always, never, completely, and only are absolutes. ...
  • Watch for words like not, least, and except. ...
  • Anticipate the answer. ...
  • Eliminate answers. ...
  • Go with your first choice. ...
  • Don't look for answers to fall in a pattern.

What are the 5 levels of testing? ›

In software testing, there are four levels of testing: Unit testing, Integration testing, System testing, and Acceptance testing.

What is test strategy in QA? ›

A Test Strategy is a plan that defines the testing approach and provides answers to questions such as what is to be accomplished and how it will be accomplished. It is the most critical document for every QA team in software testing, and every tester gains the ability to write it successfully via experience.

What are the 7 study skills? ›

Active listening, reading comprehension, note taking, stress management, time management, testing taking, and memorization are only a few of the topics addressed in our study skills guides for students.

What are the 3 main groups of test activities? ›

The activities of testing can be divided into the following basic steps: Planning and Control. Analysis and Design. Implementation and Execution.

Which testing strategy is best? ›

Some of the testing methodologies that may be part of an organization's testing strategy are:
  • Analytical strategy.
  • Model based strategy.
  • Methodical strategy.
  • Standards compliant or Process compliant strategy.
  • Reactive strategy.
  • Consultative strategy.
  • Regression averse strategy.

What is agile test strategy? ›

An agile testing strategy is an approach to software development in which testers collaborate with customers, end users, and teams across the development pipeline to reach an optimal outcome. With the agile methodology, processes are ever-evolving based on new findings—and outdated practices are phased out accordingly.

How do you write a test approach? ›

What should be included in a test strategy document?
  1. Test objectives and their scope.
  2. Key business-led quality requirements.
  3. Possible risk factors.
  4. Test deliverables.
  5. Testing tools.
  6. Responsibilities.
  7. Tracking and reporting of issues.
  8. Configuration and change management.
Jul 13, 2022

What are the three test case design methods? ›

The test case design techniques are broadly classified into three major categories.
  • Specification-Based techniques.
  • Structure-Based techniques.
  • Experience-Based techniques.
Aug 17, 2018

What are the 6 stages of heuristic inquiry? ›

This article describes the six phases of the heuristic method: initial engagement, immersion, incubation, illumination, explication, and creative synthesis.

What are the 3 general heuristics? ›

The first three heuristics – availability, representativeness, and anchoring and adjustment – were identified by Tverksy and Kahneman in their 1974 paper, “Judgment Under Uncertainty: Heuristics and Biases”.

What is the most common heuristic tool? ›

The most common examples of heuristics are the availability, representativeness, and affect heuristics. However, there are many more possible examples, as shown in the 23 listed below.

What is the most commonly used heuristic? ›

The most fundamental heuristic is trial and error, which can be used in everything from matching nuts and bolts to finding the values of variables in algebra problems. In mathematics, some common heuristics involve the use of visual representations, additional assumptions, forward/backward reasoning and simplification.

Which is the best heuristic? ›

In psychology, the take-the-best heuristic is a heuristic (a simple strategy for decision-making) which decides between two alternatives by choosing based on the first cue that discriminates them, where cues are ordered by cue validity (highest to lowest).

What are the five steps of the heuristic? ›

The researcher used Heuristics Approach developed by Krulik & Rudnick (1995) consisted of 5 problem solving steps as: 1) Read and Think, 2) Explore and Plan, 3) Select a Strategy, 4) Find an Answer, and 5) Reflect and Extend.

What is heuristic approach in testing? ›

Heuristics testing is the testing of algorithms, code modules or other kinds of projects where testing strategies rely on past data about probabilities. These targeted types of testing often allow for more intelligent investigation of where any bugs or problems may occur.

What are the stages heuristic approach? ›

The stages such as agenda setting, formulation, legitimation, implementation, evaluation, and even termination cannot be regarded as independent from each other.

What are the two categories of testing? ›

Manual vs. Automated vs. Continuous Testing
  • Manual testing is the most hands-on type of testing and is employed by every team at some point. ...
  • Automated testing uses test scripts and specialized tools to automate the process of software testing.

What are the two unit testing techniques? ›

There are two main types of unit tests: manual and automation. Both types are used to verify specific components of the system being tested. Unit testing improves program efficiency by ensuring that the individual components all work as intended.

Are there two approaches to unit testing? ›

A unit test can verify different behavioral aspects of the system under test, but most likely it will fall into one of the following two categories: state-based or interaction-based.

Is path testing white-box testing? ›

Prerequisite – Path Testing Basis Path Testing is a white-box testing technique based on the control structure of a program or a module. Using this structure, a control flow graph is prepared and the various possible paths present in the graph are executed as a part of testing.

What are basis path testing methods? ›

Steps For Carrying Out Testing
  • Drafting a control flow graph to identify the possible program paths.
  • Calculating the number of independent paths through a process known as cyclomatic complexity which we discuss below.
  • Define the set of basis paths to be tested.
  • Generate test cases to evaluate the program flow for each path.
Nov 14, 2019

What are the three classes of testing explain each? ›

Integration Testing : checks the data flow from one module to other modules. System Testing : evaluates both functional and non-functional needs for the testing. Acceptance Testing : checks the requirements of a specification or contract are met as per its delivery.

What are 5 examples of being proactive? ›

List of Examples of being Proactive
  • Turning Up to Work Early. ...
  • Doing Extracurricular Work to Increase Chances of Getting into College. ...
  • Asking Your Professor for Advice on How to Complete An Assignment. ...
  • Writing Daily To-Do Lists. ...
  • Researching About a Company Before a Job Interview. ...
  • Proactive Policing.
Oct 20, 2021

What are examples of reactive approach? ›

The reactive approach learns from past (or current) events and prepares for future events. For example, businesses can purchase cybersecurity insurance to cover the costs of a security disruption. This strategy assumes that a breach will happen at some point.

What does it mean to be proactive 7 habits? ›

Habit 1: Be Proactive is about taking responsibility for your life. Proactive people recognize that they are “response-able.” They don't blame circ*mstances, conditions, or conditioning for their behavior. They know they can choose their behavior.

What are the 4 types of test? ›

There are various types of tests in education, from subjective, objective, summative, and formative to diagnostic tests. These tests help gauge students' knowledge and levels of understanding of the course materials.

What are the 4 types of testing activities? ›

It is important that everybody understands this. There are generally four recognized levels of testing: unit/component testing, integration testing, system testing, and acceptance testing.

What are the three types of known test techniques? ›

There are three different testing techniques available. They include white-box testing, black-box testing, and grey-box testing.

How many main types of testing are there? ›

There are three main ways you can do testing: manual, automated, and continuous. Let us take a closer look at each option. Manual testing is the most hands-on type of testing and is employed by every team at some point.

What are the 5 test items? ›

Five test item types are discussed: multiple choice, true-false, matching, completion, and essay.

What is the 4th principle of testing? ›

4) Testing shows a presence of defects

Hence, testing principle states that – Testing talks about the presence of defects and don't talk about the absence of defects.

How many types of testing are there in QA? ›

There are two types of QA testing: manual testing and automated testing.

References

Top Articles
Latest Posts
Article information

Author: Stevie Stamm

Last Updated:

Views: 5959

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Stevie Stamm

Birthday: 1996-06-22

Address: Apt. 419 4200 Sipes Estate, East Delmerview, WY 05617

Phone: +342332224300

Job: Future Advertising Analyst

Hobby: Leather crafting, Puzzles, Leather crafting, scrapbook, Urban exploration, Cabaret, Skateboarding

Introduction: My name is Stevie Stamm, I am a colorful, sparkling, splendid, vast, open, hilarious, tender person who loves writing and wants to share my knowledge and understanding with you.