As we are sometimes told to look at ourselves in the mirror - the same rule applies to any organization planning for test automation.
Process: Ideally, automation work needs to be part of a delivery process – “baked” into the process as we say. This approach ensures all features receive complete test coverage without delay, as a part of the development life cycle and dodoes not generate additional technical debt in the backlog - something very challenging to deal with later. I would personally vote to avoid any kind of technical debt at all costs. This strategy also applies If tech-debt already accumulated and there’s a substantial backlog of tests that need to be automated. Many successful teams swear by it. Pulling some backlog items into the sprint work will ensure continues progress in tackling backlog. That means that a test automation initiative - net new, optimization, or clean-up - will require investment up front and an initial hit to velocity, but you will thank yourself for it later.
Tools: Tools can be tailored to a skill set of the team and any knowledge gaps can be filled with training and solid processes in place to accommodate changes. Answer the following questions:
- Are my testers technical enough to learn scripting language or perhaps already have experience?
- Can they be trained in a reasonable time frame to script?
- Do we have someone on the team to supervise, teach best coding practices and review the work?
If the answer to any of the above questions is no, perhaps scriptless solution is something to consider.
If the answer is yes, then exploring an open-source tool might be the right strategy.
Planning: Lastly, many teams make mistakes by jumping right into building scripts without giving it much thought. Careful planning and preparation are very important here. Prioritize the type of tests you want to start with – maybe it is API, Performance or the UI. Asking yourself which area has the highest rate of defects might help make this determination.
Your manual test suite should be cleaned up and prepared for conversion to automation before any automation efforts can start. Define processes, standards, objectives and set some reasonable goals. Bring your teams along on this journey, supporting change management through providing resources, communication, and feedback loops.