Effective use of scientific workflows can be difficult. Long runtimes can make debugging time-consuming, interfaces between components must be clearly defined and enforced, and verification can be difficult to perform on the large datasets common to scientific workflows. To address these challenges, we propose introducing software testing to the workflow environment. We outline the requirements for an automated testing system which will provide dynamic interface testing; specifically, testing of input and output files which define the interfaces in a scientific workflow. We proceed to design and implement such a system to provide verification of intermediate and final workflow products. The efficacy and performance of our solution is examined by applying it to CyberShake, a real-world scientific workflow investigating probabilistic seismic hazard analysis. We suggest that by integrating verification tests into scientific workflows, developer and computational resources can be used more efficiently.constructing thorough test sets for unit testing . The units in a scientific workflow are the individual components. ... Frequently, it is not practical for the workflow creator to develop unit tests, as the workflow creator may not have been involved in module development and therefore would not be able to ... needed, since different kinds of errors can be detected here . ... System testing is end-to -end testing of the entire application, to verify that the system meets its specifications [4, 5].
|Title||:||An Automated Testing System for Scientific Workflows|
|Author||:||Scott Andrew Callaghan|
|Publisher||:||ProQuest - 2007|