2. What was originally Win UI tests System tests Mac UI tests Ruby AQA TestComplete Cucumber
3. Win UI tests System tests Mac UI tests Ruby Cucumber How it was supposed to be
4. Win UI tests System tests Mac UI tests Ruby ??? Cucumber AQA TestComplete Where is TestComplete?
5. Main goals Provide common layer for all areas Give the ability to involve non-technical people into automation Provide common solution for distributed testing All improvements should be done smoothly (current solution should always work) 06.02.11
6. Win UI tests System tests Mac UI tests Ruby Cucumber What was decided
7. Win UI tests System tests Mac UI tests AQA TestComplete Ruby Cucumber What was decided
15. AQA TC client Http Bridge Ruby Client Get command Command Send command Set pending status Status Check status Run command Set «done» status Send results Results Get Results How it works: initial state
16. AQA TC client Http Bridge Ruby Client Get command Command Send command Set pending status Status Check status Run command Set «done» status Send results Results Get Results How it works: initiate command
17. AQA TC client Http Bridge Ruby Client Get command Command Send command Set pending status Status Check status Run command Set «done» status Send results Results Get Results How it works: process results
24. Data exchange Get results Transform into Ruby structure Fail if some errors present
25. Stable communication Stable communication AQA TestComplete client Http bridge Ruby client Hard cases: stable areas
26. Case 1: TC request failed Resolution: Resend several times until success AQA TestComplete client Http bridge Ruby client Hard cases
27. Case 2: TC crashes Resolution: Ruby client waits for some limited time to execute AQA TestComplete client Http bridge Ruby client Hard cases
28. Case 3: execution is pending when Ruby client starts Resolution: Ruby client sets status into «done» at the begining AQA TestComplete client Http bridge Ruby client Hard cases
29. Case 4: bridge was stopped Resolution: clients are stopped AQA TestComplete client Http bridge Ruby client Hard cases
31. Goals achievement 06.02.11 Win UI tests System tests Mac UI tests It still works AQA TestComplete Ruby Distributed architecture Common Layer Cucumber Works for non-technical people
33. Why alternative doesn’t work? Too tight connection to TestComplete Dependency on system-dependend values (UID) Distributed solution works for Windows only Complex Ruby structures 06.02.11