write your test cases in a domain-specific language

46
T6 Session 6/25/2015 11:30 AM “Write Your Test Cases in a Domain3Specific Language” Presented by: Beaumont Brush Dematic, Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888D268D8770 E 904D278D0524 E [email protected] E www.sqe.com

Upload: techwell

Post on 18-Mar-2018

207 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Write Your Test Cases in a Domain-Specific Language

!

!

T6#Session!6/25/2015! !11:30!AM!!!!!

“Write#Your#Test#Cases#in#a#Domain3Specific#Language”##

Presented#by:#

Beaumont#Brush#Dematic,#Inc.#

#####

Brought#to#you#by:#####

##

340!Corporate!Way,!Suite!300,!Orange!Park,[email protected]!E!www.sqe.com!

!

Page 2: Write Your Test Cases in a Domain-Specific Language

!!!!

!!!!! !!!!!

The quality lead for hardware controls projects at Dematic, Inc., Beaumont Brush started his career fifteen years ago as a developer of natural language processing and information extraction technologies. Beaumont became a product manager for companies that leveraged these technologies to accomplish such tasks as intelligent patent searches, automatically matching résumés to job descriptions, and extracting event data from unstructured field intelligence reports. Since settling into quality assurance ten years ago, he has developed and implemented agile test processes and led test automation projects. Beaumont's primary interest and specialty are in tightly integrating quality practices into the development lifecycle.

Beaumont Brush

Dematic, Inc.

Page 3: Write Your Test Cases in a Domain-Specific Language

Write&Your&Manual&Test&Cases&in&a&Domain3Specific&Language&

by&Beaumont&Brush&

Page 4: Write Your Test Cases in a Domain-Specific Language

Background&

Page 5: Write Your Test Cases in a Domain-Specific Language

A&manual&test&case&may&be&the&right&tool,&but…&

Page 6: Write Your Test Cases in a Domain-Specific Language

You&don’t&need&a&different&tool,&just&a&sharper&one&

Page 7: Write Your Test Cases in a Domain-Specific Language

Manual&test&cases&will&stay&dull&unGl&you&sharpen&them&

Page 8: Write Your Test Cases in a Domain-Specific Language

You&want&your&manual&test&case&to&cut&through&the&test&process&easily&

Page 9: Write Your Test Cases in a Domain-Specific Language

Sharpen&your&test&cases&with&a&Domain3Specific&Language&

Page 10: Write Your Test Cases in a Domain-Specific Language

Natural&language&is&a&dull&tool&

Page 11: Write Your Test Cases in a Domain-Specific Language

Natural&Language&is&too&expressive&

Page 12: Write Your Test Cases in a Domain-Specific Language

Syntax&and&semanGcs&are&unconstrained&

Page 13: Write Your Test Cases in a Domain-Specific Language

A&word&about&formaLng&

Page 14: Write Your Test Cases in a Domain-Specific Language

The&applicaGon&domain&is&constrained&

Page 15: Write Your Test Cases in a Domain-Specific Language

There&are&only&so&many&acGons&

Page 16: Write Your Test Cases in a Domain-Specific Language

There&are&only&so&many&objects&

Page 17: Write Your Test Cases in a Domain-Specific Language

There&are&only&so&many&ways&to&accomplish&something&

Page 18: Write Your Test Cases in a Domain-Specific Language

Natural&Language&does&not&lend&itself&to&abstracGon&

Page 19: Write Your Test Cases in a Domain-Specific Language

Define&AbstracGon&

Page 20: Write Your Test Cases in a Domain-Specific Language

Need&constrained&syntax&and&semanGcs&to&get&abstracGon&

Page 21: Write Your Test Cases in a Domain-Specific Language

It&is&possible,&but&not&pracGcal&

Page 22: Write Your Test Cases in a Domain-Specific Language

A&Domain3Specific&Language&(DSL)&is&a&sharp&tool&that&stays&sharp&

Page 23: Write Your Test Cases in a Domain-Specific Language

A&DSL&is&a&constrained&language&for&a&constrained&domain&

Page 24: Write Your Test Cases in a Domain-Specific Language

Define&DSL&

Page 25: Write Your Test Cases in a Domain-Specific Language

A&DSL&is&the&appropriate&choice&

Page 26: Write Your Test Cases in a Domain-Specific Language

A&DSL&is&easier&to&process&

Page 27: Write Your Test Cases in a Domain-Specific Language

You&know&what&to&expect&

Page 28: Write Your Test Cases in a Domain-Specific Language

Hierarchy&+&Order&=&Shared&Structure&

Page 29: Write Your Test Cases in a Domain-Specific Language

A&DSL&can&be&easily&and&straighTorwardly&abstracted&

Page 30: Write Your Test Cases in a Domain-Specific Language

Define&it&once&

Page 31: Write Your Test Cases in a Domain-Specific Language

Fix&it&once&

Page 32: Write Your Test Cases in a Domain-Specific Language

A&DSL&is&easy&to&implement&

Page 33: Write Your Test Cases in a Domain-Specific Language

Create&a&highly&specified&DSL&in&Python&

Page 34: Write Your Test Cases in a Domain-Specific Language

Create&a&more&funcGonal&DSL&with&Gherkin&&

Page 35: Write Your Test Cases in a Domain-Specific Language

A&test&case&DSL&cuts&through&the&test&process&easily&and&efficiently&

Page 36: Write Your Test Cases in a Domain-Specific Language

A&DSL&is&easier&to&maintain&

Page 37: Write Your Test Cases in a Domain-Specific Language

Use&a&limited&and&known&set&of&acGons&and&objects&

Page 38: Write Your Test Cases in a Domain-Specific Language

Don’t&Repeat&Yourself&

Page 39: Write Your Test Cases in a Domain-Specific Language

Rewrite&test&cases&less&

Page 40: Write Your Test Cases in a Domain-Specific Language

A&DSL&fits&seamlessly&into&the&development&process&

Page 41: Write Your Test Cases in a Domain-Specific Language

Use&exisGng&workflow&

Page 42: Write Your Test Cases in a Domain-Specific Language

Use&exisGng&IDE&

Page 43: Write Your Test Cases in a Domain-Specific Language

Use&exisGng&version&control&

Page 44: Write Your Test Cases in a Domain-Specific Language

Use&coding&standards&

Page 45: Write Your Test Cases in a Domain-Specific Language

Use&exisGng&code&review&process&

Page 46: Write Your Test Cases in a Domain-Specific Language

Some&other&potenGal&benefits&