Ukraine Office: +38 (063) 50 74 707

USA Office: +1 (212) 203-8264

contact@testmatick.com

Manual Testing

Ensure the highest quality for your software with our manual testing services.

Mobile Testing

Optimize your mobile apps for flawless performance across all devices and platforms with our comprehensive mobile testing services.

Automated Testing

Enhance your software development with our automated testing services, designed to boost efficiency.

Functional Testing

Refine your application’s core functionality with our functional testing services

VIEW ALL SERVICES 

Discussion – 

0

Discussion – 

0

Software Testing Based on Heuristics: Analysis and Significance of the Main Techniques

Software-Testing-Based-on-Heuristics-Analysis-and-Significance-of-the-Main-Techniques

In the software testing field, specialists use a lot of various heuristics to make a decision and analyze a problem during testing. They can be extremely useful when making suggestions if a person isn’t sure in the way how to start the testing process. Or it may even happen, that he/she has no idea what to do next.

Heuristics are highly valuable for a particular context, especially if people use them wisely. You may not always choose the right heuristic. But it worth remembering that if some heuristic doesn’t work as it should, you can always try another one.

Popular Software Testing Heuristics

QA engineers often deal with various heuristics in the form of checklists, cheat sheets, and even mnemonics. Sometimes, people call them oracles and models.

And it doesn’t matter how they are called correctly and what form they use on practice. If they are a solution for tester’s problem and they help to make independent decisions, these must be heuristics.

There are three the most popular mnemonics among testers. Let’s analyze each of them in more detail.

#1 Goldilocks (by Elisabeth Hendrickson)

This heuristic is based on the following concept – too big, too small, just right!

With this mnemonic, testers can think about the data input field, try to check too big, small, and standard fields for specific contextual data. For example, they can test how the value is entered in the currency amount field: at first, it can be a negative value, then – something more typical for the product under test.

You can obtain more detailed information about this heuristic in the book “Explore it” by Elisabeth Hendrickson.

#2 RCRCRC (by Karen N. Johnson)

This mnemonic allows remembering keywords for test heuristics on a project that is used for regression testing. The letters of this abbreviation stand for:

  • R – recent;
  • C – core;
  • R – risky;
  • C – configuration;
  • R – repaired;
  • C – chronic.

Each word is used to make a tester think about useful test ideas on a particular project. For example, the first word ‘recent’ says about previously uploaded code or special testing features that are necessary to realize due to some editing.

You can follow this link and read more about this mnemonic, its usage during regression testing, and see authorial Karen’s slides.

#3 FEW HICCUPPS (by James Bach and Michael Bolton)

FEW HICCUPPS is a special mnemonic that allows a tester remembering keywords for used oracles helping to verify problems in software. These oracles are extremely useful if there is no technical requirement or if it has inadequate information blocks.

It is worth remembering that [highlight dark=”no”]all oracles are the very same heuristics but of a special type helping to find bugs in a software product. [/highlight]

This abbreviation has the following meaning:

  • F – familiar;
  • E – explainability;
  • W – world;
  • H – history;
  • I – image;
  • C – comparable product;
  • C – claims;
  • U – user expectation;
  • P – product;
  • P – purpose;
  • S – standards and statuses.

These oracles can be focused on the necessary validation criteria. For example, if the software can correspond to its background. Also, FEW HICCUPPS can be used as a special metaphor to think before starting the testing process of new software functionality.

Other Popular Heuristics

Above, we analyzed only three popular test heuristics which are in demand among testers. If you want, you can read the great work of engineer Del Dewar who collected some test heuristics and grouped everything into understandable mental maps.

A short note: considering that some test heuristics use mnemonics, it is a very common incorrect assertion that heuristics should contain mnemonics, or that these concepts are the same.

This is not entirely true. No heuristic requires mnemonics; they are simply created so that it is easier to remember and put their contents into practice.

Mnemonic is a type of heuristic. They function as special cognitive paths aimed at solving memory problems.

Cheat lists are also a type of heuristic. And so you can easily continue to infinity.

Your Testing Heuristics

If you are a tester, you will always have your heuristics in your constant use but you can not even guess about it! This primarily depends on the fact that the creation and implementation of heuristics is an intuitively innate process of thinking. But this also happens because everything that QA does when checking software can be analyzed exactly like heuristics.

Both test techniques and test ideas are created with the help of certain shortened routes that help you quickly make the right decisions when faced with problems.

As a QA, a person can adhere to a specific routine before starting the testing process (for example, open new testing tools – hardware and software). A person does all this as his/her user experience tells. It is important to remember that all this can still be useful in the work and that only an early discovery will help solve the problems of loss of concentration in the initial stages of testing.

Brief Summary

Identifying heuristics for each tester is very difficult because sometimes each of us unconsciously creates them based on experience, using the personal thinking of the system. In simple words, this means that during software testing it is only necessary to use generally accepted patterns of mnemonics and heuristics, and expand their thematic content with your observations and strategies.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like

Why Is Unit Testing So Important for Developers?

Why Is Unit Testing So Important for Developers?

In this article, we will try to see why unit testing is considered so important that no programmer in the world can imagine the debugging process without it! Quality unit tests can significantly speed up the basics of development, verification, and even some of the work on functional requirements.

Is CI/CD Important for a Tester?

Is CI/CD Important for a Tester?

Today a software testing sector requires complete competence in TestOps and skills in developing qualitative automated tests from a QA engineer. It happens due to the rapid development of CI/CD and the importance of QA engineers’ work with pipelines. But why is CI/CD crucial for every tester today? Further, we’ll try to answer this question.

What Skills Are Needed for a Novice Tester?

What Skills Are Needed for a Novice Tester?

Before making the decision to become a tester, you should get familiar with the skills and competencies you should acquire first of all. This article will help you build a clear plan of your studying and understand what skills you should develop to become a successful QA engineer.