分享者:Scott McMaster
职位:Software Design Engineer
所在研发团队规模:
该研发团队职能定位:
分享者介绍:Scott McMaster is a Software Design Engineer at Google in Kirkland, working on Google Code (http://code.google.com). He has taught object-oriented programming and software architecture and design as an adjunct professor in the Master of Software Engineering program at Seattle University. Prior to Google, Scott worked as a software engineer, architect, and test engineer at Microsoft, Lockheed Martin, Amazon.com, and a couple of small startups. He has a Ph.D. in Computer Science from the University of Maryland, where his thesis presented a novel approach for test coverage and test suite maintenance.
案例简述
Creating automated tests that exercise a web application through a browser is a challenging and time-consuming process. Many applications are very large, with the number of HTML elements running in the hundreds or thousands, so the state space of possible user interactions is huge. Because industrial web applications undergo frequent user interface changes, test case maintenance is also a significant issue. Improvements to Selenium WebDriver test code and a tool for automated bug detection and test case generation are introduced to meet this challenge now and into the future. 案例解读
1.Goal
We address the following questions:
A. How can we create automated tests using Selenium WebDriver that are concise, robust, and easy to maintain as the web application user interface evolves?
B. How can we start to detect bugs and generate test cases automatically to save manual effort in writing end-to-end tests?
2.Keys to Success
This session will demonstrate the current state-of-the-art and exciting future directions in web application user interface testing and discuss challenges and opportunities. We will walk through a representative example of how to best use Selenium/WebDriver to build highly-maintainable tests, drawing on the presenter's experience working on large industrial web applications. We will cover a number of key recommendations and patterns. From there, we will look at a new automated testing tool, WebTestingExplorer, which is available as open source and see how it can be used to enable exploratory automated testing, touching on most aspects of the testing process including oracle generation, defect detection, test case generation, and replay.
3.ROI Analysis
n/a
4.Takeaways
We can improve automated web application testing along a couple of different axes:
A. The quality and robustness of traditional Selenium WebDriver automation can be increased significantly via the application of best practices.
B. We can begin to automatically search for bugs and generate and regenerate test cases using an exploratory process. |