Wednesday, September 1, 2010

First Generation - Need for Automation Testing

Before discussing any thing about Automation we should make sure that we are not having a wrong notion of
Automation is the replacement for Manual Testing   
Pain Points in Manual Testing
  1. Remember and Re-run:
    Regression Testing will be increasing difficult due to hard to duplicate circumstances, seemingly unrelated features that may have been inadvertently broken due to the modification. 
    Also remembering every unusual test case from the previous release's testing and executing with high precision for the new release is a daunting task.

  2. Spirit of Agile is lost:
    Developers waiting for QA for a day to know if there are any blockers in the given build. This happens if there is any issue in the last step of a work flow and as manual testing takes a day to complete Smoke.

  3. Repetitive means boring:
    Repeating test case execution in different environments induces human errors like overlooking details, etc. and losing sight on obvious defects.

  4. Out of time:
    Sequential execution of Test Cases on different environments is eating up the time.
Good Home work

Before automating, Test Cases should be documented, categorized and prioritized.

What should we automate?
  1. To run a set of tests repeatedly, automation is need of the hour 
  2. It gives you the ability to run automation against code that frequently changes to catch regressions in a timely manner
  3. To execute test cases on different OS platforms and on different browsers. 
  4. Parallel execution of automated tests can save a lot of time which can be used to test other critical features.
What should we test manually?
  1. Test Cases executed very few times or test cases which are difficult to automate should be tested manually.
  2. It allows the tester to perform more ad-hoc testing. 
  3. If the tools have any limitations, those tests are manual.
  4. If return on investment on automation is low as in some cases the cost of setting up and supporting the test cases, the automation framework, and the system that runs the test cases is very less.
Criteria for automating

Automating a Test Scenario yields better ROI practically in following conditions (8 out of 54 conditions)

ImportanceCost to AutomateTechnical FeasibilityRepeatabilityTest Mode
HighLowYesHighAutomation
HighLowYesMediumAutomation
HighMediumYesHighAutomation
HighMediumYesMediumAutomation
MediumLowYesHighAutomation
MediumLowYesMediumAutomation
MediumMediumYesHighAutomation
MediumMediumYesMediumAutomation

No comments:

Post a Comment