Test Automation
  • testing
  • testing
  • testing
  • testing


Test Framework



To improve software quality and avoid discovering bugs only at the customer's site, it helps to test the code automatically.

Since creating and evaluating such tests can also be error-prone, it helps to have a certain framework in which the corresponding tests can be written and later executed, preferably automatically.

A test framework allows you to easily test your programs and functions and evaluate the results.
For ongoing quality assurance of source code, it is necessary to regularly test the individual parts of the program and monitor the results.

Automated test systems take a lot of work off developers, as they can immediately test the changed parts of the code in parallel.


Overview of Executed Test Cases

Test run

JUnit tabular analysis

Tabular overview of all test cases

  • Successfully executed
  • Skipped
  • Failed
  • Not available
  • Duration
Test run

JUnit timeline analysis

Timeline of executed test cases

  • Successfully executed
  • Skipped
  • Failed
  • Duration
Test coverage

However, the following questions repeatedly arise:

  • How good is my test?
  • Do I reach all parts of the code?
  • Do I reach the modified part?

The open-source library and the test coverage extension provide the answers to these questions.

SCCX

sccx

The simple and fast solution for determining and graphically evaluating test coverage
in IEC61131-3 Structured Text / ST / SCL



"Only trust tests you know actually cover the test area."


Clean Code Developer

To find out which areas of the code are not covered by tests, the code coverage analysis – Structured Code Coverage Extension – is used.

Code Coverage Analysis

Locally, the developer sees the results live in the editor, line by line:
What is covered by tests, and what is not.

GitLab Screen

Green highlighted lines are covered by tests, red ones are not. Here is a LASAL Class 2 component in VS Code – the display at the bottom shows 62% coverage for this file.

Separator

Code Coverage Information

  • Statement executed (green)
  • Statement missed (red)
  • Execution frequency of the statement
  • Calculation of coverage in % (Components, Methods, Statements)
VS Code Code Coverage

Test coverage in code review: The merge request shows at the edge of the modified file which lines are not covered by tests. Reviewers see the blind spots directly in the context of the change.

Benefits

For your own development department

  • A clear picture of the test quality emerges very quickly.
  • It is immediately obvious where gaps still exist.

For customers when validating updates

  • Was the modified part executed?
  • Was the "old" code affected? (Regression test)

By combining version control, test case documentation, and the results from the test run, a wealth of information can be gained, significantly increasing the stability of the program.

Green separator

Licenses

Developer

  • Local testing with line coverage
    1 Seat
     
  • Targeted refinement of test cases before commit
  • Full version without network capability
     

Free Download

Pro

  • Measurement across entire codebase in every pipeline - CI/CD
    1 Seat
  • Analyze coverage trends
     
  • Measure and compare external software service providers

890 €

annually

Buy

Enterprise

  • Setup and personalized training
     
     
  • Technical support
     

  •  

On Request Contact





Features


  • Simple configuration via XML format

  • Application generator

  • Start an automatic build

  • Upload to target system and start

  • Dynamic and static test automation

    • Execute a static test project
    • Execute a generated test project
  • Analysis SccX-Structured Code Coverage eXtension

  • Code coverage evaluation in Cobertura XML format

  • Line and branch coverage

  • Available for Beckhoff and Sigmatek






Roadmap


  • Implementation for B&R Automation Studio

  • Implementation for Bachmann PLC-Developer

  • Implementation for Codesys V3



Test Lab

In our test lab, we can test customer applications on request.



lab
  • Various control systems (Bachmann, Beckhoff, Sigmatek) are available for unit, component, performance, or system tests.
    Tests can therefore be executed within the respective real-time environment.