How to treat Automation in Software testing

In order to create good and maintainable test script automation, we need to treat it as a project. If it is handled as a side task for tester then it will not work. I can assure you it will create chaos and un-maintainable scripts. It should be treated as test development. There should be discussion and deep thought about the test architecture or test structure. There should be peer and code review to keep it clean. There should be a release plan or milestone about it. It should have maintenance time and bug fixing for the scripts automation itself. Yes indeed, there are sometimes bugs in the scripts itself.

I always imagine the process is like ‘building a house’. There will be initial process which is designing the architecture of the house such as the blueprint, the floor plan, and the materials that it will be used. When the structure of the house has been finished then it is shifted to designing the interior of the house such as painting, choosing the furniture, filling up the cabinets, etc. Even after that there will be other steps like maintaining the pipe, the floor, fixing the broken window, etc. So the process is most likely the same as Automation in software testing or Development in a project.

This kind of things are usually overlooked by a lot of company or teams. They keep thinking that automation can be built in like several days. Automation does not come as a free object. Even though it is called automation, it still needs resources to implement things to make other thing automated. It is the same as a development project. You need resources to develop or implement things to make another thing visible. For example; you want to automate the payment therefore you need resources to develop payment automation to create it. The code is not created automatically out of the blue just by saying it.

Most people keep thinking that it will be automated automatically and don’t need to be implemented correctly as long as it does what it needs to do. Well, forgive me my friend, What happens if I say the same thing with the development codes that you have written?