The CSTL Processor is a testing tool that supports automated testing of conceptual schemas specified in UML/OCL and defined by using the USEx syntax. The automated tests are written in the Conceptual Schema Testing Language (CSTL).
The CSTL Processor is a java program that needs to be installed in your computer according to the following instructions:
Standard edition
Version 1.0. (Last version) - ZIP file
ER Course edition
This version is intended to by used in the context of the ER (Requirements Engineering)l course teached at the Barcelona School of Informations - Universitat Politècnica de Catalunya - BarcelonaTech.
This version includes buttons for automatically sending information about each iteration to the ER Course teachers.
A conceptual schema defines the general knowledge that an information system needs to know in order to perform its functions. Two fundamental quality properties of a conceptual schema are correctness (i.e. the knowledge defined is true for the domain) and completeness (i.e. all relevant knowledge is defined).
The main purpose of conceptual schema testing is to ensure correctness and completeness of executable conceptual schemas specified in UML/OCL, according to a set of test cases that formalize user stories and their expected assertions.
The CSTLProcessor also performs the analysis of a basic set of testing adequacy criteria which allows checking which base types, derived types and domain event types have been tested in at least one consistent scenario and which schema elements have not been tested at all. By this way, you can identify schema elements whose relevance and necessary conditions for its correctness are not proved by the test set. Those schema elements which does not satisfy the adequacy criteria may need more testing in order to validate them.
VIDEO-TUTORIALIn the following video-tutorial we show how the CSTLProcessor can be used in order to analyze the validity of a conceptual schema according to a set of user stories defined as test cases. This video-tutorial also includes a simple example of coverage analysis aimed at detecting which elements have not been tested. The video-tutorial uses the conceptual schema of a civil registry system as a running example. Using the CSTLProcessor for conceptual schema validation
RELATED PUBLICATIONS
- Tort, A., Olivé, A.: An Approach to Testing Conceptual Schemas. Data&Knowledge Engineering. 69(6) 598-619(2010).
- Tort, A., Olivé, A., Sancho, M.R.: On Checking Executable Conceptual Schema Validity by Testing. In: DEXA 2012. LNCS, vol. 7446, pp. 249-264. Springer (2012)
- Tort, A.: Testing and Test-Driven Development of Conceptual Schemas. PhD Thesis. Universitat Politècnica de Catalunya-BarcelonaTech. 2012.
- Tort, A.: Testing the osCommerce Conceptual Schema by Using CSTL. Research Report. UPC (2009)
- Tort, A.: A basic set of test cases for a fragment of the osCommerce conceptual schema. Research Report. UPC (2009)
Test-Driven Conceptual Modeling (TDCM) is an iterative method for the development of the conceptual schema of an information system. In TDCM, conceptual schemas are incrementally defined and continuously validated, according to stakeholders' needs and expectations.
TDCM uses test cases to drive the conceptual modeling activity. A test case written in a conceptual schema testing language is an executable concrete story of a user-system interaction. A test case also specifies user expectations formalized as test assertions. The verdict of a test case is Pass if the conceptual schema includes the knowledge to meet these user expectations.
In TDCM, the conceptual schema is defined incrementally in short iterations. An iteration starts by adding a new test case to the passing test set of the previous iteration (previous test set). The objective of each iteration is to change the schema so that it includes the knowledge to correctly execute the new test case.
VIDEO-TUTORIALIn the following video-tutorial we show how the CSTLProcessor can be used for the test-driven development of a conceptual schema by using Test-Driven Conceptual Modeling (TDCM).
Using the CSTLProcessor for TDCM
RELATED PUBLICATIONS
- Tort, A., Olivé, A.: An Approach to Test-Driven Development of Conceptual Schemas. Data&Knowledge Engineering 70(12) 1088-1111(2011).
- Tort, A.: Testing and Test-Driven Development of Conceptual Schemas. PhD Thesis. Universitat Politècnica de Catalunya-BarcelonaTech. 2012.
- Tort, A.: Development of the conceptual schema of the osTicket system by applying TDCM. Research Report. UPC (2011)
- Tort, A.: Development of the conceptual schema of a bowling game system by applying TDCM. Research Report. UPC (2011)
Satisfiability is one of the properties that all conceptual schemas must have. Satisfiability applies to both the structural and the behavioral parts of a conceptual schema.
Structurally, a conceptual schema is satisfiable if each base or de-rived entity and relationship type of the schema may have a non-empty population at certain time. Behaviorally, a conceptual schema is satisfiable if for each event type there is at least one consistent state of the information base and one event of that type with a set of characteristics such that the event constraints are satisfied, and the effects of the event leave the information base in state that is consistent and satisfies the event postconditions.
There has been a lot of work on automated reasoning procedures for checking satisfiability but it is well known that the problem of reasoning with integrity constraints and derivation rules in its full generality is undecidable. Conceptual schema testing can be an alternative approach to satisfiability checking when conceptual schemas are developed in the context of an environment that allows their testing, for example when using the CSTL Processor.
RELATED PUBLICATIONS
- Olivé, A., Tort, A.: Testing Conceptual Schema Satisfiability. In: Nurcan, S., Salinesi, C., Souveyet, C., Ralyté, J. (Eds.), Intentional Perspectives on Information Systems Engineering, LNCS, Springer (2010).
This documentation contains the installation instructions, an overview of the prototype and a "getting started by example" section, which introduces you to the prototype by an example of a Meeting Scheduler system.
The CSTLProcessor allows to test UML/OCL conceptual schemas defined in the USEx language. This is a guide about this language.
For any question or suggestion, feel free to contact us by sending an email to atort@essi.upc.edu
In the following, we suggest some future work to be done regarding the evolution of the CSTL Processor tool: