views:

366

answers:

3

what is the purpose of automation testing?

According to me the main purpose is

  • Fast
  • Removes repetitive manual work

My main query comes here. If after automation if it only reduces repetitive manual work but it is taking almost the same time as it was taking before then is automation feasible in this case. As to make the testing automated it takes some time by the tester to create.

So if one resource is dedicating 15 working days to create the framework of the automation testing and later if he gets that the automation testing is just reducing his repetitive work but not reducing the time required then what is the profit of the organisation from this automation testframe provided the resource is dedicated to that part which he automate.

+5  A: 

The profit is long term :

  • short term, it take time to create the tests
  • short / middle term, you gain some time running them ; but it is balanced by the time taken it write them
  • long / very-long term, you can run the tests over and over again ; each day, you gain some more time ;-)

You also have the advantage of having reproducable tests -- easier to get the same results each time, comparing between two builds if/what went wrong...


Also, once you have your tests which are complete, lots of things are tested each time they are run -- on the other hand, would a human being do the same tests over and over again each day ? Would you ?

Considering too many developpers don't even fully test their application once... I bet no-one will test his application every day / each time a modification is made.


Considering the feasability : well, last year, I spent something like 20 days writting automated tests ; those are still run 2 times a day each day -- and still sometimes identify regressions on (not often used by develloppers) parts of the application no-one would test manually, or in parts of the application that are so hard to get to (many screens with long forms and complex process) that no-one ever tests them manually too...

It took time, yes ; but it definitly was a great investment !

Pascal MARTIN
What will you do in the scenario when - you have to run the test case twice or thrice a month or two months - you don't know the next road map of the project (whether this version that you are releasing is the last one or not or the client is going to take some other new updated counter part)
PJ
Why not run your tests more often ? If run only a couple of times a month, I wonder if automated tests are really useful, in your case...
Pascal MARTIN
All automated tests should be run *at least* once a day as a part of a daily build. Running them on a CI server after every commit is better. And the best is for every developer to run them after every code change - that is, *every couple of minutes* (assuming a good unit test suite which takes a few seconds to run). Manual tests can not do that.
Esko Luontola
What I try to do when it's possible is have some continuous integration plateform that runs the unit-tests every couple of minutes (or at each commit) ; and the functionnal-tests, which take lot of time if using something like Selenium, are only run a couple of times a day.
Pascal MARTIN
+1  A: 

The main benefit from automating your testing is that it will expose when you made changes to the code that caused a regression, where something that used to work fine is now broken. The payback computation on the automation work really depends on how much your code changes. If you're unlikely to ever touch the code once it's tested as working, then automation is of limited value relative to what it costs to develop. But if developers are going to be hacking at the program regularly, you can bet that automating the tests that pass will eventually pay for itself. You'll find regressions as soon as they're introduced, rather than later when the cause will be much harder to determine, and it doesn't take many such expensive events to pay for the cost of automating the tests in the first place. And if you consider the quality of the released code to be important, automated tests to find regressions before something goes out are even more valuable.

Greg Smith
+3  A: 

Building of escalators and elevators takes a great deal of time and money. They also require maintenance. But people using them have the convenience quickly getting to the floor they need. They're still walking too.

As you see from this analogy, Test Automation clearly is not the same as Automated Testing. But once it's implemented, testers may use it to get test results automatically. That saves time and helps to extend the coverage.

You also don't really need elevators in small house with 2-3 storeys. For 5-7 storey building it becomes valuable. For 10 and up storey building it is necessary, and the more floors you have, the more elevators and escalators will be required.

Replace storeys with functionality modules to get back to Test Automation needs.

Thanks.

Albert Gareev
awesome analogy!
Tom E