15
Moldable scenario editor Master thesis final presentation, Bern University F2020 Ivan Kravchenko Supervised by Nitish Patkar, Andrei Chiş and Nataliia Stulova

Moldable scenario editor - SCG: SCGscg.unibe.ch/download/softwarecomposition/2020-06-23... · 2020. 7. 9. · Moldable scenario editor Master thesis final presentation, Bern University

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15

Summary