SlideShare uma empresa Scribd logo
1 de 47
© Curiosity Software Ireland Ltd. 2020
In the beginning there was
a model
Using requirements models to drive
rigorous test automation
Moderator: Tom Pryce
Communication Manager, Curiosity
Thomas.Pryce@Curiosity.Software
@TomTestsToo
Jim Hazen
Performance Test Engineer
Switchfly
James Walker
Director of Technology, Curiosity.
James.Walker@Curiosity.Software
@CuriositySoft
© Curiosity Software Ireland Ltd. 2020
In the beginning there was a model
1. Where is the value of models across design, dev and test?
2. How can we realise these benefits in practice?
3. Demo: Model-based design and test automation
4. Q&A and discussion
© Curiosity Software Ireland Ltd. 2020
Modeling Methods for
Automation in Testing
Jim Hazen
© Curiosity Software Ireland Ltd. 2020
What is a Model?
• Merriam-Webster definitions1
• an example for imitation or emulation
• a description or analogy used to help visualize something that cannot be directly
observed
• a computer simulation based on a system
• Basically, a physical representation of a thing or system for emulation and
visualization.
© Curiosity Software Ireland Ltd. 2020
A model
© Curiosity Software Ireland Ltd. 2020
Another model
© Curiosity Software Ireland Ltd. 2020
Systems Modeling
• Systems modeling is the use of models to conceptualize and construct
systems in business and IT development.
• A common type of systems modeling is function modeling, with specific techniques
such as Functional Flow Diagram’s (FFD).
• Another type of systems modeling is architectural modeling which uses the
systems architecture to conceptually model the structure and behavior of a
system.
© Curiosity Software Ireland Ltd. 2020
A Systems Model
© Curiosity Software Ireland Ltd. 2020
Modeling Techniques
• Traditional Modeling Techniques
• Unified Modeling Language (UML), Function Flow Diagram, Data Flow
Diagram, State Transition diagram, Architectural diagram
• After initial specification, not fully collaborative
• Modern Modeling Techniques
• Story Boarding/Mapping3, Mind Map4, User Community Modeling Language
(UCML)5, Visual Task Analysis6, Behavior Based Testing (BBT) Map7
• Can be part of initial specification, collaborative
© Curiosity Software Ireland Ltd. 2020
Modeling Tests & Scenarios
• Models are a visual representation of a system
• Allow for determining different paths in system
• Allow for determining the levels of functionality
• Allow for defining the data or different states of data
• Allow for identifying the other systems to interact with
• Can be used to design tests
• Can be used to determine test scenarios
• Aid in the development of automation code (types of functionality needed in
framework)
© Curiosity Software Ireland Ltd. 2020
Types of Models -
Traditional
© Curiosity Software Ireland Ltd. 2020
Modeling – Functional Flow Diagram
(FFD)
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the functionality present
• Provides information about logic flow of functionality
• Provides visual representation of paths through functionality
• Provides information about “users” of functionality
• Helps with design of automation code functionality needed in framework
• Helps with automation code modularity design
© Curiosity Software Ireland Ltd. 2020
Modeling – Data Flow Diagram (DFD)
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the data used/processed by the system under test
• Provides information about transition states of data as it moves through the system
• Provides visual representation of data relationships as it moves through the system
• Provides information about functionality used to process data at various points in system
• Helps with design of Test Data
© Curiosity Software Ireland Ltd. 2020
Modeling – State Transition Diagram
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Finite State Machine (FSM)
• Provides information about states and transition as “user” moves through
the system, and the actions that cause them
• Provides visual representation of paths through the system, both primary
and alternative ones
• Helps with design of Test Scenarios
© Curiosity Software Ireland Ltd. 2020
Thoughts On Traditional Methods
Pro’s Con’s
Standardized methods and formats Can be rigid in process
High level graphical representation Decomposing into more detail is problematic
Each method is supported by many tools Cost of tools can be prohibitive
Diagrams give information of process Methods are specific to design and not testing,
have to interpret into tests
Different methods & diagrams give different
pieces of information
© Curiosity Software Ireland Ltd. 2020
Types of Models - Modern
© Curiosity Software Ireland Ltd. 2020
Always
Used
Seldom
Used
Criticality
(UsageLevel)
Usage Sequence
Log On
Customer
Management
Order
Processing
Accounting
Inventory
Management
Add New
Customer
New Order
Accounts
Receivable
Inventory
Report
Edit Customer Modify Order Add Inventory
Delete
Customer
Delete Order
Accounts
Payable
Modeling – Story Mapping
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the functionality present
• Provides information about usage levels of functionality
• Provides visual representation of paths through functionality
• Helps with design of automation code functionality needed in framework
• Helps with automation code modularity design
• Helps with prioritization of automation code development
© Curiosity Software Ireland Ltd. 2020
Mail
Application
Compose
Can user send mail
Can user send mail with blank subject
Can user send mail with blank body
Can user send mail to Cc, Bcc list recipients
Add Attachment
Single Attachment
Multiple Attachments
Different File Formats
File greater than 25 MB
Insert HTML Link
Insert File
Modeling – Mind Map
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the functionality
• Provides information about usage of functionality
• Provides visual representation of paths of functionality
• Provides visual representation of data
• More atomic/granular view of functionality to test
• Helps with design of test scenarios and combinations
• Helps with prioritization of automation code development
© Curiosity Software Ireland Ltd. 2020
Modeling - UCML
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the functionality
• Provides information about usage of functionality
• Provides information about the usage level of functionality
• Provides visual representation of paths of usage
• Helps with design of test scenarios and combinations, including End-to-End
• Helps with determining workload model for Performance Testing
• Helps with defining Non-Functional Requirements
© Curiosity Software Ireland Ltd. 2020
UI
JS
API
APP
DB
Successful Login Flow
Load
Page
Potential
Check/Test
Seam /
Layer
Action
Build
Login
Page
Interact
with
Login
Send
API
Request
Process
API
Request
Check
Credentials /
Create token
Send API
Response
Flag as
Logged In
Render
Home page
Home
page
Modeling – Visual Task Analysis
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about Technology Stack
• Provides a visual representation of topology of functionality layers/seams
• Helps with determining what to interact with and which tool may be utilized
• Helps to decide the types of data needed to drive the tests
• Start testing pieces of the flow in isolation
© Curiosity Software Ireland Ltd. 2020
Modeling – Behavior Based Testing
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Provides information about the functionality
• Provides information about usage of functionality
• Provides information about the data needed for test
• Helps with design of test scenario
• Helps with defining generic data needed for test
• Helps with defining Gherkin’s “Given, When, Then” structure for associated input
data, action, and end state condition or validation
© Curiosity Software Ireland Ltd. 2020
Modeling –Business Process Model
and Notation (BPMN)
© Curiosity Software Ireland Ltd. 2020
Application to Automation
• Information about the functionality
• Information about usage of functionality
• Information about the data needed for test
• Helps w/ design & generation of test scenarios & data
• Can be used to generate code for automation in testing
• Helps with design of test scenario
• Helps with defining generic data needed for test
© Curiosity Software Ireland Ltd. 2020
Thoughts On Modern Methods
Pro’s Con’s
Multiple methods and formats Picking the “right” one(s) can be problematic
High level graphical representation, and can have
specific details
Can get to be too detailed, lose the forest for the
trees.
Lots of tools Picking the “right” one can be problematic
Diagrams give information of process Different methods & diagrams give different
pieces of information
Some methods & diagrams are geared towards
testing
© Curiosity Software Ireland Ltd. 2020
References
1. “Model”, Miriam-Webster Dictionary, www.merriam-webster.com/dictionary/model
2. “The New Model for Testing”, Paul Gerrard, Agile Testing Days, https://youtu.be/1Ra1192OpqY, 2017.
3. "Story Mapping," Agile Alliance, www.agilealliance.org/glossary/storymap/, 2018.
4. “What is a Mind Map? - Definition & Examples”, Study.com, study.com/academy/lesson/what-is-a-mind-map-
definition-examples.html, 2018.
5. “User Community Modeling Language (UCMLTM)," Scott Barber, www.perftestplus.com/articles/ucml.pdf, 2003.
6. “Pyramids Are Ancient - Let’s Talk Automation Strategy”, Richard Bradshaw, SauceCon 2019 presentation,
https://youtu.be/83aHKC5C14Q, 2019.
7. “Tired of Your Software Development Testing Automation Failing Over Time?”, Tim Harrison, SQA2,
http://sqasquared.com/blog/2019/07/23/tired-software-development-testing-automation-failing-time/, 2019.
© Curiosity Software Ireland Ltd. 2020
How can we realise these
benefits in practice?
An approach for realising as many model-based benefits as possible
© Curiosity Software Ireland Ltd. 2020
Problems worth solving
Design 64% of bugs emerge in the
requirements analysis and
design phase.1
Requirements defects can account
for as much as 82% of total defect
remediation efforts.2
A bug found in testing costs 15 times more
to fix than one found during design.3
Dev Developers spend 50.1% their time fixing bugs.4 50% of developers encounter the most
delays during testing.5
QA/Testing Testing still consumes
23% of the average IT
budget.6
Fixing a bug found post- release
costs double fixing one found in
QA.3
Only 19% of
UATs today are
automated.6
44% of QA time is spent
searching, managing and
generating data.7
[1] P Mohan, A Udaya Shankar, K JayaSriDevi (2012), “Quality Flaws: Issues and Challenges in Software Development”, in Computer Engineering and Intelligent Systems (3:12:40-48).
[2] James Martin, cited from Bender RBT (2009), Requirements Based Testing Process Overview.
[3] IBM, cited in M Dawson et al (2010), “Integrating Software Assurance into the Software Development Life Cycle (SDLC)”, in Journal of Information Systems Technology & Planning, (3:6: 49-43).
[4] T Britton et al (2013), "Reversible Debugging Software", report created for the Judge Business School, University of Cambridge.
[5] GitLab (2019), 2019 Global Developer Report. [6] Capgemini, Sogeti, Micro Focus (2019), World Quality Report 2019-20. [7] Capgemini, Sogeti, Broadcom (2020), Continuous Testing Report 2020.
© Curiosity Software Ireland Ltd. 2020
Silo Wall Information Hop Delay
No feedback
or traceability
Dev Automation EngineersQA/TestBAs
Effort: I write up lots
of repetitive user stories,
requests and tickets.
Quality:Most bugs
originate in incomplete,
ambiguous requirements.
Effort: I recode after
misunderstood designs
and uncaught bugs.
Quality:Bugs are more
damaging the later they
are discovered.
Effort: I slowly create
and maintain 1000s of
low-coverage tests.
Quality:Manually
derived tests hit a
fraction of system logic.
Effort: I maintain a
growing mountain of
repetitive test scripts.
Quality: Data clashes,
false positives, false
negatives, low coverage.
Formulate complex requirements
and change requests in
disparate, unconnected formats.
Convert the incomplete designs
into code, trying to fix the impact
of changes on complex systems.
Unsystematically create high
volume, low coverage test cases,
mismatched with system designs.
Choose between creating new
scripts for new logic or
maintaining existing code.
Flat RQMTs = Silos = effort and errors
Mini-waterfalls – manual effort and mistranslation mounts with each “information hop”
© Curiosity Software Ireland Ltd. 2020
Flowchart modelling
Recorded
tests activity
Test Cases
BPMN
diagrams
BDD
Scenarios
Business
Requirements
Application Scans
Reactive Model
of the system
Find / Make / Allocate Test Data
Run Results
Tests
New
Iteration
 Perfect sets of tests
 Fast Maintenance
 Reusable Components
 Move faster
 Deliver with confidence
Test AutomationTest Automation
© Curiosity Software Ireland Ltd. 2020
Modelling solves automation challenges
1. Modelling automates repetitive test case and data design.
2. Modelling minimises maintenance time – updating models updates all artefacts
generated from them.
3. Test optimisation finds bugs earlier and at less cost to fix.
4. Re-usability allows engineers to focus on feeding in new code which is re-used across
cross-functional teams.
5. Modelling minimises test data frustrations, creating unique combinations for every test.
© Curiosity Software Ireland Ltd. 2020
Models are a collaborate
piece
Most bugs stem from requirements.
The best way to test these bugs is to catch them as they arise.
• Collaboratively modelling provides continuous feedback – each
tester, dev, BA etc. spots things the others didn’t.
• Modelling eradicates ambiguity as we pick only one option.
• Visual models make it easy to spot incompleteness upfront.
We then execute tests directly from the Living Documentation,
reducing manual effort and driving quality.
Behaviour-Driven
Scenarios
ChatOps and Oral
Agreements
“Flat” diagrams
Requirements
Documents
Email
Requests
Spoken Agreements
Requirements are often spread over
unconnected formats.
Modelling consolidates them, spotting
incompleteness & ambiguity.
This “living documentation” avoids
technical debt and keeps teams aligned.
⨯
© Curiosity Software Ireland Ltd. 2020
Models pool knowledge and skills
The models then automate the creation test assets and specifications, driving
accurate development and in-sprint testing
Skills sharing & cross-team collaboration:
People who understand the user
requirements
People who understand testing
People who understand automation
People who understand data
People who understand integration
People who understand CI/CD
A single source of truth for all assets
Test scripts
Test Cases
Written Requirements & Diagrams
Gherkin specifications
Test Data
Service Definitions & Virtual Services
Cross-team alignment & real-time communication • No technical debt • In-sprint
automation • Minimal dev rework • Avoid duplicate effect and cumbersome maintenance
© Curiosity Software Ireland Ltd. 2020
Modelling is an accelerator, not
replacement, for good test automation
With modelling, automation becomes a largely automated comparison
of the modelled system to the system built in code.
That means accurate regression tests executed in-sprint.
Feeding in new code, it becomes re-usable in future sprints and by non-
coders.
You can focus on testing what’s new and interesting, testing fast-
changing systems.
Demo
© Curiosity Software Ireland Ltd. 2020
© Curiosity Software Ireland Ltd 2020
Questions and Discussion
© Curiosity Software Ireland Ltd. 2020
Want to learn more from
Jim?
Check out Before the Code. 15 chapters
of expert guidance on what you should
do before you write a single line of
automation code.
Get your (discounted) copy at
https://bit.ly/3lKqBiI
© Curiosity Software Ireland Ltd. 2020
The broken promise of test automation
Daniel Howard
Senior Researcher
Bloor Research
November 10th 2020 2pm GMT / 9am EST
Huw Price
Managing Director
Curiosity Software
SIGN UP TODAY
James Walker
Director of Technology
Curiosity Software
Why are we still hand-cranking tests?
© Curiosity Software Ireland Ltd. 2020
© Curiosity Software Ireland Ltd. 2020
Carry on the conversation?
• We’d love to chat further. Book a web meeting at
calendly.com/curiosity-james
• Want to try MBT? Visit Testmodeller.io for a free trial.
• Follow @CuriositySoft
• Email us on James.Walker@Curiosity.Software
• Connect with Jim and James on LinkedIn
© Curiosity Software Ireland Ltd 2020
Thank you
James.Walker@Curiosity.Software

Mais conteúdo relacionado

Semelhante a In the beginning there was a model: Using requirements models to drive rigorous test automation

The Broken Promise of Test Automation: Why are we still hand-cranking tests?
The Broken Promise of Test Automation: Why are we still hand-cranking tests?The Broken Promise of Test Automation: Why are we still hand-cranking tests?
The Broken Promise of Test Automation: Why are we still hand-cranking tests?Curiosity Software Ireland
 
Marwa_Ezzatt_Ahmed_CV
Marwa_Ezzatt_Ahmed_CVMarwa_Ezzatt_Ahmed_CV
Marwa_Ezzatt_Ahmed_CVMarwa Ezzat
 
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...Curiosity Software Ireland
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAgile Testing Alliance
 
Resume_Sourav_Sadhukhan_Cognizant_3Years
Resume_Sourav_Sadhukhan_Cognizant_3YearsResume_Sourav_Sadhukhan_Cognizant_3Years
Resume_Sourav_Sadhukhan_Cognizant_3Yearssourav sadhukhan
 
Chandan_3.7 Years of Experience_Oracle
Chandan_3.7 Years of Experience_OracleChandan_3.7 Years of Experience_Oracle
Chandan_3.7 Years of Experience_OracleChandan Jai
 
Automated EDW Assessment and Actionable Recommendations - Impetus Webinar
Automated EDW Assessment and Actionable Recommendations - Impetus WebinarAutomated EDW Assessment and Actionable Recommendations - Impetus Webinar
Automated EDW Assessment and Actionable Recommendations - Impetus WebinarImpetus Technologies
 
Analyze your application portfolio to know where the quality and risk issues ...
Analyze your application portfolio to know where the quality and risk issues ...Analyze your application portfolio to know where the quality and risk issues ...
Analyze your application portfolio to know where the quality and risk issues ...Sogeti Nederland B.V.
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerQA or the Highway
 
Microsoft DevOps for AI with GoDataDriven
Microsoft DevOps for AI with GoDataDrivenMicrosoft DevOps for AI with GoDataDriven
Microsoft DevOps for AI with GoDataDrivenGoDataDriven
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software EngineeringMiroslaw Staron
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesBrian Petrini
 
Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018 Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018 Open Data Group
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...IRJET Journal
 
InTTrust -IBM Artificial Intelligence Event
InTTrust -IBM Artificial Intelligence  EventInTTrust -IBM Artificial Intelligence  Event
InTTrust -IBM Artificial Intelligence EventMichail Pagiatakis
 
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity Software Ireland
 

Semelhante a In the beginning there was a model: Using requirements models to drive rigorous test automation (20)

The Broken Promise of Test Automation: Why are we still hand-cranking tests?
The Broken Promise of Test Automation: Why are we still hand-cranking tests?The Broken Promise of Test Automation: Why are we still hand-cranking tests?
The Broken Promise of Test Automation: Why are we still hand-cranking tests?
 
Marwa_Ezzatt_Ahmed_CV
Marwa_Ezzatt_Ahmed_CVMarwa_Ezzatt_Ahmed_CV
Marwa_Ezzatt_Ahmed_CV
 
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...
Curiosity software Ireland and Perfecto present: achieving in-sprint regressi...
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
 
Resume_Sourav_Sadhukhan_Cognizant_3Years
Resume_Sourav_Sadhukhan_Cognizant_3YearsResume_Sourav_Sadhukhan_Cognizant_3Years
Resume_Sourav_Sadhukhan_Cognizant_3Years
 
Chandan_3.7 Years of Experience_Oracle
Chandan_3.7 Years of Experience_OracleChandan_3.7 Years of Experience_Oracle
Chandan_3.7 Years of Experience_Oracle
 
Visual_Resume
Visual_ResumeVisual_Resume
Visual_Resume
 
Visual resume
Visual resumeVisual resume
Visual resume
 
Automated EDW Assessment and Actionable Recommendations - Impetus Webinar
Automated EDW Assessment and Actionable Recommendations - Impetus WebinarAutomated EDW Assessment and Actionable Recommendations - Impetus Webinar
Automated EDW Assessment and Actionable Recommendations - Impetus Webinar
 
Analyze your application portfolio to know where the quality and risk issues ...
Analyze your application portfolio to know where the quality and risk issues ...Analyze your application portfolio to know where the quality and risk issues ...
Analyze your application portfolio to know where the quality and risk issues ...
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Microsoft DevOps for AI with GoDataDriven
Microsoft DevOps for AI with GoDataDrivenMicrosoft DevOps for AI with GoDataDriven
Microsoft DevOps for AI with GoDataDriven
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software Engineering
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018 Comcast Labs Connect - PHLAI Conference Philadelphia 2018
Comcast Labs Connect - PHLAI Conference Philadelphia 2018
 
A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...A Machine learning based framework for Verification and Validation of Massive...
A Machine learning based framework for Verification and Validation of Massive...
 
InTTrust -IBM Artificial Intelligence Event
InTTrust -IBM Artificial Intelligence  EventInTTrust -IBM Artificial Intelligence  Event
InTTrust -IBM Artificial Intelligence Event
 
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
 

Mais de Curiosity Software Ireland

Curiosity Software Presents: Isolating blast radiuses for testing - How to no...
Curiosity Software Presents: Isolating blast radiuses for testing - How to no...Curiosity Software Presents: Isolating blast radiuses for testing - How to no...
Curiosity Software Presents: Isolating blast radiuses for testing - How to no...Curiosity Software Ireland
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Ireland
 
Curiosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity Software Ireland
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity Software Ireland
 
Curiosity and Windocks Present - Turn your production systems into test-ready...
Curiosity and Windocks Present - Turn your production systems into test-ready...Curiosity and Windocks Present - Turn your production systems into test-ready...
Curiosity and Windocks Present - Turn your production systems into test-ready...Curiosity Software Ireland
 
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...Curiosity and Sogeti Present - The state of test data in 2022: New challenges...
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...Curiosity Software Ireland
 
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...Curiosity Software Ireland
 
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...Curiosity Software and RCG Global Services Present - Solving Test Data: the g...
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...Curiosity Software Ireland
 
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...Curiosity Software Ireland
 
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...Curiosity Software Ireland
 
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...Curiosity Software Ireland
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software Ireland
 
Development Has Moved On: Test data needs to catch up with containers
Development Has Moved On: Test data needs to catch up with containersDevelopment Has Moved On: Test data needs to catch up with containers
Development Has Moved On: Test data needs to catch up with containersCuriosity Software Ireland
 
Test data automation: delivering quality data at speed
Test data automation: delivering quality data at speedTest data automation: delivering quality data at speed
Test data automation: delivering quality data at speedCuriosity Software Ireland
 
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...Curiosity Software Ireland
 
Model-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyModel-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyCuriosity Software Ireland
 

Mais de Curiosity Software Ireland (17)

Curiosity Software Presents: Isolating blast radiuses for testing - How to no...
Curiosity Software Presents: Isolating blast radiuses for testing - How to no...Curiosity Software Presents: Isolating blast radiuses for testing - How to no...
Curiosity Software Presents: Isolating blast radiuses for testing - How to no...
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
 
Curiosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CD
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
 
Curiosity and Windocks Present - Turn your production systems into test-ready...
Curiosity and Windocks Present - Turn your production systems into test-ready...Curiosity and Windocks Present - Turn your production systems into test-ready...
Curiosity and Windocks Present - Turn your production systems into test-ready...
 
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...Curiosity and Sogeti Present - The state of test data in 2022: New challenges...
Curiosity and Sogeti Present - The state of test data in 2022: New challenges...
 
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...
Curiosity and Lemontree present - Test Data Automation: Move from slow and ma...
 
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...Curiosity Software and RCG Global Services Present - Solving Test Data: the g...
Curiosity Software and RCG Global Services Present - Solving Test Data: the g...
 
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...
Curiosity and EPI-USE Labs present - Testing across SAP and non-SAP systems: ...
 
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...
Curiosity and Coforge present - Oracle FLEXCUBE: De-risk upgrades and migrati...
 
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
Development Has Moved On: Test data needs to catch up with containers
Development Has Moved On: Test data needs to catch up with containersDevelopment Has Moved On: Test data needs to catch up with containers
Development Has Moved On: Test data needs to catch up with containers
 
Test data automation: delivering quality data at speed
Test data automation: delivering quality data at speedTest data automation: delivering quality data at speed
Test data automation: delivering quality data at speed
 
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
To Open Banking and Beyond: Developing APIs that are Resilient to every new I...
 
Five reasons to model during QA
Five reasons to model during QAFive reasons to model during QA
Five reasons to model during QA
 
Model-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accuratelyModel-Based Test Automation: Automate more, automate faster, automate accurately
Model-Based Test Automation: Automate more, automate faster, automate accurately
 

Último

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Último (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

In the beginning there was a model: Using requirements models to drive rigorous test automation

  • 1. © Curiosity Software Ireland Ltd. 2020 In the beginning there was a model Using requirements models to drive rigorous test automation Moderator: Tom Pryce Communication Manager, Curiosity Thomas.Pryce@Curiosity.Software @TomTestsToo Jim Hazen Performance Test Engineer Switchfly James Walker Director of Technology, Curiosity. James.Walker@Curiosity.Software @CuriositySoft
  • 2. © Curiosity Software Ireland Ltd. 2020 In the beginning there was a model 1. Where is the value of models across design, dev and test? 2. How can we realise these benefits in practice? 3. Demo: Model-based design and test automation 4. Q&A and discussion
  • 3. © Curiosity Software Ireland Ltd. 2020 Modeling Methods for Automation in Testing Jim Hazen
  • 4. © Curiosity Software Ireland Ltd. 2020 What is a Model? • Merriam-Webster definitions1 • an example for imitation or emulation • a description or analogy used to help visualize something that cannot be directly observed • a computer simulation based on a system • Basically, a physical representation of a thing or system for emulation and visualization.
  • 5. © Curiosity Software Ireland Ltd. 2020 A model
  • 6. © Curiosity Software Ireland Ltd. 2020 Another model
  • 7. © Curiosity Software Ireland Ltd. 2020 Systems Modeling • Systems modeling is the use of models to conceptualize and construct systems in business and IT development. • A common type of systems modeling is function modeling, with specific techniques such as Functional Flow Diagram’s (FFD). • Another type of systems modeling is architectural modeling which uses the systems architecture to conceptually model the structure and behavior of a system.
  • 8. © Curiosity Software Ireland Ltd. 2020 A Systems Model
  • 9. © Curiosity Software Ireland Ltd. 2020 Modeling Techniques • Traditional Modeling Techniques • Unified Modeling Language (UML), Function Flow Diagram, Data Flow Diagram, State Transition diagram, Architectural diagram • After initial specification, not fully collaborative • Modern Modeling Techniques • Story Boarding/Mapping3, Mind Map4, User Community Modeling Language (UCML)5, Visual Task Analysis6, Behavior Based Testing (BBT) Map7 • Can be part of initial specification, collaborative
  • 10. © Curiosity Software Ireland Ltd. 2020 Modeling Tests & Scenarios • Models are a visual representation of a system • Allow for determining different paths in system • Allow for determining the levels of functionality • Allow for defining the data or different states of data • Allow for identifying the other systems to interact with • Can be used to design tests • Can be used to determine test scenarios • Aid in the development of automation code (types of functionality needed in framework)
  • 11. © Curiosity Software Ireland Ltd. 2020 Types of Models - Traditional
  • 12. © Curiosity Software Ireland Ltd. 2020 Modeling – Functional Flow Diagram (FFD)
  • 13. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the functionality present • Provides information about logic flow of functionality • Provides visual representation of paths through functionality • Provides information about “users” of functionality • Helps with design of automation code functionality needed in framework • Helps with automation code modularity design
  • 14. © Curiosity Software Ireland Ltd. 2020 Modeling – Data Flow Diagram (DFD)
  • 15. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the data used/processed by the system under test • Provides information about transition states of data as it moves through the system • Provides visual representation of data relationships as it moves through the system • Provides information about functionality used to process data at various points in system • Helps with design of Test Data
  • 16. © Curiosity Software Ireland Ltd. 2020 Modeling – State Transition Diagram
  • 17. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Finite State Machine (FSM) • Provides information about states and transition as “user” moves through the system, and the actions that cause them • Provides visual representation of paths through the system, both primary and alternative ones • Helps with design of Test Scenarios
  • 18. © Curiosity Software Ireland Ltd. 2020 Thoughts On Traditional Methods Pro’s Con’s Standardized methods and formats Can be rigid in process High level graphical representation Decomposing into more detail is problematic Each method is supported by many tools Cost of tools can be prohibitive Diagrams give information of process Methods are specific to design and not testing, have to interpret into tests Different methods & diagrams give different pieces of information
  • 19. © Curiosity Software Ireland Ltd. 2020 Types of Models - Modern
  • 20. © Curiosity Software Ireland Ltd. 2020 Always Used Seldom Used Criticality (UsageLevel) Usage Sequence Log On Customer Management Order Processing Accounting Inventory Management Add New Customer New Order Accounts Receivable Inventory Report Edit Customer Modify Order Add Inventory Delete Customer Delete Order Accounts Payable Modeling – Story Mapping
  • 21. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the functionality present • Provides information about usage levels of functionality • Provides visual representation of paths through functionality • Helps with design of automation code functionality needed in framework • Helps with automation code modularity design • Helps with prioritization of automation code development
  • 22. © Curiosity Software Ireland Ltd. 2020 Mail Application Compose Can user send mail Can user send mail with blank subject Can user send mail with blank body Can user send mail to Cc, Bcc list recipients Add Attachment Single Attachment Multiple Attachments Different File Formats File greater than 25 MB Insert HTML Link Insert File Modeling – Mind Map
  • 23. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the functionality • Provides information about usage of functionality • Provides visual representation of paths of functionality • Provides visual representation of data • More atomic/granular view of functionality to test • Helps with design of test scenarios and combinations • Helps with prioritization of automation code development
  • 24. © Curiosity Software Ireland Ltd. 2020 Modeling - UCML
  • 25. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the functionality • Provides information about usage of functionality • Provides information about the usage level of functionality • Provides visual representation of paths of usage • Helps with design of test scenarios and combinations, including End-to-End • Helps with determining workload model for Performance Testing • Helps with defining Non-Functional Requirements
  • 26. © Curiosity Software Ireland Ltd. 2020 UI JS API APP DB Successful Login Flow Load Page Potential Check/Test Seam / Layer Action Build Login Page Interact with Login Send API Request Process API Request Check Credentials / Create token Send API Response Flag as Logged In Render Home page Home page Modeling – Visual Task Analysis
  • 27. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about Technology Stack • Provides a visual representation of topology of functionality layers/seams • Helps with determining what to interact with and which tool may be utilized • Helps to decide the types of data needed to drive the tests • Start testing pieces of the flow in isolation
  • 28. © Curiosity Software Ireland Ltd. 2020 Modeling – Behavior Based Testing
  • 29. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Provides information about the functionality • Provides information about usage of functionality • Provides information about the data needed for test • Helps with design of test scenario • Helps with defining generic data needed for test • Helps with defining Gherkin’s “Given, When, Then” structure for associated input data, action, and end state condition or validation
  • 30. © Curiosity Software Ireland Ltd. 2020 Modeling –Business Process Model and Notation (BPMN)
  • 31. © Curiosity Software Ireland Ltd. 2020 Application to Automation • Information about the functionality • Information about usage of functionality • Information about the data needed for test • Helps w/ design & generation of test scenarios & data • Can be used to generate code for automation in testing • Helps with design of test scenario • Helps with defining generic data needed for test
  • 32. © Curiosity Software Ireland Ltd. 2020 Thoughts On Modern Methods Pro’s Con’s Multiple methods and formats Picking the “right” one(s) can be problematic High level graphical representation, and can have specific details Can get to be too detailed, lose the forest for the trees. Lots of tools Picking the “right” one can be problematic Diagrams give information of process Different methods & diagrams give different pieces of information Some methods & diagrams are geared towards testing
  • 33. © Curiosity Software Ireland Ltd. 2020 References 1. “Model”, Miriam-Webster Dictionary, www.merriam-webster.com/dictionary/model 2. “The New Model for Testing”, Paul Gerrard, Agile Testing Days, https://youtu.be/1Ra1192OpqY, 2017. 3. "Story Mapping," Agile Alliance, www.agilealliance.org/glossary/storymap/, 2018. 4. “What is a Mind Map? - Definition & Examples”, Study.com, study.com/academy/lesson/what-is-a-mind-map- definition-examples.html, 2018. 5. “User Community Modeling Language (UCMLTM)," Scott Barber, www.perftestplus.com/articles/ucml.pdf, 2003. 6. “Pyramids Are Ancient - Let’s Talk Automation Strategy”, Richard Bradshaw, SauceCon 2019 presentation, https://youtu.be/83aHKC5C14Q, 2019. 7. “Tired of Your Software Development Testing Automation Failing Over Time?”, Tim Harrison, SQA2, http://sqasquared.com/blog/2019/07/23/tired-software-development-testing-automation-failing-time/, 2019.
  • 34. © Curiosity Software Ireland Ltd. 2020 How can we realise these benefits in practice? An approach for realising as many model-based benefits as possible
  • 35. © Curiosity Software Ireland Ltd. 2020 Problems worth solving Design 64% of bugs emerge in the requirements analysis and design phase.1 Requirements defects can account for as much as 82% of total defect remediation efforts.2 A bug found in testing costs 15 times more to fix than one found during design.3 Dev Developers spend 50.1% their time fixing bugs.4 50% of developers encounter the most delays during testing.5 QA/Testing Testing still consumes 23% of the average IT budget.6 Fixing a bug found post- release costs double fixing one found in QA.3 Only 19% of UATs today are automated.6 44% of QA time is spent searching, managing and generating data.7 [1] P Mohan, A Udaya Shankar, K JayaSriDevi (2012), “Quality Flaws: Issues and Challenges in Software Development”, in Computer Engineering and Intelligent Systems (3:12:40-48). [2] James Martin, cited from Bender RBT (2009), Requirements Based Testing Process Overview. [3] IBM, cited in M Dawson et al (2010), “Integrating Software Assurance into the Software Development Life Cycle (SDLC)”, in Journal of Information Systems Technology & Planning, (3:6: 49-43). [4] T Britton et al (2013), "Reversible Debugging Software", report created for the Judge Business School, University of Cambridge. [5] GitLab (2019), 2019 Global Developer Report. [6] Capgemini, Sogeti, Micro Focus (2019), World Quality Report 2019-20. [7] Capgemini, Sogeti, Broadcom (2020), Continuous Testing Report 2020.
  • 36. © Curiosity Software Ireland Ltd. 2020 Silo Wall Information Hop Delay No feedback or traceability Dev Automation EngineersQA/TestBAs Effort: I write up lots of repetitive user stories, requests and tickets. Quality:Most bugs originate in incomplete, ambiguous requirements. Effort: I recode after misunderstood designs and uncaught bugs. Quality:Bugs are more damaging the later they are discovered. Effort: I slowly create and maintain 1000s of low-coverage tests. Quality:Manually derived tests hit a fraction of system logic. Effort: I maintain a growing mountain of repetitive test scripts. Quality: Data clashes, false positives, false negatives, low coverage. Formulate complex requirements and change requests in disparate, unconnected formats. Convert the incomplete designs into code, trying to fix the impact of changes on complex systems. Unsystematically create high volume, low coverage test cases, mismatched with system designs. Choose between creating new scripts for new logic or maintaining existing code. Flat RQMTs = Silos = effort and errors Mini-waterfalls – manual effort and mistranslation mounts with each “information hop”
  • 37. © Curiosity Software Ireland Ltd. 2020 Flowchart modelling Recorded tests activity Test Cases BPMN diagrams BDD Scenarios Business Requirements Application Scans Reactive Model of the system Find / Make / Allocate Test Data Run Results Tests New Iteration  Perfect sets of tests  Fast Maintenance  Reusable Components  Move faster  Deliver with confidence Test AutomationTest Automation
  • 38. © Curiosity Software Ireland Ltd. 2020 Modelling solves automation challenges 1. Modelling automates repetitive test case and data design. 2. Modelling minimises maintenance time – updating models updates all artefacts generated from them. 3. Test optimisation finds bugs earlier and at less cost to fix. 4. Re-usability allows engineers to focus on feeding in new code which is re-used across cross-functional teams. 5. Modelling minimises test data frustrations, creating unique combinations for every test.
  • 39. © Curiosity Software Ireland Ltd. 2020 Models are a collaborate piece Most bugs stem from requirements. The best way to test these bugs is to catch them as they arise. • Collaboratively modelling provides continuous feedback – each tester, dev, BA etc. spots things the others didn’t. • Modelling eradicates ambiguity as we pick only one option. • Visual models make it easy to spot incompleteness upfront. We then execute tests directly from the Living Documentation, reducing manual effort and driving quality. Behaviour-Driven Scenarios ChatOps and Oral Agreements “Flat” diagrams Requirements Documents Email Requests Spoken Agreements Requirements are often spread over unconnected formats. Modelling consolidates them, spotting incompleteness & ambiguity. This “living documentation” avoids technical debt and keeps teams aligned. ⨯
  • 40. © Curiosity Software Ireland Ltd. 2020 Models pool knowledge and skills The models then automate the creation test assets and specifications, driving accurate development and in-sprint testing Skills sharing & cross-team collaboration: People who understand the user requirements People who understand testing People who understand automation People who understand data People who understand integration People who understand CI/CD A single source of truth for all assets Test scripts Test Cases Written Requirements & Diagrams Gherkin specifications Test Data Service Definitions & Virtual Services Cross-team alignment & real-time communication • No technical debt • In-sprint automation • Minimal dev rework • Avoid duplicate effect and cumbersome maintenance
  • 41. © Curiosity Software Ireland Ltd. 2020 Modelling is an accelerator, not replacement, for good test automation With modelling, automation becomes a largely automated comparison of the modelled system to the system built in code. That means accurate regression tests executed in-sprint. Feeding in new code, it becomes re-usable in future sprints and by non- coders. You can focus on testing what’s new and interesting, testing fast- changing systems.
  • 42. Demo © Curiosity Software Ireland Ltd. 2020
  • 43. © Curiosity Software Ireland Ltd 2020 Questions and Discussion
  • 44. © Curiosity Software Ireland Ltd. 2020 Want to learn more from Jim? Check out Before the Code. 15 chapters of expert guidance on what you should do before you write a single line of automation code. Get your (discounted) copy at https://bit.ly/3lKqBiI
  • 45. © Curiosity Software Ireland Ltd. 2020 The broken promise of test automation Daniel Howard Senior Researcher Bloor Research November 10th 2020 2pm GMT / 9am EST Huw Price Managing Director Curiosity Software SIGN UP TODAY James Walker Director of Technology Curiosity Software Why are we still hand-cranking tests? © Curiosity Software Ireland Ltd. 2020
  • 46. © Curiosity Software Ireland Ltd. 2020 Carry on the conversation? • We’d love to chat further. Book a web meeting at calendly.com/curiosity-james • Want to try MBT? Visit Testmodeller.io for a free trial. • Follow @CuriositySoft • Email us on James.Walker@Curiosity.Software • Connect with Jim and James on LinkedIn
  • 47. © Curiosity Software Ireland Ltd 2020 Thank you James.Walker@Curiosity.Software

Notas do Editor

  1. https://www.ultraboardgames.com/mouse-trap/game-rules.php
  2. Traditional modeling techniques tend to be done as part of the overall process and not really collaborative. Input/Feedback loop is slower and prone to miscommunication. Modern modeling techniques can be done as part of the front-end work and be more collaborative. Input/Feedback loop is faster and lead to clearer communication. Can be part of a “Shift-Left” effort to push testing and testers to earlier in the process. Can push BA’s, PM’s, Devs and Testers to work more collaboratively.
  3. FFD useful for determining different scenarios/paths through system. Helps with E2E scenarios and determining what could be tested in isolation. This can also be created using UML (Unified Modeling Language) techniques.
  4. Determine negative conditions to inject and if the system will react correctly for error handling.
  5. DFD’s are very useful for data design and creating validations for data state and transformation process.
  6. Helps to determine the data types to be utilized in testing and automation. Can be used to determine valid and invalid data sets.
  7. Defines Actions, States, and transitions that are useful for scenario development and test data design/determination.
  8. These are also known as Finite State Machine (FSM) diagrams. And this is the basis of Model Based Test automation frameworks.
  9. A way to categorize, group and prioritize all at the same time is to use the method created by Jeff Patton now called Story Mapping. This is a visualization technique for representing the system under test in a graphical manner. It allows for a high-level abstraction of the possible usage scenarios to perform for testing overall. As part of this work you can also start to determine the data and data conditions to be created and utilized during test execution. In turn, this helps to determine what has to be handled by the automation code.
  10. Good for functional decomposition of system and determining what type of data may be needed for test to work. Mind Maps. Are another way to visually organize information in a hierarchical format that shows the relationship of pieces to the whole. The central idea, or concept, is at the center of the diagram and all of its parts are placed around it and spider webbed into it. You can think of it as being a graphical representation of a written hierarchical outline.
  11. Scott Barber, used for Performance Testing. Design usage scenarios and workload models. Useful for functional automation in design of test scenarios and functional components to map/build.
  12. Scott Barber's User Community Modeling Language (UCML) methodology supports the 80/20 rule. It is used for Performance Test work but is applicable for automation as well. As part of mapping the functionality, you also calculate the usage percentage of the functionality. It is a way of seeing the frequency of use and can help to prioritize what tests to automate first. It is useful for individual functional testing as well as End-to-End testing.
  13. Richard Bradshaw & Mark Winteringham model, used to determine what to automate and at what layer in technology stack. Also helpful in determining data needs. Visual Task Analysis starts by modeling visually the application stack. Breaks down the different layers of the stack and places them on the left side of the diagram. Between each draw a line to represent the layer, or seam. Next represent the different processes at each layer of the logic flow by drawing a circle and labeling it. Connect the processes with lines that represent the action being performed. From this diagram we see 10 possible points in the flow for a check (test) to occur. Most of these occur below the UI layer. This view below the surface provides a better understanding of what is really going on, and the types of automated tests we need to build.
  14. Tim Harrison – useful for designing generic scenarios for BDD tests and their data requirements. Keeps from getting too deep into the weeds in the GWT syntax. BBT is a visual approach to mapping requirements to test cases. Instead of hard-coding tests for each individual requirement, you map out context, events and outcomes, and then translate these to Gherkin-style test cases. Approach is similar to Behavior Driven Development (BDD), but is visual and can provide a higher level of coverage. The BBT approach is based on automating the individual steps needed to complete multiple test cases. Each context, event and outcome is automated in easy-to-maintain code snippets. The automation then pulls in whichever context, event and outcome it needs to create the test. This leads to a natural Data-Driven approach.
  15. Business Process Model and Notation (BPMN). It is a standard way for modeling business processes using a graphical notation and is based on a flowcharting technique very similar to Activity diagrams in UML. This type of model is used by tools that support Robotic Process Automation (RPA). There are even some tools in the Software Test realm that use this type of modeling for test scenario, test case, and test data generation. Some of them even allow for code generation for use by various automation tools. BPMN models are a higher level abstraction of process and include Events (something that happens), Activities (describes the kind of work being done, or work that a company performs), Gateway’s (a decision point), and Connections (flow to next item).