Learning Software Testing with Test Studio
上QQ阅读APP看书,第一时间看更新

About Test Studio

There exists a wide set of automation tools to automate the tasks belonging to the testing activities we have seen earlier. For instance, test management tools, modeling tools, test data preparation tools, test execution tools, bug tracking tools, comparators, and others.

Test Studio is a test execution tool provided to us by Telerik, which offers automated solutions in the software quality assurance field. Test Studio's first version was released in March 2009 as WebUI Test Studio. It was the outcome of joint efforts of ArtOfTest, leaders in software quality assurance, and Telerik. ArtOfTest materialized the automated testing functionalities in a testing framework library called WebAii library upon which Telerik has built the WebUI Test Studio IDE. This tool has evolved today into Test Studio's standalone and Visual Studio's plugin editions where they both communicate with the free Telerik testing framework and at the same time extend it with other handy automation features.

Test Studio is primarily a test execution and logging tool for functional and nonfunctional testing. Functional tests are firstly created through its record feature where they can be further customized in code. Performance and load testing are also available for nonfunctional quality characteristics. Test Studio is capable of simulating the functional automated tests with virtual users, under real life workloads and stress situations. Instead of taking assistance from external tools to capture performance data during nonfunctional test execution, it is equipped with a monitoring mechanism to collect performance measures related to network traffic, SQL, and IIS metrics.

Test Studio is also a management tool for manual test cases where it bridges the gap of separately storing manual and automated test scripts in order to promote traceability between them.

Finally, it integrates with other tools such as Team Foundation Server, which, out of many other benefits, allows scheduling of the automated tests to run against the project's updated builds. As for incident management, bug reports can be directly created from within Test Studio into Team Pulse Server, for example. Also, thanks to the fact that Test Studio integrates with Microsoft Visual Studio, features such as code coverage and unit testing are also available.

Supported technologies

Test Studio is primarily an automation tool for web, desktop, and mobile applications. In case of the web, HTML5, ASP .NET MVC, Silverlight, PHP, AJAX, and JavaScript are the supported technologies. In case of desktop applications, it supports WPF, and finally iOS for native, web, and hybrid mobile applications.

Architecture

Test Studio's standalone application is aimed at QA engineers. It has its own record and playback mechanism where the automated test script generated from the record feature is composed of test steps with various functions. The steps cover UI operations, verification expressions, and logical branching, which constitute the toolset for automation. Customizing these steps in code is optional where the supported languages are .NET, C#, and Visual Basic.

As shown in the following diagram, Test Studio is built on top of the free Telerik testing framework. It consists of .NET libraries providing the UI element retrieval functionality and their corresponding wait methods, the UI interactive actions, the supported application controls, and the browser abstraction for web tests. The additional functionalities such as the integration with the external tools mentioned previously, the element repository, the DOM Explorer, and the Telerik RadControls translators are solely contained in the Test Studio IDE.

All the test drivers created inside Test Studio, whether coded or not, are based on the Telerik testing framework. Eventually, when the tests are executed, their test steps are compiled and interpreted into various framework method calls.

Test Studio's architecture