Testing Data Consistency of Data-Intensive Applications Using QuickCheck

被引:5
|
作者
Castro, Laura M. [1 ]
Arts, Thomas [2 ]
机构
[1] Univ A Coruna, Dept Comp Sci, La Coruna, Spain
[2] Chalmers Univ, Comp Sci & Engn, Gothenburg, Sweden
关键词
Software verification; Software testing; Model Based Testing; Software Tools; QuickCheck;
D O I
10.1016/j.entcs.2011.02.010
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Many software systems are data-intensive and use a data management systems for data storage, such as Relational Database Management Systems (RDBMS). RDBMSs are used to store information in a structured manner, and to define several types of constraints on the data, to maintain basic consistency. The RDBMSs are mature, well tested, software products that one can trust to reliably store data and keep it consistent within the defined constraints. There are, however, scenarios in which passing the responsibility of consistency enforcement to the RDBMS is not convenient, or simply not possible. In such cases, the alternative is to have that responsibility at the business logic level of the system. Hence, from the point of view of testing data-intensive applications, one of the most relevant aspects is to ensure correctness of the business logic in terms of data consistency. In this article, we show how QuickCheck, a tool for random testing against specifications, can be used to test the business logic of an application to increase confidence on data integrity. We build an abstract model of the data containing the minimum information necessary to create meaningful test cases, while keeping its state substantially smaller than the data in the complete database. From the abstract model we automatically generate and execute test cases which check that data constraints are preserved.
引用
收藏
页码:41 / 62
页数:22
相关论文
共 50 条
  • [21] Model and data engineering for advanced data-intensive systems and applications
    Ouhammou, Yassine
    Bellatreche, Ladjel
    Ivanovic, Mirjana
    Abello, Alberto
    COMPUTING, 2019, 101 (10) : 1391 - 1395
  • [22] Heuristic Data Placement for Data-Intensive Applications in Heterogeneous Cloud
    Zhao, Qing
    Xiong, Congcong
    Wang, Peng
    JOURNAL OF ELECTRICAL AND COMPUTER ENGINEERING, 2016, 2016
  • [23] Data-Intensive Scalable Computing for Scientific Applications
    Bryant, Randal E.
    COMPUTING IN SCIENCE & ENGINEERING, 2011, 13 (06) : 25 - 33
  • [24] Estimating computation times of data-intensive applications
    Krishnaswamy, Shonali
    Loke, Seng Wai
    Zaslavsky, Arkady
    IEEE Distributed Systems Online, 2004, 5 (04): : 1 - 12
  • [25] IPSO: A Scaling Model for Data-Intensive Applications
    Li, Zhongwei
    Duan, Feng
    Minh Nguyen
    Che, Hao
    Lei, Yu
    Jiang, Hong
    2019 39TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS 2019), 2019, : 238 - 248
  • [26] Optimizing Interactive Development of Data-Intensive Applications
    Interlandi, Matteo
    Tetali, Sai Deep
    Gulzar, Muhammad Ali
    Noor, Joseph
    Condie, Tyson
    Kim, Miryung
    Millstein, Todd
    PROCEEDINGS OF THE SEVENTH ACM SYMPOSIUM ON CLOUD COMPUTING (SOCC 2016), 2016, : 510 - 522
  • [27] Citus: Distributed PostgreSQL for Data-Intensive Applications
    Cubukcu, Umur
    Erdogan, Ozgun
    Pathak, Sumedh
    Sannakkayala, Sudhakar
    Slot, Marco
    SIGMOD '21: PROCEEDINGS OF THE 2021 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2021, : 2490 - 2502
  • [28] Understanding performance of distributed data-intensive applications
    Miceli, Christopher
    Miceli, Michael
    Rodriguez-Milla, Bety
    Jha, Shantenu
    PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2010, 368 (1926): : 4089 - 4102
  • [29] GORDON:. AN IMPROVED ARCHITECTURE FOR DATA-INTENSIVE APPLICATIONS
    Caulfield, Adrian M.
    Grupp, Laura M.
    Swanson, Steven
    IEEE MICRO, 2010, 30 (01) : 121 - 130
  • [30] System dynamics simulations for data-intensive applications
    Neuwirth, Christian
    ENVIRONMENTAL MODELLING & SOFTWARE, 2017, 96 : 140 - 145