How to Get Started With Test Automation

robot holding pencil

Matthew Hurst

Automation is the key to fast testing with high quality — it’s how you deliver product quality at speed. But here’s the catch: Automation is easier said than done. When it comes to the necessary skills, automation still requires some sort of coding.

For all you manual testers: if you have a developer friend or a penchant for coding, now is the time to invite them out to coffee every week, or bust out that coding book you’ve been using as a doorstop. To become a beginning automator, you need to create a few different things — all of which require some coding under your belt.

So where do you start? You have a few options when it comes to the “how”:

  • Buddy up with a developer friend (buy them that coffee).
  • Online courses or books.
  • Use the tools out there to help you get a leg up.

The first two are self-explanatory, but here’s a little more info on the third: It’s pretty easy to find the testing tools you need for this scenario. Basically, you need tools that have AI (record and playback, in particular). Coding comes into play of course, but AI-driven products give the best of both worlds: learn to code while using technology to help you get started.

The reason this could happen is when you use the record-and-playback, you can see the scripts created and learn from the proposed scripts.

Tips and Techniques to Get Started With Automation

To learn to code, first choose a language. I recommend Python or JavaScript. Both are relatively easy to start with, and most software vendors have robust support for them. There are lots of communities (more on that below) to draw on and many ways to learn — before you commit to being the automator of the group or business.

With a language picked out and a place to learn how to create scripts, it’s time to get your tech stack in order. It’s no simple task. You need to understand how automation works. Find someone in your organization who already does automation and see what they’re doing.

If no one is readily available, a ton of different testing platforms can help you collaborate on the scripts and stacks. Find out what products you need to learn and download, integrate and support. Again, that’s a lot of technology knowledge requirements — but don’t worry. There are many open source communities already working in your area that can help.

Related Article: The Real-Life Steps to Making DevQualOps Happen

Robust Communities Team With Those Who Help and Need Help

Don’t try to do this all yourself. Thousands of people have been in your situation, and they’ve either used their online community to seek help, or they’ve come back to give help. Either way, the software development community is a phenomenon in and of itself, and by starting down this path you become a member of it.

While you’re adopting the automation mindset, choose a philosophy for development. Behavior-driven development (BDD), for instance, can help frame what type of automation to engage in. And if you choose BDD, then Cucumber Open, Cucumber School and CucumberStudio are all super helpful places to go for learning and support. Overall, a hybrid, blended, balanced approach is the best.

Does This Mean I Don’t Have to Manually Test?

While this article focuses on getting you started in the world of continuous testing and continuous deployment (CI/CD), that doesn’t mean manual testing is passé. Far from it.

Manual testing, or exploratory testing, continues to be imperative in an organization that looks to drive quality into the fabric of their BDD or agile development lifecycle. At the end of the day, the most successful teams and organizations support the most diverse set of testing and automation practices. These hybrid organizations are able to adapt to the changing needs of the business as well as the changing requirements of the products and applications we’re building, designing, and imagining.

So, a truly agile organization strives to blend the most amount of automation with the best exploratory testing to give the teams a 360-degree quality view of their products preproduction — all while implementing systems to monitor the performance of their product in post-production.

Related Article: Strategies for Implementing Continuous Integration/Continuous Deployment 

A Recap 

That’s the gist of what you need to know. For a quick recap, here’s a basic formula you can follow to get started:

  • Define the application. UI/APIs/EDA/whatever objects you want to test.
  • Select the right testing framework. 
  • Select an appropriate language for building your automation scripts and suites.
  • Learn to code these (record and playback can be helpful).
  • Select an automation platform (Selenium/SoapUI/Cucumber Open/Apache Kafka are popular).
  • Select a service or location to run your tests.
  • Have fun.

Helpful Links

Learning Java

Learning Python

Learning about testing frameworks


Communities to join

Joanna Schloss joined SmartBear as VP of Product Marketing with more than 20 years of experience successfully transforming and evolving both global 500 companies and startups. She has extensive knowledge in big data analytics and business intelligence and has launched a variety of tools and applications for various companies, including Confluent, IBM, and Oracle, among others.

Source link

We will be happy to hear your thoughts

Leave a reply

Compare items
  • Total (0)
Shopping cart