In short and succinctly, functional testing is what the program must perform according to the requirements and needs of the customer. But non-functional – with the help of which the application must fulfill the set requirements for the functionality.
It can even be noted here that the customer and / or the end user sets his “wishlist” and how he sees the product with them to the functional part of the software product. The development team, in turn, helps to select various tools so that this functionality can work, but of course the team develops the functional part too.
As an example – the situation: can we pay for a purchase in an online store if the Internet is not available? We can’t. And in this case, the functionality is the payment for an online purchase, and the Internet is a tool, that is, a non-functional part that supports the payment for the purchase. Based on the logic, it is worth checking the system recovery by turning off / on the Internet.
In general, it is possible to automate tests in non-functional testing, but some existing non-functional testing tools are more difficult for a beginner and require a set of specific skills. There is also software that does not require great skills for beginner testers.
For manual non-functional testing, it is important to check the documentation. Documentation is not only a different set of files, but also the graphical interface of the software product itself, which may have the wrong font, wrong image sizes, or some spelling errors. Accordingly, tests are used here to check the layout of a web page.
Here we can talk about documentation comparison tools (one of the popular tools is “CompareTools”). We open through this tool two similar files or images that have slight differences, and “CompareTools” will display where there are discrepancies. There is also an online version of the comparison tool – “DiffNow”.
To test the layout of a web page, a plug-in for the Perfect Pixel browser is installed, which also helps to make a comparison between the approved template and the real “picture” on the same web page.
And, ultimately, why not call such non-functional testing automation? After all, we do not do a manual comparison, testing tools do it for us.
The programs and plug-in I have provided are quite easy to understand – and, in addition, they highlight inconsistencies very clearly. In “CompareTools” and “DiffNow” windows with two (or more) similar files are displayed, and the differences are highlighted in red – this is quite convenient for the tester. But the Perfect Pixel plugin itself can even show the font size and styles, the size of the image on the web page, and in the approved layout.
The problem that may arise even at the initial stages is, of course, “blurring” of the eyes, if you do not use our “assistants” and look for inconsistencies manually.
Difficulties with programs for non-functional testing are also likely: incorrect installation of the tool, installation of the plugin on different browsers (end users use different browsers), installation of plugins on different devices (computer, tablet, mobile phone), different operating systems on all these devices, different browsers on these operating systems. And how many such platforms for non-functional testing are known only to the tester himself.
More complex non-functional testing to improve skills
- Checking the performance (power) of the system – Apache JMeter, NeoLoad, HP LoadRunner, Dynatrace, JHM (Java Microbenchmark Harness), BenchmarkDotNet, Google Lighthouse;
- Load testing tools – again Apache JMeter, Gatling, HP LoadRunner, Yandex.Tank, Taurus;
- Security Testing – Netsparker, Metasploit, Acunetix, Core Impact, w3af, Wireshark, Kali Linux, Nessus, Burpsuite, Cain & Abel;
- Scalability testing – BlazeMeter, WonderNetwork, Loader, Load Impact, Blitz;
And the last non-functional testing that can be offered for a novice tester is the analysis of network traffic in Fiddler.