|
Notes from presentations are available on this site (if the presenter has provided
us with his/her materials). Simply go to the PROGRAM link and click on the session. |
Automated Acceptance Testing with StoryTestIQ
Paul Dupuy, Jr. (SolutionsIQ), Mickey Phoenix (SolutionsIQ), Monica Yap (Wireless Data Services Global), David Koontz (SolutionsIQ), Lance B. Young (SolutionsIQ)
Hands On · Testing
Wednesday, 08:30, 3 hours 30 minutes | Meeting Room 15
Automated acceptance tests for web applications can be
implemented using popular frameworks like Fit, FitNesse, and Selenium. However,
each of these has practical limitations that are a consequence of their
architecture and the way they interact with the application under test. SolutionsIQ
has developed a hybrid of these three frameworks called StoryTestIQ that facilitates
their use, offers new derivative features, and frees test authors from constraints
imposed when they are used independently. This hands-on session will teach participants about Automated Acceptance Testing,
teach them how to use the open source StoryTestIQ framework, and prepare them
to use automated acceptance testing on their own projects. The StoryTestIQ tutorial is designed to teach those with no acceptance
test experience as well as those who use Fit, FitNesse, Selenium, and similar
frameworks.
Acceptance tests are written by people who play the role of Product Owner, Tester,
and Developer; this tutorial addresses the educational needs of each role
independently and in conjunction with the others. While StoryTestIQ is used for
web application acceptance tests, those who work with other types of
applications will find the concepts and general techniques applicable to their
contexts
as well. Participants will gain practical experience writing
acceptance tests using StoryTestIQ, which will help them implement automated
acceptance tests in their own projects following common Agile patterns. The Automated
Acceptance Tests pattern is one of the most effective and important in
the Agile software development corpus. It supports User Stories by providing the
explicit concreteness that implied requirements lack but developers need. It
helps the team Engage
Customers and Engage
Quality Assurance through the collaborative effort (Pairing) required to write
high quality acceptance tests. It keeps the team anchored and focused so they Never Add Functionality Early
and the Application Design Is
Bounded By Test Design. It furnishes system tests that afford maximum
confidence in efforts to Integrate
Continuously and Refactor
Mercilessly. It supplies metrics needed to Radiate Information about the status of application
development and provides Executable
Requirements. An introductory example of a simple automated acceptance
test. The Agile context and an explanation of the supporting role
this pattern plays. Brief overview of each framework with emphasis on their
strengths and weaknesses. The nature of the hybrid with a high-level explanation of
the implementation. A quick demo of StoryTestIQ features including an example of
standard FitNesse test use in the framework with a custom Fit fixture. Hands-on exercises facilitated by the presenter's example
with the assistance of coaches. The majority of our time will be spent here. Closing summary of StoryTestIQ, interactive Retrospective,
and pointers to the StoryTestIQ repository. The presenter educates the participants using a projected PowerPoint
presentation and software demonstrations that comprise content items 1 through
5 as described above. The presenter leads the participants through hands-on
exercises by projected example and discussion. Coaches with StoryTestIQ
experience will assist participants as needed by Pairing with them. We prefer to have enough workstations in the room to allow
all participants to work continuously during this period in pairs. Alternatively,
the presenter and coaches will have laptops and we will reduce the number of
exercises as appropriate so that as many participants as possible are able to
work through at least one exercise. The presenter summarizes and concludes the tutorial with an
interactive Retrospective. Paul leads the Internal Consulting & Review department
and plays the roles of Agile Coach, Lead Developer, ScrumMaster, and Architect
at SolutionsIQ in Seattle. He began developing software professionally in 1984
and made a career of it 11 years ago. Paul has developed and extended
applications that span the range from web application to client-server to
shrinkwrap software using Microsoft, Java, Python, and web client technologies.
He has ~5 years of Agile experience and is in hot pursuit of a generalized
Agile Pattern Language. Paul created StoryTestIQ and continues to improve it in
collaboration with a SolutionsIQ team and the Open Source community. Lance has 15 years of software development experience in a
wide range of projects using traditional and Agile methodologies. He began
using pure Agile development practices in 1999 and has been using Scrum, XP,
and combinations of Agile methodologies exclusively since then. Lance is
currently a consultant at SolutionsIQ in Seattle working on outsourced custom
developed business applications as a Development Lead and Enterprise Architect.
Lance is a regular presenter at free seminars (the latest cosponsored by Rally
Software) and volunteer technical and process groups including the Seattle XP
user group, Seattle Java user group and the Seattle chapter of the
International Association of Software Architects. Lance’s current focus areas
are bringing business concerns into the Agile process and selling the business
value of Agile practices to traditional waterfall companies. Monica Yap is the Extreme Programming Coach and Head of
Group Development for WDSGlobal. Monica has designed and developed
software for the past 15 years on a wide variety of projects from on-line
eCommerce sites to property tax management systems. She has over six
years of experience with agile processes. In particular Monica has
focused on building Agile teams and merging business with Agile process.
She has presented at Agile2005, local XP groups, and taught classes in Agile
processes. Chris Sterling has worked in the technology industry over
the past 10 years and is currently employed at SolutionsIQ in
Seattle. He has worked extensively on designing network and enterprise
integration projects for technology startups, corporations, and government
agencies. The experiences gained from these projects have included enterprise
architecture refactoring and design, service-oriented architecture design,
research and development prototyping, and enterprise application integration.
Along with these technical skills, he has also provided mentoring, lead
multiple development teams, presented successful technology strategies with
open source and commercial solutions, and managed development projects using
both RUP and Agile with Scrum process methodologies. Owner, project manager, and lead designer of software consulting firm from
1997 to 2002. Pair programming since 1999, full Agile projects since 2004,
Certified Scrum Master, multiple successful Agile projects as Senior Software
Developer. StoryTestIQ hands-on AAT training sessions have been given
at SolutionsIQ on an ongoing basis since the framework was first created mid-2005.
We are using StoryTestIQ on many projects (8 at this writing) and all new
projects are provisioned with the framework and training sessions when they
begin. SolutionsIQ has released StoryTestIQ to the Open Source community (see http://storytestiq.sourceforge.net
).Topic
Audience
Benefits
Content
1. What are Automated Acceptance Tests?
2. Why do we need Automated Acceptance Tests?
3. What can you do with Fit, FitNesse, and Selenium?
4. What is StoryTestIQ?
5. What can you do with StoryTestIQ?
6. How do you use StoryTestIQ for Automated Acceptance Testing?
7. How can you use StoryTestIQ on your project?
Process
Slide Presentation & Demo: 30 minutes
Hands-on Exercises: 140 minutes (scaleable)
Conclusion: 10 minutes
Presenter
Paul Dupuy, Jr.
Coaches
Lance B. Young
Monica Yap
Chris Sterling
Mickey Phoenix
History






