Automation is the right thing to do. You want to do it and your team is excited about it. But it could fail. It is important to not go overboard and select what to automate and what to leave as a manual test. On the other hand, getting it right will bring you lots of benefits.
So, now, if you are brave enough, here’s how you can do it.
Implementing automation testing in software development projects has become a key strategy for software development teams. Hypothetically, it will speed you regression cycles, will lead to higher productivity, product better software quality and, of course, reduced costs.
Sounds like a dream come true, right?
Well, not quite.
Not Every Project is a Contender
Not every project is able to achieve the promised land of efficient automation.
Before you decide to start an automation project, you should ask yourself these questions,
- Why do we want to automate?
- Which tests should we automate?
- When should we do it?
- Who should create/execute automated tests?
- How should we automate these tests?
- Do i have the right team and tools to do it?
Top Five Reasons Why Automation Projects Fail
- You cannot have a successful automation project unless you have a successful manual testing project.In my opinion the principle of a testing project (whether it’s manual or automated) is based in one simple thing: to test the set of things that will allow you to deliver the highest quality software to the client/user. If you don’t know what your testing goal is, then you are not ready to start an automation project. There are a lot of projects where they see automation as a way to reduce costs but before thinking about saving time or money, you need to make sure you’re testing the right things.
- Trying to automate everything.A realistic goal is to automate 70-80% of your test; 100% is just a pipe dream. Not all of the test cases can be or need to be automated.
Start with test cases that cover high risk areas.
- Wasting too much time in automation.Other test cases just take too long to automate between releases. Particularly, areas that change a lot between releases may end up being a waste of time to automate.
- Automate and then stop caring about already automated tests.A very common mistake in automation projects is that once a test is automated we just keep running them over and over again without doing periodic reviews to check. For example, a test may need to be updated because the conditions under test changed.If you keep running expired tests, you are just wasting time and compromising your product quality. Exactly the opposite of what wanted to do when you started your project.
- Treat manual and automation teams as independent teams.A lot of people believe that manual and automation testers don’t have to work together because their tasks are completely different. This is false. Each complements the other.Yes, they have different skills sets. But they will produce better results if they work together in a unified approach.
In the project I work on, manual and automated testers get together to review and select test cases for automation. All others are keep manual. This way we don’t waste time automating unnecessary test cases.
These are some of practices that have worked for me consistently in automation projects,
- Define your objectives for automation.
- Build the right team and invest in training them.
- Be clear that automation WILL NOT replace manual testing.
- Treat automation as separate and distinct form development.
- Choose testing tools that best fits your project.
- Measure and improve continuously.
- Create good documentation and handoff procedures.
Starting an automation project requires high level planning and preparation. Make sure you get the tools and team that will take you to the promised land. The automation test suite development will go through the same life cycle as the product it tests. It never “ends.”
Doing it wrong will be a complete waste of time and resources.
Please, let me know if you’d worked on automation that have failed for some of these reasons. And also let us know about how your automation project succeeded and why.