T : +(603) 7806 3550   |   F : +(603) 7806 5586

Friday 14 February 2014

Automate Everything

Automation can be a tedious task, but often you would tell yourself that this will eventually have a greater outcome, just that you just don't know where to start? 

Automation can be essential for upscaling and improving competitiveness, but quality or reliability shouldn't be sacrificed where efficiency is gained.

Contesting yourself

Thinking about automation is like staring at a unorganized kitchen waiting to be cleaned out. You walked into a disaster that has already happened, and the best part is you have not even started let alone know where to begin.

If you are thinking along the lines of, "Hey I need to automate everything that I am currently manually testing, along with all the things you and your project team would be testing before releasing software updates to your customers. Before even starting you might just throw in the towel and walk away, without even starting, because the task can seem extremely intimidating.

The key here is to take the challenge head on and strip down the massive task into smaller byte-sized pieces and get the work going!

Choosing a section

Cleaning a kitchen is crazy, but the process can be made easier (not so scary) if you started in a small corner with one small thing, and worked your way slowly across the kitchen, picking up things that were not meant to be there and putting them in the correct places - and before you know it, the kitchen is organized and clean again (I bet that you would have found some utensils you have not seen for a very long time).

This rationale works with test automation as well. A massive project can have a big bunch of work, but you, or your developers and project management team can choose one small area to start with that you would love to see covered by automation. Then focus on that part, and move on slowly across the project and picking up things along the way that also require automation - and before you know it, the project is suddenly fully automated and ready for action!

Getting Started

The key to anything is actually to get started. It can be small and it does not matter, because the key is to start with something and eventually you will build enough momentum to carry on and finish up what you need to. You can use Selenium or any user interface (UI) testing to start. As an example here is how to get started in a corner (as earlier highlighted):

  1. Pick your feature to put under test automation.
  2. Code some tests around a single feature in your project - you can use Selenium to record a small, short set of test modules.
  3. Get a few servers (make your life easier and get some servers from a host like EVERWORKS a reliable host provider from Malaysia).
  4. Get a continuous integration system, CI, (eg. Jenkins) up and running.
  5. Find a Jenkins plugin for your version control system (Plugins Here!).

There are other alternatives to Jenkins, Github, or Selenium out there, but for plain reference and ease of the majority, I have provided these three (3) as some examples.

Please take note that there will be a definite learning curve if you have never used either Selenium or Jenkins ever before, but in a few days (investment of a little effort and time - it shouldn't take long to learn the basics of either) you should be well on your way.

Your benefit

The minute you get started, the faster you will get some great know-how on things such as:

  1. Testing Framework Knowledge
  2. CI System Knowledge
  3. Your own CI System
  4. One part of your project is already under automated testing
  5. Positive attitude to tackling large daunting projects


Now that you have done most of the heavy work of getting the CI into place, getting automation to work in your next task will be smooth; and before you know it, you will have already created a bunch of modules ready for automation, creating a snowball type like effect as you continue to get your game on!


Post a Comment

Related Posts Plugin for WordPress, Blogger...