WYSIWYT
Overview
The What You See Is What You Test (WYSIWYT) methodology helps users test their spreadsheets while they're creating them. As a user develops a
spreadsheet, he or she can also test that spreadsheet incrementally yet systematically. At any point in the process of developing the
spreadsheet, the user can validate any value that he or she notices is correct.
Behind the scenes, these validations are used to
measure the quality of testing in terms of a test adequacy criterion. These measurements are then projected to the user via several
different visual devices, to help them direct their testing activities.
WYSIWYT has been investigated using both a research spreadsheet
language known as Forms/3
(which was used for the example) and using Excel.
It has
also been investigated to some extent in its fit with dataflow languages and screen-transition languages. Investigations of its fit with other types of end-user programming environments are also underway.
Figure 1 (a)
Figure 1 (b)
Figure 1 (c)
Figure 2
WYSIWYT Example
For example, suppose that a teacher is creating a student grades spreadsheet, as in Figure 1(a).
During this process, whenever the
teacher notices that a value in a cell is correct, she can check it off ("validate" it). The checkmark provides feedback,
and later
reminds the teacher that the cell's value has been validated under current inputs. (Empty boxes and question marks in boxes are also
possible: both indicate that the cell's value has not been validated under the current inputs. In addition, the question mark
indicates that validating the cell would increase testedness.)
A second, more important, result of the teacher's validation action is that the colors of the validated cell's borders become more
blue, indicating that data dependencies between the validated cell and cells it references have been exercised in producing the
validated values. From the border colors, the teacher is kept informed of which areas of the spreadsheet are tested and to what
extent. Thus, in the figure, row 4's Letter cell's border is partially blue (purple), because some of the dependencies ending at that
cell have now been tested. Testing results also flow upstream against dataflow to other cells whose formulas have been used in
producing a validated value. In our example, all dependencies ending in row 4's Course cell have now been exercised, so that cell's
border is now blue.
If the teacher chooses, she can also view dependencies by displaying dataflow arrows between cells or between subexpressions in
formulas. In Figure 1(b), she has chosen to view dependencies ending at row 4's Letter cell. These arrows follow the same color
scheme as the cell borders.
Suppose that in the process of testing, the teacher notices that row 5's Letter grade ("A") is incorrect. There must be
some error in at least one of the teacher's formulas, but which one? The teacher indicates that row 5'2 Letter grade is erroneous
by placing an X mark in it. Row 5's Course average is obviously also erroneous, so she X's that one too. As Figure 1(c) shows,
both cells now contain pink interiors, but Course is darker than Letter because Course contributed to two incorrect values (its
own and Letter's) whereas Letter contributed to only its own. These colorings reflect the likelihood that the cell formulas
contain faults, with darker shades reflecting greater likelihood.
Although the teacher need not realize it, the colors that result from placing checkmarks reflect the use of a definition-use test
adequacy criterion that tracks the data dependencies between cell formulas caused by references to other cells. Testing a program
"perfectly" (well enough to guarantee detecting all faults) in general requires too many inputs; a test adequacy criterion
provides a
way to distribute testing effort across elements of the program. In the spreadsheet paradigm we say that a cell is fully tested if
all its data dependencies have been covered by tests; those cells have their borders painted blue. Cells for which dependencies have
not been fully covered have borders ranging from red to various shades of purple. This overall testing process is similar to the
process used by professional programmers in "white box" unit testing, in which inputs are applied until some level of code
coverage
has been achieved. In the spreadsheet environment, however, the process is truly incremental, bearing some similarity to test-driven
development approaches. These considerations, along with the testing theory underlying this methodology, are described in detail in
this paper.
WYSIWYT Example in Excel
A research prototype of WYSIWYT is also being developed in Excel. See Figure 2.
People
Publications
- "Garbage
In, Garbage Out? An Empirical Look at Oracle Mistakes by End-User
Programmers," Amit Phalgune, Cory Kissinger, Margaret Burnett, Curtis
Cook, Laura Beckwith, and Joseph R. Ruthruff, IEEE Symposium on Visual
Languages and Human-Centric Computing, Dallas, TX, September 2005.
- "An
Empirical Study of Fault Localization for End-User Programmers,"
Joseph R. Ruthruff, Margaret Burnett, and Gregg Rothermel, International
Conference on Software Engineering, St. Louis, MO, May 2005.
- "Interactive,
Visual Fault Localization Support for End-User Programmers," Joseph R.
Ruthruff, Shrinu Prabhakararao, James Reichwein, Curtis Cook, Eugene
Creswick, and Margaret Burnett, Journal of Visual Languages and
Computing, 16(1-2), 3-40, February/April 2005. Also available as Technical
Report # 04-60-05, Oregon State University, March 2004.
- "Rewarding
Good Behavior: End-User Debugging and Rewards," Joseph R. Ruthruff,
Amit Phalgune, Laura Beckwith, Margaret Burnett, and Curtis Cook, IEEE
Symposium on Visual Languages and Human-Centric Computing, September
2004.
- "End-User
Software Engineering," Margaret Burnett, Curtis Cook, Gregg Rothermel,
Communications of the ACM, Sept. 2004, 53-58.
- "Software
Engineering for End-User Programmers," Curtis Cook, Shreenivasarao
Prabhakararao, Martin Main, Mike Durham, Margaret Burnett, Gregg
Rothermel, CrossTalk: The Journal of Defense Software Engineering, June
2004, 20-23.
- "Strategies
and Behaviors of End-User Programmers with Interactive Fault
Localization," S. Prabhakararao, C. Cook, J. Ruthruff, E. Creswick,
M. Main, M. Durham, and M. Burnett, IEEE Symposium on Human-Centric
Computing Languages and Environments, Auckland, New Zealand, October 2003,
15-22.
- "Generalizing WYSIWYT Visual Testing to Screen Transition
Languages," Darren Brown, Margaret Burnett, Gregg Rothermel, Hamid
Fujita, Fumio Negoro, IEEE Symposium on Human-Centric Computing Languages
and Environments, Auckland, New Zealand, October 2003, 203-210.
- "End-User
Software Visualizations for Fault Localization," J. Ruthruff, E.
Creswick, M. Burnett, C. Cook, S. Prabhakararao, M. Fisher II, M. Main,
ACM Symposium on Software Visualization, San Diego, CA, June 2003, pp.
123-132.
- "Test
Reuse in the Spreadsheet Paradigm," Marc Fisher II, Dalai Jin, Gregg
Rothermel, Margaret Burnett, IEEE International Symposium on Software
Reliability Engineering, to November 2002.
- "Testing
Homogeneous Spreadsheet Grids with the 'What You See Is What You Test'
Methodology," M. Burnett, A. Sheretov, B. Ren, G. Rothermel, IEEE
Trans. Software Engineering, June 2002, 576-594.
- "Automated
Test Case Generation for Spreadsheets," Marc Fisher, Mingming Cao,
Gregg Rothermel, Curtis R. Cook, Margaret M. Burnett, Int'l. Conf. on
Software Engineering, Orlando, Florida, 141-151, May 19-25, 2002.
- "Incorporating
Incremental Validation and Impact Analysis into Spreadsheet Maintenance:
An Empirical Study," V. Krishna, C. Cook, D. Keller, J. Cantrell, C.
Wallace, M. Burnett, and G. Rothermel, IEEE International Conference on
Software Maintenance, November 2001, Florence, Italy.
- "Visually
Testing Recursive Programs in Spreadsheet Languages," M. Burnett, B.
Ren, A. Ko, C. Cook, and G. Rothermel, Proceedings of the IEEE Symposium
on Human-Centric Languages, September, 2001, Stresa, Italy.
- "WYSIWYT
Testing in the Spreadsheet Paradigm: An Empirical Evaluation," K. J.
Rothermel, C. R. Cook, M. M. Burnett, J. Schonfeld, T. R. G. Green, and G.
Rothermel, Proceedings of the 22nd International Conference on Software
Engineering, June, 2000, 230-239.
- "Slicing
Spreadsheets: An Integrated Methodology for Spreadsheet Testing and
Debugging," James Reichwein, Gregg Rothermel, and Margaret Burnett,
The 2nd Conference on Domain Specific Languages (DSL '99), October, 1999,
25-38.
- "Scaling
up a "What You See Is What You Test" Methodology to Spreadsheet
Grids," Margaret Burnett, Andrei Sheretov, and Gregg Rothermel, The
1999 IEEE Symposium on Visual Languages, September, 1999, 30-37.
- Intelligent Support for Testing in Languages for Blended- and End-User
Programmers, (Position Paper), Margaret Burnett, Gregg Rothermel, and
Curtis Cook, ACM CHI'99 Workshop on End-User Programmers and Blended-User
Programmers, May 1999.
- "A
Methodology for Testing Spreadsheets," Gregg Rothermel, Margaret
Burnett, Lixin Li, Christopher DuPuis, Andrei Sheretov, ACM Transactions
on Software Engineering and Methodology, V. 10, no. 1, January 2001.
- "What You See Is What You Test: A Methodology for Testing Form-Based
Visual Programs," Gregg Rothermel, Lixin Li, Christopher DuPuis, and
Margaret Burnett, The 20th International Conference on Software
Engineering, April 1998, 198-207.
- "Testing Strategies for Form-Based Visual Programs," Gregg Rothermel,
Lixin Li, and Margaret Burnett, The Eighth International Symposium on
Software Reliability Engineering, November 1997, 96-107.
- "Testing
Spreadsheets and Spreadsheet Languages," [PostScript]
Gregg Rothermel and Margaret Burnett, (white paper: provides a 1-page
overview), September 1997.
- "Does
Continuous Visual Feedback Aid Debugging in Direct-Manipulation
Programming Systems?" [pdf,
PostScript,
or gzip'd
PostScript] Eric M. Wilcox, John W. Atwood, Margaret M. Burnett, J. J.
Cadiz, Curtis R. Cook, ACM Proceedings CHI'97: Human Factors in Computing
Systems, Atlanta, GA, March 22-27, 1997.
- "A
Bug's Eye View of Immediate Visual Feedback in Direct-Manipulation
Programming Systems," [PostScript,
or gzip'd
PostScript] Curtis Cook, Margaret Burnett, and Derrick Boom, Empirical
Studies of Programmers, Alexandria, VA, October 24-26, 1997.
- "Applying
a "What You See is What You Test" (WYSIWYT) Technology to Commercial
Spreadsheet Packages: Several Scenarios," Margaret Burnett and Gregg
Rothermel.
Patents Issued and Pending
- A Methodology for Testing Spreadsheets. Inventors: Gregg Rothermel, Margaret Burnett, Lixin Li. Filed 1999 (pending).
- A Methodology for Testing Spreadsheet Grids. Inventors: Andrei Sheretov, Margaret Burnett, Gregg Rothermel. U. S. Patent Number 06766509, issued July 20, 2004.
WYSIWYT Research Sponsored By
Experimental Software Systems Award 9806821,
ITR Award 0082265,
and ITR Award 0325273
by the National Science Foundation.
|