Next to delivering M2Active (MADP) and complementary cross platform app development knowledge to our customers, Service2Media has project teams developing multi platform mobile apps for our customers. This weeks’ interviewee is Arnold Wilts, Project Manager at Service2Media. Arnold’s project team is responsible for the app development projects with such as Wegener, Springer, Elsevier and Al Jazeera. During several projects, Arnold’s team gained hands on experience with automated testing.
Arnold Wilts – Service2Media
Testing of mobile applications is important to consider as it impacts both the process and the end-result. It’s a crucial step for high quality app development or, when developing for mobile apps, enabling a great user experience. From a business point of view the process of testing is important to consider, since it can be done both more thoroughly and more efficiently. As a result, testing is one of the app development activities taking up a large amount of the total projects time and budget.
What should be tested? From an app lifecycle perspective, test should be done multi device and throughout the entire lifecycle: design, code, build, publish, download, actual engagement, security and maintenance. Think of navigation and UI, location/GPS, multimedia interaction, payments, and connection to Internet and server connectivity.
How can apps be tested? There are many ways to test mobile applications. Testing can be done manually with real users, users panels or online crowd sourcing panels. Next to that, it can be done automatically either based on behavior or GUI. With manual testing developers write test specifications and need to perform all steps on a lot of devices. As a result, an Android app needs to be tested on several Android OS versions and all kinds of Android supporting devices delivered by Samsung, LG, HTC and many more. The OS platforms themselves provide or support separate testing emulators, simulators and frameworks themselves with debugging capabilities, however cross platform automatic testing frameworks are even more efficient.
What is automated testing for mobile?
For automated testing all kinds of frameworks and tools are available. It is possible to perform test following test cases or customized steps. This results in a test report that shows whether the test is successful or failed.
Image 1: User Case for iOS user that wants to save opinion article
What is the difference between automated and manual testing?
Test cases and checking for pixel perfect visuals stays with the design experts and eyes of the testing engineers. Automated testing offers regression testing, which is much more efficient. A regression test can be done on a daily basis, without manual actions to be done after the scripts have been implemented. This will report bugs and issues that are missed during weekly or manual checks for the app.
Image 2: Testing Report for Aljazeera Test Case News Section
What types of projects are fit for automated testing?
Both types of testing benefits the development and maintenance processes in their own way. Especially customers with bigger app portfolio’s or apps with large international or device reach are interested in automated testing. Some tooling only has simulated automated testing. A big advantage of automated testing is tooling that helps to test on a physical device via a USB connection. As a result, all screens “fly by” on the app.
What do the test engineers think of testing?
Our test engineers showed a very steep learning curve with automated testing. The time spend on automated testing is similar however. Nowadays, you spend half a day on automated testing. But with this same effort, the test engineer performs a daily test early in the development process. As problems appear, you do not continue development, but resolve the issues first. The faster a development team is fixing a bug the better it is due to reducing the amount of code merging activities causing all kind of risks within a project. However, it does require knowledge of programming and scripting. Test specifications need to be translated to a script. Script codes can be reused for similar apps or can be extended as apps update.
What are the wins with automated testing?
- Increase of the overall product (app) quality before releasing software to the stores
- More valuable development hours to spent on developing features in stead of testing
- Decrease of high risk merging activities in software archives of a product causing quality issues
- Performing regression testing of the entire product when adding new features or doing bugfixes
Example with Al Jazeera:
Below you can see the user case of saving an opinion article and going back to this article. The steps for iOS are described below. The test reports to successfully save for opinion news. However, it also reports that this article is not found in the “my news” section where it should be. The corresponding screen views are attached. As a result, our team of developers immediately reported the bug. The latest version of the Aljazeera app is live today, available in English and Balkan languages.
Read more Q&A’s:
Part 1: Most FAQs from IT managers within the financial services industry on app development when evaluating a MADP
Part 2: How to build secure apps: creating a strong chain of trust
Part 3: Most FAQs from IT managers: predictable cost, efficiency and time to market
Part 4: Most FAQ’s: User Interface and Interaction Design for Cross Platform Apps
Do you have any questions on mobile app development, testing or MADP vs. Native vs. HTML? Please email us at firstname.lastname@example.org or use this contact sheet. We are happy to connect you to the right person within Service2Media.