Introduction: 5 Steps to Jumpstart Test Automation
Getting started with test automation can seem daunting. How do you know where to start and what to focus on? In this series of blog posts, I’ll offer concrete advice to help you jumpstart your test automation efforts. Why me? I’m a Selenium enthusiast who is passionate about testing, especially UI testing. I currently work as a software engineer at Sauce Labs. I co-created Zalenium, and help maintain the most used docker-selenium images. But it might be helpful to share with you some background on my personal testing story. I too was once just getting started with automation, and hopefully my experience can help you do the same.
My Testing Journey
Years ago, after getting my degree in computer science, I got a job as a developer. At that time, testing was primarily done by end users—we would hand over spreadsheets with all the test cases. Later, I got a job as an automation engineer where I wrote tests for every single use case. I started doing UI automation with Selenium and took the same approach, again writing tests for every use case.
At the time, I didn’t think about whether that was the right approach or not. But then I noticed a problem. My test suite went from taking 20 minutes to run to upwards of 60-70 minutes! Uh-oh. Could it be too many tests? Or did I just need to tune the infrastructure? I ended up building my own infrastructure and scaled it up. I was able to improve the performance of the tests back down to 15-20 minutes. So then, of course, I thought the best idea would be to—you guessed it—add yet more tests. I started writing tests for every use case again.
It’s a vicious cycle! After a few rounds of this, I realized I was not tackling the problem the right way, and that automation was the key to solving it.
Simply put, automation gives you the opportunity to spend less time on repetitive tasks and move on to solving bigger challenges, hopefully ones that are more fun. Also, there is a trend in the software industry: getting software out the door faster and faster. We are finding ways to speed up our releases more and more, and in order to keep up, we have to automate.
In this series, I’ll cover five specific areas that will help you jumpstart test automation and get the most out of it:
- Team Setup: I’ll give advice on how to handle various team setups and ensure great communication, whether the testing team is integrated with the dev team or stands alone.
- Testing Framework: I’ll discuss why to use a framework, talk about what features a framework should have—and why you should consider open source.
- Test The Right Thing: We can’t automate everything. Creating and maintaining automated tests takes time, so I’ll help you think critically about what to automate.
- When To Run Tests: I’ll discuss the evolution of testing and how to use automation to move your organization forward toward Continuous Testing.
- Get People to Join You: In the final installment, I’ll offer advice on how to motivate yourself, your entire team, and your company to invest in automation (and discuss the risks of not doing so).
In the next post, we’ll start with how to manage your team setup. If you just can’t wait, check out the webinar that I presented recently that covers the 5 steps to jump-starting your test automation.
- Accessibility Testing
- Appium Resources
- Best Practices
- Continuous Delivery
- Continuous Integration
- Continuous Testing
- Cross Browser Testing
- Guest Blog Posts
- Load Testing
- Machine Learning
- Mobile Development & Testing
- News & Product Updates
- Open Sauce
- Open Source
- Performance Testing
- Product Updates
- Quality Assurance
- Quality Engineering
- Sauce Product Info
- Security Testing
- Selenium Resources
- Software Development & Testing
- The Story of Sauce