Continuous testing challenges for dev teams in 2018
|Eran Kinsbruner in DevOps Friday, January 12, 2018|
DevOps teams are having issues with implementing the new wave of AI test automation. Use these tips to help you in 2018.
That’s why, now, more than ever, it is important that we, as developers, assure continuous quality throughout the entire software development lifecycle (SDLC). And it all starts with testing.
Once considered a bottleneck holding up different activities throughout the DevOps process, continuous testing is becoming a staple of the SDLC, as more organizations apply these techniques to identify, react and respond to bugs in real-time. Helping to drive those implementations is automation. However, according to a 2017 report from Sogeti, only 16 percent of test activities are automated.
While automation is a key factor to making continuous testing a reality, there are hurdles that dev teams need to overcome. In 2018, organizations must address the following top five challenges to assure rapid release turnarounds that are glitch-free.
1. Tight release schedules mean quicker turnarounds.
In the digital age, everyone is expected to move faster - and smarter. Consider the latest iOS release. Within its first few months of general availability, iOS 11 has already undergone multiple iterations and updates. And every time there is a new release, app developers must assure their apps still work. Today, they find it difficult to automate these new tests within existing cycles, holding them back from continued maintenance and continued innovation.
In the next year, release cycles will accelerate, especially as consumers’ expectations rise, more platforms are introduced and new technologies, like IoT devices and wearables, take center stage.
Here are my top tips to help overcome this enduring obstacle:
- Look to adopt acceptance test-driven development (ATDD) and behavior-driven development (BDD) practices, which drives the test automation code prior to the code itself.
- Adopt faster test execution frameworks like Espresso and XCUITest for mobile, or headless browsers frameworks like Puppeteer and PhantomJS for web, to accelerate setup time and test execution speed.
2. Dev teams aren’t on the same page when it comes to test automation.
When it comes to test data, there’s this stigma of ‘it’s not my problem’ across DevOps teams. Most believe that it’s the test data team’s job to provide all the data and insight. However, as DevOps continues to evolve within Agile organizations, we’re starting to see those silos come crashing down.
To implement a testing automation team that keeps the engine running, there’s a need for strong discipline throughout the SDLC. First, that requires getting everyone in agreement. Make sure all teams agree when it comes to the process you choose, whether it’s BDD, ATDD or Agile. And most importantly, leave shadow CI processes in the past to assure teams have access to a single view of the quality per code commit.
While each department has a different persona, or set of needs, it’s also important to assure you’re giving them the tools that best match their skillset, while still integrating with the overall continuous integration (CI) and continuous development (CD) stack.
3. Organizations are struggling to control test automation data.
While tests are primarily doing what they’re meant to today - generating new data and insights - they are also suffering the same challenge as Big Data: an influx in information that is nearly impossible to act on.
Partly to blame is the lack of intelligence. However, most organizations are struggling to determine the best way to implement machine learning and artificial intelligence (AI) throughout the entire DevOps lifecycle. I recommend starting with a focus on test analytics, leveraging current in-house tools to determine test suite efficiency and platform usage.
4. Lack of clarity makes open-source a time suck.
Still a relatively new concept throughout the industry, open source tools are becoming an important element of the dev team’s stack. However, most organizations are struggling to maximize productivity with them. They’re limited in their abilities - unable to support advanced features, share detailed reports and optimize intelligently and making it difficult to enhance debugging capabilities or scale test automation itself.
And in the case of mobile specifically, open source frameworks just can’t keep up.
Today, users shouldn’t be using open source tools solo, instead combining them with commercial tools. Using the right open source test automation framework in conjunction with an enterprise commercial tool provider makes it easier to execute automation at scale - especially in the cloud.
At the end of the day, no organization wants their application to fail, and ultimately, let customers down. To achieve continuous quality and keep them coming back for more, continuous testing throughout the entire SDLC will not only assure you catch all bugs in real-time, but also speed the process in which you can patch holes and return to business as usual.
Learn the best ways to organize your app development projects, and keep code straight, clients happy, and breathe a easier through launches.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
How to create a profitable, sustainable business developing and marketing mobile apps.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.