Improving Spreadsheet Test Practices
-
Upload
felienne-hermans -
Category
Science
-
view
427 -
download
1
description
Transcript of Improving Spreadsheet Test Practices
![Page 1: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/1.jpg)
Improving Spreadsheet Test Practices
Felienne Hermans (@felienne)
![Page 2: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/2.jpg)
Improving Spreadsheet Test Practices
Felienne Hermans (@felienne)
In this slidedeck I’ll present my research on applying test practices to spreadsheets.
![Page 3: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/3.jpg)
Improving Spreadsheet Test Practices
Felienne Hermans (@felienne)
In this slidedeck I’ll present my research on applying test practices to spreadsheets.
First of all? Why would you want or need to test a spreadsheet? It’s just that simple thing that you use to keep track of your morgage and that’s not rocket science.
![Page 4: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/4.jpg)
My vision on this is that spreadsheets are actually software.
![Page 5: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/5.jpg)
My vision on this is that spreadsheets are actually software.
And with that, I do not mean that a spreadsheet program is a piece of software.
Rather, I claim that the act of making a spreadsheet is similar to building a piece of code.
![Page 6: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/6.jpg)
My vision on this is that spreadsheets are actually software.
And with that, I do not mean that a spreadsheet program is a piece of software.
Rather, I claim that the act of making a spreadsheet is similar to building a piece of code.
There are three reasons for this:
![Page 7: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/7.jpg)
1) Structuring data is a programming act
![Page 8: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/8.jpg)
1) Structuring data is a programming act
When spreadsheet users think about what data to put where,
for instance in what table or worksheet,
they are actually modeling their domain, just as programmers do when they decide what methods to put in what class.
![Page 9: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/9.jpg)
2) Formulas are Turing complete
![Page 10: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/10.jpg)
2) Formulas are Turing complete
I built a Turing machinewith spreadsheet formulas only to prove my point:
http://www.felienne.com/?p=2974
![Page 11: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/11.jpg)
3) Spreadsheet suffer from ‘software’
problems
![Page 12: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/12.jpg)
3) Spreadsheet suffer from ‘software’
problems
![Page 13: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/13.jpg)
3) Spreadsheet suffer from ‘software’
problems
![Page 14: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/14.jpg)
3) Spreadsheet suffer from ‘software’
problems
![Page 15: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/15.jpg)
Knowing that spreadsheets are software, does that help us?
![Page 16: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/16.jpg)
In my dissertation, I researched spreadsheet smells and
refactoring
![Page 17: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/17.jpg)
Now I wonder: should we also test them?
![Page 18: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/18.jpg)
Testing seems to work for software
![Page 19: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/19.jpg)
But how do we get spreadsheet users to test?
![Page 20: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/20.jpg)
We were looking the wrong way!
![Page 21: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/21.jpg)
We were looking the wrong way!Spreadsheet users are great
testers
![Page 22: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/22.jpg)
![Page 23: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/23.jpg)
These types of tests are very common
![Page 24: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/24.jpg)
8.8%of spreadsheets contain such tests
![Page 25: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/25.jpg)
8.8%of spreadsheets contain such tests And spreadsheet
users are quite
good at testing
too!
![Page 26: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/26.jpg)
35%average ‘coverage’ of the testformulas
![Page 27: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/27.jpg)
What can we do to improve this?
![Page 28: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/28.jpg)
We built Expector, an Excel pluginthat detects existing test formulas
![Page 29: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/29.jpg)
![Page 30: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/30.jpg)
![Page 31: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/31.jpg)
![Page 32: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/32.jpg)
![Page 33: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/33.jpg)
![Page 34: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/34.jpg)
![Page 35: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/35.jpg)
![Page 36: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/36.jpg)
![Page 37: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/37.jpg)
![Page 38: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/38.jpg)
![Page 39: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/39.jpg)
![Page 40: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/40.jpg)
This view helps users understand the
‘testedness’ of their sheets
![Page 41: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/41.jpg)
![Page 42: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/42.jpg)
![Page 43: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/43.jpg)
![Page 44: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/44.jpg)
![Page 45: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/45.jpg)
![Page 46: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/46.jpg)
![Page 47: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/47.jpg)
![Page 48: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/48.jpg)
![Page 49: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/49.jpg)
![Page 50: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/50.jpg)
![Page 51: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/51.jpg)
![Page 52: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/52.jpg)
![Page 53: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/53.jpg)
![Page 54: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/54.jpg)
![Page 55: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/55.jpg)
![Page 56: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/56.jpg)
![Page 57: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/57.jpg)
![Page 58: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/58.jpg)
![Page 59: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/59.jpg)
![Page 60: Improving Spreadsheet Test Practices](https://reader033.fdocuments.us/reader033/viewer/2022061103/53fb57218d7f729c2e8b5733/html5/thumbnails/60.jpg)
Improving Spreadsheet Test Practices
Felienne Hermans (@felienne)