Now people have many technologies at their disposal. Mobile applications, games, websites and much more are within reach of everyone at any time. However, users prioritize that these tools are error-free, do not compromise on quality, and appeal to them. Achieving this satisfaction is largely possible with the “User Acceptance Test“, which is one of our testing processes and requires end-user participation. In other words, the priority in the exit decision of the application is manual testing rather than test automation.
Think of an app you’ve never seen before. You don’t know what it does and you’ve been asked to look into this app. The first thing you will do is open the app and “explore” it. In other words, in this process, which is technically called “exploratory testing“, you will again start a human-oriented manual test.
Why are manual testing processes still going on in this digitalized and automated world? Let’s move on briefly:
Automated tests cannot detect uncoded errors: Automations cannot find uncoded errors. When you automate the test, whether the application you are testing is working correctly or not, that is, pass/fail results are returned. But in manual testing you can clearly find any error along with its steps.
Manual testing better finds real user problems: Imagine yourself using an app. You tried a part in the application. In this part you tried, you can find much more errors than any other scenario.
Feedback from the tester is very important: The tester can find different things in the tested application and report them immediately. If necessary, they open a business and returns. For this reason, it is very important to get the comments and knowledge of the tester while testing.
Usability testing can only be done manually: For example, usability testing is applied to evaluate how easy a website is to use and what level of user experience it is. Usability tests with real users; it measures how usable or intuitive the website is, but also how easy it is for users to achieve their goals.
Changing scenarios can be executed quickly: Additions and deletions can be made when developing a project. If these scenarios are constantly changing, manual testing will be both easier and more cost-effective. Because constantly changing test automation scenarios wastes time, which affects cost.
Often, many errors occur when testing something else: In a scenario that is intended to be tested, automation tests will only follow the exact steps in that scenario and often bypass other aspects of the application. In manual tests, functions other than the intuitively tested scenario are also tested quickly, and in this new scenario, previously unnoticed errors can be noticed.
As mentioned above, technology is now in the hands of people, namely mobile devices. So let’s continue with the importance of manual testing on mobile:
We can test the applications according to the internet connection: The performance of the application and the internet access speed of the application should be checked with both wireless internet and 3G/4G connections. For most users, applications that use less internet connection are more preferred.
Mobility: People can be found anywhere with their phones. When testing applications, each situation should be tested in all conditions, taking these situations into account. This helps us to increase the quality even more. Testing mobile / portable devices in places with limited internet access and analyzing the behavior there are important steps in total quality.
Resolution Differences: The application should be tested considering resolutions such as 4K, 2K, HD. The resolution of some apps will vary for each device.
Operating system differences (IOS/Android etc.): Applications produced for different operating systems should be tested with different versions of the relevant operating system. The requirements in each release should be observed and bug reports should be produced accordingly.
Differences between device versions: Even if the operating system versions are the same in different hardware models, the application used and the features of these applications may vary.
Battery consumption: Users may be dissatisfied if your app consumes too much battery. For this reason, we should include this condition in the testing processes.
Data usage: The application used on the mobile should be tested to see if it exchanges too much data or if it takes up too much space on the phone.
Device position: It is necessary to test the application with the phone screen both horizontally and vertically. Depending on this situation, the test results may differ.
GPS & Bluetooth & NFC.: Turn the GPS & Bluetooth & NFC features off and on on the mobile device and see how the application responds.
Sensors in the device: Features such as light sensor, magnetometer, finger reader sensor should be tested.
Resource usage (CPU, RAM): Scenarios such as how busy the application is on the processor and how much space it occupies in memory can be looked at.
Call and SMS: When using the application, it should be checked how the application responds when a call or SMS is received.
Battery status: When the device is charging, when the battery is fully charged or in energy saving mode, how the application reacts should be checked.
Installation / Reinstallation: It is necessary to install the application, delete and reinstall, install the application on different versions or test by installing different versions of the application.
App kill / App Background: Scenarios such as whether the application is notified when the app is in the kill or “background” state should be checked.
Monkey test: It is one of the most important tests. When you click the button 2 times in a row in a web application, the application may not crash. Maybe the product has been added to the cart twice. So it’s not just a crash. In the mobile application, there is a high probability of crashing when you press a button 2 times in a row or when you press the back button 2 times in a row. In other words, mixed scenarios such as pressing spaces, pressing a key repeatedly, pressing randomly, which we call “Monkey Test“, must be tested in a manual test.
To summarize, the parts that we cannot test with automation, but affect the quality significantly, should be controlled by manual testing. Actually, manual testing and automation testing are like ying and yang. Neither one will work alone. You can run a small project manually, but it is very difficult to run a large project manually. It is close to impossible to carry out alone with automation alone. Because too many errors can occur. Therefore, in many projects, it is necessary to use manual testing and automation together.