Every tester has technical experience on some stage of his/her professional development. And it is very useful to improve it all the time by new knowledge and technological skills, which not only broaden a professional mind but also fill this mind with some opportunities to understand things, which were misunderstood before.
After reading this article you will be able to look at the heuristics and mnemonics in another way, to get to know why they are used and what’s their profit in the field of testing.
Comparing with other methods and techniques, a heuristic evaluation method is much easier and faster. With its help you can find all the problems inside a tested product faster, spending minimum time and material resources.
Discovering various heuristics and mnemonics, a tester can easily broaden his/her view on potential problems inside a developed web product, as well as develop new approaches to the testing directly. Skills how to use testing heuristics can highly improve the testing efficiency of any product or web component.
Concepts of Heuristic and Mnemonic
A process of testing on the base of heuristics – is a technology of testing algorithms, apps, and programs, and by using it, the testing strategy is based on previous experience and data about the possibility of different events.
Mnemonic – is a set of rules and techniques, which help to remember effectively some necessary information.
Main advantages of testing heuristics:
- They allow to remember the context, where tested app or product is used actually;
- Shortness. All heuristics fit easily in the little mindmap, a piece of paper or text file;
- With the help of heuristics, you can test qualitatively the utilities in the more detailed format;
- They help to avoid mistakes, made under analogous circumstances during testing of similar software. Philosophy of using the heuristics allows developing special “reminders” on the base of previous experience – someone’s own one or solutions of other QA specialists.
But for all that, heuristics is a very imperfect method. The main disadvantage of testing heuristics is that heuristic valuation can’t involve the applying of user testing and analysis of real scripts execution. Its results can be very judgmental and baseless from the practical side.
Exploratory testing – is 2 sides of the same web product testing. It means that qualify testers can’t rely on the exploratory part of the testing only. After the usage of the heuristic technique, which helps to find errors in the testing environment, you should make test cases and checklists in advance.
The heuristic is totally related to a special test-design technique, based on previous experience, it helps to make the right decision while defining necessary tasks.
The heuristic method is used in the situations, where we need to make a quick decision, that will be as close as possible to the “optimal” one.
Heuristic algorithm – is a special algorithm of searching the task solution, the accuracy of which isn’t proven to all potential cases; but it is the most correct solution in the half of cases.
We’re sure that each qualify tester has own set of heuristics, that are constantly used in the software testing. They are grown with experience, and in order to deal with them correctly, you need to understand how other people think potentially as well as to be able to describe his/her own thinking process.
With the help of heuristics and mnemonics, you can learn how to describe the testing process.
Fundamental Differences between Heuristics and Mnemonics
Mnemonics – is a special instrument, with its help you can learn how to remember information in the simplest and the most available way. Traditionally mnemonics work as a pattern key to things, that you want to memorize, but it doesn’t tell you anything, concerning the info you’re trying to remember.
Heuristics – is a sort of “rule of thumb”, which is applied for the instant measuring of some testing value. In the field of testing, it’s usually used for memorizing the utility behavior in order to search immediately some potential problems.
It is clear that the main reason of their interaction is that mnemonics are often needed to remember the heuristics. All that we do and use in the testing is heuristics. Every model, methods and test plan – is heuristics.
Using mnemonics, there’s a possibility to generate quickly the different ideas for web product testing, which can become an accelerator for future usage of heuristics.
Mnemonics is a very useful tool, which helps to remember different schemes of various testing models, that can be used in practice in the future. Heuristics is a special algorithm, which helps to navigate in the area effectively while solving some task.
When the ideas for a testing end, you can always come to heuristics, that will tell you what else you can do (check, test). You have to use other testers’ experience.
Realization of the other testers’ way of thinking helps to diversify fully one’s own approach to the testing.
SFDPOT & CRUCSPIC STMP: What’s It and Why Do We Need It
Any QA specialist recommends using different mnemonic tools and techniques. Exactly with their help, there’s a focusing of future tests development.
They allow not only to find critical errors in the product but to know the logic of critical bugs appearing in the future too. You have to agree, that it’s great because constant relying on logic and intuition isn’t always right and effective.
A lot of well-known experts in the testing strongly recommend using proven SFDPOT scheme by James Bach. They say it’s the most qualitative and right tool for a quick generation of testing ideas and solutions.
So, what is SFDPOT?
SFDPOT – Structures, Functions, Data, Platforms, Operations, Times:
- Structures – an architecture of the app (product), which is tested by every component. At this stage, test ideas and steps are created, they are connected to the web product structure;
- Function – app (product) productivity. It’s the testing of everything that app (product) can do. At this stage, there’s a software testing;
- Data – interaction with the data. It’s the test of the app on interaction with data. QA specialists have to identify, how (with what logic) this product interacts with data, how it’s received, type of processing and kind of information;
- Platform – ecosystem, platform. It’s testing of how the app (product) potentially interacts with the platform, where it was developed and launched. A tester needs to identify, on which platform and in which ecosystem the manual and automation testing services should be done;
- Operations – a test of designed scripts for a developed application. At this stage, testers should get to know a potential group of future users, who will interact with the developed product;
- Time – the duration, testing of how the product will behave according to the beginning or end of any time length.
Karen N. Johnson, a world-known expert in the field of software testing, also actively uses this method in his practice. He believes, that this method helps to “understand” a web environment, where the testing will be, in terms of size, time and resources – fundamental corners of a triangle of software quality.
As to CRUCSPIC STMP, this method can be considered as a part of Operations inside the SFDPOT technique.
If we take a quick look at the CRUCSPIC STMP functionality, we can say that it’s sort of system attribute. CRUCSPIC STMP solutions allow distinguishing the main objects of testing, its aims, as well as to design the map of interaction effects between each other.
Practical Application of Heuristics and Mnemonics
Realizing the way of other testers’ thoughts, one specialist can vary his/her own approach to software outsourced software testing services. Instead of monotonous searching for similar bugs, a specialist can significantly broaden his/her professional horizons.
Concept “heuristic” can be considered as a “some approved practice”. By gaining experience and making mistakes, experienced testers create lots of their own methods and logic for testing. But more than a half testers don’t know that there’re solutions for exploratory testing, which they can achieve and which can be helpful for some project.
One of the options to show the tester’s work efficiency – is good exploratory testing. Efficient QA gradually gains analytic and exploratory skills, which allow confidently to deal with testing tools, that all of us have – human thought.
The particularity of exploratory testing is that in a natural way it “absorbs” testers. In the firms and corporations, where script processes are cultivated, testers even don’t know about other methods of testing, except writing test cases and doing checklists.
Moreover, any project on software development has some risks anyway, but exploratory testing allows a specialist to “adapt technically” and quickly to these new risks.
QA specialists who learned to use their own potential during the testing, created variants to manage their thinking process while testing.
Experienced testers-explorers can easily use logical tricks, in order to save their thoughts critical and fully consistent for a long time. Two tricks that testers use for a quick “warming up» of thought – are heuristic (options for problem solutions) and mnemonic (memory training).
It’s amazing, but not only every letter of mnemonic allows to follow a pattern consistency during testing, but the whole abbreviation helps to create quickly different useful tests on all parts of developed product testing. Additionally, it’s recommended to use external mnemonics and heuristics during testing, in case of need to explore some parts in another way.
Any testing uses classical monitoring, it means, that trial and error method can be an effective one. But it’s more productive when there’s a system where such method can fit in.
A wide variety of exploratory testing potentially can become one of the most important kinds in tester’s thought.