Effective Test Automation
à la Carte
Martin Gijsen
Test automation architect
Independent consultant
Martin@DeAnalist.nl
© 2009
Overview

Effective test automation

Domain Specific Test Languages

Three example solutions (free tools only)

Where to get the automator

Conclusion

Q & A
Test automation scenarios
2
1
time
total
cost /
effort
1. manual testing
2. effective automated testing
3. less effective automated testing
3
About 2/3 of all test
automation projects fail
sooner or later
– Brian LeSuer (testing
experience magazine,
December 2008 issue,
page 47)
Effective test automation

Record & Playback only works in case of (very)
little manual maintenance to the testware

An automated test is a program

Test automation requires software engineering

For continuity of benefits, focus on:

3 R's: Tests must be easy to write, review and revise

Maintainability and maintenance sensitivity

Domain Specific Test Languages

Used by testers to express automated tests

Instructions defined by (or with) testers

Only the essence of a test case should remain:

Natural, high abstraction level

No irrelevant interfacing details

No irrelevant tooling details

The result is low maintenance

No programming

Clear test report
A good DSTL based test case
account first name last name address
open account 1234567890 John Doe 11 Test street, Testburg
open account 1234567891 Jane Doe 27 Testability lane, Testville
account amount
deposit John 12.345,00
amount from account to account
transfer 1234 John Jane
account amount
check balance John 11.111,00
check balance Jane 1.234,00
Example instruction documentation
Name and aliases 'begin test case' and 'begin testcase'
Description Indicates the beginning of a (new) test case.
Parameters
1 The identification of the test case, preferably unique within the test.
Optional.
2 The test case description. Optional.
Pre-condition None.
Post-condition
If the previous input line was part of a test case, that test case is
closed. A new test case is opened and assigned the next
sequence number for the report(s), starting at one.
Error condition If in a procedure definition.
Example ...
Developer domain:

Scripting

Source code
Focus is on HOW to test it
Requires software engineering skills
Tester domain:

Instructions
Focus is on WHAT to test
Requires analysis skills
How does it work?
Test
automation
solution
Test
automation
solution
TestTest Test
report
Test
report
System
Under
Test
System
Under
Test
Instruction
definitions
Instruction
definitions
Three examples
Real systems and test solutions:
1. Web services based billing system
2. Web application for batch payments
3. Generic solution for payment systems
Different systems, interfaces & tooling
Web services based billing system

Interface: web services (SOAP / XML)

Interface type: synchronous messaging

Tooling: ETA Framework, Axis, Java

Multiple implementations of instructions
for phased test execution
A sample test case
url
select end point http://12.34.56.78:1234/billing
name
select wholesale customer Joy inc.
cust nr first name last name ...
create end customer 12345 John Doe ...
cust nr service ... ...
add subscription 12345 X ... ...
item nr cust nr ... ...
check billing item X12345 12345 ... ...
The design
Test engineTest engine
TestTest Test
report
Test
report
Billing
system
Billing
system
Instruction
logic
Instruction
logic
Web serv.
client
Web serv.
clientWSDLWSDL AxisAxis
Web app for payment batches

Interface: web application (J2EE)

Interface type: Graphical user interface

Tooling: ETA Framework, WebDriver, Java
A sample test case
name
set screen item name order letter account accountNr
set screen item name order letter amount amount
set screen item name order letter date desiredDate
user name
log on JohnDoe
account amount date ...
enter order letter 123456789 12345,67 today ...
The design
Test engineTest engine
TestTest Test
report
Test
report
Web
application
Web
application
Instruction
logic
Instruction
logic
WebDriverWebDriver
Payment systems

Interfaces:

Iso15022 / SWIFT MT messages

Iso20022 / SWIFT MX / UNIFI messages

Interface type: asynchronous messaging

Tooling: ETA Framework, Java

Low abstraction level is raised using procedures
(not in example)
A sample (low level) test case
name
define structure msgOut
name value
set msgOut.field1 value1
set msgOut.field2 value2
connection type name
send message toSut mt103 msgOut
connection name period
receive message fromSut msgIn within 10 seconds
value 1 value 2
The design
TestTest Test
report
Test
report
Payment systemPayment system
Test engineTest engine
Instruction logicInstruction logic
UNIFI protocolUNIFI protocol SWIFT protocolSWIFT protocol Incoming msgsIncoming msgs
Connection logicConnection logic
Test engineTest engine
WS logicWS logic Web app logicWeb app logic Payment logicPayment logic
WS clientWS client WebDriverWebDriver
Bringing it all together
System Under TestSystem Under Test
Protocol XProtocol X Protocol YProtocol Y Incoming msgsIncoming msgs
Connection logicConnection logic
The test automation menu
1. DSTL
– Define your own
2. Test engines
– ETA Framework
– Fit / FitNesse
– STAF
– xUnit
– ...
3. Interfacing components
– Web services
– Web app
– Messaging
– Java Swing
– ...
4. Vendor lock-in (optional)
Where to get the automator

Main criteria:

Skills (programming ≠ software engineering)

Availability

Cost

Train someone from the test team

Borrow from development

Hire or reserve developer for test team

Hire external consultant
Conclusions

Test automation is software engineering
- apply the right skills to succeed

A DSTL enables testers and reduces
maintenance

Automated testing with free software is possible
for many systems and interfaces (even combined)

While every system and DSTL is different,
the basic design of test solutions can be the same

Non-programming testers and non-testing
developers can be effective at automated testing
Q & A
?
See also

“Exploring no man's land with keyword driven
testing” - presentation at Free Test 2009

“Effective automated testing with a DSTL”-
white paper

www.DeAnalist.nl for the ETA Framework and
its documentation

More Related Content

PDF
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
PPT
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
PPT
Seretta Gamba - A Sneaky Way to Introduce More Automated Testing
PPT
Bruno Legeard - Model-Based Testing of a Financial Application
PPT
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
PPT
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
PDF
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
PPT
'Model Based Test Design' by Mattias Armholt
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Seretta Gamba - A Sneaky Way to Introduce More Automated Testing
Bruno Legeard - Model-Based Testing of a Financial Application
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
'Model Based Test Design' by Mattias Armholt

What's hot (20)

PPT
Mattias Ratert - Incremental Scenario Testing
PPT
Testing Framework
PDF
Tim Koomen - Testing Package Solutions: Business as usual? - EuroSTAR 2010
PDF
What are Software Testing Methodologies | Software Testing Techniques | Edureka
PPT
Darius Silingas - From Model Driven Testing to Test Driven Modelling
PPT
want to contact me login to www.stqa.org
PPT
Testing
PPT
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
PPT
Testing Software Solutions
PDF
Test Automation - Keytorc Approach
PPT
Black Box Testing
PDF
Seminar on Software Testing
PPT
Test Levels & Techniques
PPT
The art of system and solution testing
PPTX
Importance of Software testing in SDLC and Agile
PPT
Test case development
PPTX
Evolution of Software Testing - Chuan Chuan Law
PDF
Exploring Exploratory Testing
PDF
Notes on teaching software testing
PPT
Testing concepts ppt
Mattias Ratert - Incremental Scenario Testing
Testing Framework
Tim Koomen - Testing Package Solutions: Business as usual? - EuroSTAR 2010
What are Software Testing Methodologies | Software Testing Techniques | Edureka
Darius Silingas - From Model Driven Testing to Test Driven Modelling
want to contact me login to www.stqa.org
Testing
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Testing Software Solutions
Test Automation - Keytorc Approach
Black Box Testing
Seminar on Software Testing
Test Levels & Techniques
The art of system and solution testing
Importance of Software testing in SDLC and Agile
Test case development
Evolution of Software Testing - Chuan Chuan Law
Exploring Exploratory Testing
Notes on teaching software testing
Testing concepts ppt
Ad

Viewers also liked (20)

PDF
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
PDF
Stefaan Luckermans - Number for Passion, Passion for Numbers - EuroSTAR 2010
PPT
Johan Jonasson - Introducing Exploratory Testing to Save the Project
PPT
Rik Teuben - Many Can Quarrel, Fewer Can Argue
PPT
Niels Malotaux - Help We Have a QA Problem!
PPT
Michael Snyman - Software Test Automation Success
PPT
Michael Albrecht - Test Automation in Agile Projects with Open Source
PPT
Susan Windsor - Dont Shoot the Messenger
PPT
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
PPT
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
PPTX
Julien Bensaid - The Damage Zone
PPT
Dietmar Strasser - Traditional QA meets Agile Development
PPT
Graham Bath - SOA: Whats in it for Testers?
PPT
Isabel Evans - Route Cards to the Future
PPT
Otto Vinter - Analysing Your Defect Data for Improvement Potential
PPT
Gustav Olsson - Agile - Common Sense with a New Name Tag revised
PPTX
John Fodeh - Spend Wisely, Test Well
PPT
Paula O' Grady - Prioritising tests? - Use Your Gut Instinct
PPT
Derk jan de Grood - ET, Best of Both Worlds
PPT
Scott Andress - Collaboration not Competition updated
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Stefaan Luckermans - Number for Passion, Passion for Numbers - EuroSTAR 2010
Johan Jonasson - Introducing Exploratory Testing to Save the Project
Rik Teuben - Many Can Quarrel, Fewer Can Argue
Niels Malotaux - Help We Have a QA Problem!
Michael Snyman - Software Test Automation Success
Michael Albrecht - Test Automation in Agile Projects with Open Source
Susan Windsor - Dont Shoot the Messenger
Michael Roar Borlund & Christian Carlsen - Real Exploratory Testing, Now With...
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
Julien Bensaid - The Damage Zone
Dietmar Strasser - Traditional QA meets Agile Development
Graham Bath - SOA: Whats in it for Testers?
Isabel Evans - Route Cards to the Future
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Gustav Olsson - Agile - Common Sense with a New Name Tag revised
John Fodeh - Spend Wisely, Test Well
Paula O' Grady - Prioritising tests? - Use Your Gut Instinct
Derk jan de Grood - ET, Best of Both Worlds
Scott Andress - Collaboration not Competition updated
Ad

Similar to Martin Gijsen - Effective Test Automation a la Carte (20)

PDF
Exploring No Mans Land with Keyword-Driven Testing
PPSX
Software automation
PPT
Test Automation Best Practices (with SOA test approach)
PDF
Test Automation
PDF
The future of Test Automation
PPTX
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
PPTX
unit-5 SPM.pptx
PPTX
How To Transform the Manual Testing Process to Incorporate Test Automation
PPTX
Chapter 6 - Test Tools and Automation
PPTX
Unit v
PPT
Test automation principles, terminologies and implementations
PPTX
Automation testing
PPT
Innovative Test Automation Solution
PPT
Test Automation Framework Designs
PDF
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
PDF
Testing Experience - Evolution of Test Automation Frameworks
PPT
Context Driven Automation Gtac 2008
PPTX
Advanced Software Test Automation
PPTX
Test automation lesson
PPTX
Unit -V 19CS408T - Software Testing Notes
Exploring No Mans Land with Keyword-Driven Testing
Software automation
Test Automation Best Practices (with SOA test approach)
Test Automation
The future of Test Automation
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
unit-5 SPM.pptx
How To Transform the Manual Testing Process to Incorporate Test Automation
Chapter 6 - Test Tools and Automation
Unit v
Test automation principles, terminologies and implementations
Automation testing
Innovative Test Automation Solution
Test Automation Framework Designs
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Testing Experience - Evolution of Test Automation Frameworks
Context Driven Automation Gtac 2008
Advanced Software Test Automation
Test automation lesson
Unit -V 19CS408T - Software Testing Notes

More from TEST Huddle (20)

PPTX
Why We Need Diversity in Testing- Accenture
PPTX
Keys to continuous testing for faster delivery euro star webinar
PPTX
Why you Shouldnt Automated But You Will Anyway
PDF
Being a Tester in Scrum
PDF
Leveraging Visual Testing with Your Functional Tests
PPTX
Using Test Trees to get an Overview of Test Work
PPTX
Big Data: The Magic to Attain New Heights
PPTX
Will Robots Replace Testers?
PPTX
TDD For The Rest Of Us
PDF
Scaling Agile with LeSS (Large Scale Scrum)
PPTX
Creating Agile Test Strategies for Larger Enterprises
PPTX
Is There A Risk?
PDF
Are Your Tests Well-Travelled? Thoughts About Test Coverage
PDF
Growing a Company Test Community: Roles and Paths for Testers
PDF
Do we need testers on agile teams?
PDF
How to use selenium successfully
PDF
Testers & Teams on the Agile Fluency™ Journey
PDF
Practical Test Strategy Using Heuristics
PDF
Thinking Through Your Role
PDF
Using Selenium 3 0
Why We Need Diversity in Testing- Accenture
Keys to continuous testing for faster delivery euro star webinar
Why you Shouldnt Automated But You Will Anyway
Being a Tester in Scrum
Leveraging Visual Testing with Your Functional Tests
Using Test Trees to get an Overview of Test Work
Big Data: The Magic to Attain New Heights
Will Robots Replace Testers?
TDD For The Rest Of Us
Scaling Agile with LeSS (Large Scale Scrum)
Creating Agile Test Strategies for Larger Enterprises
Is There A Risk?
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Growing a Company Test Community: Roles and Paths for Testers
Do we need testers on agile teams?
How to use selenium successfully
Testers & Teams on the Agile Fluency™ Journey
Practical Test Strategy Using Heuristics
Thinking Through Your Role
Using Selenium 3 0

Recently uploaded (20)

PDF
Workplace Software and Skills - OpenStax
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
PDF
AI Guide for Business Growth - Arna Softech
PPTX
Computer Software - Technology and Livelihood Education
PPTX
Cybersecurity: Protecting the Digital World
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Trending Python Topics for Data Visualization in 2025
DOC
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PDF
Visual explanation of Dijkstra's Algorithm using Python
Workplace Software and Skills - OpenStax
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
MCP Security Tutorial - Beginner to Advanced
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
Practical Indispensable Project Management Tips for Delivering Successful Exp...
How to Use SharePoint as an ISO-Compliant Document Management System
Tech Workshop Escape Room Tech Workshop
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
AI Guide for Business Growth - Arna Softech
Computer Software - Technology and Livelihood Education
Cybersecurity: Protecting the Digital World
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Trending Python Topics for Data Visualization in 2025
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Visual explanation of Dijkstra's Algorithm using Python

Martin Gijsen - Effective Test Automation a la Carte

  • 1. Effective Test Automation à la Carte Martin Gijsen Test automation architect Independent consultant Martin@DeAnalist.nl © 2009
  • 2. Overview  Effective test automation  Domain Specific Test Languages  Three example solutions (free tools only)  Where to get the automator  Conclusion  Q & A
  • 3. Test automation scenarios 2 1 time total cost / effort 1. manual testing 2. effective automated testing 3. less effective automated testing 3 About 2/3 of all test automation projects fail sooner or later – Brian LeSuer (testing experience magazine, December 2008 issue, page 47)
  • 4. Effective test automation  Record & Playback only works in case of (very) little manual maintenance to the testware  An automated test is a program  Test automation requires software engineering  For continuity of benefits, focus on:  3 R's: Tests must be easy to write, review and revise  Maintainability and maintenance sensitivity
  • 5.  Domain Specific Test Languages  Used by testers to express automated tests  Instructions defined by (or with) testers  Only the essence of a test case should remain:  Natural, high abstraction level  No irrelevant interfacing details  No irrelevant tooling details  The result is low maintenance  No programming  Clear test report
  • 6. A good DSTL based test case account first name last name address open account 1234567890 John Doe 11 Test street, Testburg open account 1234567891 Jane Doe 27 Testability lane, Testville account amount deposit John 12.345,00 amount from account to account transfer 1234 John Jane account amount check balance John 11.111,00 check balance Jane 1.234,00
  • 7. Example instruction documentation Name and aliases 'begin test case' and 'begin testcase' Description Indicates the beginning of a (new) test case. Parameters 1 The identification of the test case, preferably unique within the test. Optional. 2 The test case description. Optional. Pre-condition None. Post-condition If the previous input line was part of a test case, that test case is closed. A new test case is opened and assigned the next sequence number for the report(s), starting at one. Error condition If in a procedure definition. Example ...
  • 8. Developer domain:  Scripting  Source code Focus is on HOW to test it Requires software engineering skills Tester domain:  Instructions Focus is on WHAT to test Requires analysis skills How does it work? Test automation solution Test automation solution TestTest Test report Test report System Under Test System Under Test Instruction definitions Instruction definitions
  • 9. Three examples Real systems and test solutions: 1. Web services based billing system 2. Web application for batch payments 3. Generic solution for payment systems Different systems, interfaces & tooling
  • 10. Web services based billing system  Interface: web services (SOAP / XML)  Interface type: synchronous messaging  Tooling: ETA Framework, Axis, Java  Multiple implementations of instructions for phased test execution
  • 11. A sample test case url select end point http://12.34.56.78:1234/billing name select wholesale customer Joy inc. cust nr first name last name ... create end customer 12345 John Doe ... cust nr service ... ... add subscription 12345 X ... ... item nr cust nr ... ... check billing item X12345 12345 ... ...
  • 12. The design Test engineTest engine TestTest Test report Test report Billing system Billing system Instruction logic Instruction logic Web serv. client Web serv. clientWSDLWSDL AxisAxis
  • 13. Web app for payment batches  Interface: web application (J2EE)  Interface type: Graphical user interface  Tooling: ETA Framework, WebDriver, Java
  • 14. A sample test case name set screen item name order letter account accountNr set screen item name order letter amount amount set screen item name order letter date desiredDate user name log on JohnDoe account amount date ... enter order letter 123456789 12345,67 today ...
  • 15. The design Test engineTest engine TestTest Test report Test report Web application Web application Instruction logic Instruction logic WebDriverWebDriver
  • 16. Payment systems  Interfaces:  Iso15022 / SWIFT MT messages  Iso20022 / SWIFT MX / UNIFI messages  Interface type: asynchronous messaging  Tooling: ETA Framework, Java  Low abstraction level is raised using procedures (not in example)
  • 17. A sample (low level) test case name define structure msgOut name value set msgOut.field1 value1 set msgOut.field2 value2 connection type name send message toSut mt103 msgOut connection name period receive message fromSut msgIn within 10 seconds value 1 value 2
  • 18. The design TestTest Test report Test report Payment systemPayment system Test engineTest engine Instruction logicInstruction logic UNIFI protocolUNIFI protocol SWIFT protocolSWIFT protocol Incoming msgsIncoming msgs Connection logicConnection logic
  • 19. Test engineTest engine WS logicWS logic Web app logicWeb app logic Payment logicPayment logic WS clientWS client WebDriverWebDriver Bringing it all together System Under TestSystem Under Test Protocol XProtocol X Protocol YProtocol Y Incoming msgsIncoming msgs Connection logicConnection logic
  • 20. The test automation menu 1. DSTL – Define your own 2. Test engines – ETA Framework – Fit / FitNesse – STAF – xUnit – ... 3. Interfacing components – Web services – Web app – Messaging – Java Swing – ... 4. Vendor lock-in (optional)
  • 21. Where to get the automator  Main criteria:  Skills (programming ≠ software engineering)  Availability  Cost  Train someone from the test team  Borrow from development  Hire or reserve developer for test team  Hire external consultant
  • 22. Conclusions  Test automation is software engineering - apply the right skills to succeed  A DSTL enables testers and reduces maintenance  Automated testing with free software is possible for many systems and interfaces (even combined)  While every system and DSTL is different, the basic design of test solutions can be the same  Non-programming testers and non-testing developers can be effective at automated testing
  • 24. See also  “Exploring no man's land with keyword driven testing” - presentation at Free Test 2009  “Effective automated testing with a DSTL”- white paper  www.DeAnalist.nl for the ETA Framework and its documentation