Chapter 2. Automating Functional Tests
You have been recently working on an application as part of the Quality Control team. It's been a month since the project has started where as quality control engineers you work with have been designing and generating test cases. The project test leader calls the team for an urgent meeting early in the morning.
"Test case coverage is low and the manual testers' effort in regression testing is insufficient knowing the degradation impact from developers' bug fixes. Testing is falling behind" says the team leader.
Two hours of discussion went on before a decision was taken. Automation seems to be the solution to the problem at hand and knowing your usual high commitment and performance, you are going to be part of the team carrying out this task. All the attendees already knew that lots of factors related to the problem at hand are working against the team's benefit: the lack of knowledge in automation and the tool technology, the time constraint to meet the release deadline along with the frequent project requirement changes. So, the first reaction you welcome the news with is complete panic.
As a solution to the preceding problem, Test Studio, a test automation tool, is adopted to organize testing, increase coverage, and enhance the accuracy of execution. In principle, part of the manual test repository is going to be converted into autonomously executing scripts. These scripts should take over mechanical human tasks distinguished by their repetitiveness or need for intricate calculations. Knowing that the resulting automated scripts are characterized by their speed of execution, precision, and consistency, automation will in the long run achieve substantial time saving considered as a risk related to the application's success.
Test Studio enables a rich toolkit to proficiently automate the procedures of the manual test cases. Its features comprise UI recording, logic insertion, specialized verification, and other test development functionalities that require no coding; however, optionally, Test Studio's test automation library can be invoked to perform further functions through the addition of customized coded steps within the recorded test.
In the execution phase, the test's reliability is derived from Test Studio's advanced UI object recognition. Being a tool that identifies target UI controls based on their nature rather than their coordinates, the scripts can be repetitively replayed while excluding the possibility of an object misidentification failure.
Based on these given reasons, by the end of this chapter, you would have learned how to realize the following tasks with Test Studio:
- Proper test repository design
- Functional test automation and verification
- Proper automated test case design
- Test execution
- Failures debug
- Visual Studio integration