reverse engineering,posted this a while ago on http://www.softwaretestingclub.com thought it might make sense on the blog as well.
so,here goes why should we automate a test or not automate it ?
depends on several factors , some which I can recall at the moment are..
1. how many times/often would the test be executed ?
2. how easily and accurately the test can be executed manually ?
3. how accurately measured you want the test to be ? are we talking micro seconds here ?
4. are you be able to correctly determine whether the test is a pass or fail using a manual execution method ?
how accurately can the automated test record relevant side effects ?
5. do you have the resources ( time,tools,people) to automate the test ?
6. would it be worth it ? cost vs value of automating it ? what service would the automated test do for you over and above manual tests?….provide funcitonal , UI , regression , security( to your manager…”we are a good test team..because we automate 🙂 ) , documentation , free u up with some time from the mundane work ?
7. would the automated test be easily,accurately maintainable as time & project complexity multiplies ? cost vs value again to maintain it ?
8. one aspect which personally influences me a lot in this decision is that I prefer not to automate newly impplemented funcitonalities , go for manual execution first and with time as the UI , functionality matures and I have fewer things to observe , worry about in the area …automate it for alerts e.g regression . So, regression testing is a strong contender for automation.
9. how would the results be recorded ? how reliable would they be ? how would the results be compared with legacy builds ? how do you record/observe quality deltas ?
10. what about the interesting things that happen as/as a side effect of the automated test being executed ? can you afford to miss them or you dont worry about them ( e.g. functioality is mature we are not expecting surprises along the way )