Click here to Skip to main content
Click here to Skip to main content

Painless Automated Web UI Testing

, 9 Jun 2009 CPOL
Telerik and ArtOfTest promise to revolutionize the way web testing is done by introducing the ultimate web testing solution: WebUI Test Studio. The tool is designed specifically for modern web applications; productivity and test maintenance are taken to another level.

Editorial Note

This article is in the Product Showcase section for our sponsors at CodeProject. These reviews are intended to provide you with information on products and services that we consider useful and of value to developers.

Telerik and ArtOfTest introduce a slick and very powerful tool that promises to revolutionize the way web testing is done

When it comes to developing software, UI testing is usually the first thing to go when schedules and budgets get tight. Simply put, tests are too hard to create, too hard to maintain, and deliver too little return on time invested. Until now. Telerik and ArtOfTest are changing the way developers and QA engineers at companies of all sizes think about automated web UI testing.

What is web UI testing?

The goal of web UI testing is to uncover functional problems with a web site or application. Web UI tests are not a replacement for unit tests. Where unit tests primarily focus on testing small units of code and application APIs (typically agnostic of the UI layer), a web UI test is a form of integration test that tries to ensure “end-to-end” processes work as expected in the browser.

An automated web UI test, then, is a set of “recorded” interactions with your web site that you can automatically execute as part of a regular integration or release process. Once web UI tests are automated, developers or QAs need only run the recorded tests to verify that end-to-end processes are working as expected instead of manually clicking-thru the entire site.

The Challenge of Automating the Web

Automated UI tests are nothing new to software, so by now you would expect automation for web UI tests to be the rule, not the exception. Automating UI tests for the web, though, is notoriously difficult. The web browser presents a number of challenges that make automating web UI tests much more difficult than automating “desktop” software UI tests. Among the key challenges:

  • Multiple browsers

    Nothing makes web UI testing harder than the need to support multiple browsers. Every browser handles the rendering of HTML and CSS and the processing of JavaScript slightly different, requiring tests to be run on multiple browsers to ensure your application works in all environments.

  • Dynamic interfaces & Ajax

    Another common problem with automating web UI tests is the dynamic nature of web applications (especially AJAX-based ones). HTML elements, especially in ASP.NET applications, can have unpredictable IDs, making it very difficult to script automated tests without making them brittle.

  • Complex components

    Introduce modern, rich 3rd party UI controls that represent complex UI elements- like data grids, schedulers, rich text editors, and treeviews- and it can be a nightmare to figure how to automate and validate your tests.

Do you really need automated UI testing?

If automating web UI tests is so difficult, is it really worth the perceived hassle? The key to determining if automating web UI tests is worthwhile for your organization requires you to examine three key factors[1]:

  1. Effort

    This is the traditional “ROI” calculation. For an automated web UI test to be worthwhile, you should be able to both quickly build it and maintain it.

  2. Value

    What is the long term value of creating the automated web UI test? To derive this answer, you must consider the value of the test over the life of the software. As your web application grows and becomes more complex, a comprehensive library of automated web UI tests ensures that new changes do not break old functionality.

  3. Accuracy

    For an automated web UI test to be worthwhile, you must have confidence that its results are accurate every time it runs. If you’re going to spend time automating UI tests, you must be able to trust the results or you’ll revert to manual testing and lose any value the automated test could provide.

To be worthwhile, the process for creating automated web UI tests must be quick, accurate across browsers, and easy to maintain as your application evolves over time.

The Solution: Telerik WebUI Test Studio

Built with “Web 2.0” in mind, Telerik WebUI Test Studio delivers an innovative solution for creating in minutes automated web UI tests that today take hours. WebUI Test Studio makes it easy for development shops of any size- from single developers to Enterprise teams- to automate the testing of the web UI without facing any of the challenges traditionally associated with testing the web. Among the innovations in WebUI Test Studio you’ll find:

  • Intelligent Testing of Telerik RadControls

    One of the most compelling features in WebUI Test Studio is the built-in support for Telerik’s award-winning RadControls for ASP.NET AJAX. When recording a test, WebUI Test Studio will automatically recognize RadControls on your page and provide you with intelligent options for quickly validating the state of the control. Verify that a RadCombobox load-on-demand operation or a RadGrid page count or a RadScheduler appointment drag operation works as expected in seconds, without any need to understand the structure of the control or the client-side API.

    image001.png

  • One Test, Multiple Browsers

    Save time and increase your test coverage by leveraging WebUI Test Studio’s ability to run one test against multiple browsers. WebUI abstracts all of the browser differences from your tests, saving you tons of time and reducing the number of tests you must maintain. Internet Explorer and FireFox are supported today, with Safari for Windows and Chrome soon to follow.

  • Fully Integrated in Visual Studio

    Use the IDE you know and never miss a beat when switching from creating unit tests to automated UI tests to developing your application. WebUI Test Studio integrates directly with Visual Studio 2008, enabling you to record your web UI tests without ever opening another program. Tests are stored in standard Microsoft Test projects and behave like any other built-in test type, meaning you can store them in TFS, run them in the test manager with other test types, and even use them with Visual Studio’s Continuous Integration Server.

  • Web 2.0 Ready

    WebUI Test Studio is designed to make it easy to test dynamic applications that use client-side JavaScript programming and Ajax. The test recorder makes it easy to wait on Ajax operations before executing specific verifications so that you can test any and all interactions on your page. You can even test rich drag-and-drop interfaces without writing a single line of code.

  • Easy Test Maintenance

    With WebUI Test Studio, you can quickly analyze tests that fail and fix them with innovative features like the DOM Explorer, Element Explorer, and a compare tool that shows you a version of your page at the time of the recording next to the current state of the page for quickly resolving changed or missing elements. A real-time verification tool also makes it possible to design verification tests and instantly run them with a single click- no more wasted time running entire test scripts to see if a single verification works!

    image002.png

The Benefit

With a powerful tool like Telerik WebUI Test Studio in Visual Studio you can finally automate your web UI tests and improve the maintainability and quality of your application. As you discover how easy it is to build automated tests, you will:

  • Save Time

    Significantly reduce your manual testing load so you can focus manual efforts on finding new test cases that improve your application’s quality. Can every scenario be covered by automated tests? Of course not! But automating the majority gives you the time to focus on the “strange” few scenarios that automated tests cannot see.

  • Save Money

    Consider the cost of your QA team- or if you’re a single developer, the cost of your development time- spent today manually running UI tests. Consider the cost to your business when you ship web applications that have functional problems not caught by your unit tests. Saving even a few of those testing hours or even one of those embarrassing- potentially costly- bugs helps quickly reveal how much money automated web UI testing can save your business.

  • Save Headaches

    If you’re spending hours today struggling to build and maintain automated web UI tests, WebUI Test Studio from Telerik and ArtOfTest is your aspirin. Virtually eliminate functional bugs from your web applications and automate your web UI testing in minutes with WebUI Test Studio. And when it comes time to update your tests, the visual WebUI Test tools enable you to quickly update tests without the need to manually modify scripts or learn a new programming language for testing.

Seeing is believing, though, and any tool that is claiming to do this much for automated web UI testing must be seen to be believed.

Download your free trial of Telerik WebUI Test Studio today.

[1] Adapted from “How We Test Software at Microsoft” (Microsoft Press, 2008)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Todd Anglin
Other Telerik
United States United States
Todd Anglin is Chief Technical Evangelist at Telerik, President of the North Houston .NET User Group, and an active speaker in the .NET community.

Comments and Discussions

 
QuestionPainless and not free? Pinmemberleiyangge16-Jun-14 0:08 
GeneralNice one. PinmemberAvikalp30-Jun-09 1:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.141223.1 | Last Updated 9 Jun 2009
Article Copyright 2009 by Todd Anglin
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid