Test Automation
So first of all we should know what is mean by ‘software testing’?. Wikipedia says that “Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use.” There are two kinds of testing in the world of software
- manual
- automated
Some types of manual testing, such as discovery testing and usability testing, are invaluable. You can do other kinds of testing like regression testing and functional testing manually, but it’s a fairly wasteful practice for humans to keep doing the same thing over and over again. It’s these kinds of repetitive tests that lend themselves to test automation. Now we can move to our main topic.
Test automation is the practice of running tests automatically, managing test data, and utilizing results to improve software quality. It’s primarily a quality assurance measure, but its activities involve the commitment of the entire software production team. From business analysts to developers and DevOps engineers, getting the most out of test automation takes the inclusion of everyone. As a software engineering undergraduate I got a grate chance to learn about test automation by a session that conducted by a industrial resources person. This session is one of the best thing I got from our university. However I write this article based on that session.
Then why we use test automation? there are lots of benefits some of them are
- 70% faster than the manual testing
- Wider test coverage of application features
- Reliable in results
- Ensure Consistency
- Saves Time and Cost
- Improves accuracy
- Human Intervention is not required while execution
- Increases Efficiency
However if we going to do any automate testing we should follow the following steps.
1) Test Tool Selection
2) Define scope of Automation
3) Planning, Design and Development
4) Test Execution
5) Maintenance
other thing is type of automation testing. There are mainly four types of automation testing.
- Code driven
- GUI
- API/Service
- Mobile
From this image you can see the some of latest technologies and tools that can use to testing.
If we consider a GUI based application we can use following automation frameworks. Basically there are four main frameworks.
- Data driven framework
- Keyword driven framework
- Page Object Design
- ATDD
From this article I try to give a very brief introduction of test automation. So if you have interest about test automation please go through the following references also. I think then you can get more understand of test automation.