TorXakis
version: v0.9.0
stable docs: v0.1.3
pdf
Contents
Introduction
Why TorXakis
Benefits
Getting started
Get TorXakis running
Testing a Queue
Test architecture
System Under Test
Model
Model-Based Testing of the Queue
A Queue Mutant
Utilities
Notepad++ and Txs
yEd and Txs
Model-Based Testing
Introduction to Model-Based Testing
Software Testing
Model-Based Testing
Benefits of model-based testing
Sorts of model-based testing
Theory for model-based testing
Model-based testing challenges
Model-based testing tools
Future developments
Model-Based Testing with Labelled Transition Systems
Labelled transition systems
Testing equivalences
Test generation
Inputs and outputs
Implementation relation ioco
Data
TorXakis
TorXakis: A Model-Based Testing Tool
Basics
Features
Modelling
Implementation
Innovation
Usage overview
Test architecture
System under test
Model
Adapter
Testing
Other features
Usage
Trace and replay functionality
Examples
Starter examples
HelloWorld
SUT
Adapter
Model
Testing
Queue
StimulusResponse
Channels
Model
SUT Connection
Model Based Testing
Errorneous SUT
Stimulus Response - Loop
Echo
Channels
Process
Model
Model Based Testing: Stepping through the Model
Simulator Definition
SUT Connection
Model Based Testing: Testing the Simulated SUT
XML-Based communication
Adder
Prerequisites
SUTs
Adder.java
Models
Adder.txs
1. Adder Model and Sut Connection
Observe the behaviour of model
Execute TorXakis against the actual SUT
2. Adder3 Model and Sut3 Connection:
Observe the behaviour of model
Execute TorXakis against the actual 3 SUTs
AdderStAut.txs
Observe the behaviour of model
Execute TorXakis against the actual SUT
Test Purposes
AdderPurposes.txs
AdderReplay.txs and ReplayProc.txs
Advanced examples
ReadWriteConflict
Basic Solution
Advanced Solution
Using Test Purposes
ControlLoop
Data Types
Channels
Functions
sgn
Processes
correct
measure
produce
control loop
Model
Stepping through the Model
CustomersOrders
Introduction
System Under Test
TorXakis specification
Model Based Testing
LuckyPeople
Assignment
Requirements
Examples
Lucky based on names
Lucky based on birthday
Lucky based on sequence
Deliverables
Solution
Solution
Types
Channels
Procedure
Model
Functions
isValid_Person
isLuckyPerson
isLuckyByGender
isLuckyByName
isLuckyByBirthday
SUT Connection
Model Based Testing
XML-Based communication
Testing
Gender
The process
The Test Purpose
Wheel
Appendices
Installation
Binary Install
Windows
MacOS
Linux
For debian based systems
For all distributions and (recent) releases
Running the AppImage without FUSE support
Source build
Grammar
CapsId
Semantics
Examples
Channel Definition
Syntax
Semantics
Examples
Choice Operator
Syntax
Semantics
Examples
Connection Definitions
Syntax
Semantics
Examples
Technical Details
Comment
Single line comment
Multiple lines comment
Communications
Syntax
Semantics
Examples
Communication without data
Communication of fully specified data
Communication of underspecified data
Communication of constrained data
Communication of multiple data items
Condition
Syntax
Semantics
Examples
Constant Definitions
Syntax
Semantics
Examples
Data Type
Predefined Data Types
User Defined Data Types
Disable Operator
EXIT
Syntax
Semantics
Enable Operator
Syntax
Semantics
Examples
Function Defintions
Syntax
Semantics
Examples
Function
Predefined Functions
Bool
Int
Boute’s Euclidean Definition
String
Regex
Implicitly Defined TYPEDEF Functions
Example
User Defined Functions
Guard Operator
Syntax
Semantics
Example
HIDE
Syntax
Semantics
Examples
Implementation
Interrupt Operator
IF THEN ELSE Value Expression
Syntax
Semantics
LET Process Behaviour
Syntax
Semantics
Examples
Simultaneously define multiple variables
Language Definition
Syntax
Semantics
LET Value Expression
Syntax
Semantics
Examples
Simultaneously define multiple variables
Model Definitions
Syntax
Semantics
Examples
Parallel Operator
Syntax
Semantics
Examples
Process Call
Syntax
Semantics
Proccess Definitions
Syntax
Semantics
Examples
ProcessBehaviour
Syntax
Semantics
Examples
Test Purpose Definitions
Syntax
Semantics
Examples
STOP
Syntax
Semantics
Sequence Operator
Syntax
Semantics
Examples
SmallId
Semantics
Examples
State Automaton Definition
Syntax
Semantics
Examples
Synchronized Channels Operator
Syntax
Semantics
Example
Synchronized Operator
Syntax
Semantics
Examples
Communication
Constrained communication
Deadlock
Synchronous Operator
Syntax
Semantics
Examples
Type Definitions
Syntax
Semantics
Examples
Value Expression
Syntax
Semantics
Reference to Function.
Variable Declaration
Syntax
Semantics
Examples
Language Definition
Syntax
Semantics
Command Line Interface
Command history
Configuration file
Example
Logs
Torxakis help
Grammar
Grammarv3
Backmatter
Glossary
Bibliography
Index
TorXakis
»
Grammar
»
Guard Operator
Previous
Next
Guard Operator
¶
Syntax
¶
Semantics
¶
Conditional execution: [[ expr ]] =>> next
Next is only executed when expr is true
Example
¶
[[ not(isNil(buf)) ]] =>> Value !head(buf)