How to test User Interface on iOS and Android
In Appunite we put emphasis not only on quality of code, but on quality of the product as well.
Our development process assumes that the client receives at least one app version per week. Testing is one of the crucial steps that ensure a good application quality. In order to release crash free builds and avoid regression we test our apps before every delivery. Since manual testing is very time-consuming, we encourage our developers to create Unit and UI tests. It keeps the business logic in good shape and verifies the implementation correctness.
Additionally, UI tests help us to check whether the interface behaves and looks as we expect or not. The automated testing is managed by CI servers that are based on self-hosted GitLab. After all the tests have passed, the process leads to code review which is the last stage before merging to master branch.
Every merge to master branch triggers an automatic release of new version to our QA team. Then the manual testing process starts. In case of issues on any stage the whole process restarts.
Check below articles to know more about our approach to automated testing on iOS and Android:
iOS: Piotr Bernad — UI Testing on iOS with KIF and Fastlane
Android: Piotr Mądry — UI testing on Android with Dagger, Espresso and Mockito