Software Engineering | Automated Testing
Automated Testing is a technique where the Tester writes Scripts on their own and uses suitable Software or Automation Tool to test the software. It is an Automation Process of a Manual Process. Allows for executing repetitive tasks without the 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 turn Lowers the Returns.||Higher Initial Investment, hence higher Rate of Return.|
Automation Testing Process:
- Test Tool Selection: There will be some criteria for the Selection of the tool. The majority of the criteria include: Do we have skilled resources to allocate for automation tasks, Budget constraints, and Do the tool satisfy our needs?
- Define Scope of Automation: This includes a few basic points such as Framework should support Automation Scripts, Less Maintenance must be there, High Return on Investment, Not many complex Test Cases
- Planning, Design, and Development: For this, we need to Install particular frameworks or libraries, and start designing and developing the test cases such as NUnit, JUnit, QUnit, or required Software Automation Tools
- Maintenance: Creation of Reports generated after Tests and that should be documented so as to refer to 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
Disadvantages of Automation Testing:
- It requires a lot of effort for selecting the tool and designing customized software.
- There is always a human factor, i.e., it can’t test everything like humans(design, usability, etc.).
- Tools might generate unexpected errors.
- Not every method or every process may be automated.