This article is all about Automated testing. Automated testing is a kind of testing in which manual intervention is not required. This actually contains a writing test suites which contains n number of test cases with unitlibrary and command line control which means to run the test suite.
Although the developers can decide that on the command line which tool-suite should run, that means it can be manual as well but we are not forced to choose that option.
To understand automated testing in a simpler way, we can also take it as a program which runs another program which is being tested.
What we will do while testing is we will run our program which is to be tested by giving it input and then we check it whether we get the expected output or not.
Automated Testing are categorized in two ways:
- Code-driven testing
- Graphical User interface Testing (GUI Testing)
Code-Driven Testing
It is also known by the test driven Development. It is a combination of Refractoring and TFD.
Test Driven Development is a software development process in which the developer first writes a failing automated test case and then he makes code to pass that test and then refractoring of the new code is done.
Data-driven Test Interface
GUI testing
As we know that Graphical User Interfacing is a very complex thing to do and automation testing is required for any larger Graphical User Interface. But Automated GUIs is not an easy task.
Because we know that text is easy to capture, compare and playback but in the case of Graphics it is more difficult to capture and compare.
A Good test-suite
Now lets see what quality a good test-suite contains. A good test-suite would be that which has tests for many different situations and if we want to add any other test, it should be possible as well. The condition of adding a new test would arise if any bug is found in the software.
Now there must be a question in your mind; Why Automated Testing?
Saves Time and Money
In the case of software testing, the software tests have to be repeated usually to ensure quality. When there is a modification in our source code, we have to run a software test for it. And when this software is released, it needs tests on all the operating system which supports it.
Every time on addition or modification of our software and every time when our software gets released, it needs to be tested completely. Doing it every time is time consuming and expensive.
The plus point with automated software is that we can run them again and again and for that we do not have to pay extra. Also they are faster as compared to manual testing.
Accuracy
The probability of getting precise results in automated testing is higher than the results we get from manual testing. Thus we can see that using automated testing improves accuracy.
Now there is something which is not considered on the priority but it is also equally important. To perform a control web-application test, it can not be possible with thousands of users as well while automated software can take responsibility of it by acting as millions of virtual users.
Conclusion
In the cases of Automated testing, if a software is modified with the addition of any new code, a test to check the bugs will automatically run if it will find any error, it gives notifications to the developer if the failure.
Resources
Automatic Code Coverage And Unit Tests
Agile development Checklist
Checklist for Automated Software Testing
12 Important FAQs on VSTS Testing