Let us imagine the following situation: a customer orders a specific software from company X, the company gets down to work with enthusiasm and is determined to deliver a finished application to the customer. Without stopping, without a moment to reflect on the completed stages of the task – without testing. Specialists working in the company know perfectly well what the client expects from them, they know their capabilities, they have considerable knowledge, so they do not intend to waste time on checking whether everything works as it should. After all, the customer is waiting, and after that another and another client… What can go wrong? Absolutely everything. The most likely scenario is a disaster like in the Czechoslovakian TV series “Neighbors”: a total armageddon.
We test not to lose
If there is a professional decalogue that every IT company follows, then one of its first points is as follows: we test an application at every stage of its development – from the beginning of the work until its finalization. Time and energy spent on such control is a guarantee that we have caught errors that could make the system not work as expected, or even turn out to be completely useless. Such a surprise would be tantamount not only to a financial loss, but also to an image disaster. We should remember that news spreads very quickly – and the worst ones usually run at the head of the pack. A company that gives junk has to reckon with deservedly negative PR.
Tests of course prolong the work on the application. You have to stop, think and finally send people back to check every implemented function. You can also use outsourced testing, which, however, entails additional costs. The thing is to find and remove bugs in time, which can make the work on software very difficult or lead to complete failure.
Software testing – only for professionals
Testing is not only about the software itself, but also its usability. The first of the mentioned categories concerns strictly technical issues, so it is aimed at checking whether each of the functionalities works as intended. This is also where elements such as documentation, source code or module integration are tested. Testing can be done automatically or manually. In the first case, this duty falls on people, in the second on specialized tools. This is where API tests are conducted to check communication between processes, load/performance tests, tests to check compliance with prevailing standards and quality tests. This stage of the work is a field for real IT specialists – sharp heads who can knock you off your feet.
Usability testing – application vs. public
Every application, regardless of its purpose, should be user-friendly. That is why only professionals cannot participate in its testing. Therefore, software that is still “on the shop floor” is handed over to people who are not closely related to its production. Let’s call it a testing ground, where the usefulness of the prepared solution is tested in combat conditions. In this case we find out whether the application is intuitive and, above all, whether the user will not have problems with its operation.
This type of testing is usually based on observation and analysis of behavior and opinions of external users, who got the software at different stages of development. However, these are not people from a random group. Before choosing particular people, it is necessary to make rather precise targeting based on the preferences and interests of particular users. The point is to select testers who might be interested in using a particular solution. The result of usability testing is a detailed report with comments, objections and suggestions made by the first users.
To sum up, testing mobile applications (and all other applications) aims at excluding potential errors at each stage of application development. Skipping this procedure is a lack of professionalism and, above all, a gamble, which has no place in any type of business.
A sip of knowledge
What are web applications and how do they work? What is a server, servlet and servlet container? How do web applications work? We encourage you to read the Developer’s Tutorial.