accelQ creates and manages test assets in a well structured, modular fashion with an objective to create a sustainable test automation suite. Various entities serve as building blocks and interact with each other providing a level of abstraction necessary to create a maintainable test asset.
Following diagram identifies important entities in accelQ and how they are related to each other. This article provides a brief definition of important components in this diagram. Further details can be found in sections through out the Knowledge Base.
Context refers to a 'state' of the application-under-test (AUT), where a cohesive set of user actions are possible. In a typical web application, you can consider each distinct page of the application to be a Context. Examples include Home Page, Purchase Page etc. Context manages the views and elements relevant for a page.
Action encapsulates a specific functionality available in a Context or Page of the application under test (AUT). Action includes logic to interact with browser or make other verifications. Examples: Search for Flights, Navigate to Home Page, Verify Purchase Order etc. Action belongs to a Context and makes use of element from the Context's repository.
Scenario represents a use case on the test application (AUT), which can be “run” as a test. Scenario is created by assembling series of Actions as steps. A Scenario may yield multiple test cases, with each test case representing one set of data inputs required to perform the steps in the Scenario.
Test Case is one iteration of a Scenario that includes the data to be used for that iteration. Each Scenario may have multiple test cases with different combinations of test data. When you run a Scenario which has multiple test cases, this same Scenario is repeatedly executed, once per each test case.
Test Suite is a collection of Scenarios grouped together for business function. A suite can be created either based on metadata filters (custom fields), Jira or TFS User Stories or as a static set of Scenarios. You can execute a suite as one entity.
Parameterization is a concept widely applied at various places in accelQ. It is about avoiding hard-coded data values in your automation logic, there by enhancing reusability and easing out maintenance.
Action Input Parameters are the input values the Action expects to be supplied when used in a Scenario. These input values are usually provided as part of a test case in the Scenario where this Action is used.
Data Type represents a domain specific data field with business semantics. You can define classification structure and manage instance values for each class of data. This is similar to Equivalence Class Design and helps visualize and calculate the permutations of data records that are relevant for testing. You can indicate an Action Parameter to use a Data Type for applicable values.
Data List is a list of values that a particular field in your application may accept. When you have an Action input parameter which should only be allowed to accept a limited set of values, you indicate the parameter to source values for a data list. This concept also allows creation of test case combinations for a Scenario.