Basic Test Flow: Simple Query Verification

Posted by Albert Gareev on May 23, 2008 | Categories: Patterns

Parent page: Basic Test Flows

Simple Query Verification Test Flow

Entry/Exit Points

Entry Point. Single. GUI screen (window, web page, etc.).

Exit Point. Single. Same GUI screen.


GUI interaction – typing text, selecting items, clicking buttons, etc.

GUI observation 

  • checking screen (windows, web pages, etc.) in context of which GUI objects are checked
  • checking GUI objects (exist, enabled, etc.)
  • check GUI objects’ data (text displayed, item selected, etc.)
  • synchronize with the query execution process


Evaluation – assessment of Pass/Fail criteria for GUI observations.

Pass/Fail Criteria

Fail Criteria

  • GUI observation failure
  • Assessment criteria failure


Stop Criteria

  • GUI context not available
  • Synchronization timeout
  • End of steps reached


Pass Criteria

  • No failures
  • End of steps reached


Test Data

Input Data. The Test Flow uses hard-coded or parameterized data to input into an application.

Verification Data. The Test Flow uses verification data to check GUI objects’ actual data. Verification Data could be hard-coded or combination of hard-coded and parameterized data.


1. GUI observation. “Query screen exists and enabled”.

2. GUI observation. “Query input box exists and enabled”.

3. GUI interaction. “Type in query (username)”.

4. GUI observation. “Find button exists and enabled”.

5. GUI interaction. “Click on Find button”.

6. GUI observation – synchronization point. “Wait till confirmation text (Done) appears or timeout reached”.

7. GUI observation. “First Name text box exists”.

8. GUI observation. “John text displayed matches expected data”.

9. GUI observation. “Last Name text box exists”.

10. GUI observation. “Doe text displayed matches expected data”.


Simple Query Verification test flow combines operations from GUI Data Entry and GUI Data Verification flows but it has one important distinction: synchronization point.

The Flow inherits all coverage-related drawbacks of above mentioned Test Flows but it adds up to a very important test script characteristic – Robustness.


For a single execution of the Test Flow, checkpoint-based verification is good enough. However, if applied on entire GUI screen, checkpoint brings high redundancy and high maintenance cost as the result. A more practical approach is to verify GUI controls individually. 


The Coverage is in direct dependency on the number of GUI objects and their properties enlisted for verification.

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.