Testers in the agency are responsible for the applications that the end user receives to be user friendly and work as it is supposed to. That includes planning and running tests for functionality, monitoring bugs. compatibility, installation, performance and many other aspects. A tester therefore cannot work without some practical helpers - software tools (different programs and utilities). In this blog, I will introduce several tools that we use in Akcee for app testing.
1. Firebase App Distribution
Developers create applications for end users without any doubt. But before we start distributing the app to end users, it has to go through thorough testing by experienced testers. Firebase App Distribution provides a comprehensive view on beta testing Android and iOS and offers easy and efficient access to applications and their versions to the tester through Application Management. Moreover, the number of users that can test the app is not limited in any way. This tool for testing also facilitates comparing and managing multiple beta versions of the application. You can also find tools such as TestFlight or Google Play International Testing in use, but these tools have their disadvantages where the application has to go through basic review and testing is only allowed by a smaller number of beta testers.
2. Firebase Crashlytics
This tool for app testing serves to automatically collect crashes of the app and analytical information connected to them. It allows you to get real and detailed information about the status of the user. Since it can sometimes be very difficult to find for testers where the system is failing, Crashlytics is the perfect tool for analysis, reporting, organizing and managing crashes. User logs make our job easier because they allow the user to track where the problem originated and include it in the bug description which makes it easier for the developer to fix the issue.
A sacred duty of each responsible tester is to attach a describing screenshot or recording to the bug report. This makes the communication with developers easier and it can get us rid of the necessity to give a complicated description of the problem. There are many typical screenshotting tools available, but here in Ackee, we are using our own project Screenshoter. It allows our testers to synchronize the picture from the device fast and create a link that can just be added to the description of the ticket. AckeeScreenshoter also adds other analytical information such as device type, app version and more.
Being able to work with API allows the tester to understand bugs better and describe mistakes that can happen in the app more precisely. For some projects, it might for example be important to perform tests with high numbers of different input data combinations separated from the actual test code. At the level of such requirements, the testing happens fast and with a much higher reliability.
When testing API, we use these two tools that are useful not only for the tester, but also for the whole development team. They offer a relatively wide range of possibilities: In Postman, I can prepare data for testing, perform tests and create test entities (users, accounts, products etc.). This tool also offers a history of requests and can be configured to remember responses. Postman also allows writing tests for responses and running them automatically. BloomRPC does not have as many functionalities in comparison, but it has a clear BUI, easy installation and allows comfortable sending of requests for gRPC. It works with protocols and based on them processes data with API gRPC.
Testers cannot work without loyal helpers - test cases. For most of the projects, they make our job easier and replace documentation because they include a complex set of actions focused on controlling any functionalities and describing how to get real results (for example user registration). Before the testing starts, the tests are formally written out in the form of scenarios.
This approach allows to cover all the functionalities and parts of the app which facilitates clear definition of how much time the testing requires, allows more freedom, makes room to develop new testing techniques and strategies and dive deeper into the product. It is also a very efficient way of onboarding in case that there is a new tester. In Ackee, we use Qase which is a modern tool for administration of test cases combining manual and automated testing of applications. For automated testing, it allows to send results of autotests and their aggregation into reports.
Since testing is an integral part of the app development process, the mentioned tools represent a great way how testers can make their job easier and facilitate the use of the app for the users. However, the greatest weapons of a tester still remain the drive to improve and broaden one’s horizons, practical experience and professional curiosity. 🙂