Sunday, May 4, 2014

When to automate and when not to automate?



Some hints may just help you decide:


  • Pick a good time to start automating
  • Automation is best used after the tester has grasped the fundamental testing skills and concepts through manual testing experience. Another good time is when the tests that are going to be repeated or simulated, as normally found in regression testing and performance testing, respectively. As this goes, not all testing approaches may justify the use of automation
  • Rex Black in his article, Investing in Software Testing: Manual or Automated? concludes that the decision to automate testing comes from the need to repeat tests numerous times or reduce the cycle time for test execution while higher per-test costs and needs for human skills, judgment, and interaction incline towards decision to test manually. 
  • Not all testing approaches are suitable to automate
  • Suitable: Acceptance, Compatibility, Load, Volume or Capacity, Performance and Reliability, Structural testing, Regression, Exception or Negative testing. 
  •  

     
           Type of Testing
           
          
Acceptance testing
Formal testing with respect to user needs, requirements, andbusiness processes conducted to determine whether a system satisfies or does not satisfy the acceptance criteria and to enable the user, customers, or other authorized entity to determine whether or not to accept the system.
Compatibility testing
The process of testing to determine the interoperability of a software product.
Load testing
A type of performance testing conducted to evaluate the behavior of a component or system with increasing load, e.g. numbers of parallel users and/or numbers of transactions, to determine what load can be handled by the component or system.
Volume/Capacity testing
Testing where the system is subjected to large volumes of dat
  Description (adapted from source: http://www.istqb.org)