Continuous testing shortens feedback loops through automated testing that occurs throughout the development lifecycle—hence "continuous." Testing and QA become the responsibility of everyone working on the software, not just testers. Let's look at some proven practices from organizations that have used continuous testing effectively to realize tangible benefits.
Most organizations understand that test automation is essential for modern application delivery processes. They’re just not sure how to make it a reality in an enterprise environment without exorbitant overhead and massive disruption. Enterprise organizations typically achieve small victories, but the process ultimately decays due to challenges in five main areas. Understanding these challenges will help us overcome them.
“AIOps” stands for “artificial intelligence in IT operations,” or using machine learning and data science to solve IT problems. AI can help with many IT functions, including detecting and remediating outages, monitoring availability and performance, and IT service management. Like with DevOps, a tester plays an important part with AIOps—they just have to determine what that is.
DevOps does speed up your processes and make them more efficient, but companies must focus on quality as well as speed. QA should not live outside the DevOps environment; it should be a fundamental part. If your DevOps ambitions have started with only the development and operations teams, it’s not too late to loop in testing. You must integrate QA into the lifecycle in order to truly achieve DevOps benefits.
With 2020 upon us, software development firms seeking to increase their agility are focusing more and more on aligning their testing approach with agile principles. Let’s look at seven of the key agile testing trends that will impact organizations most this year.
Testers gather lots of metrics about defect count, test case execution classification, and test velocity—but this information doesn't necessarily answer questions around product quality or how much money test efforts have saved. Testers can better deliver business value by combining test automation with regression analysis, and using visual analytics tools to process the data and see what patterns emerge.
Faster DevOps processes also create new challenges. It was difficult enough to add security into a traditional waterfall software development lifecycle with monthly or quarterly releases, but now software updates are released several times a day! What can developers do to build and maintain more secure applications? Here are some ways to encourage better security practices throughout the DevOps lifecycle.
Continuous testing means all your tests are executing all the time, providing continuous feedback into the quality and health of your applications. In order to achieve continuous testing, you must first adopt the right test automation strategy. Understanding how to bring in all different types of test automation practices as efficiently as possible enables you to get started down the path of continuous testing.
The advantages of shifting left and testing as early as possible are obvious. But as you automate more testing, the test suite grows larger and larger, and it takes longer and longer to run. Instead, just automate the process of finding the right set of tests to run. The key to that is machine learning. This isn't AI bots finding bugs autonomously without creating tests; this is a different way to use machine learning, and it’s far simpler.
A growing company was tasked to develop a test automation program from scratch, change its coding practices, and build a continuous testing toolchain. Martin Ivison details how they did it, including realizing that implementing the traditional test pyramid wasn't going to work—it would have to be turned upside down. They found out that small is beautiful, cheap is good, and cultural change matters.