Automation and repeat-ability - these are answers to the high cost of testing and business process conformance.
These slides support a talk on how to structure and tool for testing and conformance industrialization.
Model drivers how to industrialize testing 2013-09-01b
1. How to industrialize software testing
with Model Driven Testing and ModelDT tooling
2. About Model Drivers
Business model industrialization.
Model driven products and services:
• Reporting
• Testing
• Regulatory conformance
• Business strategy and business cases
• Business architecture
• Systems delivery
2013-09
2
How to industrialize testing
3. Agenda
A.
B.
C.
D.
The testing landscape and its gaps
Steps to industrialized testing
How to tool up for industrialized testing with ModelDT
Summary and further reading
2013-09
3
How to industrialize testing
4. A: The testing landscape and its gaps
The development process is putting testing up the front
There are many tools supporting the testing domain
But there is a problem – the tools don’t talk to each others
2013-09
4
How to industrialize testing
5. The development process is putting testing up the front
•
•
In the agile,
Behaviour Driven
Development,
continuous delivery
paradigms, test
design comes before
development.
… therefore.. testing
is even more closely
integrate with
business
requirements
User story
User
Test case
Develop
Backlog
Test result
Production
2013-09
5
How to industrialize testing
6. There are many tools supporting the testing domain
MS Excel
everywhere!
•
•
•
Testing is
supported by
many tools
It has to be
because testing's
scope is 100%
wide
Many of the tools
are excellent, with
long, successful
histories and wide
adoption
MD Testing
specifications
Continuous testing
and integration
Quality Center
Requirements
management,
test management
Behaviour driven
testing
Testing environment
virtualisation
Auto testing of
business rules
2013-09
6
The testing profile and its
7. But there is a problem
The tools do not talk
to each other
User Acceptance
Risk
Test plan
Test
management
Test case
Tester
Test result
Unit test
System Under Test data
Test
Programmer
Database
User
Operating model /
User story
Business process
Test runner
Project manager
2013-09
7
Test environment
How to industrialize testing
8. B: Steps to industrialised testing
1. Adopt the vision and mental model
2. Implement four big ideas
3. Continuous learning and improvement
2013-09
8
How to industrialize testing
9. 1. Adopting the vision
What good testing looks like
Tests are 100% aligned to the
requirements
(even when things change)
Guaranteed correct
Fast (=automated)
Cheap (=automated)
Industrialization: Conversion to
the methods, aims, and ideals of
industry and economic activity,
particularly of an area that was
previously underdeveloped
2013-09
9
Fully visible – at the tester level
Well governed and managed
How to industrialize testing
10. The model driven testing mental model
1: Separation of concerns, with each
concern well managed.
2: Testing analysis and design is supported
with specific tools. language and designs.
Architect
Design
Build
2013-09
10
How to industrialize testing
11. 2. Implement four big ideas
•
•
•
•
Big idea 1: Industrialise your understand of your business
Big idea 2: Industrialise the design of your testing ecosystem
Big idea 3: Overlay your business understanding with your testing
requirements
Big idea 4: Drive testing through automation and tooling
2013-09
11
How to industrialize testing
12. Step 1: Industrialize your understanding of your business
1.
2.
3.
You cant do a good
job of testing
without a good
understanding of
the requirements
To industrialise
testing you therefor
have to
industrialise your
understanding of
the business
domain
This means tooling
and appropriate
language
Business process model
2013-09
12
Data model
How to industrialize testing
13. Step 2: Industrialise the design of your testing ecosystem
1.
2.
3.
4.
Industrialized testing
can only be built
from a structured,
automated design
That requires a
specific, specialised
language
And supporting
tooling
Within a well
specified framework
Testing eco-system
2013-09
13
How to industrialize testing
14. ..break your analysis and design of testing into manageable packages
The UML
Testing
Profile gives
the testing
industry 6
domains to
standardize
on
Test architecture: Testing meta model,
business domain, testing package
Test package: System Under Test, test
context, test components
Test configuration: Test cases, scheduler,
arbiters, logs
Test case: Testing activity
Test data: Data pools, partitions, selectors
Deployment: Nodes for SUT, Test
components, Scheduler
2013-09
14
How to industrialize
15. Step 3: Overlay your business understanding with your testing requirements
Business domain
Process
Overlay the
testing
strategy
Testing domain
Test strategy
Process model
Test cases
Data
Generation
Generation
Data model
Test data
2013-09
15
How to industrialize testing
16. Step 4: Drive testing through automation and tooling
MS Excel
everywhere!
MD Word testing
specifications
Continuous testing
and integration
Business and systems
modelling
Quality Center
Because design information
is structured, this interface
can be automated
2013-09
16
Requirements
management,
test management
Behaviour driven
testing
Testing environment
virtualisation
Auto testing of
business rules
How to industrialize testing
17. C: How to tool up for industrialized testing with ModelDT
Tooling for planning, analysis and design
Example automations with ModelDT
2013-09
17
How to industrialize testing
18. Tooling for planning, analysis and design
You get
Architectural view of
testing
Large scale automation
Manager
& Architect
Risk
management
User Acceptance
Test
Test plan
Test case
Tester
Unit test
SUT
Test data
Programmer
Test result
Database
User
Operating model /
Business process
User story
Project manager
2013-09
18
Test runner
Test environment
How to industrialize testing
19. Example automations with ModelDT
a) Harvest and integrate existing knowledge
b) Validation to the testing profile rules
c) Analysis tools
d) Auto generate test plans and specifications
e) Auto generate code that tests your data to the requirements
f) Auto generate test cases and scripts for test runners
g) Synthetic test data generation
h) Work in familiar Web and Excel for day to day work
2013-09
19
How to industrialize testing
20. a) Harvest and integrate existing knowledge
Quality Center
You get
Synthesis
De-duplication
Consistency
Visibility
2013-09
20
How to industrialize testing
21. b) Validation to the testing profile rules
You get
Highlights on items in error
Error messages describing the break
Guaranteed conformance to the UTP rules
2013-09
21
How to industrialize testing
22. c) Analysis tools
Test components: E.g. test case
Business domain – use case and data entities
Coverage of business domain
By testing package
You get
Management reports on test coverage
Control reports
Change impact assessments
2013-09
22
How to industrialize testing
23. d) Auto generate test plans and specifications
You get
Consistency and quality
Guaranteed alignment between
business domain and tests
Automated specs and designs
Deployment plans
Test package design
Automated test specifications
2013-09
23
How to industrialize testing
24. e) Auto generate code that tests your data to the requirements
Class diagram
Data format validations
Schema
Constraints
Business rule validations
You get
Automated testing of data format and
business rules
Guaranteed alignment between
requirements and tests
2013-09
24
The testing profile and its
25. f) Auto generate test cases and scripts for test runners
Business data models
Process processes
Messages and
signals
Business
processes
Quality Center
Junit
Test
scripts
Test cases
2013-09
25
Test runners
How to industrialize testing
26. g) Synthetic test data generation
You get
Data with 100% test coverage
Guaranteed alignment of
business and test data
Test data fast
Upload data
and business
rule definitions
ModelDT web service
Download
comprehensive
test data
Positive
test data
Negative
test data
Business domain models
2013-09
26
How to industrialize testing
27. h) Work in familiar Web and Excel for day to day work
RESTful web
service interface
Modelling
interface
Excel
interface
Database
Web
interface
2013-09
27
How to industrialize testing
28. modelDT plugin development roadmap
1.0
–
–
–
–
–
Base Domain Specific Language
Test Case designs
Business domain coverage reports
Synthetic test data generation
End user help, manual, training
1.1
– Extended DSL
– Extended analysis reports
2.0
– Test script outputs – Junit, Quality Centre, etc
– Methodology wizards
– Domain specific patterns and models
3.0
– Risk modelling and management
2013-09
28
The testing profile and its
29. D: Summary and further reading
Summary
- Testing is supported by many great tools
- But they do not talk to each other
- The UML Testing profile is a testing language
- ModelDT is a tool that implements the UML Testing Profile
- Thus enabling integration and large scale automation
2013-09
29
How to industrialize testing
30. Next steps
• The UML Testing Profile: Slide presentation
• Demonstration: Attend a short web presentation and explore any
aspect of Model Driven Testing.
• White paper: Request a copy of “Roadmap to industrialised
testing”.
• Questions: Greg Soulsby http://uk.linkedin.com/in/gregsoulsby
• Twitter: @modelDT, @modelDrivers
• Youtube: modelDrivenTesting
• Linked in group: www.linkedin.com/groups/Model-drivers-4341672/
• Blog: http://blog.modeldrivers.us/
• Site: www.modelDrivers.us
• Plugin beta: Get the benefits with free support & contribute to
direction
2013-09
30
How to industrialize testing