Software Engineering | Automated Testing
Automated Testing is a technique where Tester write Scripts by own and uses suitable Software or Automation Tool to test the software. It is Automation Process of a Manual Process. Allows to execute repetitive task without intervention of Manual Tester.
Manual Vs. Automated Testing:
|MANUAL TESTING||AUTOMATED TESTING|
|Not accurate at all times due to Human Error, Therefore Less Reliable.||Since it is performed by third party tools and/or Scripts, therefore More Reliable.|
|Heavy Investment for Human Resources.||Investment for Tools rather than for Human Resources.|
|Time Consuming.||Faster than Manual Testing as it is executed by Tools.|
|Allows for Careful Human Observation.||Practical option when test cases are run repeatedly.|
|Initial Investment is lower which in turns Lowers the Returns.||Higher Initial Investment, hence higher Rate of Return.|
Automation Testing Process:
- Test Tool Selection:
There will be some criteria for Selection of tool. Majority of the criteria includes : Do we have skilled resource to allocate for automation tasks, Budget constraints, Do the tool satisfy our needs ?
- Define Scope of Automation:
This includes few basic points such as : Framework should support Automation Scripts, Less Maintenance must be there, High Return on Investment, Not much complex Test Cases
- Planning, Design and Development:
For this we need to Install particular frameworks or libraries, start designing and developing the test cases such as NUnit, JUnit, QUnit or required Software Automation Tools
- Test Execution:
Creation of Reports generated after Tests and that should be documented so as to refer that in future for next iterations
Popular Automation Tools:
Why to transform from Manual to Automated Testing ?
In the year 1994, An aircraft completing its Routine flight crashed just before landing. This was due to some bug or defect in the Software. The Testers didn’t even care about the final testing and hence this accident happened. So in order to replace for few of the Manual Tests (mandatory), we need Automation Testing.
Reasons for Transformation:
- Quality Assurance
- Error or Bug free Software
- Safety Assurance
- Multiple OS Support
Advantages of Automation Testing:
- Simplifies Test Case Execution
- Improves Reliability of Tests
- Increases amount of test coverage
- Minimizing Human Interaction
- Saves Time and Money
- Test Results are made public