| || |
Regarding automation roadmap
My manager asked me to prepare automation road map. could any one please explain what should be the content in automation roadmap.
Thanks in advance.
Your manager is asking for your plan of where you want your automation to go and how you intend to get there, expressed at a high level. The kinds of information you'll want to include are things like the current state of your automation, its major shortfalls (things like areas that don't have enough coverage, fragile parts of the automation system, new developments that haven't been automated yet and so on), and how you're planning to fix them - which problem is your highest priority, roughly how long you expect the correction to take, and where you see the end result being.
You don't want to overwhelm your manager with details - but you want the details there if they're needed.
Your goal is to show your manager that you're thinking about where your automation is now, where it needs to be, and what you need to do to get it from one to the other.
This is what I would try to do, if I were establishing something from scratch.
1. Research choosing tools and frameworks that can work with the SUT.
2. Establish a proof of concept with a few simple tests that involve the most complicated parts of the UI. This will help validate if you've picked the right tools and frameworks.
3. Re-organize the code into a enterprise quality framework. (refactor all those little hacks, and bad coding you've used to get a quick proof of concept, and write more manageable modular code. At this point you'll also want to establish source control.
4. Establish a suite quick set of smoke tests.
5. Integrate the testing into the developer workflow. I recommend making your tests very configurable so it can run on dev machines, and establishing a CI based workflow.
6. Long process of writing a large set of regression tests.
7. At a certain point, (actually happens quite quickly), you'll find that your tests will take too long to run them all quickly enough. So at this point, you'll want to start looking at scaling up your tests. Parallel execution, automatic platform provisioning.
8. At some point in a long living project/product, you'll find there's multiple teams and multiple parallel development. At this point you'll want to invest in Parallel deployments so you can be running your tests on concurrent builds. You may want to switch away from the cheap free tools like Jenkins, and move towards enterprise solutions that support automatic branching like Bamboo, and invest in cloud deployments so you can have multiple versions deployed and tests running at the same time.