Industrial Software Automation Testing
Industrial software testing is mainly structured as per the lifecycle levels/ stages of a developed software. Each software development level starting from the requirements specification stage to integration and implementation of individual system components oppose a corresponding software testing level. As such, the software undergoes; component testing, integration testing, regression testing, acceptance testing and system testing. On the other hand, industrial software automation is an integral solution that combines different disciplines mainly focusing on electrical, mechanical, and software products. Therefore, the industrial software automation testing levels vary slightly from the regular software testing levels.
For instance, industrial software engineering undergoes different testing levels before being fully commissioned. The testing stages include; integration testing, module testing, factory acceptance testing, and the site acceptance testing. Factory acceptance testing (FAT) is conducted at an engineering center where the entire industrial software automation system is configured in the similar manner as it would be configured at an industrial plant. FAT comprises of actual hardware and soft simulators. Once the factory acceptance test is successfully completed, the hardware is transferred to the industrial plant where the commissioning level takes effect. The site acceptance test (SAT) is conducted during the commissioning level. Note that, these industrial software automation tests levels can be supported by simulation and modelling approaches. However, according to an industrial software automation engineering review, integration of testing, formal verification, and debugging with emulation and simulation environments can be identified as open research issues.
Automated testing approaches for industrial software automation
The automated testing framework in industrial automation software is dependent on utilization of UML models and encourage the use of test driven development approaches. The host system contains a test runner that orchestrates framework parts from a suite of test cases that are derived from the UML models and conclude with the conveyed test results. Other aspects such as; different testing techniques adopted during the agile industrial software development stage, use of keyword driven approaches, and UML models test case generation. A search based testing for industrial automation systems utilizing the IEC 61131-3 function block diagrams and testing of automated industrial controller code are also used for automated industrial software testing.
Industrial software engineering offers a great wealth of knowledge about automated industrial software testing automation. Most of the gathered knowledge is based on practical experiences and empirical evidence that is transformed in tool support and applicable software solutions. As such, the development and testing of industrial software automation benefits greatly from this wealth of knowledge where working solutions are upheld and customized to meet the specific industrial software automation needs.