Hostname: page-component-89b8bd64d-7zcd7 Total loading time: 0 Render date: 2026-05-07T07:58:21.620Z Has data issue: false hasContentIssue false

Property-Based Testing for Spark Streaming

Published online by Cambridge University Press:  19 February 2019

A. RIESCO*
Affiliation:
Universidad Complutense de Madrid, Madrid 28040, Spain (e-mail: ariesco@fdi.ucm.es)
J. RODRÍGUEZ-HORTALÁ
Affiliation:
(e-mail: juan.rodriguez.hortala@gmail.com)

Abstract

Stream processing has reached the mainstream in the last years, as a new generation of open-source distributed stream processing systems, designed for scaling horizontally on commodity hardware, has brought the capability for processing high-volume and high-velocity data streams to companies of all sizes. In this work, we propose a combination of temporal logic and property-based testing (PBT) for dealing with the challenges of testing programs that employ this programming model. We formalize our approach in a discrete time temporal logic for finite words, with some additions to improve the expressiveness of properties, which includes timeouts for temporal operators and a binding operator for letters. In particular, we focus on testing Spark Streaming programs written with the Spark API for the functional language Scala, using the PBT library ScalaCheck. For that we add temporal logic operators to a set of new ScalaCheck generators and properties, as part of our testing library sscheck.

Information

Type
Original Article
Copyright
© Cambridge University Press 2019 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable

Supplementary material: PDF

Riesco and Rodríguez-Hortalá supplementary material

Riesco and Rodríguez-Hortalá supplementary material 1

Download Riesco and Rodríguez-Hortalá supplementary material(PDF)
PDF 289.2 KB