Preface

Test Studio is a tool that offers a variety of features to build custom automated solutions for desktop and web applications. It hosts and simplifies the testing process by supporting manual test creation, automation, and execution. Additionally, its reporting capabilities help in conveying to managers the quality status of the application under test. Test Studio can be extended with bug tracking tools, thus bringing the developers into the loop by seamlessly combining bug reporting within the testing process. This tool is tightly integrated with Team Foundation Server and Visual Studio, which provide the user with a wider set of benefits related to version controlling, management, development, and other powerful software test development characteristics.

Test Studio has two editions for testing desktop and web applications, the standalone and the Visual Studio plugin. Along with these editions, it supports an extended version intended for mobile testing.

Throughout this book, testers will learn how to use Test Studio features in order to create automated tests using interface recording and how to customize these tests by adding functionalities from the underlying test framework library. The different chapters cover the available built-in templates, such as manual, WPF, web, performance, and load test templates, where each chapter elucidates the underlying features that constitute the testing type implied by the template. Therefore, this book helps in learning manual test creation, automation, and execution against a WPF application, in addition to performance testing, benchmarking, workload designing, load testing, result analysis, and reporting against a web application. Furthermore, it contains an overview of Test Studio integration with Team Foundation Server and Visual Studio. A section is also dedicated to revealing the usage of Test Studio extension for automating, executing, reporting, and managing the tests for iOS applications in the cloud.

This book presents hands-on examples, code snippets, and snapshots to conduct the implementation, execution, and reporting phases pertaining to the software testing process inside Test Studio. It makes use of the available tools to present solutions for testing the functional and nonfunctional aspects of an application.

What this book covers

Chapter 1, Introduction, explains what software testing is, introduces some important concepts, and the comprised phases. The introduction also provides a summary of Test Studio features and the chapters in which they are reflected. This chapter also introduces the applications that will be used in the examples and how to properly set up their environment.

Chapter 2, Automating Functional Tests, introduces Test Studio, its architecture, and the supported technologies. It explains how to use its features to automate functional tests using simple recording, coding, execution, debugging, and logging. This chapter also provides an overview of test integration with Visual Studio.

Chapter 3, Data-driven Tests, demonstrates the usage of the data source features in order to create and execute data-driven automated tests. It covers the entire list of supported file system and database management sources to craft independent and embedded data-driven tests.

Chapter 4, Maintaining Test Elements, introduces Test Studio concepts on test element creation, recognition, finding, and editing using the tool IDE and framework library. This chapter also explains some techniques to help in sustaining the test repository and referencing it from within the automated tests.

Chapter 5, Manual Testing, demonstrates manual test creation, integration with MS Excel, execution, and transitioning to automated tests. Test Studio provides a managed process for converting manual testing into a semiautomated version through hybrid tests and then to a fully automated version. Furthermore, this chapter covers source and version controlling functions in Team Foundation Server, managed from Test Studio and Visual Studio IDEs.

Chapter 6, Test Lists and Reports, presents Test Studio's support for test suites through its test lists. It explains and demonstrates the creation and grouping of tests under static and dynamic lists. This chapter also dwells on the reporting side in this tool, its integration with Visual Studio, and customization with MS SQL server.

Chapter 7, Performance Testing, covers the nonfunctional aspects of an application's performance. It explains Test Studio's mechanism for carrying out performance testing by using the specific test template. The built-in capabilities are revealed through simulating real user requests, measuring performance counters, calculating metrics, comparing executions for the same test, and benchmarking the desired instance.

Chapter 8, Load Testing, demonstrates the steps to replicate real-life user loads. Using the load test template, virtual users can be employed to simulate any number of users, automated tests can be executed via different browsers, agents can be installed to initiate requests in a sparse environment, performance counters can be profiled on target machines as well as the networks, and user activity can be designed and tuned. Test Studio also offers a built-in mechanism to chart and compare the results collected for the multiple test runs.

Chapter 9, Mobile Testing, uses Test Studio extensions for iOS to demonstrate functional testing for a mobile application. The chapter explains UI test recording, execution, failure debugging, and accessing of test elements in order to automate the desired tests. Other Test Studio collaboration and reporting features are also exemplified. These features are supported in the feedback and crash reports modules that are viewable from the registered application web portal, which hosts a dashboard enabling other management and tracking testing functionalities related to test execution progress, quality monitoring, and users' collaboration.

Chapter 10, Tips and Tricks, presents some ideas resulting from the combination of different Test Studio features in order to provide useful solutions that enhance test reusability, maintainability, and flexibility in test functions.

Appendix A, Configuring BugNet, contains step-by-step instructions to configure the BugNet project and underlying objects for testing purposes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.223.107.85