An innovative approach for testing bioinformatics programs using metamorphic testing

<p>Abstract</p> <p>Background</p> <p>Recent advances in experimental and computational technologies have fueled the development of many sophisticated bioinformatics programs. The correctness of such programs is crucial as incorrectly computed results may lead to wrong b...

Full description

Bibliographic Details
Main Authors: Liu Huai, Ho Joshua WK, Chen Tsong, Xie Xiaoyuan
Format: Article
Language:English
Published: BMC 2009-01-01
Series:BMC Bioinformatics
Online Access:http://www.biomedcentral.com/1471-2105/10/24
id doaj-0522fc88f05743f8b70c369706a70285
record_format Article
spelling doaj-0522fc88f05743f8b70c369706a702852020-11-25T01:57:23ZengBMCBMC Bioinformatics1471-21052009-01-011012410.1186/1471-2105-10-24An innovative approach for testing bioinformatics programs using metamorphic testingLiu HuaiHo Joshua WKChen TsongXie Xiaoyuan<p>Abstract</p> <p>Background</p> <p>Recent advances in experimental and computational technologies have fueled the development of many sophisticated bioinformatics programs. The correctness of such programs is crucial as incorrectly computed results may lead to wrong biological conclusion or misguide downstream experimentation. Common software testing procedures involve executing the target program with a set of test inputs and then verifying the correctness of the test outputs. However, due to the complexity of many bioinformatics programs, it is often difficult to verify the correctness of the test outputs. Therefore our ability to perform systematic software testing is greatly hindered.</p> <p>Results</p> <p>We propose to use a novel software testing technique, metamorphic testing (MT), to test a range of bioinformatics programs. Instead of requiring a mechanism to verify whether an individual test output is correct, the MT technique verifies whether a pair of test outputs conform to a set of domain specific properties, called metamorphic relations (MRs), thus greatly increases the number and variety of test cases that can be applied. To demonstrate how MT is used in practice, we applied MT to test two open-source bioinformatics programs, namely GNLab and SeqMap. In particular we show that MT is simple to implement, and is effective in detecting faults in a real-life program and some artificially fault-seeded programs. Further, we discuss how MT can be applied to test programs from various domains of bioinformatics.</p> <p>Conclusion</p> <p>This paper describes the application of a simple, effective and automated technique to systematically test a range of bioinformatics programs. We show how MT can be implemented in practice through two real-life case studies. Since many bioinformatics programs, particularly those for large scale simulation and data analysis, are hard to test systematically, their developers may benefit from using MT as part of the testing strategy. Therefore our work represents a significant step towards software reliability in bioinformatics.</p> http://www.biomedcentral.com/1471-2105/10/24
collection DOAJ
language English
format Article
sources DOAJ
author Liu Huai
Ho Joshua WK
Chen Tsong
Xie Xiaoyuan
spellingShingle Liu Huai
Ho Joshua WK
Chen Tsong
Xie Xiaoyuan
An innovative approach for testing bioinformatics programs using metamorphic testing
BMC Bioinformatics
author_facet Liu Huai
Ho Joshua WK
Chen Tsong
Xie Xiaoyuan
author_sort Liu Huai
title An innovative approach for testing bioinformatics programs using metamorphic testing
title_short An innovative approach for testing bioinformatics programs using metamorphic testing
title_full An innovative approach for testing bioinformatics programs using metamorphic testing
title_fullStr An innovative approach for testing bioinformatics programs using metamorphic testing
title_full_unstemmed An innovative approach for testing bioinformatics programs using metamorphic testing
title_sort innovative approach for testing bioinformatics programs using metamorphic testing
publisher BMC
series BMC Bioinformatics
issn 1471-2105
publishDate 2009-01-01
description <p>Abstract</p> <p>Background</p> <p>Recent advances in experimental and computational technologies have fueled the development of many sophisticated bioinformatics programs. The correctness of such programs is crucial as incorrectly computed results may lead to wrong biological conclusion or misguide downstream experimentation. Common software testing procedures involve executing the target program with a set of test inputs and then verifying the correctness of the test outputs. However, due to the complexity of many bioinformatics programs, it is often difficult to verify the correctness of the test outputs. Therefore our ability to perform systematic software testing is greatly hindered.</p> <p>Results</p> <p>We propose to use a novel software testing technique, metamorphic testing (MT), to test a range of bioinformatics programs. Instead of requiring a mechanism to verify whether an individual test output is correct, the MT technique verifies whether a pair of test outputs conform to a set of domain specific properties, called metamorphic relations (MRs), thus greatly increases the number and variety of test cases that can be applied. To demonstrate how MT is used in practice, we applied MT to test two open-source bioinformatics programs, namely GNLab and SeqMap. In particular we show that MT is simple to implement, and is effective in detecting faults in a real-life program and some artificially fault-seeded programs. Further, we discuss how MT can be applied to test programs from various domains of bioinformatics.</p> <p>Conclusion</p> <p>This paper describes the application of a simple, effective and automated technique to systematically test a range of bioinformatics programs. We show how MT can be implemented in practice through two real-life case studies. Since many bioinformatics programs, particularly those for large scale simulation and data analysis, are hard to test systematically, their developers may benefit from using MT as part of the testing strategy. Therefore our work represents a significant step towards software reliability in bioinformatics.</p>
url http://www.biomedcentral.com/1471-2105/10/24
work_keys_str_mv AT liuhuai aninnovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT hojoshuawk aninnovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT chentsong aninnovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT xiexiaoyuan aninnovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT liuhuai innovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT hojoshuawk innovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT chentsong innovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
AT xiexiaoyuan innovativeapproachfortestingbioinformaticsprogramsusingmetamorphictesting
_version_ 1724974348675055616