Tuesday, August 23, 2011

Software Test Automation

This is all about the Test Automation and how we can use this to improve our day to day activities. After reading this you will get the basic idea about the way we should automate things.

What is Software Test Automation - 

Test Automation uses Strategies, Tools and Artifacts that reduces the use of manual or human involvement in testing repetitive or redundant tasks.

Type of Tests which we can Automate -

Regression, Functional, Load, Stress, Smoke, Unit.


Advantages of Automation -

 - Defects can be discovered earlier with a fail fast strategy.
 - Reduce test execution time.
 - More accurate interpretation of test execution.
 - Test more often.
 - Aids in testing a large test matrix.
 - Most regression tests can be run on a nightly basis.
 - Reduces overall cost of application development.
 - Improves the reliability and quality of the Product.

Drawbacks of Automation -

- Writing test automation scripts is not an easy task – Resources, Skills, Time, Tools, etc.
- Test maintenance is costly and difficult when requirements keep being adding and changing

- Scope Changes.
- Automation Script Errors - False negatives
.


What should automate first?

 - Repetitive tasks that are boring or tend to cause human error.
 - Well developed and well understood use cases or scenarios first.
 - Relatively stable areas of the application over volatile ones.


Guidelines for Automation -


 - Concise and Clear: As simple as possible and no simpler.
 - Self-Checking: Test reports its own results; needs no human interpretation.
 - Repeatable: Test can be run many times
 - Robust: Tests are not affected by changes in the external environment.
 - Efficient: Tests run in a reasonable amount of time.
 - Independent: Each test can be run by itself or in a suite with an arbitrary set of other tests in any order.
 - Maintainable: Tests should be easy to understand and modify and extend.

Myths in Automation -

 - The tool is going to replace manual testers.
 - The tool will be too difficult for testers to use.
 - Test Automation is very easy or everyone can do Automation testing.
 - Automation is Record and Playback.
 - Find more bugs.