Continuous testing challenges for dev teams in 2018
Friday, January 12, 2018
Eran Kinsbruner |
DevOps teams are having issues with implementing the new wave of AI test automation. Use these tips to help you in 2018.
Today’s world revolves around digital technologies. For example, consider how much time you spend on your cell phone in a single day. According to analytics firm Flurry, it’s more than five hours. From making calls to utilizing things like social media. banking and healthcare apps, there’s an app for just about everything. But what if the apps that help run our lives suddenly stopped working? Think of it this way. You wouldn’t have easy access to things that affect your daily life, like your checking account or health monitoring systems.
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.
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.
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.
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.
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.
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.
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.
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.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more
Subscribe here