Test Automation for Mobile Devices in Drupal 8 – DrupalCon Vienna 2017
Going back to the very beginning of the web and to the history of mobile devices to discover their intersection, the purpose of my DrupalCon presentation was on the use of test automation for mobile devices. One of my points was that the development of mobile devices for the web has not been taken seriously even at the very highest levels of internet technology. The popularity of web browsing and mobility should direct development efforts more into web-first development, and so verifying the quality of mobile development should also be important for every project.
While researching this topic, I found 2 interesting statistics to point out:
- The cost of buggy software reaches every year into the tens of billions of euros.
- Most web content is now reached by mobile devices.
These two facts should serve as strong reminders that we should stress the testing of mobile devices on the web because most end users, as time goes by, will explore the web by mobile devices instead of desktops.
My presentation discusses the details of using test automation on mobile devices. First, we explore the subject of the mobile web and why it has in a relatively-small number of years surpassed desktop browsers. We see that end users like the quick and immediate access provided by mobile devices as well as the discrete surfing provided by the small and easily concealed devices. Also, people are becoming more mobile, so as life gets more mobile, then so will browsing habits.
After a few general tips on test automation, we begin to discuss the situation regarding mobile device testing specifically. There are two different approaches to mobile web test automation, namely, that involving web-based mobile apps and native mobile apps, and we see that Drupal 8 can exist in both approaches but with different activities. This brings up the question on what approach should be used in development, a mobile-first or desktop first application which is later adapted to a mobile platform? Perhaps mobile-first development should take precedent because most users will see the client’s application in mobile devices, and also the founder of Drupal himself stated that Drupal would have been made for mobile experiences first.
Different approaches to test automation will be used depending if the application under test is either native mobile or web-based mobile. If native mobile, then the communication with the Drupal backend will be tested. If web-based, then several rounds of test automation will be necessary, starting with device emulators and then proceeding to the devices themselves.
We then discuss the realities of test automation, that is, how it is the skill and creativity of the test creator that finds the bugs and not the test automation itself. We then saw and example of a test automation script run on the Drupal.org website that finds a bug. It is stressed that the most successful test automation projects are those that keep running and providing information over time. The point of this presentation is not to demonstrate or stress one test automation framework over another, but to introduce principles of test automation aimed at mobile devices with Drupal 8 that will help the project keep providing results over time.