Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020....
Transcript of Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020....
![Page 1: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/1.jpg)
Moldable scenario editorMaster thesis final presentation, Bern University F2020
Ivan Kravchenko
Supervised by Nitish Patkar, Andrei Chiş and Nataliia Stulova
![Page 2: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/2.jpg)
Problem
How can business idea be reflected in documentation and code?
• Code is often poorly described• Idea to implementation flow spans through many tools and
instruments• Ubiquitous language is hard to develop and manage for a variety of
business requirements
2
![Page 3: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/3.jpg)
Agile idea
Iterative business processSmall iterations Many interested process participants
3
![Page 4: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/4.jpg)
Testing helps to assert that implementation is not outdated and still conforms to the requirements.
4
![Page 5: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/5.jpg)
Tests need an environment
5
ProductionTests on stage/test
Difficult to manage and repeat
![Page 6: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/6.jpg)
6
Tests as specifications
Executable anytime, easily repeatable
Executable specification Code
![Page 7: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/7.jpg)
BDD
7
![Page 8: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/8.jpg)
Research question 1
8
What are the limitations of the BDD tools regarding software behavior specification?
We analyzed 14 BDD tools :Cucumber, FitNesse, Jbehave, Concordion, SpecFlow, Spock, Rspec, Mspec, LightBDD, ScalaTest, Specs2, Jgiven, phpspec, Gauge
![Page 9: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/9.jpg)
9
DemoCucumber
![Page 10: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/10.jpg)
Main observations
10
1. Input and Output are strictly defined
2. Two ways of writing specifications:
• plain text language and 'glue code’
• code with annotations
3. Test output is pass or fail; best case – customized report (colors, charts, coverage)
4. Providing objects as an input in a scenario is not very common
5. Code generation is not possible
6. No tools provide a graphical representation of specifications
![Page 11: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/11.jpg)
Research question 2
11
How can we closely couple specification and implementation andwhat advantages does it give over existing tools?
Unite documentation and implementationUser-friendly scenario editingCode generation
![Page 12: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/12.jpg)
12
Demo
![Page 13: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/13.jpg)
13
Results
Connect requirements and behaviorAllow users experiment with propertiesGenerate code based on user inputScenario editor and creator
![Page 14: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/14.jpg)
14
Future workReduce test development time by writing less ‘glue’ code
Think of unified way of defining ubiquitous language
Composable parameterized examples
Visual UI improvements
Default object views for widget elements
![Page 15: Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University](https://reader036.fdocuments.net/reader036/viewer/2022071507/61285a1030b2d85cb928ee2a/html5/thumbnails/15.jpg)
15
Summary