Truly Becoming Agile by Piping in Automation Testing
If you have worked in the technology industry during the last few decades, you have heard the term ‘agile’ more times than you can count.
Agile, DevOps–the industry tosses these buzzwords around like free candy. But how can companies become agile in today’s technology sector?
The answer might surprise you: Testing.
Ok ok, we have to admit…that statement is a bit misleading. Not all testing is going to kick CI/CD (Continuous Integration/Continuous Delivery) into overdrive.
But automation testing will.
Find out how KMS can help you become fully agile with our testing services!
Challenges without Automation Testing
Without automation, testing bottlenecks at the end of the SDLC (software development lifecycle)
But automation addresses many testing challenges. For example, automation can mitigate low team bandwidth, small team size, long regression cycles, limited test coverage, narrow automation focus, and more.
By spreading testing throughout the delivery cycle, companies increase the efficiency of their teams AND keep continuous delivery in motion
Better convinced by the numbers? Check out these stats from our latest ebook, 3, 2, 1…Liftoff! How Continuous Testing Launches Continuous Delivery into Orbit.
Want to know what else we uncovered in our survey? Check out the full Continuous Testing infographic!
What Tests Should We Automate?
A lot of teams tend to focus on automating UI (user interface) tests. It makes sense, your customers directly interact with your UI.
But, automating UI tests is not enough to enable agile software development. These tests are time-consuming, flakier, and harder to maintain. Bottom line, only automating UI tests won’t improve time to market.
That said, let’s look at both N-Tier and Microservices architectures. Check out these images.
Segment size matters–and you want to distribute automation focus accordingly.
For N-Tier platforms, focus on Unit Tests, followed by component tests, integration, and so on.
If you are working in a microservices application, check out our 2 part blog series, Crash Course to Testing in Microservices.
Another way to develop your automation strategy is with Liza Crispin’s Agile Test Quadrants. In the image below, you can see where different tests fall within these quadrants.
By understanding the effects of automating different tests, you can weave automation throughout the software development lifecycle (SDLC).
Setting Up Automated Testing
Once you know which tests to automate, you can begin automation set up.
- Create logical test suites.
- Select and choose what test suites are needed.
- Configure automation tools with CI/CD server
- Trigger and run tests
- Report and analyze results
Tools to Automate Testing Throughout the CI/CD Pipeline
With automation strategy in hand–let’s look at the tools that keep this automation machine moving.
By weaving automation throughout the CI/CD Pipeline, you can truly become agile. Better still, you can reap the benefits:
- Faster iteration
- Wider coverage
- More confidence
- More bandwidth for testers to do actual testing!
Sounds pretty sweet right? Find out how KMS can help you level up your test strategy.
This information was originally presented as part of Agile Day Atlanta 2019. To dive a little deeper, we wanted to share some of the top questions and answers from the event.
Agile Day Atlanta – Questions and Answers
How do I make my less technical testers use automation?
In agile organizations, testers are going to need to learn a little bit of coding. There is no way around it. But there is a way for your testers to easily learn necessary code. By using tools like Katalon, testers can manually perform tests and use the outputted script to begin to understand the code.
While these tools are great, your testers will need to be diligent and openminded to learn automation.
But, its a win-win for your testers. You will always need manual testing, but automation can tackle the repetitive (*cough* boring) stuff.
Think of it this way, I hate mowing the lawn. If I can find a way to automate that process so I can sit on my deck and drink a beer instead…of course, I’m going to do it.
What makes for effective reporting?
Reporting has to be insightful. Having reports that are just pass/fail is not going to cut it.
When building your strategy, look for tools that tell you exactly where there is a bug and give you actionable results.
Should we automate all of our tests?
No, you should not automate everything in your CI/CD pipeline.
You can’t run a full regression every time a build kicks off. That would take forever…and defeats the point of agile development and faster time to market.
Instead, sit down when you are sprint planning to understand what user stories are being used. Based on those user stories, you can pick and choose tests suites that pertain to those areas.
When is the best time to automate?
Ideally, automate your tests as soon as possible. Don’t wait until something is fully functional to test.
Start with the APIs. If you test your APIs and they fail…what is the point to move on to the next phase of development?
With automation tools like SoapUI making API testing fast and easy…it’s silly to not tackle these tests ASAP.
If your API doesn’t work, you UI won’t either. So don’t waste your time waiting to test.
So, is your organization truly agile? If not, KMS is happy to help. Check out our testing services or lets us know how we can work together to help your organization leverage automation and become truly agile.
This information and images were originally shared as part of Agile Day Atlanta 2019.