Westin Fort Lauderdale Beach Resort321 North Fort Lauderdale Beach Boulevard
Fort Lauderdale, FL 33304
Map »
Matt Stine
Enterprise Java/Cloud Consultant
Matt has spoken at conferences ranging from JavaOne to CodeMash and has published several articles for Agile Zone, GroovyMag and NFJS the Magazine, as well as the Selenium 2.0 DZone Refcard. Matt is also the founder of the Memphis/Mid-South Java User Group.
His current areas of interest include lean/agile software development, software architecture, mobile application development and functional languages.
Presentations
Introduction to Selenium
The Selenium project comprises a suite of tools designed to enable browser-based testing of modern web applications. During this talk we'll examine the three key components of the Selenium suite:
- Selenium IDE: A Firefox plugin which allows you to record browser automation scripts in Selenese, Selenium's HTML-based dialect for scripting the browser.
- Selenium Remote Control (RC): A client-server testing tool which allows you to write your tests in multiple programming languages and execute them in most modern web browsers.
- Selenium Grid: An extension to Selenium RC which allows you to execute your tests in parallel across multiple servers.
We'll walk through each of these components and examine how they can be used to test a basic web application. By the end of this session you should have a good feel for how you can develop automated tests for your web applications using Selenium.
Selenium 2.0 Workshop - Part I: Hands-on Introduction to WebDriver and the Page Object Pattern
This focus of part one will be to introduce web developers and testers to the powerful WebDriver API that comes with the release of Selenium 2.0. In addition, we'll look at the differences found in WebDriver's API and architecture as compared to the classic Selenium 1.x, and demonstrate how we can gracefully migrate our test suites forward.
In this session you'll have an opportunity to build an automated test suite that will verify the behavior of a simple web application across multiple modern browsers. We'll start by recording and running tests within the Selenium IDE Firefox plugin. We'll then export our tests to Java JUnit tests and then leverage WebDriver's powerful support for the Page Object pattern, a mechanism for the separation of the orthogonal concerns of logical application functionality and DOM structure, to construct effective tests which read more like executable specifications than code.
By the end of the session we'll be reusing components developed in earlier tests to construct new ones, thus accelerating our capacity to grow our test suite.
Selenium 2.0 Workshop - Part II: Advanced Techniques, Mobile, Grid
This session builds on "Selenium 2.0 Workshop - Part I" by experimenting with some of the more advanced features of Selenium. We'll dig into WebDriver's new Advanced User Interactions API, which allows us to perform actions such as drag and drop or clicking multiple elements while holding down the Control key. We'll also look at Selenium 2.0's capabilities for testing mobile web applications on both the iOS and Android platforms.
Finally we'll parallelize our tests across a compute farm using TestNG and Selenium Grid.
Automated UAT Shootout: High-Noon w/ Selenium, WebDriver, Watir, and HtmlUnit
Today's web application developers and testers have a host of options at their disposal for building automated user acceptance tests. This session will be a "shootout" of sorts between several of the popular available frameworks:
- Selenium
- WebDriver
- Watir
- HtmlUnit
We'll briefly examine the feature set of each of these tools and look and their pros, cons, and appropriate usage patterns. We'll then take a few web application screens and utilize each of the tools to implement a test scenario. I'll allow you, the session attendees, to declare the winner, and then follow up with my recommendations.
Executable Specifications: Automating Your Requirements Document with Geb and Spock
One of the hallmarks of lean software development is the elimination of waste. Several of the key wastes in software development revolve around incomplete, incorrect, or obsolete documentation, especially documentation of requirements. One effective means of ensuring that your requirements documentation is complete, correct, and up-to-date is to make it executable. That sounds nice, but how do we get it done, especially in the world of modern, cross-browser web applications?
Executable web application specifications are within your reach through the combination of Spock, a testing and specification framework written for the JVM in Groovy, and Geb, an elegant Groovy wrapper around the powerful WebDriver browser automation framework. In this session we'll take a close look at Spock specifications for describing and verifying the behavior of our applications. We'll then examine how we can use Geb's implementation of the Page Object pattern and its "jQuery-ish" API for interacting with our web applications in WebDriver's range of supported browsers. Finally, by gluing these two technologies together via Geb's Spock integration, we'll automate the requirements specification for a simple web app.
Books
by
-
This book will review work from a number of researchers who have produced open source software addressing the need for data management, integration, analysis, and visualization to aid cancer research. With the advent of high-throughput technologies in biomedicine, the need for data management and appropriate data analysis tools in genomics has increased dramatically, joining clinical trials data as a major driver of informatics at cancer research centers. The gathering of this data requires careful encoding of metadata, usually through the use of controlled vocabularies or ontologies, as well as the linking of data from model organisms, done at both a physiological level (e.g., anatomy) and at a molecular level (e.g., orthology). This data will then find use within computational and statistical models, which require data pipelines and analysis systems, as well as algorithms, visualization methods, and computational modeling systems. We will introduce open source tools available for these aspects of the problem. The editors plan to divide the book into five sections, beginning with a section containing high level overviews of the field and key issues. This will include an introductory review of informatics in cancer research, followed by five overviews addressing issues in authentication and authorization, data management, data pipelines and annotations, algorithms and models, and the NCI caBIG initiative. This will be followed by sections dedicated to data systems, data pipelines, algorithms for analysis and visualization, and modeling systems. Each of these areas has seen publication of open source tools, ranging from the widely known R/Bioconductor package to little known but powerful systems such as SImmune for biochemical modeling. The area of laboratory information management systems has seen development of a number of unpublished but powerful systems, which we would also include. Three groups have agreed to provide chapters in this area (USC/Norris CAFE extensible clinical trials system, St Jude Unified LIMS, Fox Chase/British Columbia flow cytometry LIMS). While there has been a great deal of development of informatics tools that can be applied to problems in cancer research, there has not been adequate dissemination of details on these tools to the community. As such, there remains low adoption of all but a few tools. This book aims to increase overall adoption of tools by providing cancer center leaders and researchers with a single volume detailing both issues that must be addressed and tools that are ready for use.
- This book will review work from a number of researchers who have produced open source software addressing the need for data management, integration, analysis, and visualization to aid cancer research. With the advent of high-throughput technologies in biomedicine, the need for data management and appropriate data analysis tools in genomics has increased dramatically, joining clinical trials data as a major driver of informatics at cancer research centers. The gathering of this data requires careful encoding of metadata, usually through the use of controlled vocabularies or ontologies, as well as the linking of data from model organisms, done at both a physiological level (e.g., anatomy) and at a molecular level (e.g., orthology). This data will then find use within computational and statistical models, which require data pipelines and analysis systems, as well as algorithms, visualization methods, and computational modeling systems. We will introduce open source tools available for these aspects of the problem. The editors plan to divide the book into five sections, beginning with a section containing high level overviews of the field and key issues. This will include an introductory review of informatics in cancer research, followed by five overviews addressing issues in authentication and authorization, data management, data pipelines and annotations, algorithms and models, and the NCI caBIG initiative. This will be followed by sections dedicated to data systems, data pipelines, algorithms for analysis and visualization, and modeling systems. Each of these areas has seen publication of open source tools, ranging from the widely known R/Bioconductor package to little known but powerful systems such as SImmune for biochemical modeling. The area of laboratory information management systems has seen development of a number of unpublished but powerful systems, which we would also include. Three groups have agreed to provide chapters in this area (USC/Norris CAFE extensible clinical trials system, St Jude Unified LIMS, Fox Chase/British Columbia flow cytometry LIMS). While there has been a great deal of development of informatics tools that can be applied to problems in cancer research, there has not been adequate dissemination of details on these tools to the community. As such, there remains low adoption of all but a few tools. This book aims to increase overall adoption of tools by providing cancer center leaders and researchers with a single volume detailing both issues that must be addressed and tools that are ready for use.
