Codeless Automation Part 1: Is it Magic or is it Real?


Automation has been touted as the inevitable future of QA web testing for years now. It makes sense, using the latest technology to make testing stronger, more consistent and allowing for immediate feedback are huge boons to the testing world. However, peeking around online you might start seeing phrases like “Automation requires a lot of time and effort”, “It's not as time-saving and cost effective as we once thought” and "Experienced programming skills needed." Huh?  Why are these concerns now being added to the conversation?

I’ve lightly dabbled in automated testing using a combination of C# and Selenium.  From that experience I was exposed to needing to learn about page object models, classes, static vs non static functions, parameters, arguments and lots of other coding basics. With that extremely basic knowledge the idea of codeless automation seemed impossible to me.

The basic idea of a codeless automation tool is that it allows a tester who has little to no coding experience take a step towards automating their testing and possibly contributing to already established automation practices.  That's a pretty horrible generic sentence but I like it. Let me explain with an example. Note - I think I'm going to refer to codeless automation as CA from now on because, well, it's just quicker.

After some quick research I found a handful of tools that advertise as CA so I picked one and spent a day with it.  It's a web based tool with nothing to download so I was pretty much up and running in no time.  That's a good start.   As you create every step it allows you to be descriptive as you want to be.  It uses the basics of pretty much any automation process, by using element locators such as ID, Class Name, CSS etc etc. The ability to create variables with random numbers and strings is a nice touch as those can really allow you to run your tests multiple times and create varying data. Other actions you can do consist of pauses, right-clicking, write text, taking screenshots and simulating page refreshes. Another cool feature is that when the test finishes, whether if it passes or fails, it automatically creates a video to watch the test run. I haven't looked into this yet but you can export your tests into various file types so they can be included into continuous deployment chains.

Things you can learn from this tool if you have no coding knowledge:
  • Puts upon you to understand that you need to do every step.  Gotta tell the computer to do everything.
  • You will inevitablly be exposed to the inner workings of your site and shows you how web pages are structured. 
  • It will teach about assertions. This seems like a basic premise but knowing that you need to validate your tests is a step that may not be obvious to some.

At the time of writing this article here are some important features I have not comes across yet or just do not exist:
  • Can't step through each action manually.  This helps with debugging.
  • Can't watch the test run in real time.  You get some small text results as it runs but not the actual UI.
  • If the test fails you cannot start the test again at the failure point.  You need to run it from the beginning
Note - After speaking with the vendor it seems that they have lots of improvements coming down the line and not too far down the line at that.

Manual testing will never fully be eradicated.  You will always need human eyes on the higher risk areas.  However, for manual testers who have no coding experience, this at least gets them in the ballgame. This is a introductory way to get your already existing testers who have lots of product knowledge started on the path to automation. And if you are a brand spanking new startup and have zero automation and need to start somewhere quick, this could be a good option to get some type of coverage.

As with everything else evolution is starting to hit software automation.  It's been around for a bit now and it is now up for reflection and scrutiny.  Some companies are acting upon this with some intriguing tools and we, as testers, should welcome this bridge-like step between coding and testing.
This is a technology rife for opportunity but it is not fully being realized yet. CA had my curiosity when I first heard about it but it now has my attention.

Part 2 coming at some point in the future...

Comments