October 03, 2019 | 3min read
Shifting Left—the Role & Future of Testing in the Development Process
We all make mistakes. And we all try to avoid them. In the tech world, software testing is necessary to accurately point out and fix errors made during each development phase. Cross-platform mobile app development, BLE connectivity, embedded software are just a few examples of the areas that testing is necessary.
Today we talk to our Lead Test Engineer Tomek about the role of testing, how we do it at Polidea, and whether or not AI will take over soon.
We are revolving around fast-growing technologies where it is all about being open to changes. We have to be flexible enough to keep up with new trends. The same rule applies to the testing.
During all those years at Polidea, we have adjusted testing practices to meet the high demands of the software development process. What is most important—we have shifted to the left, which is a method where testing is performed earlier in the development process. At Polidea, both designers and developers are engaged in testing. It has turned into something that our teams talk about and practice every day. With this approach, we are continuously building quality into products and approach testing more holistically.
There are a lot of technologies that have emerged in the last decade. What can you tell us about BLE and IoT testing?
If I were to describe in two words what IoT testing is, it would be—a big challenge. Development teams need to adopt several different testing techniques to be able to address the challenges of testing IoT applications. Connectivity, performance, security, usability, and compatibility are the top priority areas. With all those challenges, it is crucial to deliver the best possible experience for the end customer. That’s why teams need to perform more testing from the perspective of a user, having a big picture of the product in mind, rather than focus on strict system requirements.
The concept of cross-platform mobile app development has taken off in a big way. One of the most significant advantages of it is speed. The use of reusable source code across multiple platforms helps reduce development efforts across projects. Going forward, it results in cost reduction.
On the other hand, cross-platform projects have integration challenges with their target operating systems. It is because of the differences in communication between native and non-native components. Also, cross-platform applications are not able to fully benefit from the native features to provide excellent user experiences.
One of the most crucial things when it comes to cross-platform testing is planning—we need to prepare the device coverage matrix and choose the right tools. Additionally, even though the app’s interface looks the same on most platforms, we have to test the variations of the Android and iOS architecture.
A few years ago, James Whittaker said that testing is dead. With AI and machine learning in mind, what’s in store for the software testing profession?
AI in testing is coming—this cannot be denied.
Will the testers, however, be unnecessary? In contrast to AI and bots, we have a deep understanding of the high-level application’s domain, and we can think like an end-user. AI may know how to interact with the app, but it is not distinguishing between the correct and incorrect behaviors of the system.
Should we start to worry? Indeed, test engineers have to build a new set of skills to be able to meet the high requirements of AI-based test systems. I think that traditional testing can go hand-in-hand with AI testing. Test engineer position will not be replaced for sure, and we will be able to work more effectively with AI support in the future.
If you’re interested in more tech content and want to keep up with the news, subscribe to our newsletter!
Director of Quality