Test automation is a key part of the development process. As we discussed in a previous blog post, automated testing helps ensure that video providers get the best results in a cost effective and timely manner. When it comes to a failed test, you obviously need to know what went wrong so that you can quickly identify the fix. This is why small atomic tests are so important. By keeping tests short, autonomous, and focused on a single feature, it is easier to identify issues and facilitate fixes. This is an important part of the video service development process because it helps deliver better results, at a lower cost.
Why short tests are best
The less time a test is running, the less likely it is to end up failing. Long, complex tests are vulnerable to timeouts or race conditions. For that reason, it is better to split tests into smaller pieces, and reduce interdependency as possible. In most cases, four 30 seconds tests would almost always yield more consistent positive results than a single 2 minute test.
Another beneficial outcome is the granularity gained. It becomes easy to identify faulty blocks, which leads to spending less time investigating the source of the errors found. Simple tests also help minimize the execution of commands, making the tests more robust and less likely to fail. By having small chunks of code, we can reuse them to create more complex tests without losing reliability.
Things evolve quickly and therefore there will always be a need to maintain and evolve your service. There is an ongoing race to provide better features, UI/ UX revamps and more content. With small atomic tests, rewriting or updating the user experience, for example by changing the menu from top to bottom, is easily achieved. Using the minimal amount of code to update an element can save lots of time spent on maintenance. Working closely with the development team to ensure they provide unique IDs for elements makes it easier to locate elements during execution, and reduces the time used to find them.
Reusability and portability
Small, simple tests can be run on a variety of platforms by simply changing the value of the locators. Android and iOS can, and should, share tests, as should Samsung, LG and consoles like Xbox. The same applies to Fire TV and Android TV. Keeping compatibility between platforms in mind will also save a lot of time, firstly on test development, and then on maintenance.
From mobile to big screens
The transition of testing automation from mobile to big screens, such as from Android mobile to Android TV, depends on multiple factors, and each case should be handled independently. Tests will need to be adapted, and the nature of the app, whether native or WebView, plays a significant role in how to best approach test automation.
For Connected TVs, modularity is key. Small code snippets allow us to reuse and recreate tests based on these small pieces of code on multiple platforms. Even though these applications are commonly hosted, meaning that their html code can be run on any browser, the use of simulators should be avoided and the application should be run on physical devices.
Like automation, small tests are another important tool in the developer’s toolbox. They help ensure maximum test coverage, in a cost-effective way, which in turn helps to achieve the best quality video service.
To understand more about how Accedo can help you create a high quality and compelling video service, get in touch.