Your shrinking project deadlines are increasing the need for automated tests—but, simultaneously, reducing the time available for writing them. The system requirements are continually changing. The implementation is changing. You spend more and more time maintaining old tests, leaving less time to write new ones. The tests take longer and longer to run. And when they fail, the problem is as likely to be in the tests as in the system. What’s a developer to do? Dale Emery and George Dinwiddie share hard-won lessons learned from their decades of software development and test automation. Discover the factors that make automated tests maintainable, expressive, informative, fast, reliable, and repeatable. Practice achieving these qualities in hands-on exercises. Apply new techniques and your existing software development expertise in new ways. Take home powerful principles and practices to meet the unique challenges of test automation and to help your project deliver sooner with greater confidence.
Boost PC performance: How more available memory can improve productivity
The Developer’s Guide to Test Automation
1.
ML
Half‐day Tutorial
6/3/2013 1:00 PM
"The Developer’s Guide to Test
Automation"
Presented by:
Dale Emery, DHE
&
George Dinwiddie, iDIA Computing, LLC
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
2. Dale Emery
DHE
Since 1980, Dale Emery has worked in both IT organizations and software product
development companies as a developer, manager, process steward, trainer, and consultant. He
helps people apply the agile values of communication, feedback, simplicity, courage, and
respect to software development. Dale's combination of deep technical expertise and extensive
organizational development experience makes him particularly effective in working with software
teams. In 2007 Dale received the Ward Cunningham Gentle Voice of Reason Award, which the
Agile Alliance created to recognize Dale’s unique contribution to the agile community. Dale's
personal mission is to help people create joy, value, and meaning in their work. Learn more
about Dale at dhemery.com.
George Dinwiddie
iDIA Computing, LLC
George Dinwiddie is an independent software development consultant who helps
organizations, large and small, increase the effectiveness of their software development efforts.
As a coach, George provides guidance at the organizational, process, team, interpersonal, and
technical levels. As a trainer, he offers experiential education in technical practices and agile
methods. George is currently crusading to break down the barriers that hinder effective
collaboration between the business, the programmers, and the testers. A frequent speaker at
agile conferences and contributor to online publications, George blogs at blog.gdinwiddie.com.
Learn more about his work at idiacomputing.com.
3. The Developer’s Guide
to Test Automation
Agile Developers Conference West
Better Software Conference West
Half-day Tutorial
Monday, June 3, 2013 — 1:00pm - 4:30pm
Dale Emery
@dhemery
http://dhemery.com/
George Dinwiddie
@gdinwiddie
iDIA Computing, LLC
http://blog.gdinwiddie.com/
http://idiacomputing.com/
4.
5. Contents
Essential Vs. Incidental..............................................................................................1
Incidental details ........................................................................................................7
Using Data Values in Automated Tests ....................................................................14
Tests as Examples of System Responsibilities ........................................................21
Essential Details ......................................................................................................26
Implementation Details............................................................................................29
Context setup ...........................................................................................................32
Complex Tests .........................................................................................................34
Writing Maintainable Automated Acceptance Tests ................................................36
Four Layers in Automated Tests ..............................................................................47
What Do You Want From Tests?..............................................................................51
What Do You Want From a Diagnosis? ...................................................................53
Diagnostic Assertions ..............................................................................................64
Naming Unit Tests ...................................................................................................73
Testing the Tests ......................................................................................................75
Testing in Depth.......................................................................................................76
Testing Classes in Isolation and in Collaboration....................................................78
Test-driving those “non-functional” stories .............................................................79
Design for Testability ..............................................................................................80
Appendices
The testers get behind at the end..............................................................................83
Planned Response Systems ......................................................................................85
The Anatomy of a Responsibility ............................................................................87
The Unbearable Lightness of Faking.......................................................................89
If you don’t automate acceptance tests? ..................................................................92
Footnotes .......................................................................................................94