AI & MACHINE LEARNING
BESPOKE DATA VISUALISATIONS
CUSTOM SOFTWARE DEVELOPMENT
CLOUD & OPERATIONS
DATA & ANALYTICS
EMBEDDED & ENGINEERING
IOT & CLOUD
In this article, I share my experience as a Mobile Developer, focusing on automated testing from a software developer’s perspective. As I have occasionally written or added automated tests, I will primarily discuss the benefits and significance of such tests in the context of mobile application quality.
Automated tests play a crucial role in the software development process, providing convenience for developers and improving the overall quality of applications. While not always essential, their presence significantly facilitates the early detection of errors.
In many projects, manual testing still prevails when verifying introduced changes. Nevertheless, projects with automated tests offer higher software quality by increasing the speed of error detection and resolution.
For me, as a developer, it is an ideal situation when there are automated tests in the project because when an error occurs, the information about it reaches me quickly, for example, as soon as the next day.
Automated tests significantly contribute to high application quality in team projects where more than ten people work on a single codebase. Comparing projects with and without automated tests, I observe differences in the software development process and the ability to release new application versions more quickly.
I have worked on projects with and without automated tests. I noticed that there is a difference in software development. Furthermore, when automated tests are in place, it is possible to release a new version of the application more quickly, as it can reduce manual testing before the release or even eliminate this stage.
From my experience, there are instances in projects where we have limited trust in the backend or, for example, have no direct influence over it. In highly complex projects, when analyzing an error, it is sometimes challenging to immediately correlate the issue with the API. Requirements must also be considered. Backend issues often arise in such cases, but, as expected, bugs are reported in the mobile applications.
We introduced automated tests passed through the application’s initial layer of the REST API. This allowed us to quickly pinpoint a bug if it occurred not on the Mobile Application side but within the backend.
The easiest to use is Android Espresso. This type of testing is often applied to databases. It is simple to write a test for the queries we need. Even if the automatons are not initiated on CI, it facilitates code writing, allowing for quick checks and testing for any bugs related to the database.
In one project, I also encountered Selenium tests for Android. The project was extensive and demanding. Comprehensive system tests were conducted, meaning that a single codebase was used to test both the website and the Android application. This was necessary because the tests assessed how a particular change impacted the status of Android. It was one of the most intriguing solutions I could collaborate on. I added or modified tests during the project as part of my assistance.
Some elements cannot be tested, or it isn’t easy. For example, making and receiving calls. Theoretically, it is possible but very challenging to accomplish in practice. Unfortunately, such elements need to be tested manually, but minimizing the need for manual testing is possible.
In summary, automated tests are a significant component of the software development process, particularly in mobile projects. Their effective application improves application quality while accelerating the release cycle of new versions.
At Holisticon Connect, our core values of Passion and Execution drive us toward a Promising Future. We are a hands-on tech company that places people at the centre of everything we do. Specializing in Custom Software Development, Cloud and Operations, Bespoke Data Visualisations, Engineering & Embedded services, we build trust through our promise to deliver and a no-drama approach. We are committed to delivering reliable and effective solutions, ensuring our clients can count on us to meet their needs with integrity and excellence.
Send us a message and we’ll get back to you as soon as possible.