TL;DR: Check out the github repository of the Open-Source testing framework wdi5 (/vdi5/). Contributors welcome!
We all agree on the mantra “software testing is important”. Yet we all write too few tests and dedicate too little project-time to creating tests. Why? You answer. Because we at j&s-soft do things differently: we recognize the business value of writing unit- and integration tests and make enough “room” for it in projects.
Especially in the area of hybrid apps - i.e. web applications running natively on the phone or desktops via tools like Cordova or Electron - testing end to end functionality, including native capabilities of the respective device, is demanding. And as we write more and more productive hybrid OpenUI5/SAPUI5-apps for our customers, we pro-actively started addressing these challenges with wdi5.
But let me start with some questions I had in my role as project lead of a hybrid app at j&s-soft, before wdi5 was introduced:
How to test the hybrid UI5 app on the different devices, like smartphones, tablets or desktops?
How far can native functionality be tested on the different platforms, like iOS, Android, Windows, macOS, ...?
Is it possible to test not only the UI5 frontend, but also the service layer and the backend API with the same tests?
Can device features, accessed through plugins, be used in a test scenario?
What about on-device performance and positive/negative performance changes over different versions?
Some - if not all - of these questions are solved by running tests on the actual device – best: in the actual productive environment of the device (e.g. slow cellular network!). There are great tools out there which help developing such tests, like appium or WebdriverIO. However, the link between these tools and the underlying app functionality is usually missing. In our case, we most dearly missed “the glue” between the afore mentioned tools in combination with OpenUI5 / SAPUI5.
To overcome this, j&s-soft introduces an open-source testing framework called wdi5. It uses de-facto standard testing tools and common syntax to run UI5 applications and their tests natively on the devices. wdi5 is maintained on github under an open-source license, can be used in any UI5 project and is happy about every contribution (be it drinks or code 😉).
As the architecture of wdi5 and its manyfold usage capabilities span a broad area of topics, this blog post is only the introduction to a series about wdi5. Stay tuned!