Blog
Go back to all posts
25 November 2022 (19:28)

Manual testing – chaos or order?

Manual testing – chaos or order?

As the theory of testing says – testing is infinite. Process of software testing should start with preparing test plan. It should include how functionality should exactly work, what parts to cover and also how to test. Testing in IT is divided into manual, which we will describe below, as well as automatic, which we will also mention a little about. Both of them has their pros and cons. However we will try to analyze and answer the question asked in title. We will focus on manual tests – whether they are more reliable, more beneficial or perhaps they create chaos.

Table of contents:

What are manual and automatic tests?

Process of testing is the most important component in new software implementation. Good practices should not skip this step. They are divided into two models – manual and automatic. As we mention before, software testing process should start with preparation of a test plan. It should include how the functionalities should exactly work and also which parts of the functionality testing should cover and how to test – with what method (manual or automatic) and list step by step which software functionalities to start with and which to end with. This should be done regardless of what type of testing. There are many standards that a good test plan should fulfill, they are included in the IEEE standards (this is an abbreviation for the Institute of Electrical and Electronics Engineers, whose main task is to set standards for, among other things, computer devices and formats).
To sum up, through testing we check whether, for example, a particular button on the page takes us to the target location or not, or whether an uploaded contact form goes where we planned.

Pros and cons of manual testing

Manual testing is nothing more than human testing. It is a classic method of detecting errors or software failures. Main purpose is simply to verify that everything in the product is working correctly, smoothly, and according to predetermined assumptions.

To be able to answer the question posed in the title, it is useful to know the pros and cons of this method. We will try to present them and describe them in more detail.

Manual tests are relatively faster (you don’t have to write code that will execute automatic tests), Testers do not need to know programming, also it is measurable Manual testing has lower start-up costs, because, among other things, you don’t have to write the code that is necessary for automated testing, and it requires the purchase of the appropriate software. The human factor is also considered a huge advantage, as an experienced manual tester has the ability to solve non-standard, complex issues that an automated machine would certainly have trouble with.

On the downside: the tester has to test the same functionality every time, while automated tests can be run, for example, with every deploy. Assuming that the system is very complex and tightly coupled (tight coupling), automated testing is a great investment for the future. With manual testing, it is also very easy to miss the regressions. The product is tested by a human being who is not infallible. When validating for a few hours, may miss a defect. Then, once the product is launched, there is a chance that the bug will be noticed by the end customer – which can have a negative impact on the perception of the company.

Use of automatic and manual tests

Automating this process, the aforementioned automated testing, also requires human involvement in the first phase. To use this method, a script must be written to automatically test recurring tasks in a given software.

A great example of the use of automated testing is Netflix, which has a highly distributed infrastructure and the failure of one service could bring down the entire business. The aforementioned Netflix is a forerunner of sorts when it comes to testing distributed systems – it created a tool called Chaos Monkey. How does it work? In a nutshell, the “title” monkey purposely, in a controlled manner, demolishes some services to see if the system will survive it.
Manual testing does not require special software or writing code. All we need is a human being. In our company we rely on just such testing, which is a better choice for the functionalities we implement and the frequency of their implementation. We do not have such distributed systems as the aforementioned Netflix and such an receiving group.

An example of the use of manual testing in our company is, for example, the addition of a menu generator for caterers in a loyalty program. The tester verifies that the generator generates correctly assumed items in the correct format. Developments of such a generator appear systematically – adding new filters, items or formats. Then manual testing works best because we are not forced to write code for automation every time and the tester is able to efficiently verify its correctness.

In conclusion, manual testing is sufficient for uncomplicated applications, but for complex systems composed of many services*, manual testing would simply be too time-consuming.

Conclusion

So are we able to answer the title question? It depends – mainly on the complexity of the environment under test. Manual tests work well for simpler specifications, while automatic tests work well for more complex systems with a dense network of internal links.

Neither testing method introduces chaos, as long as it is appropriately matched to the needs.

*Services is a modern approach to application development in which a single system (e.g., an online store) is divided into multiple loosely coupled applications.

References

Electronic publications:

 

Image: Image by pressfoto on Freepik

Author: Gabriela Bączkiewicz

Marketing Event Coordinator

Project Manager with many years of experience in technology programs.

Editorial: Emilia Seweryn, Ewa Nowaczyk-Przybylak
Want to contact us? Call us or send us a message.

Managing Director
+48 695 990 128

What will you gain by contacting us?
  • you will find solutions to your challenges;
  • you will learn the mechanisms to activate B2B partners and customers;
  • you will get a reliable valuation and implement the loyalty program concept.

Want to find out if you’re getting the most out of your sales support?

Use our performance calculator and see what it looks like for you!