The document discusses extreme automation of testing distributed systems, services, and APIs. It proposes:
1) Automating all testing activities, including automated test input and oracle generation, intelligent test prioritization and scheduling, execution, arbitration and reporting.
2) Using models of the distributed system under test, including service models, architecture topology, and protocol state machines to generate test cases.
3) Intelligently scheduling and reactively planning tests by choosing the next test case to run based on past test verdicts and generating new test cases to diminish ignorance of system elements.
4) Providing these testing technologies and functional testing workflow as a cloud-native, on-demand testing as a service platform.
1. EXTREME AUTOMATION OF
DISTRIBUTED SYSTEMS, SERVICES, & API TESTING
simplyTestify.com
Service Functional Testing Automation with
Intelligent Scheduling and Planning
Lom M. Hillah,A-P. Maesano, L. Maesano, F. De Rosa, F. Kordon, and P-H.Wuillemin
2. Model and Inference Driven, Automated Testing
of Services Architectures (MIDAS)
midas-project.eu
simplyTestify.com
FOREGROUND OF EU FP7 MIDAS
3. Distributed systems, services &
APIs
Large scale, multi-owner
Synchronous & Asynchronous
Time constrained
Heterogeneous Protocols
(SOAP, REST,…)
WHAT IS UNDER TEST?
simplyTestify.com
4. HOW DO WE TEST IT?
Test extreme automation
Test automation as a service
Test automation methods PaaS
simplyTestify.com
send stimuli /
collect outcomes
direct connection
Internet
S1
Distributed System Under Test
S2
S3
S7
S6
S4
S5
Internet
Cloud
simplyTestify
Portal
directconnection
directconnection
Test
method
#1
Test
method
#1
Test
method
#1
Test
method
#1
User
Web
Client
DSUTadapter
invoke test
generation
& run
methods on
the DSUT
via
API
via
GUI
API gateway
User
Corp.
Server
Model-based, Black-box, Grey-box,
Troubleshooting
5. • AUTOMATED TEST INPUT & ORACLE
GENERATION (Formal Methods)
• INTELLIGENT DYNAMIC TEST
PRIORITISATION & SCHEDULING (A.I.)
• AUTOMATED TEST EXECUTION,
ARBITRATION & REPORTING
• INTELLIGENT EVIDENCE-BASED REACTIVE
PLANNING OF TEST SESSIONS (A.I.)
ALL (HARD) TESTING ACTIVITIES ARE AUTOMATED
OUR TESTING TECHNOLOGIES
simplyTestify.com
6. • Service Model (WSDL, XSD)
• Distributed Architecture under Test:
topology of components and services
(SCA)
• Protocol State Machine (SCXML) for
each component: conditions and
transfer functions in Javascript
INPUT MODELS FOR FUNCTIONAL TESTING
simplyTestify.com
7. TEST CASE GENERATION
simplyTestify.com
Preprocessing
Translation (PlusCal)
Compilation (TLA+)
Model Checking
Test Input Generation
Parallel PSM Model
Execution
Oracle
Generation
Models of the
DSUT
Test Generation
Directives
Test Suite
Definition
Test Suite
Samples
8. AUTOMATED TEST SCHEDULING
simplyTestify.com
[TC][TV]
[evidences] [probabilities]
STOP
STOP
Inference engine
Service interface
Scheduling
Policy module
Probabilities container
RequestTestScheduling([TC]) NotifyTestSchedOutcome(C)
C = [TC] C = ∅
• Cycle schedule/execute/arbitrate
• Choose next test case (TC) to run
on the basis of past tests verdicts
• Detect failures early
• Locate faulty elements
(troubleshooting)
9. AUTOMATED REACTIVE PLANNING
simplyTestify.com
• Scheduler not only drives the choice of
the next TC, but also the on-the-fly
generation of new TCs
• Using evidences from past test runs:
• calculates the degree of ignorance of
DSUT elements, and recommend the
generation of TCs whose execution
would diminish this ignorance
[TC][TV]
[evidences] [probabilities] [probabilities]
STOP
STOP
Test
Generation
Directives
Inference engine
Service interface
Scheduling
Policy module
Generation
Policy module
Probabilities container
RequestTestScheduling([TC]) NotifyTestSchedOutcome(C)
C = [TC] C = ∅ C = TestGenDirectives.xml
10. FUNCTIONAL TESTING WORKFLOW OVERVIEW
simplyTestify.com
Request Init Scheduling
Test GenerationTest Scheduling
Test Execution
Models of the DSUT
Test Configuration
Test Suites
Test Verdicts
Reports
Dashboard
Verdicts Test Suites
Test Suites
Test Generation Directives
Logs Workflow Manager is the actual broker
between the involved components
11. • Cloud native TaaS
• Highly elastic, available, reliable
& secure
• Programmable through APIs
• On-demand, self-provisioning,
pay as you go
• Looking for early adopters!
DISRUPTIVE APPROACH
simplyTestify.com
TEST MECHANIZATION, OPTIMIZATION & ROUTINIZATION