Testing a binary space partitioning algorithm with metamorphic testing

Surface visibility problem is a well known problem in computer graphics. The problem is to decide the visibility of an object surface to a viewer in a space. Binary Space Partitioning tree (BSP tree) has been proposed to enable efficient determination of surface visibility. The BSP tree has also been used to solve many problems, such as collision detection, ray tracing and solid modelling. As a consequence of the extensive applications of the BSP tree, it is important to ensure the correctness of its implementation. In this paper, we report our experience of testing software that deals with the surface visibility using the BSP tree. We demonstrate how we analysed the software behaviour, selected test cases to reveal a real-life software failure, and debugged the program to fix the fault. This study provides insight into testing of other BSP-tree related algorithms.

[1]  Gail E. Kaiser,et al.  Automatic system testing of programs without test oracles , 2009, ISSTA.

[2]  I. Wald,et al.  Ray tracing with the BSP tree , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[3]  Henry Fuchs,et al.  On visible surface generation by a priori tree structures , 1980, SIGGRAPH '80.

[4]  Gail E. Kaiser,et al.  Using JML Runtime Assertion Checking to Automate Metamorphic Testing in Applications without Test Oracles , 2009, 2009 International Conference on Software Testing Verification and Validation.

[5]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[6]  Joseph S. B. Mitchell,et al.  Binary space partitions for axis-parallel segments, rectangles, and hyperrectangles , 2001, SCG '01.

[7]  Norman Chin A Walk through BSP Trees , 1995 .

[8]  Joseph S. B. Mitchell,et al.  Binary Space Partitions for Axis-Parallel Segments, Rectangles, and Hyperrectangles , 2004, Discret. Comput. Geom..

[9]  John Amanatides,et al.  Merging BSP trees yields polyhedral set operations , 1990, SIGGRAPH.

[10]  Guangquan Zhang,et al.  Metamorphic testing of decision support systems: a case study , 2010, IET Softw..

[11]  Sergio Segura,et al.  Automated Test Data Generation on the Analyses of Feature Models: A Metamorphic Testing Approach , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[12]  Arnaud Gotlieb,et al.  Automated metamorphic testing , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[13]  Tsong Yueh Chen,et al.  Automated functional testing of online search services , 2012, Softw. Test. Verification Reliab..