|
| Project Reference |
ITS/076/06 |
| English Title |
An Extensible Fault-based Predicate Testing Toolset for Wireless Sensor Network Software Applications |
| Abstract |
Wireless sensor networks (WSN) are an enabling technology in ubiquitous computing to support Hong Kong as a next-generation services centre. The quality of embedded WSN software is essential for assuring its success. Since the majority of the programs involved are control software, the testing of control predicates is crucial. Nonetheless, this task is difficult because of memory constraint and primitive operating system support. Software engineers spend a disproportionate amount of effort on software testing. We propose to develop a fault-based predicate testing toolset for WSN software. We shall use the programs developed on TinyOS, the de facto WSN operating system, as a testbed.
The toolset will benefit the local industry by automatically measuring test completeness, or how well a program is free from a hierarchy of fault classes. The implementation of the hierarchy is extensible to cater for future enhancements. It generates the patterns for desirable test cases and allows software engineers to refine them iteratively. It minimizes the effort for writing test scripts in embedded programming languages. It also significantly shortens testing time and improves on software quality. A major technical challenge is to fit the test instrumentation under stringent memory constraints. No existing toolset provides this capability. |
|
| Planned |
The deliverables of the project include:
(a) A Fault-Based Test Coverage Library
This utility forms the baseline of the toolset that helps software engineers to analyse the comprehensiveness of their tests in terms of hypothesized predicate faults in the embedded programs.
(b) Predicate Testing Manager
The Predicate Testing Manager administers test scripts, their test results and statuses to attain various levels of selected testing criteria.
(c) Coverage Criteria Plug-in Architecture
The extensible plug-in architecture will allow MC/DC and MUMCUT criteria to be available as plug-ins. This extensible architecture supports enhancements to enable future and effective testing criteria to be incorporated in the toolset, without re-implementation.
(d) MC/DC Plug-In
The MC/DC plug-in realizes the MC/DC testing criteria. The MC/DC criterion is popular for testing automotive devices. It is also a part of various standards such as DO-178B. It provides software engineers with an effective testing criterion for quality assurance.
(e) MUMCUT Plug-in
The MUMCUT plug-in realizes the MUMCUT testing criteria. Software engineers can use this complementary testing criterion to augment the MC/DC. MUMCUT is formulated to guarantee the reveal of certain fault classes not covered by MC/DC.
(f) Test Pattern Assistant Plug-In
It provides a store of test patterns. It facilitates software engineers to instrument test-oriented monitoring and measurement code.
(g) Test Report Generator
The generator will produce reports based on the test results, pinpointing the areas of (in)adequate testing coverage. It produces statistics for software engineers and their managers to review and enhance their products.
(h) Project Website
A website will be set up to present the project and disseminate the results.
(i) Seminars
Public seminars will be organized during the project period to disseminate the results of the project, collect feedback from the industry and promote future collaboration to apply the results to the industry.
|
| Achieved |
1) Fault-Based Test Coverage Library
2) Predicate Testing Manager
3) Coverage Criteria Plug-in Architecture
4) MC/DC Plug-In
5) MUMCUT Plug-In
6) Test Pattern Assistant Plug-In
7) Test Report Generator
8) Project Website
9) Seminar
|
|
| Milestone
|
| No. | From | To | Status | Milestone |
|---|
| 1) | 1/9/2006 | 31/3/2007 | Completed | Inception Phase
(Please refer to Section C2.2 for details) | | 2) | 15/11/2006 | 14/4/2007 | Completed | Elaboration Phase
(Please refer to Section C2.2 for details) | | 3) | 1/2/2007 | 15/7/2007 | Completed | Construction Phase
(Please refer to Section C2.2 for details) | | 4) | 14/4/2007 | 30/11/2007 | Completed | Transition Phase
(Please refer to Section C2.2 for details) |
|