Efficient testing of software is increasingly important
The massive increase of processors and computers integrated in devices and systems all around us, places great demands on efficient software engineering. In a so-called software product line, products are designed based on a common core, which can reduce both developing costs and time. In order to assure high quality and safety, the software has to be rigorously tested. New research from Halmstad University proposes two different approaches for testing software product lines.
”The research can benefit conformance testing of software products by allowing low-cost testing and higher fault detection for groups of products to avoid software problems, for example in critical embedded systems like automated vehicles.”
Vanderson Hafemann Fragal
When computers are ’embedded’ in digital watches, medical devices and smart phones, the computers will give the devices intelligence that improves their functionality. Larger and more complex embedded systems, such as those in cars and manufacturing devices, are called safety-critical embedded systems. As more and more devices and systems are integrated with embedded technology, software development and testing need to be efficient and effective to cope with the increasing complexity. The software in a critical embedded system is crucial – when a car automatically brakes, the software has to analyse the sensor signals fast and correctly, as well as give commands to the braking system in a timely and reliable manner.
The effort for testing is high
During the past couple of years, an approach called Software Product Line Engineering (SPLE) is used in the development of similar products, which aims at systematic reuse of software artifacts. Vanderson Hafemann Fragal, a PhD student at Halmstad University, has recently published a doctoral thesis on testing software product lines for safety-critical embedded systems.
”The effort for testing is usually high, and increasing the testing efficiency is a major concern. A common means of increasing efficiency is automation of test design. Several techniques, processes, and strategies have been developed for SPLE testing, but many problems still remain in this area of research”, says Vanderson Hafemann Fragal.
Time and money can be saved when choosing the correct testing method
The challenge is to reduce the overall test effort required for SPLE products. This can be done by using models that take advantage of the similarities between products.
”The goal in my research has been to automate the generation of small test-suites with high fault detection and low-test redundancy between products of a software product line”, says Vanderson Hafemann Fragal.
To do this, Vanderson Hafemann Fragal has investigated two testing approaches: product-centered and product line-centered. The two approaches were developed and implemented, and both generated test-suites using the full fault coverage criterion. According to Vanderson Hafemann Fragal’s experimental results, the product-centered approach indicates a reduction of up to 36 percent on the number of test cases that need to be concretized. The product line-centered approach indicates a reduction of 50 percent on the number of test cases generated for groups of product configurations by using configurable test-suites. By reducing the number of test cases, time and money can be saved when testing new products.
”Our conclusion is that the product-centered approach should be used when less than 20 products require testing. And the product line-centered approach should be used when a large number of products require testing, that is more than or equal to 20”, says Vanderson Hafemann Fragal.
”The research can benefit conformance testing of software products by allowing low-cost testing and higher fault detection for groups of products to avoid software problems, for example in critical embedded systems like automated vehicles”, says Vanderson Hafemann Fragal who plans to continue to teach and research on software product lines.
Text: Louise Wandel
Photo: Joachim Brink
Doctoral thesis:
The doctoral defence took place on August 24 at Halmstad University.
Supervisors:
Professor Mohammad Reza Mousavi, Halmstad University (previously) and University of Leicester (current).
Professor Adenilso da Silva Simao, University of Sao Paulo.
Opponent:
Professor Andrzej Wasowski, IT University of Copenhagen.