Wed 17 Jul 2019 13:30 - 14:00 at Epernay - Testing

In testing stateful abstractions, it is often necessary to record interactions, such as method invocations, and express assertions over these interactions. Following the Test Spy design pattern, we can reify such interactions programmatically through additional mutable state. Alternatively, a mocking framework, such as Mockito, can automatically generate test spies that allow us to record the interactions and express our expectations in a declarative domain-specific language. According to our study of the test code for Scala’s Iterator trait, the latter approach can lead to a significant reduction of test code complexity in terms of metrics such as code size (in some cases over 70% smaller), cyclomatic complexity, and amount of additional mutable state required. In this tools paper, we argue that the resulting test code is not only more maintainable, readable, and intentional, but also a better stylistic match for the Scala community than manually implemented, explicitly stateful test spies.

Wed 17 Jul

Displayed time zone: Belfast change

13:30 - 15:10
TestingScala at Epernay
13:30
30m
Short-paper
Tests as Maintainable Assets Via Auto-generated Spies
Scala
Konstantin Läufer Loyola University Chicago, John O'Sullivan Loyola University Chicago, George K. Thiruvathukal Loyola University Chicago and Argonne National Laboratory
14:00
30m
Short-paper
SoCRATES - Scala Radar for Test Smells
Scala
Jonas De Bleser Sofware Languages Lab, Vrije Universiteit Brussel, Dario Di Nucci Vrije Universiteit Brussel, Coen De Roover Vrije Universiteit Brussel
14:30
20m
Talk
Resilience Testing of Akka Systems
Scala
Jonas De Bleser Sofware Languages Lab, Vrije Universiteit Brussel
14:50
20m
Talk
TaintSpy: Runtime Vulnerability Analyzing Framework for Scala
Scala
Mohammadreza Ashouri University of Potsdam, Germany