Quickstrom: Property-Based Acceptance Testing with LTL Specifications

被引:5
作者
O'Connor, Liam [1 ]
Wickstrom, Oskar [2 ]
机构
[1] Univ Edinburgh, Edinburgh, Midlothian, Scotland
[2] Monoid Consulting, Malmo, Sweden
来源
PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22) | 2022年
关键词
property-based testing; linear temporal logic; web applications;
D O I
10.1145/3519939.3523728
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Quickstrom, a property-based testing system for acceptance testing of interactive applications. Using Quickstrom, programmers can specify the behaviour of web applications as properties in our testing-oriented dialect of Linear Temporal Logic (LTL) called QuickLTL, and then automatically test their application against the given specification with hundreds of automatically generated interactions. QuickLTL extends existing finite variants of LTL for the testing use-case, determining likely outcomes from partial traces whose minimum length is itself determined by the LTL formula. This temporal logic is embedded in our specification language, Specstrom, which is designed to be approachable to web programmers, expressive for writing specifications, and easy to analyse. Because Quickstrom tests only user-facing behaviour, it is agnostic to the implementation language of the system under test. We therefore formally specify and test many implementations of the popular TodoMVC benchmark, used for evaluation and comparison across various web front-end frameworks and languages. Our tests uncovered bugs in almost half of the available implementations.
引用
收藏
页码:1025 / 1038
页数:14
相关论文
共 40 条
[1]   DEFINING LIVENESS [J].
ALPERN, B ;
SCHNEIDER, FB .
INFORMATION PROCESSING LETTERS, 1985, 21 (04) :181-185
[2]   LEARNING REGULAR SETS FROM QUERIES AND COUNTEREXAMPLES [J].
ANGLUIN, D .
INFORMATION AND COMPUTATION, 1987, 75 (02) :87-106
[3]  
[Anonymous], 2021, TODOMVC BENCHMARK
[4]  
[Anonymous], 2014, Lecture Notes in Computer Science
[5]  
[Anonymous], 2021, SELENIUM WEBDRIVER
[6]  
[Anonymous], 2021, ELM PROGRAMMING LANG
[7]  
Arts T, 2015, IEEE ICST WORKSHOP
[8]  
Bacchus F, 1996, FR ART INT, V31, P141
[9]  
Bainczyk Alexander, 2017, ModelEd, TestEd, TrustEd - Essays Dedicated to Ed Brinksma on the Occasion of His 60th Birthday. LNCS 10500, P125, DOI 10.1007/978-3-319-68270-9_7
[10]  
Ballesteros M.M., 2011, Policy Notes No.2011-02, P1