Details
-
Enabler
-
Not Assigned
-
None
-
Obs Mgt & Controls
-
-
-
4
-
4
-
4.5
-
Team_KAROO
-
Sprint 3
-
-
-
-
9.5
-
Outcomes Reviewed, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
-
-
testing
-
SPO-863
Description
After Karoo's demo on https://jira.skatelescope.org/browse/SP-629 what we need is to move that PACT/Tango prototype into production.
This entails addressing its limitations - or at least some of them - and assessing the resulting solution.
My current idea is to address these limitations:
- single device proxy used in consumer testing: we need a way to be able to test a consumer against a set of replicas of producers, and therefore have interactions in a single pact that involve the same consumer but 2+ providers
- driving the provider when verifying a pact - sequential sequence of state changes: we need to assess the consequences of this limitation in terms of testing and possibly find a better solution (eg adding to an interaction a set of commands to drive the provider in a state)
- simplifying the mechanism for recording the pact, so that the pact is automatically created when doing the consumer tests.
Assessing the resulting solution might be achieved by using the tool on a testing pilot project that involves 2+ consumers and 2+ providers such that at least a provider has 2+ consumers (so that we can practice the idea of consumer-driven contract testing) where event-driven code is not tested. The assessment should answer these questions:
- can we write effective integration tests in this way and avoid having to develop more complex e2e tests?
- what kind of behaviour of devices can be tested in this way? (ie what kind of test conditions can be expressed?)
- what kinds of test conditions cannot be written in this way?
- what is the suggested good practice for the life cycle of pacts? (eg should they be stored in git? should they be used as reference specification of an API?)
Collaborations across trains are encouraged, and maybe have this as a shared objective.
Attachments
Issue Links
- relates to
-
ADR-20 Harmonise handling of TANGO device specifications
- Funnel
-
SP-1152 TANGO properties as helm values
- Funnel
-
SP-629 Explore contract-testing with PACT or similar frameworks
- Done
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...