Related to (or a sub-part/refinement of) “contract testing”, that I periodically highlight:

Produced by OmniGraffle 7.8 2018-07-13 18:27:42 +0000 Canvas 1 Layer 1 Programatic tests of services Usages of wire services (prod code) Programatic mock wire services Real wire services (prod code) Programatic tests of services Usages of wire services (prod code) Programatic mock wire services Real wire services (prod code) Programatic tests of services Usages of wire services (prod code) Real wire services (prod code) Programatic tests of services Usages of wire services (prod code) Programatic mock wire services Real wire services (prod code) Two tiers of our production stack (one via SOA or µServices or BFFs, etc) Technology Compatibility Kit (TCK) - Not so conventional in 2018 devs run this before commit/push Jenkins runs this prior to the ‘integrate’ moment per commit or pull request Jenkins runs this again for CI after integrate (merge) per commit or pull-request Wire mocks ALSO represent enough of the down-stack dependency for the devs, QAs and build-savvy power users to be able to do exploratory testing. 👈 👈 Our regular 2018 dev/test automation excellence System Under Test (SUT) Depend- encies We prefer to functionally* test this in isolation Specifically NOT at the same time as testing these 👈 👈 Programatic mock wire services 👈 A reminder about testing best practice generally * load, perf, full-stack tests are different tests are adaptive between mocks and reals for known QA set of data (subject to its own best practices, including curation and resetability)



Wire mocks are officially “service virtualization” (SV) of course. The TCK idea is a specific usage of them, originally to allow alternate implementations. Vendors making services (on the internet or installable on-prem or cloud) should make a TCK, too. They may want to include a “no reverse-engineering” clause for licensees of the TCK so they don’t make it too easy for their competitors. Lawsuits of note:

  1. Real Estate Title Insurer, Amrock, owes $706M after lawsuit
  2. SAS Institute Inc v World Programming Ltd: $80M settlement
  3. Oracle vs. Google on the Java TCK specfically

Incidentally, on-prem is short for “on premises”, and not at all the same as “on premise”.



Published

July 13th, 2018
Reads:

Categories