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 条
  • [1] Applications in Data-Intensive Computing
    Shah, Anuj R.
    Adkins, Joshua N.
    Baxter, Douglas J.
    Cannon, William R.
    Chavarria-Miranda, Daniel G.
    Choudhury, Sutanay
    Gorton, Ian
    Gracio, Deborah K.
    Halter, Todd D.
    Jaitly, Navdeep D.
    Johnson, John R.
    Kouzes, Richard T.
    Macduff, Matthew C.
    Marquez, Andres
    Monroe, Matthew E.
    Oehmen, Christopher S.
    Pike, William A.
    Scherrer, Chad
    Villa, Oreste
    Webb-Robertson, Bobbie-Jo
    Whitney, Paul D.
    Zuljevic, Nino
    [J]. ADVANCES IN COMPUTERS, VOL 79, 2010, 79 : 1 - 70
  • [2] Metacomputing and data-intensive applications
    Messina, P
    [J]. WORLDWIDE COMPUTING AND ITS APPLICATIONS, 1997, 1274 : 226 - 236
  • [3] Data replication techniques for data-intensive applications
    No, Jaechun
    Park, Chang Won
    Park, Sung Soon
    [J]. COMPUTATIONAL SCIENCE - ICCS 2006, PT 4, PROCEEDINGS, 2006, 3994 : 1063 - 1070
  • [4] Analysis of Big Data for Data-Intensive Applications
    Dave, Meenu
    Gianey, Hemant Kumar
    [J]. 2016 INTERNATIONAL CONFERENCE ON RECENT ADVANCES AND INNOVATIONS IN ENGINEERING (ICRAIE), 2016,
  • [5] Accelerating Biomedical Data-Intensive Applications using MapReduce
    Han, Liangxiu
    Ong, Hwee Yong
    [J]. 2012 ACM/IEEE 13TH INTERNATIONAL CONFERENCE ON GRID COMPUTING (GRID), 2012, : 49 - 57
  • [6] Managing Data-Intensive Applications in the Cloud
    Pei, Jian
    [J]. COMPUTER, 2014, 47 (07) : 6 - 6
  • [7] Static Analysis of Data-Intensive Applications
    Nagy, Csaba
    [J]. PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 435 - 438
  • [8] Verification of Data-intensive Web Applications
    Gao, Ju
    Zeng, Hongwei
    Feng, Zhenhua
    [J]. ICMECG: 2009 INTERNATIONAL CONFERENCE ON MANAGEMENT OF E-COMMERCE AND E-GOVERNMENT, PROCEEDINGS, 2009, : 370 - 375
  • [9] Parallel data-intensive algorithms and applications
    Talia, D
    Srimani, PK
    [J]. PARALLEL COMPUTING, 2002, 28 (05) : 669 - 671
  • [10] Maintaining Consistency in Data-Intensive Cloud Computing Environment
    Basu, Sruti
    Pattnaik, Prasant Kumar
    [J]. PROGRESS IN COMPUTING, ANALYTICS AND NETWORKING, ICCAN 2017, 2018, 710 : 257 - 264