Using software development tools for the design of complex systems: Automated testing and continuous integration

Using software development tools for the design of complex systems: Automated testing and continuous integration

Background: Automated testing is an important task during complex software development. Large tests suites are made to ensure that the software is behaving as expected. The test suite is also a documentation of the requirements of the software. This also gives a safety net for the developers; they know that if the test does not fail their changes will not break the system. This methodology can be transferred to the design of marine systems. The requirements could be documented as tests, instead of as documents. When design modifications are needed, the tests can be done automatically. The designer will then be sure that the changes does violate any requirements.

Objective: In this project, methods for automated tests of software should be studied. The student should study how these methods can be used in the design of physical and complex systems such as hybrid power systems. A case study should be completed to demonstrate how the methodology may work.

Collaborator: Sintef Ocean, SFI Smart Maritime