Expecco Reflection Library: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 31: Zeile 31:
=== Browser Manipulation ===
=== Browser Manipulation ===


These include blocks to simulate various user actions, either towards the currently running expecco application, or to a secondary expecco window. For example, to open, close expecco windows, to switch to particular tabs,
These include action blocks to simulate various user actions, either towards the currently running expecco application, or to a secondary expecco window. For example, to open, close expecco windows, to switch to particular tabs,
or to change the selection in the item tree.
or to change the selection in the item tree.



Version vom 16. Februar 2023, 10:34 Uhr

Introduction[Bearbeiten]

The Reflection Library contains building blocks to automate expecco itself and to construct or modify a project tree.

Its main use is to automatically generate test suites or libraries.
For example, to import specifications in a textual format, a database or a QM-system and generate test skeletons or concrete action blocks and/or test suites.

For more information, please refer to the documentation and examples inside the library.

Typical Uses[Bearbeiten]

The reflection library can be used to:

  • automatically generate test suites from textual descriptions or DB query results
  • automatically generate datatypes (e.g. from descriptions, header files etc.)
  • merge, filter and execute test suites
  • bulk renaming, bulk annotating of elements in a number of suites
  • extraction of annotations from a number of suites
  • generation of custom documents from suites
  • conversion/migration of existing test cases

In the past, Expecco customers have used this library to:

  • fetch test specs from a QM system, generate test plans on-the-fly, and upload results
  • build suites from excel tables (i.e. from a CSV document)
  • fetch test parameters from a custom data base
  • merge multiple partial test suites into a a configurable test-run suite
  • automatic adding of procedures to a suite
  • automatic extraction of documentation from a suite into custom formats
  • automatic generation of test steps to call python or C functions, given header files or annotated doxygen source files.

Functionality[Bearbeiten]

Browser Manipulation[Bearbeiten]

These include action blocks to simulate various user actions, either towards the currently running expecco application, or to a secondary expecco window. For example, to open, close expecco windows, to switch to particular tabs, or to change the selection in the item tree.

Project Manipulation[Bearbeiten]

Includes blocks to create test suites, to manipulate environments (create/modify variables), and to load and save test suite files (".ets"-files). There are both blocks which operate on a browser window, and blocks which operate on a project object itself (i.e. without a need for a browser window).

Tree Manipulation[Bearbeiten]

Includes blocks to create actions, datatypes, attachments and folders in a project's item tree.

Diagram Editing[Bearbeiten]

Includes blocks to create activity diagrams, to add steps and to connect pins.

Text Editing[Bearbeiten]

These operate on the currently running expecco, and are mostly useful for code-generation utilities, which can be bound to user-defined menu items.

Execution[Bearbeiten]

This allows for a testplan to be executed automatically, under control of another activity.

Reporting[Bearbeiten]

Actions to generate test reports.

Examples[Bearbeiten]

The following gives a rough sketch on how to extract a test specification from a relational database. It is not as such directly executable, as it depends on the structure of the database and the layout of records.

Assuming that the database contains a table named "TestSpecs", which relates tests with parameters and test steps. The following asks the operator for a test-name, queries the database and collects steps and parameters:

<<picture to be added>>

Then that information is passed to a test generator, which

  • creates a testplan,
  • enumerates the steps and adds test cases,
  • enumerates the parameters and creates variables

<<picture to be added>>

Finally,

  • the test is executed,
  • a report generated,
  • and also written back to the database

<<picture to be added>>

All this is wrapped up into one action, which is defined as "to be automatically executed ehen the suite is loaded":

<<picture to be added>>

The tester then only needs to start expecco on that suite.



Copyright © 2014-2024 eXept Software AG