Project

General

Profile

Core Test Cases

This page lists the tests which must succeed in order to release AF3.

Constraints

  1. Output ports can not be read.
  2. A port cannot have multiple incoming channels.

Online help

  1. Test in final RCP image to be uploaded to the homepage, if the online help is working (Menu > Help > AF3 Help)
  2. Some plugins contribute their own help contents that integrates with the contents provided in the org.fortiss.af3.rcp.application plugin. Test if the links within the following contributed help modules work:
    • DSE / org.fortiss.af3.exploration.ui
      • Where to test
      • What to test
        • Menu > Help > AF3 Help->Code generation, deployment and scheduling synthesis->DSE perspective
        • In particular, if links in dse_perspective.html (not the help menu on the left-hand side) work (e.g, DSE Dashboard, DSE Constraint Modeling, ...)
      • Test, if help button in DSE Perspective works

Hints

Consider using https://eclipse.org/rcptt/: very easy testing tool!

Modeling and simulation Test Cases

Test Case: System Architecture Modeling

Precondition:
  • Freshly started AF3
Test Steps:
  1. Create an AF3 project with a Component Architecture
  2. Open the Component Architecture
  3. Add two components to this architecture
  4. Connect the components by a channel
Postcondition:
  • Component Architecture is created
  • Two Components are added
  • Components are connected by a channel

Status: Running


Test Case: Data Modeling

Precondition:
  • Freshly Started
Test Steps:
  1. Create an empty AF3 Project
  2. Right-click on the project
  3. Add Data Dictionary to this project
  4. Open Data Dictionary (double-click on it)
Postcondition:
  • Data Dictionary is open
  • Model Elements view allows to add Expressions

Status: Running


Test Case: Requirements Analysis → Glossary

Precondition:
  • Freshly Started
Test Steps:
  1. Create an empty AF3 Project
  2. Right-click on the project
  3. Add Requirements Analysis to this project
  4. Open Requirements Analysis (double-click on it)
  5. Select Requirement Analysis and right-click on it
  6. Select Glossary and click on it
  7. Select Glossary and right-click on it
  8. Select Entry and click on it
Postcondition:
  • Requirements Analysis is open
  • Glossary is open
  • New Entry is open

Status: Running


Test Case: Requirements Analysis → Requirements

Precondition:
  • Freshly Started
Test Steps:
  1. Create an empty AF3 Project
  2. Right-click on the project
  3. Add Requirements Analysis to this project
  4. Open Requirements Analysis (double-click on it)
  5. Select Requirement Analysis and right-click on it
  6. Select Requirements from the context menu and click on it
  7. Select Requirements and right-click on it
  8. Select Requirements Package and right-click on it
  9. Select Requirement and right-click on it
Postcondition:
  • Requirements Analysis is open
  • Requirements is open
  • Requirements Package is open
  • New Requirement is open

Status: Running


Test Case: Creating a Code Specification for a Component

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the Code Specification from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • Code Specification view is open
  • It has a return statement already inside

Status: Running


Test Case: Creating a Mode Automaton

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the Mode Switch Specification from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • Mode Automaton view is open
  • It has an Init state already inside

Status: Running


Test Case: Creating an Operator Panel

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the Operator Panel from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • Operator Panel view is open

Status: Running


Test Case: Creating a State Automaton

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the Automaton Specification from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • State Automaton view is open
  • It has an Init state already inside

Status: Running


Test Case: Creating a FMU Specification

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the FMU Specification from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • FMU Specification view is open

Status: Running


Test Case: Creating a Simulink Specification

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add Component Architecture to this Project
  3. Add at least a Component to this Component Architecture
  4. Open Component Architecture
  5. Drag&Drop the Simulink Specification from Model Elements section onto a Component
  6. Double-click onto this Component
Postcondition:
  • Simulink Specification view is open

Status: Running


Test Case: Defining a Platform Architecture

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Create an empty AF3 Project
  2. Add a Platform Architecture to this Project
  3. Open the Platform Architecture
  4. Drag&Drop Generic_ECU onto the canvas
  5. Drag&Drop Generic_Bus onto the canvas
  6. Drag&Drop a Generic_Actuator onto the Generic_ECU
  7. Drag&Drop a Generic_Sensor onto the Generic_ECU
  8. Drag&Drop a Generic_BusController onto the Generic_ECU
  9. Drag&Drop a Generic_BusController onto the Generic_Bus
  10. Draw a connection between the Generic_BusController contained by Generic_Bus and the one contained by the Generic_ECU
Postcondition:
  • Platform Architecture contains at least a Generic_ECU and a Generic_Bus
  • Generic_ECU contains at least a Generic_Actuator, a Generic_Sensor and a Generic_BusController
  • Generic_Bus contains at least a Generic_BusController
  • Generic_ECU and Generic_Bus are connected to each other via Generic_BusController

Status: Running


Test Case: Open the Simulation (On Quick Access (Ctrl-3) enter ‘Simulator’)

Precondition:
  • Freshly Started AF3
  • ACC Example is loaded
Test Steps:
  1. Right-click onto Component Architecture in the Model Navigator View
  2. Select the Run Simulator entry
Postcondition:
  • Simulation View is opened

Status: Running


Test Case: Creating a Library Entry

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Click the L+ icon on the top-left of AF3 to create a Library (cf. user documentation)
  2. Add a New Package to the library
  3. Switch back to the Projects by clicking on the L symbol
  4. Create a Component Architecture with at least a Component
  5. Open Component Architecture
  6. Right-Click on the Component and choose the Add to Library entry
  7. Select the appropriate Package
Postcondition:
  • Library entry is visible in the Model Element Section

Status: Running


Test Case: Code Generation

Precondition:
  • Freshly Started AF3
  • ACC Example is loaded
Test Steps:
  1. Right-click on the Project in the Model Navigator
  2. Add a new Allocation
  3. Right-click on the just created Allocation element
  4. Add a "Component --> Hardware" allocation table
  5. In the editor, allocate the sub-components of the AdaptiveCruiseControl to the HeadUnitECU and the PowertrainECU
    • Right-click on the "Component --> Hardware" allocation table
      1. Select the Bare Metal Generator Entry
      2. Create and select a folder in the AF3-Project-Directory and click Ok
      3. Switch to Storage View (right top in AF3)
Postcondition:
  • In the Navigator view two Folders are created (HeadUnitECU & PowertrainECU)
  • Those folders contain source files

Status: Running


Test Case: DSE Perspective

Precondition:
  • Freshly Started AF3
Test Steps:
  1. Load the ACC model from the set of examples in the file menu
  2. Switch to the DSE Perspective (right-top corner)
  3. Click "Select AF3 Project"
  4. Select the ACC model and follow the import wizard
  5. Click on Synthesis icon and select Deployment Synthesis
  6. Click the Optimize button
  7. Click on the Visualisation icon
  8. Select the Table view from the Visualisation methods and click "Export"
Postcondition:
  • The generated Allocation Table and additional artefacts should be visible in the modeling view of the ACC model

Status: Running


Test Case: Safety Argumentation Package

Precondition:
  • Freshly Started AF3
  • New Project is created
Test Steps:
  1. Right-click onto the project
  2. Select Assurance Package
Postcondition:
  • Assurance Package is added to the Project

Status: Running