This is actually a multi-part topic and I will try to cover some essential concepts slowly in each part.But here’s the first part.Let’s take a fictional company with following attributes
- There are no automated testcases.This is the first shot by an organization to automate their testing
- Manual testcases are stable and the product has gone through multiple releases
- With the resources available,QA completes the regression cycle in 2 weeks
Now as the software complexity grows,QA will add more testcases and soon the regression cycle will also grow.With more to test,defects will invariably be discovered at later stages and more time will be needed to stablize the product.Soon this becomes unmanageable and to the market time becomes longer.With more and more organization adopting Agile/Scrum ,the QA organization has to start thinking about supporting shorter go to market cycles without compromising on the quality of the product.One of the important tools in this would be Automated Testing.However there are additional steps needed to take complete advantage of automated testing.Here is a small checklist of things
- Types of testing that you are doing and what kind of automation will support it
- Different levels at which you will automate testcases
- A percentage of automation tests will invariably fail.Are you ready to invest time for maintenance
- Test Case Management
- Continuous feedback from automation
- Skill set required within team for automation
- Tools and Technologies
I think it’s important to understand that automation is no panacea and requires dedicated effort and time to gain real benefits from it.In a separate post,I have given the reasons on why it’s important to automate.Having said that it’s important to do it the right way .Future posts,I will go in detail about the above points.