i-nth logo

Authors

Margaret Burnett, Andrei Sheretov, Bing Ren, & Gregg Rothermel

Abstract

Although there has been recent research into ways to design environments that enable end users to create their own programs, little attention has been given to helping these end users systematically test their programs.

To help address this need in spreadsheet systems - the most widely used type of end-user programming language - we previously introduced a visual approach to systematically testing individual cells in spreadsheet systems. However, the previous approach did not scale well in the presence of largely homogeneous grids, which introduce problems somewhat analogous to the array-testing problems of imperative programs.

In this paper, we present two approaches to spreadsheet testing that explicitly support such grids. We present the algorithms, time complexities, and performance data comparing the two approaches. This is part of our continuing work to bring to end users at least some of the benefits of formalized notions of testing without requiring knowledge of testing beyond a naive level.

Sample

In the WYSIWYT methodology every cell in the spreadsheet is considered to be untested when it is first created, except input cells (cells whose formulas may contain constants and operators, but no cell references and no if-expressions).

The testing process is as follows:

  • Whenever the user notices a correct value, he or she lets the system know of this decision by clicking in the validation checkbox in its right corner. This lets the system track judgments of correctness, propagate the implications of these judgments to cells that contributed to the computation of the validated cell's value, and reflect this increase in "testedness".
  • On the other hand, whenever the user notices an incorrect value, rather than checking it off, he or she eventually finds the faulty formula and fixes it. This formula edit means that affected cells will now have to be retested; the system is aware of which ones those are and recolors their borders more red (lighter gray), denoting more "untested."

Publication

2002, IEEE Transactions on Software Engineering, Volume 28, Number 6, June, pages 576-594

Full article

Testing homogeneous spreadsheet grids with the 'What You See Is What You Test' methodology