Tuesday, July 7, 2015

E2E business process vs E2E system testing

(c) by Blog On The Blogspot


Feature/Scenario/Given/When/Then 

Typical hierarchy of a Gherkin user story.  When applying it to UI,  we have to understand what can be described by a scenario.  

A scenario can be used to describe:

  1. A typical transition from one page to another. 
  2. A state change within one page
  3. An observation made directly on a page, and share observed with other scenarios
  4. An observation made backend, eg. query backend DB.   
  5. Other actions/activities that are required to make the status of a page updated, eg backend job run. 
Note, the Gherkin is not same as FSM. Gherkin is in certain way mock up FSM, if we reluctantly treat given/then as state, and when as transition. It's eventually harmful to equate Gherkin to FSM without providing any boundaries.

Maybe we should not at all to relate Gherkin to FSM, instead we directly specify a State change using FSM terminology, ie create a brand new syntax to capture the state transition.





Extended Finite State Machine

State Transition Model


E2E business process vs E2E system testing

An e2e business process or work flow captures the data/steps/final outcome that are required for executing a business functionality.  Such a work flow can be depicted or modeled by techniques like FSM, which shall capture both explicit workflow  (page changes) and implicit workflow (backend job run and database updates).  Decisions made by business user at certain workflow point are considered as part of business flow as they dictate where the work flow shall go.

On top of e2e business workflow, e2e system testing also apply various verification or checking points throughout  different places in the business workflow.   So, by nature, FSM along is not enough to capture what e2e testing is intended to accomplish.   Instead, we need to augment FSM to describe an e2e testing process.

FSM + OT= Finite State Machine + Observation Tool (Check/Monitoring Apparatus)

  • Seems we have been mistakenly struggling with how to describe OT using FSM structure, which may be eventually not right. 
  • OT shall be applicable to any nodes/transitions in the FSM
  • OT can be integrated with FSM to manually interfere the business work flow in order to achieve specific testing objective (?)
  • In-situ OT vs standalone OT - shall we add another section in Gherkins syntax, such as "Observation"?  
  • OT is for: information retrieval / behavioral observation /certifying results.  Shall we use  IOC?


Same OT, but applied to 3 different nodes- Meaning using the same OT to observe the status of three nodes.