User Tools

Site Tools

Test and Analyse

Once an Author has an EASAP working, it is time to test it and analyze its functioning.

  • three tools are available on the EASA web pages at EASA→Author→Authoring→Testing
    • Test EASAP to set inputs and examine outputs
    • Analyze EASAP→Watch dynamically watch data within a running EASAP
    • Analyse EASAP→Profile dynamically profile EVENT's and ACTION's

Test an EASAP

  • to test an EASAP do one of the following
    • click EASA→Authoring→Testing→Test EASAP link
    • in the Builder click the Open Web Browser Test icon
    • in the Builder menus, select Application→Test in Web Browser
  • any of these will run the EASAP and save,
    • the output HTML document (EASA→User→Results once published)
    • other output files
    • the NOTES
    • the current date
    • the EASAP interface in the state it's in following the test run
    • the state of all the EASAP objects

Examine the EASAP's correctness by varying inputs and submitting multiple runs.

Following each test run the above data is stored as a row on the EASA→Author→Authoring→Testing page.

Watch objects in an EASAP

The watch tab shows the values of any objects in the EASAP as it runs.

Any SCALAR, LIST, EXPLICIT or CONSTANT object can be added to the 'Watch' list.

On the left side of the watch tab, type the prefix of an object name and click <TAB> or <​ENTER>​ to see matching names. Click the plus icon to add an object to the watch list. Click refresh button after changing a value in the EASAP to see objects and their dependents update. ​

  • JSF Dependents are objects which are immediately updated in the user interface after entry of new data
  • CCL Dependents are data objects that will be updated depending on various other factors

Click on an object's dependents to follow an error as it propagates.

Forward and backward links allow the Author the ability to traverse the dependency tree for a particular object.

Profile an EASAP

ACTION's often involve I/O such as DATABASE ACTION, EXPORT TO PDF, the various EXCEL ACTION's, and EMAIL ACTION.

These I/O ACTIONS as well as implicit updates to most DATA PROCESSING objects are blocking in that the EASAP waits, doing nothing until the I/O process has completed or until all the implicit objects have been updated.

  • The profile tab shows after every refresh-icon click,
    • the particular kind of ACTION
    • the cumulative time (in ms) an EASAP has spent in its various ACTION GROUP's
    • a counter showing the number of times the ACTION has triggered
    • the fraction of the total ACTION GROUP time that is spent completing each Child ACTION

Profile gives the Author a powerful insight into the operational behavior of an EASAP. A detailed performance profile is an important window into why an EASAP is running slow.

Profile includes ACTION's that don't involve I/O but might have lengthy local-computation, or stalled-processing due to user interface ACTION's that may need reexamination.

Additionally, profile includes objects which are implicitly updated, without an explicit ACTION.

For an EASAP with a large number of implicit DATA PROCESSING objects, performance issues may require moving away from these object to explicit LIST DOR VALUE and SCALAR DOR VALUE's and updating their values through SET VALUE and VALUE CHANGED ACTION's.

Below is an example of running a profile on the Stock Screener tutorial example.

From the profile tab below, we see that a DATABASE ACTION runs each each time a User pushes Search Stock Data, in this case it has been pushed twelve times for a total of 277ms.