Advanced
Thinking

Welcome

Welcome on the public website of the ICT Software Factory

ICT Embedded consults customers in the embedded field. Within this range very much is specified by the use of state chart diagrams. For example of a VCR or a microwave: what happens, if one switches it on and presses the buttons. After the device has been developed and/or more or less implemented, it has to be tested whether the device behaves actually in such a way like it was specified. The easiest way to do this is using a test script. That means some kind of a check list that contains the possible ways through the system with the corresponding expected result. The list contains 2 kinds of test cases:

  • Valid test cases: Those are test cases, in which mainly functionality is tested during correct operation. For example the video recorder:
    • "turn it on -> put the cassette into the cartridge -> press the play button" with the expected result "film is played"
  • Invalid test cases: Those are test cases, in which it has to be guaranteed that the device behaves correct and is still customer-friendly and as safe as possible also an unexpected operation took place. It should not be possible for example to somehow turn a microwave on while the flap is still open and the user has his hand in it. A possible test case could be:
    • "open the microwave ->select Watt number -> press the start button" with the expected result "no reaction"
Since the manual development of such test scripts with as good a test coverage as possible is certainly complex and error-prone, the process should be automated - by us.

Project overview

The project is an effort to create a software that is capable of deriving test-scripts from state-chart diagrams. The state-chart input format and the test-script output format of the software will be extendable using a plugin mechanism.
The used method to derive the test-cases from the state-chart diagram is called "state-transition technique" and was choosen during a method investigation the last semester. Due the implementation of such a complex application costs a lot of time and the project sponsor wants results as soon as possible we splitted the development into three milestones.

  • Milestone 1 represents the core application with a self defined input format and simple textual output.
  • Milestone 2 represents the core application with the plugin interface and some plugins for common input (perhaps Rational Rose) and output formats (perhaps a Python script).
  • Milestone 3 represents the final version of the application having more plugins, a user-friendly interface and end-user documentation. Easy deployment (like an installer) is also included in this version.

Project results

Planned results of the project will be:

  • The application in the version of milestone 1
  • The application in the version of milestone 2
  • The application in the version of milestone 3
  • Documentation as mentioned in the software documentation section of the Project Plan
  • Software project management plan
  • Software configuration management plan
  • Software quality assurance plan
  • Software test plan and test results