From 00c45d3ef6d217d39809da993b6dbdde54aa7a5e Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 09:48:43 +0200 Subject: [PATCH 01/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 1 + 1 file changed, 1 insertion(+) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index cd4fcd1..0c0abd8 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -35,6 +35,7 @@ | ------------- |-------------|-------------|-------------| | V0.1 | 26.10.2020 | Lukas Ernst / Florian Kellermann | created | | V0.2 | 05.11.2021 | Florian Kellermann | edited | +| V0.3 | 22.04.2022 | Lukas Ernst | edited | *** From 547db499935119bbd022b822f0bb17fc3d13e6bb Mon Sep 17 00:00:00 2001 From: "malte.horst" Date: Fri, 22 Apr 2022 10:02:16 +0200 Subject: [PATCH 02/38] added STP and STR --- 4.-Systemtestplan.md | 6889 +++++++++++++++++++++++++++++++++++++++- 5.-Systemtestreport.md | 4728 ++++++++++++++++++++++++++- 2 files changed, 11615 insertions(+), 2 deletions(-) diff --git a/4.-Systemtestplan.md b/4.-Systemtestplan.md index 0519ecb..1f769ed 100644 --- a/4.-Systemtestplan.md +++ b/4.-Systemtestplan.md @@ -1 +1,6888 @@ - \ No newline at end of file + + + + + + + + + +
+ +

        +Table of Contents

+ +

1Scope 

+ +

2Definitions 

+ +

3Test Objects 

+ +

4Features 

+ +

5Test Preparation Strategy 

+ +

6Test Execution Strategy 

+ +

7Test Equipment

+ +

8Test Schedule and Budget

+ +

9Test Planning 

+ +

10Reference/ +Standards 

+ +

11Testcases 

+ +

11.1Test suite <TS-001 Basic +functionality>

+ +

11.1.1Testcase +<TC-001-001> (Create device)

+ +

11.1.2Testcase +<TC-001-002> (Open device, save changes)

+ +

11.1.3Testcase +<TC-001-003> (Load standard libraries)

+ +

11.2Test suite <TS-002 Generic data> 

+ +

11.2.1Testcase +<TC-002-001> (Create device with attributes)

+ +

11.2.2Testcase +<TC-002-002> (Create device with role classes)

+ +

11.2.3Testcase +<TC-002-003> (Open device, delete data)

+ +

11.3Test suite <TS-003 Interfaces> 

+ +

11.3.1Testcase +<TC-003-001> (Create device with interfaces)

+ +

11.3.2Testcase +<TC-003-002> (Open device, delete interfaces)

+ +

11.4Test suite <TS-004 Attachments> 

+ +

11.4.1Testcase +<TC-004-001> (Create device with attachments)

+ +

11.4.2Testcase +<TC-004-002> (Open device, delete Attachments)

+ +

 

+ +

 

+ +
+
+ +

        +Changelog

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Version

+
+

Date

+
+

Author

+
+

Comment

+
+

0.1

+
+

22.10.2020

+
+

Jakob Schmidt

+
+

Created

+
+

0.2

+
+

08.04.2021

+
+

Jakob Schmidt

+
+

First draft

+
+

0.3

+
+

20.04.2021

+
+

Jakob Schmidt

+
+

Second draft

+
+

1.0

+
+

22.04.2021

+
+

Jakob Schmidt

+
+

Added more tests and test data

+
+

1.1

+
+

27.04.2021

+
+

Jakob Schmidt

+
+

Added delete tests

+
+

1.2

+
+

05.05.2021

+
+

Jakob Schmidt

+
+

Final Version

+
+ +
+
+ +

 

+ +

1        +Scope

+ +

The STP (System Test Plan) describes the +test strategy and test planning.

+ +

It contains the tests required to check +whether the requirements specified in the SRS (System Requirements Specification) [1] have been implemented in a functional manner.

+ +

The document derived from the STP is the +STR (System Test Report) [2], which additionally specifies the test results.

+ +

 

+ +

2        +Definitions

+ +

AML AutomationML
+TS    Testsuite
+TC    Testcase

+ +

GUI  Graphical User Interface

+ +

 

+ +

3        +Test Objects

+ +

The following test objects must be verified.

+ + + + + + + + + + + + + + +
+

Ref.-ID.

+
+

Product Number

+
+

Product Name

+
+

Product Description

+
+

1

+
+

Version 2.0

+
+

Modelling Wizard

+
+

Plugin for AutomationML to create devices

+
+ +

 

+ +
+
+ +

 

+ +

4        +Features

+ +

The following requirements must be verified +if they are not classified as “not to be tested”. This table shows the test +coverage between functionality and test suites or test cases.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Reg.-ID.

+
+

Functionality

+
+

Priority

+
+

Testsuite ID

+
+

LF10

+
+

Basic tests. Validation of input and + output.

+
+

A

+
+

TS-001

+
+

LF20

+
+

Checks if generic data are added + correctly.

+
+

A

+
+

TS-002

+
+

LF30

+
+

Checks if interfaces are added correctly.

+
+

A

+
+

TS-003

+
+

LF40

+
+

Checks if attachments are added correctly

+
+

A

+
+

TS-004

+
+ +

 

+ +

5        +Test Preparation Strategy

+ +

Since the Modelling Wizard does not have +any Modules, the testing will be split into four parts. One for the basic +functionality testing

+ +

1.    Basic functionality

+ +

And three for the different types of data +the Modelling Wizard can store.

+ +

2.    generic data

+ +

3.    interfaces

+ +

4.    attachments

+ +

 

+ +

6        +Test Execution Strategy

+ +

Because this is a further development of +an already existing software, only the functionalities that have been changed or +implemented by the programmers will be tested. This includes the functional +requirements specified in the SRS [1] and the functionalities that were affected +during bug fixing.

+ +

Since large parts of the program have +been changed or optimized mainly because of the extensive bug fixes, it is +worthwhile to start with testing the basic functionality to verify the correct +functionality program.

+ +

After that the generic data, interfaces and +attachments will be tested, to verify the different features.

+ +
+
+ +

 

+ +

7        +Test Equipment

+ +

The following equipment must be available +for testing:

+ +

 

+ +

•  A computer with Windows 7 or higher

+ +

•  Installed AutomationML Editor (Downloadlink)

+ +

•  Installed Modelling Wizard software

+ +

 

+ +

The “Test Data” folder from the git +repository [3]

+ +

 

+ +

8        +Test Schedule and Budget

+ +

Hours scheduled

+ + + + + + + + + + + + +
+

 

+
+

Phillip Tran (LE)

+
+

Jakob Schmidt (TM)

+
+

Test

+
+

20h

+
+

70h

+
+ +

 

+ +

Planned budget

+ + + + + + + + + + +
+

 

+
+

Budget

+
+

Test

+
+

3.700€

+
+ +

 

+ +

9        +Test Planning

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testsuite

+
+

Test Objective

+
+

Testplan Creator

+
+

Testplan Reviewer

+
+

Tester

+
+

TS-001

+
+

Basic functionality

+
+

Jakob Schmidt

+
+

Phillip Tran

+
+

Jakob Schmidt

+
+

TS-002

+
+

Generic data

+
+

Jakob Schmidt

+
+

Phillip Tran

+
+

Jakob Schmidt

+
+

TS-003

+
+

Interfaces

+
+

Jakob Schmidt

+
+

Phillip Tran

+
+

Jakob Schmidt

+
+

TS-004

+
+

Attachments

+
+

Jakob Schmidt

+
+

Phillip Tran

+
+

Jakob Schmidt

+
+ +

 

+ +

10   +Reference/ Standards

+ +

+ + + + + + + + + + + + + + +
+

[1]

+
+

„SRS,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/1.-Software-Requirements--Specification.

+
+

[2]

+
+

„STR,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/5.-Systemtestreport.

+
+

[3]

+
+

„Test Data,“ [Online]. Available: + https://github.com/DekaAthlos/TINF19C-ModellingWizard/tree/master/PROJECT/Test%20Data.

+
+ +

 

+ +
+
+ +

 

+ +

11   +Testcases

+ +

11.1 +Test suite <TS-001 Basic functionality>

+ +

11.1.1  +Testcase <TC-001-001> (Create device)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-001

+
+

Testcase + Name

+
+

Create device

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that a device can be created and saved.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the “File” + dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-001-001.

+
+

Data is entered + and automatically filled into the attributes below

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-001-001.

+
+

Data is + entered.

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

 

+
+

Select the “File” + dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-001-001

+
+

Dataset

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Validation

+
+

1

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

Valid

+
+

2

+
+

DHBW

+
+

Server

+
+

aml

+
+

Computer

+
+

00256

+
+

Fail

+
+

3

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

 

+
+

00256

+
+

Fail

+
+

4

+
+

-

+
+

-

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

Fail

+
+

5

+
+

-

+
+

-

+
+

-

+
+

-

+
+

-

+
+

Fail

+
+

 

+
+ +

 

+ +
+
+ +

 

+ +

11.1.2  +Testcase <TC-001-002> (Open device, save +changes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-002

+
+

Testcase + Name

+
+

Open device, + save changes

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that a device can be loaded with its data, that the data can be + changed and that it can be saved again.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-001-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+

(If the + Modelling Wizard can not read the file an error message will be shown, and no + file will be opened.)

+
+

 

+
+

Fill the red + marked entries with data from TD-001-002.

+
+

Data is overwritten.

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-001-002

+
+

Data set

+
+

File

+
+

Manufacturer
+ URI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Validation

+
+

1

+
+

DHBW_Testfile_01.amlx

+
+

www.dhbw.com

+
+

Computer

+
+

000665000

+
+

Valid

+
+

2

+
+

DHBW_Testfile_02.amlx

+
+

DHBW.png

+
+

-

+
+

(no change)

+
+

Fail

+
+

3

+
+

Corrupt_Testfile_01_Wrong_Structure.amlx

+
+

(no change)

+
+

(no change)

+
+

(no change)

+
+

Valid

+

(pop up – + cannot read file)

+
+

4

+
+

Foreign_Testfile_01_Balluff-BNI_PNT-508-105-Z015-CAEX3-20201022.amlx

+
+

(no change)

+
+

(no change)

+
+

(no change)

+
+

Valid

+
+

 

+
+ +
+
+ +

 

+ +

11.1.3  +Testcase <TC-001-003> (Load standard +libraries)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-003

+
+

Testcase + Name

+
+

Load standard + libraries

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that the standard libraries can be loaded into the Modelling Wizard.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “Standard Libraries” dropdown in the top navbar.

+
+

A dropdown of + the libraries opens, and one can be chosen.

+
+

 

+
+

Choose one + library that is not already loaded.

+
+

The library + will be loaded and can be found on the right sight under “Role Class Library” + or “Interface Class Library”

+
+

 

+
+ +

 

+ +

11.2 +Test suite <TS-002 Generic data>

+ +

11.2.1  +Testcase <TC-002-001> (Create device with +attributes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-001

+
+

Testcase + Name

+
+

Create device + with attributes

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase + verifies that a device with data in the attributes and the header of “Generic + Data” can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty Modelling + Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-002-001.

+
+

Data is + entered.

+
+

 

+
+

Fill the entries + with data from TD-002-001

+
+

Data is + entered.

+
+

 

+
+

Click on + “Header” besides “Attributes”

+
+

The “Header” + table opens

+
+

 

+
+

Fill the + entries with data from TD-002-001

+
+

Data is entered

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

 

+
+

Select the “File” + dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-002-001

+
+

Dataset

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Temperature

+

Min

+
+

Temperature

+

Max

+
+

City

+
+

Website

+
+

(Header)

+

Copyright

+
+

(Header)
+ ID

+
+

Validation

+
+

1

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

15

+
+

45

+
+

Berlin

+
+

ML.com

+
+

MIT license

+

         

+
+

ID-001

+
+

Valid

+
+

Default

+
+

-

+
+

-

+
+

-

+
+

-

+
+

-

+
+

20

+
+

40

+
+

 

+
+

 

+
+

Units

+
+

-

+
+

-

+
+

-

+
+

-

+
+

-

+
+

Degree

+
+

Degree

+
+

Names

+
+

Urls

+
+

2

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

15

+
+

45

+
+

Berlin

+
+

ML.com

+
+

MIT license

+
+

ID-002

+
+

Valid

+
+

Default

+
+

-

+
+

-

+
+

-

+
+

-

+
+

-

+
+

20

+
+

40

+
+

default

+
+

default

+
+

Units

+
+

-

+
+

-

+
+

-

+
+

-

+
+

-

+
+

Degree

+
+

Degree

+
+

Names

+
+

Urls

+
+

 

+
+ +

 

+ +
+ +
+
+ +
+ +

11.2.2  +Testcase <TC-002-002> (Create device with +role classes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-002

+
+

Testcase + Name

+
+

Create device + with role classes

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase + verifies that a device with loaded classes from “Role Class Library” can be + created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-002-002.

+
+

Data is + entered.

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-002-002.

+
+

Data is + entered.

+
+

 

+
+

Click on the + library “Library Name” (Data from TD-002-001) on the right side under “Role + Class Library”

+
+

The entry gets + highlighted.

+
+

 

+
+

Drag and drop + the library onto the “Generic Information” table.

+
+

The library + gets added at the last position.

+
+

 

+
+

Click on the + library in the “Generic Information” table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

 

+
+

Click on the + new label.

+
+

The label gets + highlighted.

+
+

 

+
+

Double click on + the label.

+
+

Underneath the + label the “Attributes” table opens.

+

If the class + consists of sub classes, these are displayed as indented labels.

+
+

 

+
+

Fill the + entries with data from TD-002-002

+
+

Data is + entered.

+
+

 

+
+

Click on the + label of the subclass.

+
+

The label gets highlighted.

+
+

 

+
+

Double click on + the subclass.

+
+

Underneath the + label the “Attributes” table for the specific subclass opens.

+
+

 

+
+

Fill the + entries with data from TD-002-002

+
+

Data is entered

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-002-002

+
+

Data set

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Library Name

+
+

Spec Version

+
+

DocLang

+
+

refURI

+
+

MIMEType

+
+

Version

+
+

Validation

+
+

1

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

“AutomationML

+

ComponentBaseRCL”

+

>> + “AdditionalDeviceDescription{Class: External Data}”-

+
+

1.0.0

+
+

En

+
+

001

+
+

.doc

+
+

1.0.0

+
+

Valid

+

 

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

1.0.0

+
+

En

+
+

000

+
+

.docx

+
+

1.0.0

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Version numbers

+
+

Country Code

+
+

Digits

+
+

Word

+
+

Version numbers

+
+

Data set

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Library Name

+
+

refURI

+
+

MIMEType

+
+

Validation

+
+

2

+
+

 

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

“AutomationMLComponent

+

StandardRCL”

+

>>

+

“Component Icon

+

{Class: Icon}”

+
+

001

+
+

.png

+
+

Valid

+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

000

+
+

.jpg

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Digits

+
+

Picture

+
+

 

+
+ +
+ +
+
+ +
+ +

11.2.3  +Testcase <TC-002-003> (Open device, delete +data)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-003

+
+

Testcase + Name

+
+

Open device, delete + data

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase + verifies that attributes and “Role Class Libraires” can be deleted from a + device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-002-003 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

 

+
+

Clear the + attributes listed in “Delete Attributes” (Data from TD-002-003)

+
+

Data is + overwritten.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Library” (Data + from TD-002-003)

+
+

 

+
+

Select the library + in the “Generic Information” table, which is listed in “Delete Library” (Data + from TD-002-003)

+
+

The library + gets selected in the “Generic Information” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The library + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-002-003

+
+

Data set

+
+

File

+
+

Delete + Attributes

+
+

Delete + Library

+
+

Validation

+
+

1

+
+

DHBW_Testfile_03.amlx

+
+

OrderCode

+
+

-

+
+

Valid

+
+

SerialNumber

+
+

-

+
+

2

+
+

DHBW_Testfile_04.amlx

+
+

-

+
+

“AutomationML

+

ComponentBaseRCL/

+

AdditionalDeviceDescription”

+
+

Valid

+
+

-

+
+

“AutomationMLComponent

+

StandardRCL/Component Icon

+
+

 

+
+ +
+
+ +

 

+ +

11.3 +Test suite <TS-003 Interfaces>

+ +

11.3.1  +Testcase <TC-003-001> (Create device with +interfaces)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-003-001

+
+

Testcase + Name

+
+

Create device + with interfaces

+
+

Req.-ID.

+
+

LF30

+
+

Description

+
+

This testcase + verifies that a device with additional interfaces can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-003-001.

+
+

Data is + entered.

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-003-001.

+
+

Data is + entered.

+
+

 

+
+

Click on the + “Interfaces” tab below the top navbar.

+
+

The interface + view opens.

+
+

 

+
+

Click on the + interface “Interface Name” (Data from TD-003-001) on the right side under + “Interface Class Library”

+
+

The entry gets + highlighted.

+
+

 

+
+

Drag and drop + the interface onto the “Interfaces” table.

+
+

The interface + gets added at the last position.

+
+

 

+
+

Click on the + interface in the “Interfaces” table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

 

+
+

Click on the + new label.

+
+

The label gets + highlighted.

+
+

 

+
+

Double click on + the label.

+
+

Underneath the + label the “Attributes” table opens.

+
+

 

+
+

Fill the + entries with data from TD-003-001.

+
+

Data is + entered.

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-003-001

+
+

Data set

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Interface Name

+
+

Direction

+
+

Validation

+
+

1

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

“AutomationMLInterfaceClassLib”

+

>>

+

“AutomationMLBaseInterface”

+

>> “

+

Order{Class: AutomationMLBaseInterface}”

+
+

Top

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Top

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Directions

+
+

2

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

“AutomationMLInterfaceClassLib”

+

>>

+

“AutomationMLBaseInterface”

+

>> “

+

Order{Class: AutomationMLBaseInterface}”

+
+

 

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Dataset

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Library Name

+
+

refURI

+
+

MIMEType

+
+

Validation

+
+

3

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

“AutomationMLComponentBaseICL”

+

>>

+

“2DReference{Class: + ExternalDataReference}”

+
+

001

+
+

.png

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

000

+
+

.jpg

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

digits

+
+

Picture

+
+

 

+
+ +
+ +
+
+ +
+ +

11.3.2  +Testcase <TC-003-002> (Open device, delete +interfaces)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-003-002

+
+

Testcase + Name

+
+

Open device, + delete interfaces

+
+

Req.-ID.

+
+

LF30

+
+

Description

+
+

This testcase + verifies that interfaces can be deleted from a device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-003-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

 

+
+

Click on the + “Interfaces” tab below the top navbar.

+
+

The Interfaces + view opens.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Interface” (Data + from TD-003-002)

+
+

 

+
+

Select the interface + in the “Interfaces” table, which is listed in “Delete Interface” (Data from + TD-003-002)

+
+

The interface gets + selected in the “Interfaces” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The interface + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-003-002

+
+

Data set

+
+

File

+
+

Delete + Interface

+
+

Validation

+
+

1

+
+

DHBW_Testfile_05.amlx

+
+

Order

+
+

Valid

+
+

2DReference

+
+

 

+
+ +
+
+ +

 

+ +

11.4 +Test suite <TS-004 Attachments>

+ +

11.4.1  +Testcase <TC-004-001> (Create device with attachments)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-004-001

+
+

Testcase + Name

+
+

Create device + with attachments

+
+

Req.-ID.

+
+

LF40

+
+

Description

+
+

This testcase + verifies that a device with attachments can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-004-001.

+
+

Data is + entered.

+
+

 

+
+

Fill the red marked + entries in the “Attributes” table at the bottom of the screen with data from + TD-004-001.

+
+

Data is + entered.

+
+

 

+
+

Click on the + “Attachments” tab below the top navbar.

+
+

The attachment + view opens.

+
+

 

+
+

Click on the + “Add” button in the upper left corner.

+
+

A dropdown list + opens.

+
+

 

+
+

Choose the + “Dropdown” (Data from TD-004-001).

+
+

The name gets + added to the two text fields underneath.

+
+

 

+
+

Click “Select + File” button

+
+

An explorer + opens.

+
+

 

+
+

Search the test + File (Data from TD-004-001) and click open

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled + with the test data.

+
+

 

+
+

Click on the + “Add” button in the upper left corner.

+
+

A dropdown list + opens.

+
+

 

+
+

Choose the + “Dropdown2” (Data from TD-004-001).

+
+

The name gets + added to the two text fields underneath.

+
+

 

+
+

Paste the “Test + Path” (Data from TD-004-001) into the text field besides the “Add Path” + button

+
+

The path is + pasted.

+
+

 

+
+

Click “Add Path” + button

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled with + the test data.

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already exists the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-004-001

+
+

Data set

+
+

 

+
+

Vendor Name

+
+

Device Name

+
+

ManufacturerURI

+
+

Device
+ Class

+
+

Product
+ Code

+
+

Dropdown

+
+

Test File

+
+

Dropdown2

+
+

Test Path

+
+

Validation

+
+

1

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

Certificate

+
+

Manual.pdf

+
+

-

+
+

-

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

2

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

Component

+

Icon

+
+

DHBW.png

+
+

Component

+

Picture

+
+

“https://upload.wikimedia.org/wikipedia/de/thumb/1/1d/DHBW-Logo.svg/2000px-DHBW-Logo.svg.png”

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

3

+
+

Values

+
+

DHBW

+
+

Server

+
+

www.aml.com

+
+

Computer

+
+

00256

+
+

 

+
+

-

+
+

ShortGuide

+
+

“https://docplayer.net/19663746-C-to-c-a-somewhat-short-guide.html”

+
+

Valid

+
+

Default

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Units

+
+

-

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+ +
+ +
+
+ +
+ +

11.4.2  +Testcase <TC-004-002> (Open device, delete +Attachments)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-004-002

+
+

Testcase + Name

+
+

Open device, + delete interfaces

+
+

Req.-ID.

+
+

LF40

+
+

Description

+
+

This testcase + verifies that interfaces can be deleted from a device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-004-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

 

+
+

Click on the “Attachments” + tab below the top navbar.

+
+

The attachment view + opens.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Attachments” + (Data from TD-004-002)

+
+

 

+
+

Select the + interface in the “Attachables Information” table, which is listed in “Delete Attachments” + (Data from TD-004-002)

+
+

The interface + gets selected in the “Attachables Information” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The attachment + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test data

+
+

TD-004-002

+
+

Data set

+
+

File

+
+

Delete Attachment

+
+

Validation

+
+

1

+
+

DHBW_Testfile_06.amlx

+
+

ComponentIcon

+
+

Valid

+
+

ShortGuide

+
+

 

+
+ +

 

+ +
+ +

Author: Jakob Schmidt

+ + + + diff --git a/5.-Systemtestreport.md b/5.-Systemtestreport.md index 0519ecb..463f382 100644 --- a/5.-Systemtestreport.md +++ b/5.-Systemtestreport.md @@ -1 +1,4727 @@ - \ No newline at end of file + + + + + + + + + +
+ +

 

+ +

        +Table of Contents

+ +

1Scope 

+ +

2Definitions 

+ +

3Test Objects 

+ +

4Test Equipment

+ +

5References 

+ +

6Testcases 

+ +

6.1Test suite <TS-001 Basic +functionality> 

+ +

6.1.1Testcase +<TC-001-001> (Create device)

+ +

6.1.2Testcase +<TC-001-002> (Open device, save changes)

+ +

6.1.3Testcase +<TC-001-003> (Load standard libraries)

+ +

6.2Test suite <TS-002 Generic data> 

+ +

6.2.1Testcase +<TC-002-001> (Create device with attributes)

+ +

6.2.2Testcase +<TC-002-002> (Create device with role classes)

+ +

6.2.3Testcase +<TC-002-003> (Open device, delete data)

+ +

6.3Test suite <TS-003 Interfaces> 

+ +

6.3.1Testcase +<TC-003-001> (Create device with interfaces)

+ +

6.3.2Testcase +<TC-003-002> (Open device, delete interfaces)

+ +

6.4Test suite <TS-004 Attachments> 

+ +

6.4.1Testcase +<TC-004-001> (Create device with attachments)

+ +

6.4.2Testcase +<TC-004-002> (Open device, delete Attachments)

+ +

 

+ +

 

+ +
+
+ +

        +Changelog

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Version

+
+

Date

+
+

Author

+
+

Comment

+
+

0.1

+
+

22.10.2020

+
+

Jakob Schmidt

+
+

Created

+
+

0.2

+
+

21.04.2021

+
+

Jakob Schmidt

+
+

First draft

+
+

1.1

+
+

24.04.2021

+
+

Jakob Schmidt

+
+

Added more tests

+
+

1.2

+
+

28.04.2021

+
+

Jakob Schmidt

+
+

Added delete tests

+
+

1.3

+
+

08.05.2021

+
+

Jakob Schmidt

+
+

Final Version

+
+ +
+
+ +

1        +Scope

+ +

The STR (System Test Report) is a +document derived from the STP (System Test Plan) [1].

+ +

It contains the tests specified in the +STP and documents the actual results of testing.

+ +

 

+ +

2        +Definitions

+ +

AML AutomationML
+TS    Testsuite
+TC    Testcase

+ +

 

+ +

3        +Test Objects

+ +

The following test objects must be verified.

+ + + + + + + + + + + + + + +
+

Ref.-Id.

+
+

Product Number

+
+

Product Name

+
+

Product Description

+
+

1

+
+

Version 2.0

+
+

Modelling Wizard

+
+

Plugin for AutomationML to create devices

+
+ +

 

+ +

 

+ +

4        +Test Equipment

+ +

The following equipment must be available +for testing:

+ +

 

+ +

•  A computer with Windows 7 or higher

+ +

•  Installed AutomationML Editor (Downloadlink)

+ +

•  Installed Modelling Wizard software

+ +

 

+ +

The “Test Data” folder from the git +repository [2]

+ +

 

+ +

 

+ +

5        +References

+ +

+ + + + + + + + + + + + + + +
+

[1]

+
+

„STP,“ [Online]. Available: + https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/4.-Systemtestplan.

+
+

[2]

+
+

„Test Data,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/tree/master/PROJECT/Test%20Data.

+
+

[3]

+
+

„BUG130: saving clears added + "Role Class Libraries",“ [Online]. Available: + https://github.com/DekaAthlos/TINF19C-ModellingWizard/issues/46.

+
+ +

 

+ +
+
+ +

 

+ +

6        +Testcases

+ +

6.1    Test suite <TS-001 Basic functionality>

+ +

6.1.1 Testcase +<TC-001-001> (Create device)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-001

+
+

Testcase + Name

+
+

Create device

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that a device can be created and saved.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-001-001.

+
+

Data is entered + and automatically filled into the attributes below

+
+

Data is entered + and automatically filled into the attributes below

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-001-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

The current + selected field in the table gets deselected

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Pass

+
+

Test data 3

+
+

Pass

+
+

Test data 4

+
+

Pass

+
+

Test data 5

+
+

Pass

+
+

 

+
+ +
+
+ +

 

+ +

6.1.2 Testcase +<TC-001-002> (Open device, save changes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-002

+
+

Testcase + Name

+
+

Open device, + save changes

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that a device can be loaded with its data, that the data can be + changed and that it can be saved again.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-001-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+

(If the + Modelling Wizard cannot read the file an error message will be shown, and no + file will be opened.)

+
+

“Vendor Name” + and “Device Name” are filled. The Name of the file is displayed in the top + right corner.

+

The tabs are + accessible.

+
+

 

+
+

Fill the red + marked entries with data from TD-001-002.

+
+

Data is + overwritten.

+
+

Data is + overwritten.

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

The current + selected field in the table gets deselected

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown + opens and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Pass

+
+

Test data 3

+
+

Pass

+
+

Test data 3

+
+

Pass

+
+

 

+
+ +
+
+ +

 

+ +

6.1.3 Testcase +<TC-001-003> (Load standard libraries)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-001-003

+
+

Testcase + Name

+
+

Load standard + libraries

+
+

Req.-ID.

+
+

LF10

+
+

Description

+
+

This testcase + verifies that the standard libraries can be loaded into the Modelling Wizard.

+

 

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

1

+
+

Select the + “Standard Libraries” dropdown in the top navbar.

+
+

A dropdown of + the libraries opens, and one can be chosen.

+
+

 

+
+

Choose one + library that is not already loaded.

+
+

The library + will be loaded and can be found on the right sight under “Role Class Library” + or “Interface Class Library”

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Pass

+
+

 

+
+ +

 

+ +
+
+ +

 

+ +

6.2    Test suite <TS-002 Generic data>

+ +

6.2.1 Testcase +<TC-002-001> (Create device with attributes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-001

+
+

Testcase + Name

+
+

Create device + with attributes

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase + verifies that a device with data in the attributes and the header of “Generic + Data” can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-002-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Fill the + entries with data from TD-002-001

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on + “Header” besides “Attributes”

+
+

The “Header” + table opens

+
+

The “Header” + table opens

+
+

 

+
+

Fill the + entries with data from TD-002-001

+
+

Data is entered

+
+

Data is entered

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

The current + selected field in the table gets deselected

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file opens + and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Pass

+
+

 

+
+ +

 

+ +
+
+ +

 

+ +

6.2.2 +Testcase <TC-002-002> (Create device with +role classes)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-002

+
+

Testcase + Name

+
+

Create device + with role classes

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase + verifies that a device with loaded classes from “Role Class Library” can be + created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the “File” + dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-002-002.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-002-002.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on the + library “Library Name” (Data from TD-002-001) on the right side under “Role + Class Library”

+
+

The entry gets + highlighted.

+
+

The entry gets + highlighted.

+
+

 

+
+

Drag and drop + the library onto the “Generic Information” table.

+
+

The library + gets added at the last position.

+
+

The library + gets added at the last position.

+
+

 

+
+

Click on the + library in the “Generic Information” table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

 

+
+

Click on the + new label.

+
+

The label gets highlighted.

+
+

The label gets + highlighted.

+
+

 

+
+

Double click on + the label.

+
+

Underneath the + label the “Attributes” table opens.

+

If the class + consists of sub classes, these are displayed as indented labels.

+
+

Underneath the + label the “Attributes” table opens.

+

If the class + consists of sub classes, these are displayed as indented labels.

+
+

 

+
+

Fill the + entries with data from TD-002-002

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on the + label of the subclass.

+
+

The label gets + highlighted.

+
+

The label gets highlighted.

+
+

 

+
+

Double click on + the subclass.

+
+

Underneath the + label the “Attributes” table for the specific subclass opens.

+
+

Underneath the + label the “Attributes” table for the specific subclass opens.

+
+

 

+
+

Fill the + entries with data from TD-002-002

+
+

Data is entered

+
+

Data is entered

+
+

 

+
+

Click on a free + spot on the GUI

+
+

The current + selected field in the table gets deselected (and the value is saved)

+
+

The current + selected field in the table gets deselected.

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Fail [3]

+
+

Test data 2

+
+

Fail [3]

+
+

 

+
+ +
+
+ +

 

+ +

6.2.3 Testcase +<TC-002-003> (Open device, delete data)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-002-003

+
+

Testcase + Name

+
+

Open device, + delete data

+
+

Req.-ID.

+
+

LF20

+
+

Description

+
+

This testcase verifies + that attributes and “Role Class Libraires” can be deleted from a device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

The explorer opens, + and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-002-003 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the is displayed in the top right + corner.

+

All tabs are accessible.

+
+

 

+
+

Clear the + attributes listed in “Delete Attributes” (Data from TD-002-003)

+
+

Data is overwritten.

+
+

Data is + overwritten.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Library” (Data + from TD-002-003)

+
+

The two steps + are repeated once for every entry

+
+

 

+
+

Select the + library in the “Generic Information” table, which is listed in “Delete + Library” (Data from TD-002-003)

+
+

The library + gets selected in the “Generic Information” table

+
+

The library + gets selected in the “Generic Information” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The library gets + deleted

+
+

The library + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name and + click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Fail [3]

+
+

 

+
+ +
+
+ +

 

+ +

6.3    Test suite <TS-003 Interfaces>

+ +

6.3.1 Testcase +<TC-003-001> (Create device with interfaces)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-003-001

+
+

Testcase + Name

+
+

Create device + with interfaces

+
+

Req.-ID.

+
+

LF30

+
+

Description

+
+

This testcase + verifies that a device with additional interfaces can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-003-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-003-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on the + “Interfaces” tab below the top navbar.

+
+

The interface + view opens.

+
+

The interface + view opens.

+
+

 

+
+

Click on the + interface “Interface Name” (Data from TD-003-001) on the right side under + “Interface Class Library”

+
+

The entry gets + highlighted.

+
+

The entry gets + highlighted.

+
+

 

+
+

Drag and drop + the interface onto the “Interfaces” table.

+
+

The interface + gets added at the last position.

+
+

The interface + gets added at the last position.

+
+

 

+
+

Click on the + interface in the “Interfaces” table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

The entry gets + highlighted. A label with the entry name appears underneath the table.

+
+

 

+
+

Click on the + new label.

+
+

The label gets + highlighted.

+
+

The label gets + highlighted.

+
+

 

+
+

Double click on + the label.

+
+

Underneath the + label the “Attributes” table opens.

+
+

Underneath the + label the “Attributes” table opens.

+
+

 

+
+

Fill the + entries with data from TD-003-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Pass

+
+

Test data 3

+
+

Pass

+
+

 

+
+ +

 

+ +
+
+ +

 

+ +

6.3.2 Testcase +<TC-003-002> (Open device, delete interfaces)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-003-002

+
+

Testcase + Name

+
+

Open device, + delete interfaces

+
+

Req.-ID.

+
+

LF30

+
+

Description

+
+

This testcase + verifies that interfaces can be deleted from a device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-003-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All tabs are + accesible

+
+

 

+
+

Click on the + “Interfaces” tab below the top navbar.

+
+

The Interfaces + view opens.

+
+

The Interfaces + view opens.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Interface” (Data + from TD-003-002)

+
+

The two steps + are repeated once for every entry

+
+

 

+
+

Select the + interface in the “Interfaces” table, which is listed in “Delete Interface” + (Data from TD-003-002)

+
+

The interface + gets selected in the “Interfaces” table

+
+

The interface + gets selected in the “Interfaces” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The interface + gets deleted

+
+

The interface + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Pass

+
+

 

+
+ +
+
+ +

 

+ +

6.4    Test suite <TS-004 Attachments>

+ +

6.4.1 Testcase +<TC-004-001> (Create device with attachments)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-004-001

+
+

Testcase + Name

+
+

Create device + with attachments

+
+

Req.-ID.

+
+

LF40

+
+

Description

+
+

This testcase + verifies that a device with attachments can be created and saved.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Actual Result

+
+

1

+
+

Select the + “File” dropdown and click on “new”.

+
+

A new empty + Modelling Wizard window opens.

+
+

A new empty + Modelling Wizard window opens.

+
+

2

+
+

Fill “Vendors + Name” and “Device Name” in the top navbar, with data from TD-004-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Fill the red + marked entries in the “Attributes” table at the bottom of the screen with + data from TD-004-001.

+
+

Data is + entered.

+
+

Data is + entered.

+
+

 

+
+

Click on the + “Attachments” tab below the top navbar.

+
+

The attachment + view opens.

+
+

The attachment + view opens.

+
+

 

+
+

Click on the + “Add” button in the upper left corner.

+
+

A dropdown list + opens.

+
+

A dropdown list + opens.

+
+

 

+
+

Choose the + “Dropdown” (Data from TD-004-001).

+
+

The name gets + added to the two text fields underneath.

+
+

The name gets + added to the two text fields underneath.

+
+

 

+
+

Click “Select + File” button

+
+

An explorer + opens.

+
+

An explorer + opens.

+
+

 

+
+

Search the test + File (Data from TD-004-001) and click open

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled + with the test data.

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled + with the test data.

+
+

 

+
+

Click on the + “Add” button in the upper left corner.

+
+

A dropdown list + opens.

+
+

A dropdown list + opens.

+
+

 

+
+

Choose the + “Dropdown2” (Data from TD-004-001).

+
+

The name gets + added to the two text fields underneath.

+
+

The name gets + added to the two text fields underneath.

+
+

 

+
+

Paste the “Test + Path” (Data from TD-004-001) into the text field besides the “Add Path” + button

+
+

The path is + pasted.

+
+

The path is + pasted.

+
+

 

+
+

Click “Add + Path” button

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled + with the test data.

+
+

The “Element + Name” and the “File Path” in the “Attachable Information” table get filled + with the test data.

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already the explorer will ask for confirmation of the saving.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Test data 1

+
+

Pass

+
+

Test data 2

+
+

Pass

+
+

Test data 3

+
+

Pass

+
+

 

+
+ +
+
+ +

 

+ +

6.4.2 Testcase +<TC-004-002> (Open device, delete Attachments)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Testcase ID

+
+

TC-004-002

+
+

Testcase + Name

+
+

Open device, + delete interfaces

+
+

Req.-ID.

+
+

LF40

+
+

Description

+
+

This testcase + verifies that interfaces can be deleted from a device.

+
+

Test Steps

+
+

Step

+
+

Action

+
+

Expected Result

+
+

Expected Result

+
+

1

+
+

Select the + “File” dropdown and click on “open”.

+
+

The explorer + opens, and the file can be chosen.

+
+

The explorer + opens, and the file can be chosen.

+
+

 

+
+

Choose the test + file from TD-004-002 and click “open”

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All generic + data, interfaces and attachments will be accessible over their tabs.

+
+

“Vendor Name” + and “Device Name” gets filled. The Name of the file will be displayed in the + top right corner.

+

All tabs are + accessible.

+
+

 

+
+

Click on the + “Attachments” tab below the top navbar.

+
+

The attachment + view opens.

+
+

The attachment + view opens.

+
+

 

+
+

Repeat the + following two step one time for each entry listed in “Delete Attachments” + (Data from TD-004-002)

+
+

The two steps + are repeated once for every entry

+
+

 

+
+

Select the + interface in the “Attachables Information” table, which is listed in “Delete + Attachments” (Data from TD-004-002)

+
+

The interface + gets selected in the “Attachables Information” table

+
+

The interface + gets selected in the “Attachables Information” table

+
+

 

+
+

Press the + “Delete” button in the top right corner of the table.

+
+

The attachment + gets deleted

+
+

The attachment + gets deleted

+
+

 

+
+

Select the + “File” dropdown and click on “save”.

+
+

A dropdown of + the explorer opens, and the name of the file can be chosen.

+
+

A dropdown of + the explorer opens, and the name is prefilled.

+
+

 

+
+

Enter a name + and click “save”.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+

If the name + already exists the explorer will ask for confirmation of the saving.

+
+

A popup opens + and informs about the correct creation and the path of the file.

+
+

 

+
+

Confirm the + message.

+
+

The popup + closes.

+
+

The popup + closes.

+
+

 

+
+

Open the file + in AutomationML and verify that all data is saved.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

The file gets + opened and under Attributes all data can be found.

+
+

 

+
+

Tester

+
+

Jakob Schmidt

+
+

Date

+
+

28.04.2021

+
+

Testcase + Result

+
+

Pass

+
+

 

+
+ +

 

+ +
+ +

Author: Jakob Schmidt

+ + + + From 17de7b05fd6f4af79da1bdbe854bfc90c744a66a Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Fri, 22 Apr 2022 10:57:14 +0200 Subject: [PATCH 03/38] added first changes from STP.docx --- 4.-Systemtestplan.md | 600 +++++++++++++------------------------------ 1 file changed, 178 insertions(+), 422 deletions(-) diff --git a/4.-Systemtestplan.md b/4.-Systemtestplan.md index 1f769ed..c8a0917 100644 --- a/4.-Systemtestplan.md +++ b/4.-Systemtestplan.md @@ -14,140 +14,116 @@

1Scope Scope 

2Definitions Definitions 

3Test Objects Test Objects 

4Features Features 

5Test Preparation Strategy Test Preparation Strategy 

6Test Execution Strategy Test Execution Strategy 

7Test Equipment Test Equipment

8Test Schedule and Budget Test Schedule and Budget

9Test Planning Test Planning 

10Reference/ +text-decoration:none'> Reference/ Standards 

11Testcases Testcases 

11.1Test suite <TS-001 Basic -functionality>

+text-decoration:none'> Test suite <TS-001 File operations>

11.1.1Testcase -<TC-001-001> (Create device) Testcase +<TC-001-001> (Loading of a valid file with validation)

11.1.2Testcase -<TC-001-002> (Open device, save changes) Testcase +<TC-001-002> (Loading of an invalid file with validation)

11.1.3Testcase -<TC-001-003> (Load standard libraries) Testcase +<TC-001-003> (Export of a valid device to file with validation)

+

11.1.4 Testcase +<TC-001-004> (Export of an invalid device to file with validation)

+ +

11.2Test suite <TS-002 Generic data> Test suite <TS-002 GUI> 

11.2.1Testcase -<TC-002-001> (Create device with attributes) Testcase +<TC-002-001> (GUI input field verification)

11.2.2Testcase -<TC-002-002> (Create device with role classes) Testcase +<TC-002-002> (GUI load file via file explorer)

11.2.3Testcase -<TC-002-003> (Open device, delete data) Testcase +<TC-002-003> (GUI Creation and editing of a new device)

-

11.3Test suite <TS-003 Interfaces> 

- -

11.3.1Testcase -<TC-003-001> (Create device with interfaces)

- -

11.3.2Testcase -<TC-003-002> (Open device, delete interfaces)

- -

11.4Test suite <TS-004 Attachments> 

- -

11.4.1Testcase -<TC-004-001> (Create device with attachments)

- -

11.4.2Testcase -<TC-004-002> (Open device, delete Attachments) Testcase +<TC-002-004> (GUI Export of a loaded device)

@@ -192,12 +168,12 @@ clear=all style='page-break-before:always'> -

22.10.2020

+

22.04.2022

-

Jakob Schmidt

+

Malte Horst

Created

- - -

0.2

- - -

08.04.2021

- - -

Jakob Schmidt

- - -

First draft

- - - - -

0.3

- - -

20.04.2021

- - -

Jakob Schmidt

- - -

Second draft

- - - - -

1.0

- - -

22.04.2021

- - -

Jakob Schmidt

- - -

Added more tests and test data

- - - - -

1.1

- - -

27.04.2021

- - -

Jakob Schmidt

- - -

Added delete tests

- - - - -

1.2

- - -

05.05.2021

- - -

Jakob Schmidt

- - -

Final Version

- -
test strategy and test planning.

It contains the tests required to check -whether the requirements specified in the SRS (System Requirements Specification) [1] have been implemented in a functional manner.

+whether the requirements specified in the SRS (System Requirements Specification) have been implemented in a functional manner.

The document derived from the STP is the -STR (System Test Report) [2], which additionally specifies the test results.

+STR (System Test Report), which additionally specifies the test results.

 

@@ -339,9 +208,9 @@ STR (System Test Report) [2], which additionally specifies the test results.AML AutomationML
TS    Testsuite
-TC    Testcase

- -

GUI  Graphical User Interface

+TC    Testcase
+GUI Graphical User Interface
+

 

@@ -380,17 +249,17 @@ TC    Testcase

-

Version 2.0

+

Build v1.0

-

Modelling Wizard

+

Standalone Modelling Wizard for Devices GUI

-

Plugin for AutomationML to create devices

+

Windows standalone application with a GUI

@@ -407,14 +276,12 @@ ideograph-numeric ideograph-other'> 

4        Features

-

The following requirements must be verified -if they are not classified as “not to be tested”. This table shows the test -coverage between functionality and test suites or test cases.

+

The following requirements must be verified, as long as they are not classified as “not to be tested”. This table shows the test coverage between functionality and test suites or test cases.

- + + + + + + + + + + + + + + + + + + + + + + + +

Reg.-ID.

@@ -436,13 +303,12 @@ coverage between functionality and test suites or test cases.

-

LF10

+

LF10: Import

-

Basic tests. Validation of input and - output.

+

Imports file by absolute path

-

LF20

+

LF20: File validation

-

Checks if generic data are added - correctly.

+

Checks whether input file is in a valid format

-

A

+

B

-

TS-002

+

TS-001

-

LF30

+

LF30: Error handling

-

Checks if interfaces are added correctly.

+

Application throws errors on expected shutdowns and wrong formatting

-

A

+

B

-

TS-003

+

TS-002

-

LF40

+

LF40: GUI

-

Checks if attachments are added correctly

+

Draws GUI for user

-

TS-004

+

TS-002

+
+

LF50: Display device in a readable way

+
+

Displays loaded device in GUI in a readable way for user

+
+

A

+
+

TS-002

+
+

LF60: Edit device

+
+

Every attribute of devices should be editable

+
+

A

+
+

TS-002

+
+

LF70: Create device

+
+

Creates a new and empty device

+
+

A

+
+

TS-002

+
+

LF80: Export device

+
+

Loaded device is saved as to file

+
+

A

+
+

TS-001, TS-002

@@ -527,54 +476,25 @@ coverage between functionality and test suites or test cases.

5        Test Preparation Strategy

-

Since the Modelling Wizard does not have -any Modules, the testing will be split into four parts. One for the basic -functionality testing

+

The creation of tests will be application case based. Two main application cases can be identified, the file operations and the GUI. -

1.    Basic functionality

+File operations represent the first main application case. Device files need to be loaded, validated and saved to ensure full functionality of the application for the user. -

And three for the different types of data -the Modelling Wizard can store.

- -

2.    generic data

- -

3.    interfaces

- -

4.    attachments

- -

 

+The GUI is the second main application case. Unlike the previous plugin for the AML Editor, the GUI provides a view of the loaded device with input fields in which the respective device data is displayed. These fields must be checked and features to edit and save device must be validated. +

6        Test Execution Strategy

-

Because this is a further development of -an already existing software, only the functionalities that have been changed or -implemented by the programmers will be tested. This includes the functional -requirements specified in the SRS [1] and the functionalities that were affected -during bug fixing.

+

Since it is a re-implementation of an already existing software, a complete test is not necessary, but it is still useful. The test should be divided into the following phases: -

Since large parts of the program have -been changed or optimized mainly because of the extensive bug fixes, it is -worthwhile to start with testing the basic functionality to verify the correct -functionality program.

+1) File operations +2) Graphical User Interface -

After that the generic data, interfaces and -attachments will be tested, to verify the different features.

+Since the file operations are needed for the application to work, these have to be tested first. -
-
- -

 

+Then the GUI functionality can be tested. This includes the start of the program and the execution of the main features of the application in the GUI. +

7        Test Equipment

@@ -582,97 +502,22 @@ ideograph-numeric ideograph-other'> 

The following equipment must be available for testing:

-

 

+

•  A computer with Windows 10 or higher

-

•  A computer with Windows 7 or higher

+

•  The standalone Device Modelling Wizard software

-

•  Installed AutomationML Editor (Downloadlink)

- -

•  Installed Modelling Wizard software

- -

 

- -

The “Test Data” folder from the git -repository [3]

+

• The “Test Data” folder from the git +repository

 

8        Test Schedule and Budget

-

Hours scheduled

+

The testing of the application begins as soon as the application is completed. This makes it possible to make the necessary corrections quickly. The conversion library can only be tested once the rules for one input format, but preferably both input formats, have been established. Since only minimal changes are made in the GUI, the GUI can be tested as soon as all adjustments intended for the GUI have been made. - - - - - - - - - - - -
-

 

-
-

Phillip Tran (LE)

-
-

Jakob Schmidt (TM)

-
-

Test

-
-

20h

-
-

70h

-
- -

 

- -

Planned budget

- - - - - - - - - - -
-

 

-
-

Budget

-
-

Test

-
-

3.700€

-
- -

 

+No budget is needed for the tests, as they are all performed by hand. +

9        Test Planning

@@ -711,22 +556,22 @@ repository [3]

-

Basic functionality

+

File operations

-

Jakob Schmidt

+

Linus Eickhoff

-

Phillip Tran

+

Florian Kaiser

-

Jakob Schmidt

+

Linus Eickhoff

@@ -737,131 +582,43 @@ repository [3]

-

Generic data

+

Graphical User Interface

-

Jakob Schmidt

+

Linus Eickhoff

-

Phillip Tran

+

Florain Kaiser

-

Jakob Schmidt

- - - - -

TS-003

- - -

Interfaces

- - -

Jakob Schmidt

- - -

Phillip Tran

- - -

Jakob Schmidt

- - - - -

TS-004

- - -

Attachments

- - -

Jakob Schmidt

- - -

Phillip Tran

- - -

Jakob Schmidt

+

Linus Eickhoff

 

-

10   -Reference/ Standards

+

10   +References

-

+

[1] SRS TINF20C Device Modelling Wizard

- - - - - - - - - - - - - -
-

[1]

-
-

„SRS,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/1.-Software-Requirements--Specification.

-
-

[2]

-
-

„STR,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/5.-Systemtestreport.

-
-

[3]

-
-

„Test Data,“ [Online]. Available: - https://github.com/DekaAthlos/TINF19C-ModellingWizard/tree/master/PROJECT/Test%20Data.

-
- -

 

- -
-
- -

 

+

 

11   Testcases

11.1 -Test suite <TS-001 Basic functionality>

+Test suite <TS-001 File operations>

11.1.1  -Testcase <TC-001-001> (Create device)

+Testcase <TC-001-001> (Loading of a valid file with validation) @@ -884,7 +641,7 @@ color:black'>
@@ -895,7 +652,7 @@ color:black'>
@@ -906,8 +663,7 @@ color:black'>
From bc314b8541dfbbaf8a675242344e07839b059183 Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Fri, 22 Apr 2022 11:03:53 +0200 Subject: [PATCH 04/38] added first test case --- 4.-Systemtestplan.md | 125 +++---------------------------------------- 1 file changed, 7 insertions(+), 118 deletions(-) diff --git a/4.-Systemtestplan.md b/4.-Systemtestplan.md index c8a0917..6056c96 100644 --- a/4.-Systemtestplan.md +++ b/4.-Systemtestplan.md @@ -697,14 +697,12 @@ No budget is needed for the tests, as they are all performed by hand. @@ -715,138 +713,29 @@ No budget is needed for the tests, as they are all performed by hand. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Create device

+

Loading of a valid file with validation

-

LF10

+

LF10, LF20, LF30

-

This testcase - verifies that a device can be created and saved.

+

The test case verifies that it recognizes if a valid file has been loaded.

 

-

Select the “File” - dropdown and click on “new”.

+

Open Application.exe from Binary Folder

-

A new empty - Modelling Wizard window opens.

+

Application starts without probems.

-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-001-001.

+

Select a valid input file for the validation, by selecting “File” and then “Open” and choose file in explorer

-

Data is entered - and automatically filled into the attributes below

+

The validation is executed successfully, and the conversion is completed correctly without error message.

-

 

+

3

-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-001-001.

+

Check if Data was interpreted correctly in “Attributes”, “Generic Information”, “Interfaces”

-

Data is - entered.

+

should have all valid data in readable format. P

-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

 

-
-

Select the “File” - dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-

 

From 1b09bf96cac5018839453853f34f296832fd194e Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 12:24:36 +0200 Subject: [PATCH 05/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 32 ++++++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 0c0abd8..68e69a4 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -41,7 +41,7 @@ *** # 1. Introduction -The aim of this project is to program a standalone application for Windows based on a plugin for the AutomationML editor. The graphical user interface should be improved and support the modelling of sensors according to IEC 60947-5 should be offered. Furthermore, it should be possible to create devices, add device interfaces and file attachments. +The aim of this project is to program a standalone application for Windows based on a plugin for the AutomationML editor. The graphical user interface should be improved and support the modelling of sensors according to IEC 60947-5 should be offered. Furthermore, it should be possible to create devices, add device interfaces and file attachments. It should also be feasible to create a device manually, but also by reading in existing device description files with the aid of the DD2AML converter. The output should be an AutomationML package that complies with the rules for AML component models (AML-DDs). ## 1.1 Glossary @@ -61,7 +61,7 @@ The aim of this project is to program a standalone application for Windows based ## 2.1 System Environment -The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to the plug-in, the editor no longer needs to be used. +The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to old programme orthe plug-in, the editor no longer needs to be used. Among others the IODD and GSD converter are used as neighbouring systems. @@ -73,11 +73,35 @@ For the standalone application to work, you need at least version 4.5 of the .Ne In order to achieve the quality goals, different criteria are considered. -### 2.3.1 Usability +### 2.3.1 Runtime quality attributes + +#### 2.3.1.1 Usability Usability is the most important aspect of the project besides the standalone application. To this end, a graphical user interface was created that allows the user to use it as easily as possible. Intuitive operation is very important, but an appealing design is also necessary to create the best possible user experience. This is the only way the application can successfully simplify work processes. (More information in the usability concept) -### 2.3.2 Bug fixing +#### 2.3.1.2 Functionality + +As the targets have been set relatively precisely, attention should be paid to their compliance and fulfilment. Furthermore, care should be taken to process the functions according to their importance, which means ensuring the standalone property first, then the usability and then the remaining functions. + +#### 2.3.1.3 Performance + +#### 2.3.1.4 Security + +#### 2.3.1.5 Availability + +#### 2.3.1.5 Interoperability + +### 2.3.2 Non-Runtime quality attributes + +#### 2.3.1.1 Modifiability + +#### 2.3.1.1 Portability + +#### 2.3.1.1 Reusability + +#### 2.3.1.1 Testability + +### 2.3.2 Bug fixing Another milestone to keep quality high is the elimination of errors that cause undesired behaviour or even fatal errors. From 2637ccf1c7ed4e83ef030ffe58adff3b450face6 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 12:55:56 +0200 Subject: [PATCH 06/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 68e69a4..e1c9bd7 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -75,6 +75,8 @@ In order to achieve the quality goals, different criteria are considered. ### 2.3.1 Runtime quality attributes +These can be observed at execution time of the system. + #### 2.3.1.1 Usability Usability is the most important aspect of the project besides the standalone application. To this end, a graphical user interface was created that allows the user to use it as easily as possible. Intuitive operation is very important, but an appealing design is also necessary to create the best possible user experience. This is the only way the application can successfully simplify work processes. (More information in the usability concept) @@ -85,23 +87,35 @@ As the targets have been set relatively precisely, attention should be paid to t #### 2.3.1.3 Performance +The problem with programmes that have been developed many times and then by different teams is that they often have poor code quality and therefore a high RAM and memory load. On technically older systems, this can lead to problems such as crashes or slow feedback. + #### 2.3.1.4 Security +It must be ensured that it is recognisable where and from whom the programme originated. It will not be possible to access the Internet with the programme, so confidentiality is automatic. But it should be downloaded from an official source. + #### 2.3.1.5 Availability +The programme and its code will be available on GitHub on a public repository. This means that anyone can access the programme at any time. + #### 2.3.1.5 Interoperability +By complying with the applicable technical standards, this feature is given, with no restrictions. No proprietary or unknown file formats are used. It is possible to open created models directly in other programs, for example the AutomationML editor. + ### 2.3.2 Non-Runtime quality attributes +These cannnot be observed at execution time of the system. + #### 2.3.1.1 Modifiability -#### 2.3.1.1 Portability +Since the programme is open source and publicly viewable, it can be extended by anyone. This is important if any use cases arise in the future. -#### 2.3.1.1 Reusability +#### 2.3.1.1 Portability and reusability -#### 2.3.1.1 Testability +Attention is paid to transferability to later projects, through the involvement and formation of libraries and the like, but the application case is very specific and difficult to transfer to other or new projects. Therefore not so important. -### 2.3.2 Bug fixing +#### 2.3.1.1 Testability + +### 2.3.2 Bug fixing Another milestone to keep quality high is the elimination of errors that cause undesired behaviour or even fatal errors. From 6f61fdf7eb162a61a6c58ec69ae7d83bdc9dec4b Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 15:16:08 +0200 Subject: [PATCH 07/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index e1c9bd7..568280a 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -115,9 +115,7 @@ Attention is paid to transferability to later projects, through the involvement #### 2.3.1.1 Testability -### 2.3.2 Bug fixing - -Another milestone to keep quality high is the elimination of errors that cause undesired behaviour or even fatal errors. +This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on another page. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. # 3. Quality Concept From a8ae2a7647d2c762a2cd91f9a7909d0e7324435f Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 15:17:42 +0200 Subject: [PATCH 08/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 568280a..400daba 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -115,7 +115,7 @@ Attention is paid to transferability to later projects, through the involvement #### 2.3.1.1 Testability -This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on another page. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. +This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the "Systemtestplan" page. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. # 3. Quality Concept From c09dd4ecd78401ef7c0d0f9ffe640c0f6514d712 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 15:45:25 +0200 Subject: [PATCH 09/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 46 +++++++++++++---------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 400daba..9ea8164 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -156,7 +156,9 @@ This means that the code is indented uniformly to improve readability and compre ## 4.1 Architectural Model -![Couldn't Load Picture](https://user-images.githubusercontent.com/76038781/140762432-baca1fb5-f66b-41ab-9702-be7fc2cfcc0d.png) +

+MVC Model +

The application was designed and developed according to a Model-View-Control (MVC) architecture pattern that resembles a cycle. The user can use the plugin by accessing the GUI. However, the actions he performs in the GUI are not processed in the GUI but in the controller and its subclasses. The controller executes the changes in the background, these are also called manipulations. Afterwards, the changes are updated on the user interface so that the user thinks that the changes were made directly in the GUI (cf. Figure 1). @@ -164,34 +166,40 @@ Almost all the logic is contained in the controller, which thus forms the centre The controller is the main control unit. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. -![Couldn't Load Picture](https://user-images.githubusercontent.com/76038781/140762427-8fb4c097-2c53-4c80-a07f-ed3f3d8c90d3.png) +

+ +

The architecture design in Figure 2 is the design created by the first development team when the application was first implemented. However, as the project developed further, the architecture became more and more unstructured and complex. As a result, MVC is no longer used as intended. # 5. System Design
-![Couldn't Load Picture](https://user-images.githubusercontent.com/76038781/140761356-05e600c3-b11f-46a8-9bb2-355cdc1e82db.PNG) +

+ +

This figure is showing the complete software structure design. -![Couldn't Load Picture](https://user-images.githubusercontent.com/76038781/140761360-67adafbe-f4c9-4279-a80e-d0430b1b5cc9.png) +

+ +

-Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. +Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. | **Classname** | **Storage location** | | --- | --- | -| About | SOURCE/About.xaml.xs | -| AnimationClass | SOURCE/Animationclass.cs | -| AutomationMLDataTables | SOURCE/AutomationMLDataTables.cs | -| ClassOfListFromReferenceFile | SOURCE/ClassOfListsFromReferencefile.cs | -| DeviceDescription | GUI: SOURCE/DeviceDescription.Designer.csLogic: SOURCE/DeviceDescription.cs | -| ModellingWizard | SOURCE/ModellingWizard.xaml.cs | -| MWController | SOURCE/MWController.cs | -| MWData | SOURCE/MWData.cs | -| MWDevice | SOURCE/MWDevice.cs | -| Resources | SOURCE/Resources/ | -| SearchAMLComponentFile | SOURCE/SearchAMLComponentFile.cs | -| SearchAMLLibraryFile | SOURCE/SearchAMLLibraryFile.cs | +| About | SOURCE/Plugin/About.xaml.xs | +| AnimationClass | SOURCE/Plugin/Animationclass.cs | +| AutomationMLDataTables | SOURCE/Plugin/AutomationMLDataTables.cs | +| ClassOfListFromReferenceFile | SOURCE/Plugin/ClassOfListsFromReferencefile.cs | +| DeviceDescription | GUI: SOURCE/Plugin/DeviceDescription.Designer.cs Logic: SOURCE/Plugin/DeviceDescription.cs | +| ModellingWizard | SOURCE/Plugin/ModellingWizard.xaml.cs | +| MWController | SOURCE/Plugin/MWController.cs | +| MWData | SOURCE/Plugin/MWData.cs | +| MWDevice | SOURCE/Plugin/MWDevice.cs | +| Resources | SOURCE/Plugin/Resources/ | +| SearchAMLComponentFile | SOURCE/Plugin/SearchAMLComponentFile.cs | +| SearchAMLLibraryFile | SOURCE/Plugin/SearchAMLLibraryFile.cs | # 6. Subsystem specification
@@ -203,7 +211,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | Services: | The graphical user interface is taking input from the user and sending it to the controller by calling event functions. | | Interfaces: | --- | | External Data: | --- | -| Storage Location: | SOURCE/DeviceDescription.Designer.cs | +| Storage Location: | SOURCE/Plugin/DeviceDescription.Designer.cs | | Modul documentation: | MOD.001: Graphical User Interface (GUI) | ## 6.2 MOD.002 Controller @@ -214,7 +222,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | Services: | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | | Interfaces: | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: SOURCE/MWData.cs | | External Data: | --- | -| Storage location: | SOURCE/DeviceDescription.cs | +| Storage location: | SOURCE/Plugin/DeviceDescription.cs | | Modul documentation: | MOD.002: Controller | # 7. Technical Concepts From 8168135b4c05b90e29792255628f2696143e0f31 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Fri, 22 Apr 2022 16:02:07 +0200 Subject: [PATCH 10/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 9ea8164..dcd9411 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -175,7 +175,7 @@ The architecture design in Figure 2 is the design created by the first developme # 5. System Design

- +System

This figure is showing the complete software structure design. @@ -192,7 +192,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | AnimationClass | SOURCE/Plugin/Animationclass.cs | | AutomationMLDataTables | SOURCE/Plugin/AutomationMLDataTables.cs | | ClassOfListFromReferenceFile | SOURCE/Plugin/ClassOfListsFromReferencefile.cs | -| DeviceDescription | GUI: SOURCE/Plugin/DeviceDescription.Designer.cs Logic: SOURCE/Plugin/DeviceDescription.cs | +| DeviceDescription | GUI: SOURCE/Plugin/DeviceDescription.Designer.cs
Logic: SOURCE/Plugin/DeviceDescription.cs | | ModellingWizard | SOURCE/Plugin/ModellingWizard.xaml.cs | | MWController | SOURCE/Plugin/MWController.cs | | MWData | SOURCE/Plugin/MWData.cs | From 5c505333ec21e6f75b3143304aa47ba5ec9ebb95 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 15:54:39 +0200 Subject: [PATCH 11/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 39 +++++++---------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index dcd9411..c59b23f 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -41,7 +41,7 @@ *** # 1. Introduction
-The aim of this project is to program a standalone application for Windows based on a plugin for the AutomationML editor. The graphical user interface should be improved and support the modelling of sensors according to IEC 60947-5 should be offered. Furthermore, it should be possible to create devices, add device interfaces and file attachments. It should also be feasible to create a device manually, but also by reading in existing device description files with the aid of the DD2AML converter. The output should be an AutomationML package that complies with the rules for AML component models (AML-DDs). +The aim of this project is to program a standalone application for Windows based on a plugin for the AutomationML editor. The graphical user interface should be improved and support the modelling of sensors according to IEC 60947-5 should be offered. Furthermore, it should be possible to create devices, add device interfaces and file attachments. It should also be feasible to create a device manually, but also by reading in existing device description files with the aid of the DD2AML converter. The output should be an AutomationML package that complies with the rules for AML component models (AML-DDs). The programme is aimed at an industrial user group, as it is suitable for creating models, which should help in the design of systems. ## 1.1 Glossary @@ -87,7 +87,7 @@ As the targets have been set relatively precisely, attention should be paid to t #### 2.3.1.3 Performance -The problem with programmes that have been developed many times and then by different teams is that they often have poor code quality and therefore a high RAM and memory load. On technically older systems, this can lead to problems such as crashes or slow feedback. +The problem with programmes that have been developed many times and then by different teams is that they often have poor code quality and therefore a high RAM and memory load. On technically older systems, this can lead to problems such as crashes or slow feedback. You can find more information about this in the section "Code Quality". #### 2.3.1.4 Security @@ -99,7 +99,7 @@ The programme and its code will be available on GitHub on a public repository. T #### 2.3.1.5 Interoperability -By complying with the applicable technical standards, this feature is given, with no restrictions. No proprietary or unknown file formats are used. It is possible to open created models directly in other programs, for example the AutomationML editor. +This is important because it must be ensured that users are not firmly bound to this standard or programme. After all, the main users will come from the industry and therefore place a lot of value on a uniform standard. More information can be found in the "Technical Concept". ### 2.3.2 Non-Runtime quality attributes @@ -115,7 +115,7 @@ Attention is paid to transferability to later projects, through the involvement #### 2.3.1.1 Testability -This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the "Systemtestplan" page. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. +This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the "Systemtestplan" page. Also check the "Systemtesreport" to learn more about the test results. The AML Component Checker should be validating all created AML files. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. # 3. Quality Concept @@ -229,23 +229,19 @@ Still the MVC pattern is a small part of the whole system design. In this case t ## 7.1 Persistence -By using a package format, the system is persistent. In the plugin and later also in the stand-alone application AMLX packages can be edited and created. Since AutomationML is using the same format, it is possible to open these AMLX packages and use them in the editor. This functionality shall be kept when moving to a stand-alone application. - -## 7.2 User Interface - -This is the section with the biggest changes in the project. The Graphical User Interface (or so-called GUI) is the connector between user and software. Like that the user can operate the AutomationML editor using the plugin and later the stand-alone application. It is crucial that the GUI is as simple as possible so that even a person with limited professional knowledge can handle the program and understand most of its functionality. - -## 7.3 Ergonomics - -As said in 7.2, it is crucial for an ergonomic user interface to be intuitive, meaning that even a not so experienced user is able to understand and control most of the functionality of the program quiet easily. To allow this there are a few simple rules existent that are making sure the user finds the interface appealing and can navigate through it with ease. +By using the publicly available "AMLX" package standard, the system becomes persistent. This means that created or edited models can be reopened and edited in the AutomationML Editor. This function is particularly important in an international and industrial environment. Therefore, "IODD" and "GSD" files can also be converted. ## 7.4 Communication with other IT-Systems -Some of the AutomationML editor plugin use cases require external converter systems to be integrated. Two of these for example being the IODD and the GSD converter for AutomationML. These plugins enable for users to convert IODD and GSD files into AML type files for using the functionalities of the plugin. This must also be considered when changing to a standalone program. +The plug-in already had the problem that it was dependent on external programmes. Thus, "IODD" and "GSD" programme types had to be converted in order to be able to use them. The goal will now be to implement these programmes or converters directly in the standalone application. The advantage of this is that the user does not have to install external dependencies that may also cause errors. This means that, in the best case, there would only be interaction with the file system. This model can also be seen in the "Architectural Model". ## 7.5 Deployment -At this point it is a plugin that must be used in combination with AutomationML. The plugin must be installed in the editor by using the plugin manager of the software to install the .dll file. During the process of the project the program shall be made usable as a standalone software application so there is no longer the need to use the AutomationML plugin manager. +To make changes to the application, "Visual Studio 2019" must first be installed. In "Visual Studio 2019", the file "Application.sln" from the "Application" folder must then be opened. + +The application and the plug-in (ModellingWizard) are then visible in the Solution view. + +In order to be able to compile the application, the "AML.Engine" package in version 1.5.8 may have to be installed via the "NuGet" package manager. ## 7.6 Data validation @@ -253,24 +249,13 @@ All data checks are running in the background, invisible for the user. The contr ## 7.7 Exception handling -Exception handling is necessary to prevent errors caused by the user while using the program. So called "try-catch" blocks are used to 'catch' these and prevent unwanted or incorrect behavior of the software. +Exception handling is necessary to prevent errors caused by the user while using the program. So called "try-catch" blocks are used to 'catch' these and prevent unwanted or incorrect behavior of the software. This way, the user is informed about what did not work and he/she may be able to fix the problem or at least report it to the developers ## 7.8 Internationalization The whole system layout can be used for international purposes since the user manual and over all GUI is written in English and English is defined to be the international traffic language. On the other hand, there is no way to change the language so English is a mandatory knowledge for using the program. -## 7.9 Testability - -View the System Test Plan to get further information on how the program can be tested. Also check the System Test Reports to learn more about the test results. The AML Component Checker should be validating all created AML files. - -## 7.10 Availability - -The program is only available on Github and furthermore Github is the only possible source. - ## -## - - # 8. References | Reference | Source | From 5448982a5fb8c27cf9d37981de7ff096577d4327 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 16:16:34 +0200 Subject: [PATCH 12/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index c59b23f..02e9050 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -57,13 +57,15 @@ The aim of this project is to program a standalone application for Windows based **.NET** The .NET Framework is a software development and runtime environment developed by Microsoft for Microsoft Windows. +**IODD** + +**GSD** + # 2. System Overview ## 2.1 System Environment -The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to old programme orthe plug-in, the editor no longer needs to be used. - -Among others the IODD and GSD converter are used as neighbouring systems. +The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to old programme orthe plug-in, the editor and the "IODD" and the "GSD" converter no longer needs to be used. ## 2.2 Software Environment @@ -79,7 +81,7 @@ These can be observed at execution time of the system. #### 2.3.1.1 Usability -Usability is the most important aspect of the project besides the standalone application. To this end, a graphical user interface was created that allows the user to use it as easily as possible. Intuitive operation is very important, but an appealing design is also necessary to create the best possible user experience. This is the only way the application can successfully simplify work processes. (More information in the usability concept) +Usability is the most important aspect of the project besides the standalone application. To this end, a graphical user interface was created that allows the user to use it as easily as possible. Intuitive operation is very important, but an appealing design is also necessary to create the best possible user experience. This is the only way the application can successfully simplify work processes (More information in the [Usability Concept](#QC1)). #### 2.3.1.2 Functionality @@ -87,11 +89,11 @@ As the targets have been set relatively precisely, attention should be paid to t #### 2.3.1.3 Performance -The problem with programmes that have been developed many times and then by different teams is that they often have poor code quality and therefore a high RAM and memory load. On technically older systems, this can lead to problems such as crashes or slow feedback. You can find more information about this in the section "Code Quality". +The problem with programmes that have been developed many times and then by different teams is that they often have poor code quality and therefore a high RAM and memory load. On technically older systems, this can lead to problems such as crashes or slow feedback. This is also a problem of the plugin, there are single files with several thousand lines of code. So we should at least try not to make this worse. If we have enough time, we should adapt the code in general. You can find more information about this in the section [Code Quality](#QC2). #### 2.3.1.4 Security -It must be ensured that it is recognisable where and from whom the programme originated. It will not be possible to access the Internet with the programme, so confidentiality is automatic. But it should be downloaded from an official source. +It must be ensured that it is recognisable where and from whom the programme originated. It will not be possible to access the Internet with the programme, so confidentiality is automatic. But it should be downloaded from an official source, the releases can be found [here](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tags). #### 2.3.1.5 Availability From 6b346721f3d42d8351543eabb5fb9fc409e67e3e Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 16:27:17 +0200 Subject: [PATCH 13/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 02e9050..9fdae80 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -93,7 +93,7 @@ The problem with programmes that have been developed many times and then by diff #### 2.3.1.4 Security -It must be ensured that it is recognisable where and from whom the programme originated. It will not be possible to access the Internet with the programme, so confidentiality is automatic. But it should be downloaded from an official source, the releases can be found [here](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tags). +It must be ensured that it is recognisable where and from whom the programme originated. It will not be possible to access the Internet with the programme, so confidentiality is automatic. But it should be downloaded from an official source, the releases can be found [here](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/releases). #### 2.3.1.5 Availability @@ -101,7 +101,7 @@ The programme and its code will be available on GitHub on a public repository. T #### 2.3.1.5 Interoperability -This is important because it must be ensured that users are not firmly bound to this standard or programme. After all, the main users will come from the industry and therefore place a lot of value on a uniform standard. More information can be found in the "Technical Concept". +This is important because it must be ensured that users are not firmly bound to this standard or programme. After all, the main users will come from the industry and therefore place a lot of value on a uniform standard. More information can be found in the [Technical Concept](#TC). ### 2.3.2 Non-Runtime quality attributes @@ -117,7 +117,7 @@ Attention is paid to transferability to later projects, through the involvement #### 2.3.1.1 Testability -This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the "Systemtestplan" page. Also check the "Systemtesreport" to learn more about the test results. The AML Component Checker should be validating all created AML files. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. +This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the [Systemtestplan](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/4.-Systemtestplan) page. Also check the [Systemtestreport](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/5.-Systemtestreport) to learn more about the test results. The AML Component Checker should be validating all created AML files. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. # 3. Quality Concept @@ -235,16 +235,18 @@ By using the publicly available "AMLX" package standard, the system becomes pers ## 7.4 Communication with other IT-Systems -The plug-in already had the problem that it was dependent on external programmes. Thus, "IODD" and "GSD" programme types had to be converted in order to be able to use them. The goal will now be to implement these programmes or converters directly in the standalone application. The advantage of this is that the user does not have to install external dependencies that may also cause errors. This means that, in the best case, there would only be interaction with the file system. This model can also be seen in the "Architectural Model". +The plug-in already had the problem that it was dependent on external programmes. Thus, "IODD" and "GSD" programme types had to be converted in order to be able to use them. The goal will now be to implement these programmes or converters directly in the standalone application. The advantage of this is that the user does not have to install external dependencies that may also cause errors. This means that, in the best case, there would only be interaction with the file system. This model can also be seen in the [Architectural Model](#AC1). ## 7.5 Deployment -To make changes to the application, "Visual Studio 2019" must first be installed. In "Visual Studio 2019", the file "Application.sln" from the "Application" folder must then be opened. +To make changes to the application, [Visual Studio 2019](https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads) must first be installed. In "Visual Studio 2019", the file "Application.sln" from the "Application" folder must then be opened. The application and the plug-in (ModellingWizard) are then visible in the Solution view. In order to be able to compile the application, the "AML.Engine" package in version 1.5.8 may have to be installed via the "NuGet" package manager. +[How NuGet works](https://docs.microsoft.com/de-de/nuget/quickstart/install-and-use-a-package-in-visual-studio) + ## 7.6 Data validation All data checks are running in the background, invisible for the user. The controller is checking for missing information and incorrect entries, that must be specified as mandatory information. From 9baccd6c7aee14bacdf6f1caefc1f230b55a7d7c Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 16:30:33 +0200 Subject: [PATCH 14/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 9fdae80..5c6ab11 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -55,11 +55,11 @@ The aim of this project is to program a standalone application for Windows based **GUI** Graphical User Interface -**.NET** The .NET Framework is a software development and runtime environment developed by Microsoft for Microsoft Windows. +**.NET** The .NET Framework is a software development and runtime environment developed by Microsoft for Microsoft Windows -**IODD** +**IODD** Means IO Device Description and describes sensors and actuators -**GSD** +**GSD** General Station Description, data format for Profibus and Profinet devices # 2. System Overview From 0aeae634771a467dca6f69ac95edb10ffa32ba44 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 16:32:41 +0200 Subject: [PATCH 15/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 5c6ab11..5862f44 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -186,7 +186,7 @@ This figure is showing the complete software structure design.

-Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. +Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE) | **Classname** | **Storage location** | | --- | --- | From ef27fe6381bb2f5ce2332ae9dacbbebba1b523ef Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 16:34:19 +0200 Subject: [PATCH 16/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 5862f44..4b0d206 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -186,7 +186,7 @@ This figure is showing the complete software structure design.

-Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE) +Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. Click to open the [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE). | **Classname** | **Storage location** | | --- | --- | From 6fff19bd18b1052e53d6a329c5ee42362cabd1db Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 17:24:31 +0200 Subject: [PATCH 17/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 4b0d206..ff284c7 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -150,7 +150,7 @@ Based on the criteria just defined and the guidelines developed, the graphic int Code quality is one of the most important aspects when it comes to software that is being developed further and may come from different developers. For this reason, we have made it our mission to address and improve the problem of code quality. To maintain a certain standard, we have agreed on certain conventions: - Commenting on sections of code that are not clearly understandable in order to explain the implemented idea to others -- Programming paradigms and programming principles that make the code easy to understand +- Programming paradigms and programming principles that make the code easy to understand, such as one main function per file and a sensible folder structure. This means that the code is indented uniformly to improve readability and comprehension. Furthermore, the program is divided into modules that can then be imported and used. Otherwise, you run the risk of having to write duplicate code. In addition, it is our responsibility to write documentation that records which ideas have been implemented and how, so that the existing functions are easier to understand for future developments and can be built upon. @@ -161,18 +161,20 @@ This means that the code is indented uniformly to improve readability and compre

MVC Model

+Figure 1 - MVC Architecture [2] -The application was designed and developed according to a Model-View-Control (MVC) architecture pattern that resembles a cycle. The user can use the plugin by accessing the GUI. However, the actions he performs in the GUI are not processed in the GUI but in the controller and its subclasses. The controller executes the changes in the background, these are also called manipulations. Afterwards, the changes are updated on the user interface so that the user thinks that the changes were made directly in the GUI (cf. Figure 1). +The application was designed and developed according to a Model-View-Control (MVC) architecture pattern that resembles a cycle. The user can use the application by accessing the GUI. However, the actions he performs in the GUI are not processed in the GUI but in the controller and its subclasses. The controller executes the changes in the background, these are also called manipulations. Afterwards, the changes are updated on the user interface so that the user thinks that the changes were made directly in the GUI (cf. Figure 1). Almost all the logic is contained in the controller, which thus forms the centre of the entire system architecture and contains the functionalities. There is basically only one layer that is accessible to the user, the GUI. -The controller is the main control unit. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. +The controller is the main control unit. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. The change is that it will be a standalone application. This is ensured by integrating the AutomationML engine and the plug-in into a new programme via an import. The plugin is then started in its own view, so that the old code of the plugin is retained. -

+

-

+Figure 1 - MVC Architecture [2]
+
-The architecture design in Figure 2 is the design created by the first development team when the application was first implemented. However, as the project developed further, the architecture became more and more unstructured and complex. As a result, MVC is no longer used as intended. +In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. # 5. System Design
@@ -180,7 +182,7 @@ The architecture design in Figure 2 is the design created by the first developme System

-This figure is showing the complete software structure design. +This figure is showing the complete software structure design. There was actually no change here, as the concept of the plug-in was taken over from the [old project](https://github.com/DekaAthlos/TINF19C-ModellingWizard).

From 260302f01283068a120ea0b7936f76fc53721927 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 20:02:33 +0200 Subject: [PATCH 18/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 68 ++++++++++++----------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index ff284c7..c4b7b02 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -65,7 +65,7 @@ The aim of this project is to program a standalone application for Windows based ## 2.1 System Environment -The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to old programme orthe plug-in, the editor and the "IODD" and the "GSD" converter no longer needs to be used. +The standalone application can only be accessed via Windows, as this operating system is used as the platform. The application can be installed and the graphical user interface can be used via this platform. In contrast to old programme or the plug-in, the editor and the "IODD" and the "GSD" converter no longer needs to be used. ## 2.2 Software Environment @@ -127,13 +127,13 @@ This part of the software architecture specification explains and breaks down th The criteria for good usability are: -**Intuitiveness** : Intuitiveness is a key component of good usability which means that the user understands the application without a long training period. +**Intuitiveness** : Intuitiveness is a key component of good usability which means that the user understands the application without a long training period. This point is also interesting for companies, as they then do not have to train their employees for so long. This is to be achieved by having important things at the top and not hidden in a drop-down selection. Furthermore, the design must be adopted from other well-known programmes. -**Design** : When designing the application, an appealing layout is important. It should be clearly recognisable which function is hidden behind which visual elements and how the user can navigate through the app. +**Design** : When designing the application, an appealing layout is important. It should be clearly recognisable which function is hidden behind which visual elements and how the user can navigate through the app. It probably makes sense to be inspired by the design of the [AutomationML editor](https://www.automationml.org/wp-content/uploads/2021/04/AMLEditor552-1024x743.png), because then the switch to this programme would not be so difficult. -**Recognition value** : This means that similar functions should be realized with the same sequences. This makes it easier for the user to find his way around the functions and increases user friendliness. +**Recognition value** : This means that similar functions should be realized with the same sequences. This makes it easier for the user to find his way around the functions and increases user friendliness. For example, when creating models or a wizard that guides you through the creation. -**Colour scheme** : A good colouration can be created by an attractive choice of colours and their coordinated contrasts. +**Colour scheme** : A good colouration can be created by an attractive choice of colours and their coordinated contrasts. At the moment, matte colours are more in vogue and are preferred for designs. Many people find these more pleasant. Implementation guideline: @@ -158,52 +158,54 @@ This means that the code is indented uniformly to improve readability and compre ## 4.1 Architectural Model -

-MVC Model -

-Figure 1 - MVC Architecture [2] - The application was designed and developed according to a Model-View-Control (MVC) architecture pattern that resembles a cycle. The user can use the application by accessing the GUI. However, the actions he performs in the GUI are not processed in the GUI but in the controller and its subclasses. The controller executes the changes in the background, these are also called manipulations. Afterwards, the changes are updated on the user interface so that the user thinks that the changes were made directly in the GUI (cf. Figure 1). +

+MVC Model
+Figure 1 - MVC Architecture [2] +

+ Almost all the logic is contained in the controller, which thus forms the centre of the entire system architecture and contains the functionalities. There is basically only one layer that is accessible to the user, the GUI. The controller is the main control unit. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. The change is that it will be a standalone application. This is ensured by integrating the AutomationML engine and the plug-in into a new programme via an import. The plugin is then started in its own view, so that the old code of the plugin is retained. -
- -Figure 1 - MVC Architecture [2]
-
+

+
+Figure 2 - Logic of the plugin +

In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. # 5. System Design

-System +System
+Figure 3 - System class design

This figure is showing the complete software structure design. There was actually no change here, as the concept of the plug-in was taken over from the [old project](https://github.com/DekaAthlos/TINF19C-ModellingWizard).

- +
+Figure 4 - MVC pattern

Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. Click to open the [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE). | **Classname** | **Storage location** | | --- | --- | -| About | SOURCE/Plugin/About.xaml.xs | -| AnimationClass | SOURCE/Plugin/Animationclass.cs | -| AutomationMLDataTables | SOURCE/Plugin/AutomationMLDataTables.cs | -| ClassOfListFromReferenceFile | SOURCE/Plugin/ClassOfListsFromReferencefile.cs | -| DeviceDescription | GUI: SOURCE/Plugin/DeviceDescription.Designer.cs
Logic: SOURCE/Plugin/DeviceDescription.cs | -| ModellingWizard | SOURCE/Plugin/ModellingWizard.xaml.cs | -| MWController | SOURCE/Plugin/MWController.cs | -| MWData | SOURCE/Plugin/MWData.cs | -| MWDevice | SOURCE/Plugin/MWDevice.cs | -| Resources | SOURCE/Plugin/Resources/ | -| SearchAMLComponentFile | SOURCE/Plugin/SearchAMLComponentFile.cs | -| SearchAMLLibraryFile | SOURCE/Plugin/SearchAMLLibraryFile.cs | +| About | [SOURCE/Plugin/About.xaml.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/About.xaml.cs) | +| AnimationClass | [SOURCE/Plugin/Animationclass.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/AnimationClass.cs) | +| AutomationMLDataTables | [SOURCE/Plugin/AutomationMLDataTables.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/AutomationMLDataTables.cs) | +| ClassOfListFromReferenceFile | [SOURCE/Plugin/ClassOfListsFromReferencefile.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/ClassOfListsFromReferencefile.cs) | +| DeviceDescription | GUI: [SOURCE/Plugin/DeviceDescription.Designer.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.Designer.cs)
Logic: [SOURCE/Plugin/DeviceDescription.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.cs) | +| ModellingWizard | [SOURCE/Plugin/ModellingWizard.xaml.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/ModellingWizard.xaml.cs) | +| MWController | [SOURCE/Plugin/MWController.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWController.cs) | +| MWData | [SOURCE/Plugin/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | +| MWDevice | [SOURCE/Plugin/MWDevice.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWDevice.cs) | +| Resources | [SOURCE/Plugin/Resources/](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE/Plugin/Resources) | +| SearchAMLComponentFile | [SOURCE/Plugin/SearchAMLComponentFile.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/SearchAMLComponentFile.cs) | +| SearchAMLLibraryFile | [SOURCE/Plugin/SearchAMLLibraryFile.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/SearchAMLLibraryFile.cs) | # 6. Subsystem specification
@@ -215,8 +217,8 @@ Still the MVC pattern is a small part of the whole system design. In this case t | Services: | The graphical user interface is taking input from the user and sending it to the controller by calling event functions. | | Interfaces: | --- | | External Data: | --- | -| Storage Location: | SOURCE/Plugin/DeviceDescription.Designer.cs | -| Modul documentation: | MOD.001: Graphical User Interface (GUI) | +| Storage Location: | [SOURCE/Plugin/DeviceDescription.Designer.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.Designer.cs) | +| Modul documentation: | [MOD.001: Graphical User Interface (GUI)](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.001:-Graphical-User-Interface-(GUI)) | ## 6.2 MOD.002 Controller @@ -224,10 +226,10 @@ Still the MVC pattern is a small part of the whole system design. In this case t | --- | --- | | System requirements covered: | /NF100/, /F30/, /F40/, /F50/, /F80/ | | Services: | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | -| Interfaces: | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: SOURCE/MWData.cs | +| Interfaces: | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | | External Data: | --- | -| Storage location: | SOURCE/Plugin/DeviceDescription.cs | -| Modul documentation: | MOD.002: Controller | +| Storage location: | [SOURCE/Plugin/DeviceDescription.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.cs) | +| Modul documentation: | [MOD.002: Controller](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.002:-Controller) | # 7. Technical Concepts From 0679c24a336c6ed945392a9b1eccb261b9edb6f4 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 20:17:14 +0200 Subject: [PATCH 19/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index c4b7b02..e26deca 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -213,23 +213,23 @@ Still the MVC pattern is a small part of the whole system design. In this case t | **** | **Graphical User Interface** | | --- | --- | -| System requirements covered: | /NF10/, /NF20/, /NF30/, /NF40/, /NF50/, /NF60/, /NF70/, /NF80/, /NF90/, /NF100/, /F10/, /F20/, /F60/, /F70/| -| Services: | The graphical user interface is taking input from the user and sending it to the controller by calling event functions. | -| Interfaces: | --- | -| External Data: | --- | -| Storage Location: | [SOURCE/Plugin/DeviceDescription.Designer.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.Designer.cs) | -| Modul documentation: | [MOD.001: Graphical User Interface (GUI)](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.001:-Graphical-User-Interface-(GUI)) | +| **System requirements covered:** | /NF10/, /NF20/, /NF30/, /NF40/, /NF50/, /NF60/, /NF70/, /NF80/, /NF90/, /NF100/, /F10/, /F20/, /F60/, /F70/| +| **Services:** | The graphical user interface is taking input from the user and sending it to the controller by calling event functions. | +| **Interfaces:** | --- | +| **External Data:** | --- | +| **Storage Location:** | [SOURCE/Plugin/DeviceDescription.Designer.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.Designer.cs) | +| **Modul documentation:** | [MOD.001: Graphical User Interface (GUI)](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.001:-Graphical-User-Interface-(GUI)) | ## 6.2 MOD.002 Controller | **** | **Controller** | | --- | --- | -| System requirements covered: | /NF100/, /F30/, /F40/, /F50/, /F80/ | -| Services: | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | -| Interfaces: | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | -| External Data: | --- | -| Storage location: | [SOURCE/Plugin/DeviceDescription.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.cs) | -| Modul documentation: | [MOD.002: Controller](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.002:-Controller) | +| **System requirements covered:** | /NF100/, /F30/, /F40/, /F50/, /F80/ | +| **Services:** | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | +| **Interfaces:** | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | +| **External Data:** | --- | +| **Storage location:** | [SOURCE/Plugin/DeviceDescription.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.cs) | +| **Modul documentation:** | [MOD.002: Controller](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.002:-Controller) | # 7. Technical Concepts From 58e7a0b7f96505f8de4ae55721ed8a9c36f7701f Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 20:18:44 +0200 Subject: [PATCH 20/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index e26deca..9606847 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -224,7 +224,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | **** | **Controller** | | --- | --- | -| **System requirements covered:** | /NF100/, /F30/, /F40/, /F50/, /F80/ | +|

**System requirements
covered:**

| /NF100/, /F30/, /F40/, /F50/, /F80/ | | **Services:** | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | | **Interfaces:** | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | | **External Data:** | --- | From 5397acb3b1f9a83191d2762997ccf0cefcb2eb25 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sat, 23 Apr 2022 20:26:43 +0200 Subject: [PATCH 21/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 9606847..cda7636 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -213,7 +213,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | **** | **Graphical User Interface** | | --- | --- | -| **System requirements covered:** | /NF10/, /NF20/, /NF30/, /NF40/, /NF50/, /NF60/, /NF70/, /NF80/, /NF90/, /NF100/, /F10/, /F20/, /F60/, /F70/| +| **System requirements covered:** | /NF10/, /NF20/, /NF30/, /NF40/, /NF50/, /NF60/, /NF70/, /NF80/, /NF90/, /NF100/, /F10/, /F20/, /F60/, /F70/ nicht fertig | | **Services:** | The graphical user interface is taking input from the user and sending it to the controller by calling event functions. | | **Interfaces:** | --- | | **External Data:** | --- | @@ -224,7 +224,7 @@ Still the MVC pattern is a small part of the whole system design. In this case t | **** | **Controller** | | --- | --- | -|

**System requirements
covered:**

| /NF100/, /F30/, /F40/, /F50/, /F80/ | +| **System requirements covered:** | /NF100/, /F30/, /F40/, /F50/, /F80/ nicht fertig | | **Services:** | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | | **Interfaces:** | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | | **External Data:** | --- | From 06868c0f933adf8335efbe0a896cbc41642b861f Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:18:52 +0200 Subject: [PATCH 22/38] Removed content --- 4.-Systemtestplan.md | 6534 +----------------------------------------- 1 file changed, 1 insertion(+), 6533 deletions(-) diff --git a/4.-Systemtestplan.md b/4.-Systemtestplan.md index 6056c96..a879657 100644 --- a/4.-Systemtestplan.md +++ b/4.-Systemtestplan.md @@ -1,6533 +1 @@ - - - - - - - - - -
- -

        -Table of Contents

- -

1 Scope 

- -

2 Definitions 

- -

3 Test Objects 

- -

4 Features 

- -

5 Test Preparation Strategy 

- -

6 Test Execution Strategy 

- -

7 Test Equipment

- -

8 Test Schedule and Budget

- -

9 Test Planning 

- -

10 Reference/ -Standards 

- -

11 Testcases 

- -

11.1 Test suite <TS-001 File operations>

- -

11.1.1 Testcase -<TC-001-001> (Loading of a valid file with validation)

- -

11.1.2 Testcase -<TC-001-002> (Loading of an invalid file with validation)

- -

11.1.3 Testcase -<TC-001-003> (Export of a valid device to file with validation)

- -

11.1.4 Testcase -<TC-001-004> (Export of an invalid device to file with validation)

- - -

11.2 Test suite <TS-002 GUI> 

- -

11.2.1 Testcase -<TC-002-001> (GUI input field verification)

- -

11.2.2 Testcase -<TC-002-002> (GUI load file via file explorer)

- -

11.2.3 Testcase -<TC-002-003> (GUI Creation and editing of a new device)

- -

11.2.4 Testcase -<TC-002-004> (GUI Export of a loaded device)

- -

 

- -

 

- -
-
- -

        -Changelog

- - - - - - - - - - - - - - -
-

Version

-
-

Date

-
-

Author

-
-

Comment

-
-

0.1

-
-

22.04.2022

-
-

Malte Horst

-
-

Created

-
- -
-
- -

 

- -

1        -Scope

- -

The STP (System Test Plan) describes the -test strategy and test planning.

- -

It contains the tests required to check -whether the requirements specified in the SRS (System Requirements Specification) have been implemented in a functional manner.

- -

The document derived from the STP is the -STR (System Test Report), which additionally specifies the test results.

- -

 

- -

2        -Definitions

- -

AML AutomationML
-TS    Testsuite
-TC    Testcase
-GUI Graphical User Interface
-

- -

 

- -

3        -Test Objects

- -

The following test objects must be verified.

- - - - - - - - - - - - - - -
-

Ref.-ID.

-
-

Product Number

-
-

Product Name

-
-

Product Description

-
-

1

-
-

Build v1.0

-
-

Standalone Modelling Wizard for Devices GUI

-
-

Windows standalone application with a GUI

-
- -

 

- -
-
- -

 

- -

4        -Features

- -

The following requirements must be verified, as long as they are not classified as “not to be tested”. This table shows the test coverage between functionality and test suites or test cases.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Reg.-ID.

-
-

Functionality

-
-

Priority

-
-

Testsuite ID

-
-

LF10: Import

-
-

Imports file by absolute path

-
-

A

-
-

TS-001

-
-

LF20: File validation

-
-

Checks whether input file is in a valid format

-
-

B

-
-

TS-001

-
-

LF30: Error handling

-
-

Application throws errors on expected shutdowns and wrong formatting

-
-

B

-
-

TS-002

-
-

LF40: GUI

-
-

Draws GUI for user

-
-

A

-
-

TS-002

-
-

LF50: Display device in a readable way

-
-

Displays loaded device in GUI in a readable way for user

-
-

A

-
-

TS-002

-
-

LF60: Edit device

-
-

Every attribute of devices should be editable

-
-

A

-
-

TS-002

-
-

LF70: Create device

-
-

Creates a new and empty device

-
-

A

-
-

TS-002

-
-

LF80: Export device

-
-

Loaded device is saved as to file

-
-

A

-
-

TS-001, TS-002

-
- -

 

- -

5        -Test Preparation Strategy

- -

The creation of tests will be application case based. Two main application cases can be identified, the file operations and the GUI. - -File operations represent the first main application case. Device files need to be loaded, validated and saved to ensure full functionality of the application for the user. - -The GUI is the second main application case. Unlike the previous plugin for the AML Editor, the GUI provides a view of the loaded device with input fields in which the respective device data is displayed. These fields must be checked and features to edit and save device must be validated. -

- -

6        -Test Execution Strategy

- -

Since it is a re-implementation of an already existing software, a complete test is not necessary, but it is still useful. The test should be divided into the following phases: - -1) File operations -2) Graphical User Interface - -Since the file operations are needed for the application to work, these have to be tested first. - -Then the GUI functionality can be tested. This includes the start of the program and the execution of the main features of the application in the GUI. -

- -

7        -Test Equipment

- -

The following equipment must be available -for testing:

- -

•  A computer with Windows 10 or higher

- -

•  The standalone Device Modelling Wizard software

- -

• The “Test Data” folder from the git -repository

- -

 

- -

8        -Test Schedule and Budget

- -

The testing of the application begins as soon as the application is completed. This makes it possible to make the necessary corrections quickly. The conversion library can only be tested once the rules for one input format, but preferably both input formats, have been established. Since only minimal changes are made in the GUI, the GUI can be tested as soon as all adjustments intended for the GUI have been made. - -No budget is needed for the tests, as they are all performed by hand. -

- -

9        -Test Planning

- - - - - - - - - - - - - - - - - - - - - - - -
-

Testsuite

-
-

Test Objective

-
-

Testplan Creator

-
-

Testplan Reviewer

-
-

Tester

-
-

TS-001

-
-

File operations

-
-

Linus Eickhoff

-
-

Florian Kaiser

-
-

Linus Eickhoff

-
-

TS-002

-
-

Graphical User Interface

-
-

Linus Eickhoff

-
-

Florain Kaiser

-
-

Linus Eickhoff

-
- -

 

- -

10   -References

- -

[1] SRS TINF20C Device Modelling Wizard

- -

 

- -

11   -Testcases

- -

11.1 -Test suite <TS-001 File operations>

- -

11.1.1  -Testcase <TC-001-001> (Loading of a valid file with validation)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-001

-
-

Testcase - Name

-
-

Loading of a valid file with validation

-
-

Req.-ID.

-
-

LF10, LF20, LF30

-
-

Description

-
-

The test case verifies that it recognizes if a valid file has been loaded.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Open Application.exe from Binary Folder

-
-

Application starts without probems.

-
-

2

-
-

Select a valid input file for the validation, by selecting “File” and then “Open” and choose file in explorer

-
-

The validation is executed successfully, and the conversion is completed correctly without error message.

-
-

3

-
-

Check if Data was interpreted correctly in “Attributes”, “Generic Information”, “Interfaces”

-
-

should have all valid data in readable format. P

-
- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-001-001

-
-

Dataset

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Validation

-
-

1

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

Valid

-
-

2

-
-

DHBW

-
-

Server

-
-

aml

-
-

Computer

-
-

00256

-
-

Fail

-
-

3

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

 

-
-

00256

-
-

Fail

-
-

4

-
-

-

-
-

-

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

Fail

-
-

5

-
-

-

-
-

-

-
-

-

-
-

-

-
-

-

-
-

Fail

-
-

 

-
- -

 

- -
-
- -

 

- -

11.1.2  -Testcase <TC-001-002> (Open device, save -changes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-002

-
-

Testcase - Name

-
-

Open device, - save changes

-
-

Req.-ID.

-
-

LF10

-
-

Description

-
-

This testcase - verifies that a device can be loaded with its data, that the data can be - changed and that it can be saved again.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-001-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-

(If the - Modelling Wizard can not read the file an error message will be shown, and no - file will be opened.)

-
-

 

-
-

Fill the red - marked entries with data from TD-001-002.

-
-

Data is overwritten.

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-001-002

-
-

Data set

-
-

File

-
-

Manufacturer
- URI

-
-

Device
- Class

-
-

Product
- Code

-
-

Validation

-
-

1

-
-

DHBW_Testfile_01.amlx

-
-

www.dhbw.com

-
-

Computer

-
-

000665000

-
-

Valid

-
-

2

-
-

DHBW_Testfile_02.amlx

-
-

DHBW.png

-
-

-

-
-

(no change)

-
-

Fail

-
-

3

-
-

Corrupt_Testfile_01_Wrong_Structure.amlx

-
-

(no change)

-
-

(no change)

-
-

(no change)

-
-

Valid

-

(pop up – - cannot read file)

-
-

4

-
-

Foreign_Testfile_01_Balluff-BNI_PNT-508-105-Z015-CAEX3-20201022.amlx

-
-

(no change)

-
-

(no change)

-
-

(no change)

-
-

Valid

-
-

 

-
- -
-
- -

 

- -

11.1.3  -Testcase <TC-001-003> (Load standard -libraries)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-003

-
-

Testcase - Name

-
-

Load standard - libraries

-
-

Req.-ID.

-
-

LF10

-
-

Description

-
-

This testcase - verifies that the standard libraries can be loaded into the Modelling Wizard.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “Standard Libraries” dropdown in the top navbar.

-
-

A dropdown of - the libraries opens, and one can be chosen.

-
-

 

-
-

Choose one - library that is not already loaded.

-
-

The library - will be loaded and can be found on the right sight under “Role Class Library” - or “Interface Class Library”

-
-

 

-
- -

 

- -

11.2 -Test suite <TS-002 Generic data>

- -

11.2.1  -Testcase <TC-002-001> (Create device with -attributes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-001

-
-

Testcase - Name

-
-

Create device - with attributes

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase - verifies that a device with data in the attributes and the header of “Generic - Data” can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty Modelling - Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-002-001.

-
-

Data is - entered.

-
-

 

-
-

Fill the entries - with data from TD-002-001

-
-

Data is - entered.

-
-

 

-
-

Click on - “Header” besides “Attributes”

-
-

The “Header” - table opens

-
-

 

-
-

Fill the - entries with data from TD-002-001

-
-

Data is entered

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

 

-
-

Select the “File” - dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-002-001

-
-

Dataset

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Temperature

-

Min

-
-

Temperature

-

Max

-
-

City

-
-

Website

-
-

(Header)

-

Copyright

-
-

(Header)
- ID

-
-

Validation

-
-

1

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

15

-
-

45

-
-

Berlin

-
-

ML.com

-
-

MIT license

-

         

-
-

ID-001

-
-

Valid

-
-

Default

-
-

-

-
-

-

-
-

-

-
-

-

-
-

-

-
-

20

-
-

40

-
-

 

-
-

 

-
-

Units

-
-

-

-
-

-

-
-

-

-
-

-

-
-

-

-
-

Degree

-
-

Degree

-
-

Names

-
-

Urls

-
-

2

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

15

-
-

45

-
-

Berlin

-
-

ML.com

-
-

MIT license

-
-

ID-002

-
-

Valid

-
-

Default

-
-

-

-
-

-

-
-

-

-
-

-

-
-

-

-
-

20

-
-

40

-
-

default

-
-

default

-
-

Units

-
-

-

-
-

-

-
-

-

-
-

-

-
-

-

-
-

Degree

-
-

Degree

-
-

Names

-
-

Urls

-
-

 

-
- -

 

- -
- -
-
- -
- -

11.2.2  -Testcase <TC-002-002> (Create device with -role classes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-002

-
-

Testcase - Name

-
-

Create device - with role classes

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase - verifies that a device with loaded classes from “Role Class Library” can be - created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-002-002.

-
-

Data is - entered.

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-002-002.

-
-

Data is - entered.

-
-

 

-
-

Click on the - library “Library Name” (Data from TD-002-001) on the right side under “Role - Class Library”

-
-

The entry gets - highlighted.

-
-

 

-
-

Drag and drop - the library onto the “Generic Information” table.

-
-

The library - gets added at the last position.

-
-

 

-
-

Click on the - library in the “Generic Information” table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

 

-
-

Click on the - new label.

-
-

The label gets - highlighted.

-
-

 

-
-

Double click on - the label.

-
-

Underneath the - label the “Attributes” table opens.

-

If the class - consists of sub classes, these are displayed as indented labels.

-
-

 

-
-

Fill the - entries with data from TD-002-002

-
-

Data is - entered.

-
-

 

-
-

Click on the - label of the subclass.

-
-

The label gets highlighted.

-
-

 

-
-

Double click on - the subclass.

-
-

Underneath the - label the “Attributes” table for the specific subclass opens.

-
-

 

-
-

Fill the - entries with data from TD-002-002

-
-

Data is entered

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-002-002

-
-

Data set

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Library Name

-
-

Spec Version

-
-

DocLang

-
-

refURI

-
-

MIMEType

-
-

Version

-
-

Validation

-
-

1

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

“AutomationML

-

ComponentBaseRCL”

-

>> - “AdditionalDeviceDescription{Class: External Data}”-

-
-

1.0.0

-
-

En

-
-

001

-
-

.doc

-
-

1.0.0

-
-

Valid

-

 

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

1.0.0

-
-

En

-
-

000

-
-

.docx

-
-

1.0.0

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Version numbers

-
-

Country Code

-
-

Digits

-
-

Word

-
-

Version numbers

-
-

Data set

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Library Name

-
-

refURI

-
-

MIMEType

-
-

Validation

-
-

2

-
-

 

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

“AutomationMLComponent

-

StandardRCL”

-

>>

-

“Component Icon

-

{Class: Icon}”

-
-

001

-
-

.png

-
-

Valid

-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

000

-
-

.jpg

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Digits

-
-

Picture

-
-

 

-
- -
- -
-
- -
- -

11.2.3  -Testcase <TC-002-003> (Open device, delete -data)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-003

-
-

Testcase - Name

-
-

Open device, delete - data

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase - verifies that attributes and “Role Class Libraires” can be deleted from a - device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-002-003 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

 

-
-

Clear the - attributes listed in “Delete Attributes” (Data from TD-002-003)

-
-

Data is - overwritten.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Library” (Data - from TD-002-003)

-
-

 

-
-

Select the library - in the “Generic Information” table, which is listed in “Delete Library” (Data - from TD-002-003)

-
-

The library - gets selected in the “Generic Information” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The library - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-002-003

-
-

Data set

-
-

File

-
-

Delete - Attributes

-
-

Delete - Library

-
-

Validation

-
-

1

-
-

DHBW_Testfile_03.amlx

-
-

OrderCode

-
-

-

-
-

Valid

-
-

SerialNumber

-
-

-

-
-

2

-
-

DHBW_Testfile_04.amlx

-
-

-

-
-

“AutomationML

-

ComponentBaseRCL/

-

AdditionalDeviceDescription”

-
-

Valid

-
-

-

-
-

“AutomationMLComponent

-

StandardRCL/Component Icon

-
-

 

-
- -
-
- -

 

- -

11.3 -Test suite <TS-003 Interfaces>

- -

11.3.1  -Testcase <TC-003-001> (Create device with -interfaces)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-003-001

-
-

Testcase - Name

-
-

Create device - with interfaces

-
-

Req.-ID.

-
-

LF30

-
-

Description

-
-

This testcase - verifies that a device with additional interfaces can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-003-001.

-
-

Data is - entered.

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-003-001.

-
-

Data is - entered.

-
-

 

-
-

Click on the - “Interfaces” tab below the top navbar.

-
-

The interface - view opens.

-
-

 

-
-

Click on the - interface “Interface Name” (Data from TD-003-001) on the right side under - “Interface Class Library”

-
-

The entry gets - highlighted.

-
-

 

-
-

Drag and drop - the interface onto the “Interfaces” table.

-
-

The interface - gets added at the last position.

-
-

 

-
-

Click on the - interface in the “Interfaces” table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

 

-
-

Click on the - new label.

-
-

The label gets - highlighted.

-
-

 

-
-

Double click on - the label.

-
-

Underneath the - label the “Attributes” table opens.

-
-

 

-
-

Fill the - entries with data from TD-003-001.

-
-

Data is - entered.

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-003-001

-
-

Data set

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Interface Name

-
-

Direction

-
-

Validation

-
-

1

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

“AutomationMLInterfaceClassLib”

-

>>

-

“AutomationMLBaseInterface”

-

>> “

-

Order{Class: AutomationMLBaseInterface}”

-
-

Top

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Top

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Directions

-
-

2

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

“AutomationMLInterfaceClassLib”

-

>>

-

“AutomationMLBaseInterface”

-

>> “

-

Order{Class: AutomationMLBaseInterface}”

-
-

 

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Dataset

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Library Name

-
-

refURI

-
-

MIMEType

-
-

Validation

-
-

3

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

“AutomationMLComponentBaseICL”

-

>>

-

“2DReference{Class: - ExternalDataReference}”

-
-

001

-
-

.png

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

000

-
-

.jpg

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

digits

-
-

Picture

-
-

 

-
- -
- -
-
- -
- -

11.3.2  -Testcase <TC-003-002> (Open device, delete -interfaces)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-003-002

-
-

Testcase - Name

-
-

Open device, - delete interfaces

-
-

Req.-ID.

-
-

LF30

-
-

Description

-
-

This testcase - verifies that interfaces can be deleted from a device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-003-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

 

-
-

Click on the - “Interfaces” tab below the top navbar.

-
-

The Interfaces - view opens.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Interface” (Data - from TD-003-002)

-
-

 

-
-

Select the interface - in the “Interfaces” table, which is listed in “Delete Interface” (Data from - TD-003-002)

-
-

The interface gets - selected in the “Interfaces” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The interface - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-003-002

-
-

Data set

-
-

File

-
-

Delete - Interface

-
-

Validation

-
-

1

-
-

DHBW_Testfile_05.amlx

-
-

Order

-
-

Valid

-
-

2DReference

-
-

 

-
- -
-
- -

 

- -

11.4 -Test suite <TS-004 Attachments>

- -

11.4.1  -Testcase <TC-004-001> (Create device with attachments)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-004-001

-
-

Testcase - Name

-
-

Create device - with attachments

-
-

Req.-ID.

-
-

LF40

-
-

Description

-
-

This testcase - verifies that a device with attachments can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-004-001.

-
-

Data is - entered.

-
-

 

-
-

Fill the red marked - entries in the “Attributes” table at the bottom of the screen with data from - TD-004-001.

-
-

Data is - entered.

-
-

 

-
-

Click on the - “Attachments” tab below the top navbar.

-
-

The attachment - view opens.

-
-

 

-
-

Click on the - “Add” button in the upper left corner.

-
-

A dropdown list - opens.

-
-

 

-
-

Choose the - “Dropdown” (Data from TD-004-001).

-
-

The name gets - added to the two text fields underneath.

-
-

 

-
-

Click “Select - File” button

-
-

An explorer - opens.

-
-

 

-
-

Search the test - File (Data from TD-004-001) and click open

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled - with the test data.

-
-

 

-
-

Click on the - “Add” button in the upper left corner.

-
-

A dropdown list - opens.

-
-

 

-
-

Choose the - “Dropdown2” (Data from TD-004-001).

-
-

The name gets - added to the two text fields underneath.

-
-

 

-
-

Paste the “Test - Path” (Data from TD-004-001) into the text field besides the “Add Path” - button

-
-

The path is - pasted.

-
-

 

-
-

Click “Add Path” - button

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled with - the test data.

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already exists the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-004-001

-
-

Data set

-
-

 

-
-

Vendor Name

-
-

Device Name

-
-

ManufacturerURI

-
-

Device
- Class

-
-

Product
- Code

-
-

Dropdown

-
-

Test File

-
-

Dropdown2

-
-

Test Path

-
-

Validation

-
-

1

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

Certificate

-
-

Manual.pdf

-
-

-

-
-

-

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

2

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

Component

-

Icon

-
-

DHBW.png

-
-

Component

-

Picture

-
-

“https://upload.wikimedia.org/wikipedia/de/thumb/1/1d/DHBW-Logo.svg/2000px-DHBW-Logo.svg.png”

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

3

-
-

Values

-
-

DHBW

-
-

Server

-
-

www.aml.com

-
-

Computer

-
-

00256

-
-

 

-
-

-

-
-

ShortGuide

-
-

“https://docplayer.net/19663746-C-to-c-a-somewhat-short-guide.html”

-
-

Valid

-
-

Default

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

Units

-
-

-

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
- -
- -
-
- -
- -

11.4.2  -Testcase <TC-004-002> (Open device, delete -Attachments)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-004-002

-
-

Testcase - Name

-
-

Open device, - delete interfaces

-
-

Req.-ID.

-
-

LF40

-
-

Description

-
-

This testcase - verifies that interfaces can be deleted from a device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-004-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

 

-
-

Click on the “Attachments” - tab below the top navbar.

-
-

The attachment view - opens.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Attachments” - (Data from TD-004-002)

-
-

 

-
-

Select the - interface in the “Attachables Information” table, which is listed in “Delete Attachments” - (Data from TD-004-002)

-
-

The interface - gets selected in the “Attachables Information” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The attachment - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Test data

-
-

TD-004-002

-
-

Data set

-
-

File

-
-

Delete Attachment

-
-

Validation

-
-

1

-
-

DHBW_Testfile_06.amlx

-
-

ComponentIcon

-
-

Valid

-
-

ShortGuide

-
-

 

-
- -

 

- -
- -

Author: Jakob Schmidt

- - - - +Link to STP \ No newline at end of file From 52e647b93bf1904a5b2719e05d27b853b6fc7533 Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:19:11 +0200 Subject: [PATCH 23/38] Removed content --- 5.-Systemtestreport.md | 4728 +--------------------------------------- 1 file changed, 1 insertion(+), 4727 deletions(-) diff --git a/5.-Systemtestreport.md b/5.-Systemtestreport.md index 463f382..b16dd25 100644 --- a/5.-Systemtestreport.md +++ b/5.-Systemtestreport.md @@ -1,4727 +1 @@ - - - - - - - - - -
- -

 

- -

        -Table of Contents

- -

1Scope 

- -

2Definitions 

- -

3Test Objects 

- -

4Test Equipment

- -

5References 

- -

6Testcases 

- -

6.1Test suite <TS-001 Basic -functionality> 

- -

6.1.1Testcase -<TC-001-001> (Create device)

- -

6.1.2Testcase -<TC-001-002> (Open device, save changes)

- -

6.1.3Testcase -<TC-001-003> (Load standard libraries)

- -

6.2Test suite <TS-002 Generic data> 

- -

6.2.1Testcase -<TC-002-001> (Create device with attributes)

- -

6.2.2Testcase -<TC-002-002> (Create device with role classes)

- -

6.2.3Testcase -<TC-002-003> (Open device, delete data)

- -

6.3Test suite <TS-003 Interfaces> 

- -

6.3.1Testcase -<TC-003-001> (Create device with interfaces)

- -

6.3.2Testcase -<TC-003-002> (Open device, delete interfaces)

- -

6.4Test suite <TS-004 Attachments> 

- -

6.4.1Testcase -<TC-004-001> (Create device with attachments)

- -

6.4.2Testcase -<TC-004-002> (Open device, delete Attachments)

- -

 

- -

 

- -
-
- -

        -Changelog

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Version

-
-

Date

-
-

Author

-
-

Comment

-
-

0.1

-
-

22.10.2020

-
-

Jakob Schmidt

-
-

Created

-
-

0.2

-
-

21.04.2021

-
-

Jakob Schmidt

-
-

First draft

-
-

1.1

-
-

24.04.2021

-
-

Jakob Schmidt

-
-

Added more tests

-
-

1.2

-
-

28.04.2021

-
-

Jakob Schmidt

-
-

Added delete tests

-
-

1.3

-
-

08.05.2021

-
-

Jakob Schmidt

-
-

Final Version

-
- -
-
- -

1        -Scope

- -

The STR (System Test Report) is a -document derived from the STP (System Test Plan) [1].

- -

It contains the tests specified in the -STP and documents the actual results of testing.

- -

 

- -

2        -Definitions

- -

AML AutomationML
-TS    Testsuite
-TC    Testcase

- -

 

- -

3        -Test Objects

- -

The following test objects must be verified.

- - - - - - - - - - - - - - -
-

Ref.-Id.

-
-

Product Number

-
-

Product Name

-
-

Product Description

-
-

1

-
-

Version 2.0

-
-

Modelling Wizard

-
-

Plugin for AutomationML to create devices

-
- -

 

- -

 

- -

4        -Test Equipment

- -

The following equipment must be available -for testing:

- -

 

- -

•  A computer with Windows 7 or higher

- -

•  Installed AutomationML Editor (Downloadlink)

- -

•  Installed Modelling Wizard software

- -

 

- -

The “Test Data” folder from the git -repository [2]

- -

 

- -

 

- -

5        -References

- -

- - - - - - - - - - - - - - -
-

[1]

-
-

„STP,“ [Online]. Available: - https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/4.-Systemtestplan.

-
-

[2]

-
-

„Test Data,“ [Online]. Available: https://github.com/DekaAthlos/TINF19C-ModellingWizard/tree/master/PROJECT/Test%20Data.

-
-

[3]

-
-

„BUG130: saving clears added - "Role Class Libraries",“ [Online]. Available: - https://github.com/DekaAthlos/TINF19C-ModellingWizard/issues/46.

-
- -

 

- -
-
- -

 

- -

6        -Testcases

- -

6.1    Test suite <TS-001 Basic functionality>

- -

6.1.1 Testcase -<TC-001-001> (Create device)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-001

-
-

Testcase - Name

-
-

Create device

-
-

Req.-ID.

-
-

LF10

-
-

Description

-
-

This testcase - verifies that a device can be created and saved.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-001-001.

-
-

Data is entered - and automatically filled into the attributes below

-
-

Data is entered - and automatically filled into the attributes below

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-001-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

The current - selected field in the table gets deselected

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Pass

-
-

Test data 3

-
-

Pass

-
-

Test data 4

-
-

Pass

-
-

Test data 5

-
-

Pass

-
-

 

-
- -
-
- -

 

- -

6.1.2 Testcase -<TC-001-002> (Open device, save changes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-002

-
-

Testcase - Name

-
-

Open device, - save changes

-
-

Req.-ID.

-
-

LF10

-
-

Description

-
-

This testcase - verifies that a device can be loaded with its data, that the data can be - changed and that it can be saved again.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-001-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-

(If the - Modelling Wizard cannot read the file an error message will be shown, and no - file will be opened.)

-
-

“Vendor Name” - and “Device Name” are filled. The Name of the file is displayed in the top - right corner.

-

The tabs are - accessible.

-
-

 

-
-

Fill the red - marked entries with data from TD-001-002.

-
-

Data is - overwritten.

-
-

Data is - overwritten.

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

The current - selected field in the table gets deselected

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown - opens and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Pass

-
-

Test data 3

-
-

Pass

-
-

Test data 3

-
-

Pass

-
-

 

-
- -
-
- -

 

- -

6.1.3 Testcase -<TC-001-003> (Load standard libraries)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-001-003

-
-

Testcase - Name

-
-

Load standard - libraries

-
-

Req.-ID.

-
-

LF10

-
-

Description

-
-

This testcase - verifies that the standard libraries can be loaded into the Modelling Wizard.

-

 

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

1

-
-

Select the - “Standard Libraries” dropdown in the top navbar.

-
-

A dropdown of - the libraries opens, and one can be chosen.

-
-

 

-
-

Choose one - library that is not already loaded.

-
-

The library - will be loaded and can be found on the right sight under “Role Class Library” - or “Interface Class Library”

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Pass

-
-

 

-
- -

 

- -
-
- -

 

- -

6.2    Test suite <TS-002 Generic data>

- -

6.2.1 Testcase -<TC-002-001> (Create device with attributes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-001

-
-

Testcase - Name

-
-

Create device - with attributes

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase - verifies that a device with data in the attributes and the header of “Generic - Data” can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-002-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Fill the - entries with data from TD-002-001

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on - “Header” besides “Attributes”

-
-

The “Header” - table opens

-
-

The “Header” - table opens

-
-

 

-
-

Fill the - entries with data from TD-002-001

-
-

Data is entered

-
-

Data is entered

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

The current - selected field in the table gets deselected

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file opens - and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Pass

-
-

 

-
- -

 

- -
-
- -

 

- -

6.2.2 -Testcase <TC-002-002> (Create device with -role classes)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-002

-
-

Testcase - Name

-
-

Create device - with role classes

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase - verifies that a device with loaded classes from “Role Class Library” can be - created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the “File” - dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-002-002.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-002-002.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on the - library “Library Name” (Data from TD-002-001) on the right side under “Role - Class Library”

-
-

The entry gets - highlighted.

-
-

The entry gets - highlighted.

-
-

 

-
-

Drag and drop - the library onto the “Generic Information” table.

-
-

The library - gets added at the last position.

-
-

The library - gets added at the last position.

-
-

 

-
-

Click on the - library in the “Generic Information” table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

 

-
-

Click on the - new label.

-
-

The label gets highlighted.

-
-

The label gets - highlighted.

-
-

 

-
-

Double click on - the label.

-
-

Underneath the - label the “Attributes” table opens.

-

If the class - consists of sub classes, these are displayed as indented labels.

-
-

Underneath the - label the “Attributes” table opens.

-

If the class - consists of sub classes, these are displayed as indented labels.

-
-

 

-
-

Fill the - entries with data from TD-002-002

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on the - label of the subclass.

-
-

The label gets - highlighted.

-
-

The label gets highlighted.

-
-

 

-
-

Double click on - the subclass.

-
-

Underneath the - label the “Attributes” table for the specific subclass opens.

-
-

Underneath the - label the “Attributes” table for the specific subclass opens.

-
-

 

-
-

Fill the - entries with data from TD-002-002

-
-

Data is entered

-
-

Data is entered

-
-

 

-
-

Click on a free - spot on the GUI

-
-

The current - selected field in the table gets deselected (and the value is saved)

-
-

The current - selected field in the table gets deselected.

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Fail [3]

-
-

Test data 2

-
-

Fail [3]

-
-

 

-
- -
-
- -

 

- -

6.2.3 Testcase -<TC-002-003> (Open device, delete data)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-002-003

-
-

Testcase - Name

-
-

Open device, - delete data

-
-

Req.-ID.

-
-

LF20

-
-

Description

-
-

This testcase verifies - that attributes and “Role Class Libraires” can be deleted from a device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

The explorer opens, - and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-002-003 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the is displayed in the top right - corner.

-

All tabs are accessible.

-
-

 

-
-

Clear the - attributes listed in “Delete Attributes” (Data from TD-002-003)

-
-

Data is overwritten.

-
-

Data is - overwritten.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Library” (Data - from TD-002-003)

-
-

The two steps - are repeated once for every entry

-
-

 

-
-

Select the - library in the “Generic Information” table, which is listed in “Delete - Library” (Data from TD-002-003)

-
-

The library - gets selected in the “Generic Information” table

-
-

The library - gets selected in the “Generic Information” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The library gets - deleted

-
-

The library - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name and - click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Fail [3]

-
-

 

-
- -
-
- -

 

- -

6.3    Test suite <TS-003 Interfaces>

- -

6.3.1 Testcase -<TC-003-001> (Create device with interfaces)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-003-001

-
-

Testcase - Name

-
-

Create device - with interfaces

-
-

Req.-ID.

-
-

LF30

-
-

Description

-
-

This testcase - verifies that a device with additional interfaces can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-003-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-003-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on the - “Interfaces” tab below the top navbar.

-
-

The interface - view opens.

-
-

The interface - view opens.

-
-

 

-
-

Click on the - interface “Interface Name” (Data from TD-003-001) on the right side under - “Interface Class Library”

-
-

The entry gets - highlighted.

-
-

The entry gets - highlighted.

-
-

 

-
-

Drag and drop - the interface onto the “Interfaces” table.

-
-

The interface - gets added at the last position.

-
-

The interface - gets added at the last position.

-
-

 

-
-

Click on the - interface in the “Interfaces” table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

The entry gets - highlighted. A label with the entry name appears underneath the table.

-
-

 

-
-

Click on the - new label.

-
-

The label gets - highlighted.

-
-

The label gets - highlighted.

-
-

 

-
-

Double click on - the label.

-
-

Underneath the - label the “Attributes” table opens.

-
-

Underneath the - label the “Attributes” table opens.

-
-

 

-
-

Fill the - entries with data from TD-003-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Pass

-
-

Test data 3

-
-

Pass

-
-

 

-
- -

 

- -
-
- -

 

- -

6.3.2 Testcase -<TC-003-002> (Open device, delete interfaces)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-003-002

-
-

Testcase - Name

-
-

Open device, - delete interfaces

-
-

Req.-ID.

-
-

LF30

-
-

Description

-
-

This testcase - verifies that interfaces can be deleted from a device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-003-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All tabs are - accesible

-
-

 

-
-

Click on the - “Interfaces” tab below the top navbar.

-
-

The Interfaces - view opens.

-
-

The Interfaces - view opens.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Interface” (Data - from TD-003-002)

-
-

The two steps - are repeated once for every entry

-
-

 

-
-

Select the - interface in the “Interfaces” table, which is listed in “Delete Interface” - (Data from TD-003-002)

-
-

The interface - gets selected in the “Interfaces” table

-
-

The interface - gets selected in the “Interfaces” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The interface - gets deleted

-
-

The interface - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Pass

-
-

 

-
- -
-
- -

 

- -

6.4    Test suite <TS-004 Attachments>

- -

6.4.1 Testcase -<TC-004-001> (Create device with attachments)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-004-001

-
-

Testcase - Name

-
-

Create device - with attachments

-
-

Req.-ID.

-
-

LF40

-
-

Description

-
-

This testcase - verifies that a device with attachments can be created and saved.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Actual Result

-
-

1

-
-

Select the - “File” dropdown and click on “new”.

-
-

A new empty - Modelling Wizard window opens.

-
-

A new empty - Modelling Wizard window opens.

-
-

2

-
-

Fill “Vendors - Name” and “Device Name” in the top navbar, with data from TD-004-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Fill the red - marked entries in the “Attributes” table at the bottom of the screen with - data from TD-004-001.

-
-

Data is - entered.

-
-

Data is - entered.

-
-

 

-
-

Click on the - “Attachments” tab below the top navbar.

-
-

The attachment - view opens.

-
-

The attachment - view opens.

-
-

 

-
-

Click on the - “Add” button in the upper left corner.

-
-

A dropdown list - opens.

-
-

A dropdown list - opens.

-
-

 

-
-

Choose the - “Dropdown” (Data from TD-004-001).

-
-

The name gets - added to the two text fields underneath.

-
-

The name gets - added to the two text fields underneath.

-
-

 

-
-

Click “Select - File” button

-
-

An explorer - opens.

-
-

An explorer - opens.

-
-

 

-
-

Search the test - File (Data from TD-004-001) and click open

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled - with the test data.

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled - with the test data.

-
-

 

-
-

Click on the - “Add” button in the upper left corner.

-
-

A dropdown list - opens.

-
-

A dropdown list - opens.

-
-

 

-
-

Choose the - “Dropdown2” (Data from TD-004-001).

-
-

The name gets - added to the two text fields underneath.

-
-

The name gets - added to the two text fields underneath.

-
-

 

-
-

Paste the “Test - Path” (Data from TD-004-001) into the text field besides the “Add Path” - button

-
-

The path is - pasted.

-
-

The path is - pasted.

-
-

 

-
-

Click “Add - Path” button

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled - with the test data.

-
-

The “Element - Name” and the “File Path” in the “Attachable Information” table get filled - with the test data.

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already the explorer will ask for confirmation of the saving.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Test data 1

-
-

Pass

-
-

Test data 2

-
-

Pass

-
-

Test data 3

-
-

Pass

-
-

 

-
- -
-
- -

 

- -

6.4.2 Testcase -<TC-004-002> (Open device, delete Attachments)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Testcase ID

-
-

TC-004-002

-
-

Testcase - Name

-
-

Open device, - delete interfaces

-
-

Req.-ID.

-
-

LF40

-
-

Description

-
-

This testcase - verifies that interfaces can be deleted from a device.

-
-

Test Steps

-
-

Step

-
-

Action

-
-

Expected Result

-
-

Expected Result

-
-

1

-
-

Select the - “File” dropdown and click on “open”.

-
-

The explorer - opens, and the file can be chosen.

-
-

The explorer - opens, and the file can be chosen.

-
-

 

-
-

Choose the test - file from TD-004-002 and click “open”

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All generic - data, interfaces and attachments will be accessible over their tabs.

-
-

“Vendor Name” - and “Device Name” gets filled. The Name of the file will be displayed in the - top right corner.

-

All tabs are - accessible.

-
-

 

-
-

Click on the - “Attachments” tab below the top navbar.

-
-

The attachment - view opens.

-
-

The attachment - view opens.

-
-

 

-
-

Repeat the - following two step one time for each entry listed in “Delete Attachments” - (Data from TD-004-002)

-
-

The two steps - are repeated once for every entry

-
-

 

-
-

Select the - interface in the “Attachables Information” table, which is listed in “Delete - Attachments” (Data from TD-004-002)

-
-

The interface - gets selected in the “Attachables Information” table

-
-

The interface - gets selected in the “Attachables Information” table

-
-

 

-
-

Press the - “Delete” button in the top right corner of the table.

-
-

The attachment - gets deleted

-
-

The attachment - gets deleted

-
-

 

-
-

Select the - “File” dropdown and click on “save”.

-
-

A dropdown of - the explorer opens, and the name of the file can be chosen.

-
-

A dropdown of - the explorer opens, and the name is prefilled.

-
-

 

-
-

Enter a name - and click “save”.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-

If the name - already exists the explorer will ask for confirmation of the saving.

-
-

A popup opens - and informs about the correct creation and the path of the file.

-
-

 

-
-

Confirm the - message.

-
-

The popup - closes.

-
-

The popup - closes.

-
-

 

-
-

Open the file - in AutomationML and verify that all data is saved.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

The file gets - opened and under Attributes all data can be found.

-
-

 

-
-

Tester

-
-

Jakob Schmidt

-
-

Date

-
-

28.04.2021

-
-

Testcase - Result

-
-

Pass

-
-

 

-
- -

 

- -
- -

Author: Jakob Schmidt

- - - - +Link to STR \ No newline at end of file From 359655a7b61a12fb6f58ffc97df44b48eaf8255d Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:47:18 +0200 Subject: [PATCH 24/38] Updated 4. Systemtestplan (markdown) --- 4.-Systemtestplan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4.-Systemtestplan.md b/4.-Systemtestplan.md index a879657..70614fe 100644 --- a/4.-Systemtestplan.md +++ b/4.-Systemtestplan.md @@ -1 +1 @@ -Link to STP \ No newline at end of file +[Link to STP ](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/47d2ba67fc73ebc080f303f0e29ca2260d8c7d88/PROJECT/STP/TINF20C_STP_Team_1.pdf) \ No newline at end of file From 23d420193e4eb8ed6ea1370999fe2a4ef3bb6690 Mon Sep 17 00:00:00 2001 From: mhorst00 <36167515+mhorst00@users.noreply.github.com> Date: Sun, 24 Apr 2022 11:48:04 +0200 Subject: [PATCH 25/38] Updated 5. Systemtestreport (markdown) --- 5.-Systemtestreport.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.-Systemtestreport.md b/5.-Systemtestreport.md index b16dd25..23578de 100644 --- a/5.-Systemtestreport.md +++ b/5.-Systemtestreport.md @@ -1 +1 @@ -Link to STR \ No newline at end of file +[Link to STR](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/47d2ba67fc73ebc080f303f0e29ca2260d8c7d88/PROJECT/STR/TINF20C_STR_Team_1.pdf) \ No newline at end of file From ebcb1469ce8ebc6b3d96c26ce581e904d1dbef77 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 12:41:20 +0200 Subject: [PATCH 26/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index cda7636..e0b5139 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -266,4 +266,10 @@ The whole system layout can be used for international purposes since the user ma ## # 8. References -| Reference | Source | + +| **Reference** | **Source** | +| ------------- |-------------| +| [1] | https://faq.arc42.org/questions/C-1-2/, 20.04.2022 | +| [2] | https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/2.-Software-Architecture-Specification, 21.04.2022 | +| [3] | https://www.perforce.com/blog/alm/how-write-software-requirements-specification-srs-document, 21.04.2022 | +| [4] | https://books.google.de/books?id=7pVbAgAAQBAJ&lpg=PA1&ots=3l-6o0BDrw&dq=clean%20code%20robert%20martin&lr&hl=de&pg=PA1#v=onepage&q&f=false, 22.04.2022 | From d21338125e6d6226fe1c773b610e43ac52f4c908 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:22:54 +0200 Subject: [PATCH 27/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 28 ++++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index e0b5139..11dd054 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -174,23 +174,39 @@ The controller is the main control unit. It is responsible for communicating wit Figure 2 - Logic of the plugin

-In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. +In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. However, due to the further development based on the project, the architecture became more and more unstructured and complex. As a result, MVC is no longer used as intended. This was further complicated by the use of a Microsoft Forms application. Ultimately, as can be seen in Figure 4, the architecture became increasingly unstructured and complex. # 5. System Design
+The idea of making the plugin a standalone application is to run the plugin on another programme that provides the appropriate dependencies. This gives the impression of running the plugin directly (cf. Figure 3). +

-System
-Figure 3 - System class design +System
+Figure 3 - Programme Concept

-This figure is showing the complete software structure design. There was actually no change here, as the concept of the plug-in was taken over from the [old project](https://github.com/DekaAthlos/TINF19C-ModellingWizard). +The advantage of this solution is that the code of the plug-in remains largely intact. This makes it easier to adopt the ideas and insights of the old team. The programme on which the plug-in runs is shown in figure 4. + +

+System
+Figure 4 - Class design from the main application +

+ +The "Program" field in the diagram is supposed to represent an executable file; if you click on it, "Form1" is called. This function then loads the "ModellingWizard", i.e. the plugin. This means that the GUI of the plugin is then displayed in "Form1". + +

+System
+Figure 5 - Class design from the ModellingWizard +

+ +The current design of the plugin has changed a little, but not much (cf. Figure 5). The concept of the plugin and most of the code was taken over from the [old project](https://github.com/DekaAthlos/TINF19C-ModellingWizard).


-Figure 4 - MVC pattern +Figure 6 - MVC pattern

-Still the MVC pattern is a small part of the whole system design. In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. Click to open the [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE). +Still the MVC pattern is a small part of the whole system design (cf. Figure 6). In this case the InputFromUser is obviously the user input. DeviceDesc (standing for Device Description), due to its two different C# program files, once maps the GUI and once the controller. DataMW is the class that takes care of the data management and creates an object of the type MWData, which can then export, store and process through the controller. The source code is located in the "app-source-code" branch under the "Source" folder. Click to open the [Source folder](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/tree/app-source-code/SOURCE). | **Classname** | **Storage location** | | --- | --- | From 7c99dbaa2f6bfac13af0e17e6401efb2de7b3c1a Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:28:58 +0200 Subject: [PATCH 28/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 11dd054..da6d8c9 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -162,7 +162,7 @@ The application was designed and developed according to a Model-View-Control (MV

MVC Model
-Figure 1 - MVC Architecture [2] +Figure 1 - MVC Architecture

Almost all the logic is contained in the controller, which thus forms the centre of the entire system architecture and contains the functionalities. There is basically only one layer that is accessible to the user, the GUI. @@ -289,3 +289,7 @@ The whole system layout can be used for international purposes since the user ma | [2] | https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/2.-Software-Architecture-Specification, 21.04.2022 | | [3] | https://www.perforce.com/blog/alm/how-write-software-requirements-specification-srs-document, 21.04.2022 | | [4] | https://books.google.de/books?id=7pVbAgAAQBAJ&lpg=PA1&ots=3l-6o0BDrw&dq=clean%20code%20robert%20martin&lr&hl=de&pg=PA1#v=onepage&q&f=false, 22.04.2022 | +| [5] | https://blog.iandavis.com/2008/12/what-are-the-benefits-of-mvc/, 22.04.2022 | +| [6] | https://www.youtube.com/watch?v=o_TH-Y78tt4&t=1667s, 22.04.2022 | +| [7] | https://www.jetbrains.com/help/resharper/Reference__Architecture_View.html, 23.04.2022 | + From fe1d13e5a2537cbdbf3f5785c800cbc173f0fea0 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:32:31 +0200 Subject: [PATCH 29/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index da6d8c9..e42bb49 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -174,7 +174,7 @@ The controller is the main control unit. It is responsible for communicating wit Figure 2 - Logic of the plugin

-In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. However, due to the further development based on the project, the architecture became more and more unstructured and complex. As a result, MVC is no longer used as intended. This was further complicated by the use of a Microsoft Forms application. Ultimately, as can be seen in Figure 4, the architecture became increasingly unstructured and complex. +In the figure above, you can see the new architecture design that depicts the structure of the standalone application (cf. Figure 2). As you can see in the illustration, the user only interacts with the graphical user interface. This then passes the input from the user to the controller and the controller displays the information in the GUI. The controller processes the requests with the help of the AutomationML engine, but not all functions were mapped for this because there would be too many. For example, it can be used to save and load models in AML format. To be able to process IODD and GSD model formats, the programme needs converters. These work with two interfaces and return an AutomationML file. However, due to the further development based on the project, the architecture became more and more unstructured and complex. As a result, MVC is no longer used as intended. This was further complicated by the use of a Microsoft Forms application. Ultimately, as can be seen in Figure 4 and 5, the architecture became increasingly unstructured and complex. # 5. System Design
From a18ac9fb79d5a537846f963aadffba57b04d4080 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:39:01 +0200 Subject: [PATCH 30/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index e42bb49..9d7e366 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -181,7 +181,7 @@ In the figure above, you can see the new architecture design that depicts the st The idea of making the plugin a standalone application is to run the plugin on another programme that provides the appropriate dependencies. This gives the impression of running the plugin directly (cf. Figure 3).

-System
+System
Figure 3 - Programme Concept

From a2b6f4ab1f478a93ea1e8b0b9e49476885b17e3c Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:47:39 +0200 Subject: [PATCH 31/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 9d7e366..46661cd 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -181,7 +181,7 @@ In the figure above, you can see the new architecture design that depicts the st The idea of making the plugin a standalone application is to run the plugin on another programme that provides the appropriate dependencies. This gives the impression of running the plugin directly (cf. Figure 3).

-System
+System
Figure 3 - Programme Concept

From d927bef56875f900dbfb17780bf5dee76c0ba93e Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:48:27 +0200 Subject: [PATCH 32/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 46661cd..e5f531d 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -279,8 +279,6 @@ Exception handling is necessary to prevent errors caused by the user while using The whole system layout can be used for international purposes since the user manual and over all GUI is written in English and English is defined to be the international traffic language. On the other hand, there is no way to change the language so English is a mandatory knowledge for using the program. -## - # 8. References
| **Reference** | **Source** | From e8376eb035e64dbc0f7b28f5d81554387539969a Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:49:54 +0200 Subject: [PATCH 33/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index e5f531d..05e2d98 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -242,7 +242,7 @@ Still the MVC pattern is a small part of the whole system design (cf. Figure 6). | --- | --- | | **System requirements covered:** | /NF100/, /F30/, /F40/, /F50/, /F80/ nicht fertig | | **Services:** | Logic distribution is handled by the controller. It is reacting to the events triggered by the GUI and takes care of creating the respective objects. Also the input and output functions are implemented in the controller. | -| **Interfaces:** | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | +| **Interfaces:** | Interface for IODD to AutomationML, Interface for GSD to AutomationML and Interface of AMLX packages. For export/import of amlx files there is another class referenced: [SOURCE/Plugin/MWData.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/MWData.cs) | | **External Data:** | --- | | **Storage location:** | [SOURCE/Plugin/DeviceDescription.cs](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/blob/app-source-code/SOURCE/Plugin/DeviceDescription.cs) | | **Modul documentation:** | [MOD.002: Controller](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/MOD.002:-Controller) | From f08ab47708e5872166c18aad88e4b622daae1270 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:05:40 +0200 Subject: [PATCH 34/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 05e2d98..da735c1 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -195,7 +195,7 @@ The advantage of this solution is that the code of the plug-in remains largely i The "Program" field in the diagram is supposed to represent an executable file; if you click on it, "Form1" is called. This function then loads the "ModellingWizard", i.e. the plugin. This means that the GUI of the plugin is then displayed in "Form1".

-System
+System
Figure 5 - Class design from the ModellingWizard

From 6c9f6b4e906c1ae8ce8b19688ff97f46063cc885 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:18:45 +0200 Subject: [PATCH 35/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index da735c1..20f91e1 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -1,12 +1,21 @@ #### Table of Contents * [1. Introduction](#I) - * [1.1 Glossar](#G) + * [1.1 Glossary](#G) * [2. System Overview](#S) * [2.1 System Environment](#S1) * [2.2 Software Environment](#S2) * [2.3 Quality Goals](#S3) - * [2.3.1 Usability](#S4) - * [2.3.2 Bug fixing](#S5) + * [2.3.1 Runtime quality attributes](#S4) + * [2.3.1.1 Usability](#S5) + * [2.3.1.2 Functionality](#S6) + * [2.3.1.3 Performance](#S7) + * [2.3.1.4 Security](#S8) + * [2.3.1.5 Availability](#S9) + * [2.3.1.6 Interoperability](#S10) + * [2.3.2 Non-Runtime quality attributes](#S11) + * [2.3.1.1 Modifiability](#S12) + * [2.3.1.2 Portability and reusability](#S13) + * [2.3.1.3 Testability](#S14) * [3. Quality Concept](#QC) * [3.1 Usability concept](#QC1) * [3.2 Code Quality](#QC2) @@ -18,15 +27,11 @@ * [6.2 MOD.002: Controller functionalities](#SS2) * [7. Technical Concepts](#TC) * [7.1 Persistence](#TC1) - * [7.2 User Interface](#TC2) - * [7.3 Ergonomics](#TC3) - * [7.4 Communication with other IT-Systems](#TC4) - * [7.5 Deployment](#TC5) - * [7.6 Data Validation](#TC6) - * [7.7 Exception Handling](#TC7) - * [7.8 Internationalization](#TC8) - * [7.9 Testability](#TC9) - * [7.10 Availability](#TC10) + * [7.2 Communication with other IT-Systems](#TC4) + * [7.3 Deployment](#TC5) + * [7.4 Data Validation](#TC6) + * [7.5 Exception Handling](#TC7) + * [7.6 Internationalization](#TC8) * [8. References](#R) # Changelog From f4fb1c79e05f94dcfcfb94131641e235e960d303 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:19:44 +0200 Subject: [PATCH 36/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 20f91e1..249b9a4 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -104,7 +104,7 @@ It must be ensured that it is recognisable where and from whom the programme ori The programme and its code will be available on GitHub on a public repository. This means that anyone can access the programme at any time. -#### 2.3.1.5 Interoperability
+#### 2.3.1.6 Interoperability This is important because it must be ensured that users are not firmly bound to this standard or programme. After all, the main users will come from the industry and therefore place a lot of value on a uniform standard. More information can be found in the [Technical Concept](#TC). @@ -116,11 +116,11 @@ These cannnot be observed at execution time of the system. Since the programme is open source and publicly viewable, it can be extended by anyone. This is important if any use cases arise in the future. -#### 2.3.1.1 Portability and reusability +#### 2.3.1.2 Portability and reusability Attention is paid to transferability to later projects, through the involvement and formation of libraries and the like, but the application case is very specific and difficult to transfer to other or new projects. Therefore not so important. -#### 2.3.1.1 Testability +#### 2.3.1.3 Testability This is probably the second most important point after usability, care must be taken to ensure that the code is testable. On the one hand directly in the code, but also testing the binary is important. For this purpose, various test cases are described and worked through on the [Systemtestplan](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/4.-Systemtestplan) page. Also check the [Systemtestreport](https://github.com/H4CK3R-01/TINF20C_ModellingWizard_Devices/wiki/5.-Systemtestreport) to learn more about the test results. The AML Component Checker should be validating all created AML files. Thereby, to keep quality high, errors that cause undesirable behavior or even fatal errors must be eliminated. From b92042f6f3dfddd2d9ab9c320b823052b8f70cdc Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:20:41 +0200 Subject: [PATCH 37/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index 249b9a4..b6fe55d 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -258,11 +258,11 @@ Still the MVC pattern is a small part of the whole system design (cf. Figure 6). By using the publicly available "AMLX" package standard, the system becomes persistent. This means that created or edited models can be reopened and edited in the AutomationML Editor. This function is particularly important in an international and industrial environment. Therefore, "IODD" and "GSD" files can also be converted. -## 7.4 Communication with other IT-Systems +## 7.2 Communication with other IT-Systems The plug-in already had the problem that it was dependent on external programmes. Thus, "IODD" and "GSD" programme types had to be converted in order to be able to use them. The goal will now be to implement these programmes or converters directly in the standalone application. The advantage of this is that the user does not have to install external dependencies that may also cause errors. This means that, in the best case, there would only be interaction with the file system. This model can also be seen in the [Architectural Model](#AC1). -## 7.5 Deployment +## 7.3 Deployment To make changes to the application, [Visual Studio 2019](https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads) must first be installed. In "Visual Studio 2019", the file "Application.sln" from the "Application" folder must then be opened. @@ -272,15 +272,15 @@ In order to be able to compile the application, the "AML.Engine" package in vers [How NuGet works](https://docs.microsoft.com/de-de/nuget/quickstart/install-and-use-a-package-in-visual-studio) -## 7.6 Data validation +## 7.4 Data validation All data checks are running in the background, invisible for the user. The controller is checking for missing information and incorrect entries, that must be specified as mandatory information. -## 7.7 Exception handling +## 7.5 Exception handling Exception handling is necessary to prevent errors caused by the user while using the program. So called "try-catch" blocks are used to 'catch' these and prevent unwanted or incorrect behavior of the software. This way, the user is informed about what did not work and he/she may be able to fix the problem or at least report it to the developers -## 7.8 Internationalization +## 7.6 Internationalization The whole system layout can be used for international purposes since the user manual and over all GUI is written in English and English is defined to be the international traffic language. On the other hand, there is no way to change the language so English is a mandatory knowledge for using the program. From 1ce3361073a83aa9c17d6d573159ee0057adea26 Mon Sep 17 00:00:00 2001 From: Cyber-Luke <75857685+Cyber-Luke@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:46:03 +0200 Subject: [PATCH 38/38] Updated 2. Software Architecture Specification (markdown) --- 2.-Software-Architecture-Specification.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/2.-Software-Architecture-Specification.md b/2.-Software-Architecture-Specification.md index b6fe55d..3bd9025 100644 --- a/2.-Software-Architecture-Specification.md +++ b/2.-Software-Architecture-Specification.md @@ -38,10 +38,19 @@ | Version | Date | Author | Comment | | ------------- |-------------|-------------|-------------| -| V0.1 | 26.10.2020 | Lukas Ernst / Florian Kellermann | created | -| V0.2 | 05.11.2021 | Florian Kellermann | edited | -| V0.3 | 22.04.2022 | Lukas Ernst | edited | - +| V0.1 | 04.11.2021 | Lukas Ernst / Florian Kellermann | created | +| V0.2 | 05.11.2021 | Lukas Ernst | Add introduction and glossary details | +| V0.4 | 07.11.2021 | Lukas Ernst | Add runtime and non-runtime quality goals | +| V0.5 | 10.11.2021 | Lukas Ernst | Update quality concept and technical concept | +| V0.6 | 12.11.2021 | Lukas Ernst | Update usability concept | +| V0.7 | 16.11.2021 | Lukas Ernst | Add architectural concept | +| V0.8 | 26.03.2022 | Lukas Ernst | spicify architectural concept | +| V0.9 | 10.04.2022 | Lukas Ernst | Add system design | +| V1.0 | 13.04.2022 | Lukas Ernst | Update system design | +| V1.1 | 14.04.2022 | Lukas Ernst | Update subsystem specification | +| V1.2 | 20.04.2022 | Lukas Ernst | Correct descriptions and add links | +| V1.3 | 24.04.2022 | Lukas Ernst | Latest changes | +| V1.4 | 06.05.2022 | ? | Checked for correctness | *** # 1. Introduction @@ -172,7 +181,7 @@ The application was designed and developed according to a Model-View-Control (MV Almost all the logic is contained in the controller, which thus forms the centre of the entire system architecture and contains the functionalities. There is basically only one layer that is accessible to the user, the GUI. -The controller is the main control unit. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. The change is that it will be a standalone application. This is ensured by integrating the AutomationML engine and the plug-in into a new programme via an import. The plugin is then started in its own view, so that the old code of the plugin is retained. +The controller is the main control unit from the plug-in. It is responsible for communicating with the user interface and the external systems that are added for conversions. This interface is the heart of the entire application and is responsible for the functionalities, but also for the integration of additional functions such as saving or loading AMLX packages from the AutomationML Engine. Thus, the concept builds on that of the plug-in, making it easier to adapt functions and ideas. The change is that it will be a standalone application. This is ensured by integrating the AutomationML engine and the plug-in into a new programme via an import. The plugin is then started in its own view, so that the old code of the plugin is retained.