Three things to consider when starting to automate your tests

Test-automation-consider-before-starting

Who is this article for?

I am taking this very important part of this post to save you some time. Here is who will benefit from this article:

  • Project Manager/Team Leader facing some of the problems that test automation solves , in the project he/she is leading
  • The experienced test engineer striving to make his work more efficient and more enjoyable in the long run
  • The young, ambitious test engineer wanting to prove himself/herself while gaining very desirable knowledge in the field

If you do not see yourself fit in any of these categories, you won’t find this article very useful.

 

So you’ve decided to automate, now what?

Good for you! This is very important and critical decision for you and your team – Automation will, indeed, save you a lot of time, money and troubles. There is a catch, though. You will gain all the benefits, only if you understand the important factors in doing for test automation.

Here they are in no particular order of importance:

Time constraints

it-takes-time

In order to get, you first need to give.

This is EXACTLY the case with test automation. It will repay you dearlyn but you need to pay a price upfront and the currency is time. Writing the code that automates the test case, is many times slower than doing the actual scenario by hand. As a rule of thumb – expect the test code to be written in as much time as it took the developers to write the functionality itself. Yep – that much.

Here are some things that should influence your decision depending on your specific case:

  1. Project length – If you are in a long-term project – automation is a must, but if you are in a short one – creating test automation half of the time would not be worthwhile
  2. Long-term support – If you need to support the product/project, test automation will save you a lot of trouble investigating and solving issues.
  3. Tight strict schedule – If your deadlines are fast approaching one after the other, take into consideration the portion of time test automation takes away.

 

Team ability

This one is pretty self-explanatory. If you or your team don’t have experience in automating your testing it will take some time for it to be done correctly and give the sweet fruits of the labor. Test automation requires different way of thinking both for quality-assurance engineers and developers.

If you are QA engineer you will need to put yourself in the frame of mind for following good coding practices, instead of just verifying things.

If you are a developer you will need to start thinking more deeply about the product and how will the users use/break it.

 

Testing tools

Laptop on a work table with DIY and construction tools all around top view hobby and crafts concept

This is a hard one but for a very different reason than the previous two. This time it comes to variety. There are so many automation frameworks available(ATMOSPHERE, Selenium, Robotium, Appium, etc). You need to define your criteria before even researching. Here are some questions to guide you:

  1. What platform does your product support? Android , iOS, Web, Windows, etc.?
  2. What kind of problem support do you expect? You can have an open-source community-based support and you can have paid personal customer support
  3. What coding language you and your team have experience in?
  4. Do you need to automate device specific behavior – gestures, sensors, location?

Having these in mind you can now start your research for the best candidate.

Take-aways

While generally correct decision, test automation can be very risky, if you don’t get the tricky parts right. Take your time and think about your situation in terms of the three points above. Make sure your decision is informed for both pros and cons about automation testing in general and the specific tool you plan to use.

P.S.

Feel free to ask us for advice in the comments or in our social media:

Twitter

Facebook

Leave a Reply

Your email address will not be published. Required fields are marked *