So the heyday of UI testing is over as far as enterprise software is concerned, right? In modern apps, the meaningful business logic happens behind the webpage, in the service-to-service integrations that serve up the appropriate dynamic data. Testing the UI is out of fashion.
Well not exactly. While one type of manual UI acceptance testing faltered, we see another kind of UI testing taking its place. As much as it is true that there are an increasing number of connections and activities going on "behind the glass" that must be tested, it never will replace the need for thorough testing of the user experience. Why is this?
Enter RIAs, or Rich Internet Applications. For a while, serious business applications that leveraged the Internet largely treated the web page as a "request interface" - you enter all the information into a form, submit the page, and it makes a request to the web server, which gets the necessary information from the app server after plenty of back-end processing. Due to performance and latency issues, as well as some rather buggy initial "rich UI" approaches over the last 10 years, it was a lot safer to keep the browser-facing functionality rather simple.
Therefore, testing the UI became of diminishing value in web apps. We needed to validate the back-end systems - the messaging queues, business processes and systems of record. A symptom discovered in the UI meant you were very late to the game in testing.
Now the UI is shifting back into balance in the testing world with RIAs. As customers expect easier and ever-richer user experience on the web, development teams (and the community at large) have moved some of the business functionality back into the browser, to allow customers to more interactively make choices. Technologies such as AJAX, Flash/Flex, Java Swing, Silverlight and other tools have replaced some of the buggy and slow web UI tools of the past. REST-style approaches further advanced the architecture of richer functionality in the front-end.
With this change comes a renaissance in the practice of UI testing. As seen here, one RIA screen such as a trading or entertainment portal may look like one web page to the user, but actually represent hundreds or thousands of separate requests to different servers that populate that page with content. A mere user click or mouse-over on the screen can again, represent several calls from the browser for dynamic data to be displayed. And unlike the late 90's, these customers are not going to wait a few seconds to see results. Lagging performance, displayed glitches and inaccuracies will send the user elsewhere in a heartbeat.
- It takes both human insight: "What is a good user experience and is that what I'm seeing as I test?" AND;
- A whole lot of automation: "How can a tester possibly automate the tests I've already done, while remembering to cover all of the dynamic permutations of content that could be displayed in this RIA screen?"
We've been doing a lot of research in this area, and we've posted some new material on LISA Solutions for RIA and Web 2.0 User Interfaces on itko.com, if you are interested in this topic. Customers are bringing UI testing into harmony with service-based testing and validation approaches.

Comments