From Desktop Wearable to Testing

From Desktop Wearable to Testing

Diversity has been always “a way of life” in the software industry. Different platforms, different technologies, different programming languages, different development environment, different application domains… Mobile app development has exploded over the past few years by adding new “diversity”. Companies are requested to deliver their software products not only for PC but also, and sometimes primarily, for mobile devices. And now the iWatch and the Android Wear are bringing us a step ahead. Mobile development differs from conventional (PC) development in a number of ways: team size, budget, development cycle, hardware and networking capabilities, deployment, huge potential audience, portability, etc. And testing?

This presentation will focus on how this diversity can be handled during testing, particularly at test automation stage. During the talk a practical example consisting of a Java application for PC and the related Android app will be shown. To deal with this diversity I apply a method called “SHE”: Shrink, Hide, Eliminate.

Shrink. Test Design. Create automated tests that can be run, without modification(!), on different applications running on different devices (PC, smartphone, tablets, etc.). This could add a little bit complexity into the tests, but reduces the number of scripts to be developed and maintained. Write once, run many!

Hide. Complexity. Supporting functions and user actions that allow managing the diversity (e.g. the navigation buttons in Android that has no equivalent in a Java) should be hidden to the testers. Such functions should be managed in the test framework or in high-level libraries. This results in more readable and maintainable test scripts. By this approach testers stay focused on writing tests rather than on supporting functions.

Eliminate. UI Maps. Automating applications in different environments require different sets of UI Maps to be captured and maintained. In my example 2 sets of UI Maps should be captured to start automation. It is a huge set of data to handle…and a time consuming task.

This presentation will show how successfully eliminate the necessity of capturing UI maps. “Computer Vision” gives the possibility of identifying the test objects in the scripts directly at runtime. And this task is completely transparent to testers. Saving time gives them the opportunity to write more tests. This talk will be the opportunity of sharing the SHE method with the community, including benefits and weaknesses.