QuickCheck-Style Testing of Embedded Software using the PropEr Framework

 Testing is an integral part of any software development. It is important for improving the quality of any product. There are several ways of software testing and one of the most common approaches being random testing. One way of realising random testing is to write generators which can produce suit...

Full description

Bibliographic Details
Main Author: Raina, Shivani
Format: Others
Language:English
Published: Uppsala universitet, Institutionen för informationsteknologi 2012
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-168373
id ndltd-UPSALLA1-oai-DiVA.org-uu-168373
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-uu-1683732013-01-08T13:51:29ZQuickCheck-Style Testing of Embedded Software using the PropEr FrameworkengRaina, ShivaniUppsala universitet, Institutionen för informationsteknologi2012 Testing is an integral part of any software development. It is important for improving the quality of any product. There are several ways of software testing and one of the most common approaches being random testing. One way of realising random testing is to write generators which can produce suitable input data with the help of inbuilt and/or user defined data types. In this thesis, we have explored this method with the help of QuickCheck. QuickCheck is one of the first frameworks to support random testing written in Haskell. It has been subsequently ported to many other languages, including Erlang, Scala, and C. In this thesis, we have provided a similar framework for reactive embedded software (i.e., system testing) using Erlang version of QuickCheck called PropEr, where the test generator has to create complex program input streams in an online manner. The goal of this thesis is to create a framework by combining an existing QuickCheck implementation for Erlang called PropEr with WindRiver Simics which is an execution platform for embedded software. It involved design and implementation of an interface between the QuickCheck framework and the execution platform. This approach has been verified with the help of a case study. We have chosen an elevator case study for testing our implementation. We have evaluated the framework using the simulation of an elevator system, verifying a number of safety properties by systematic testing. It can be concluded that testing an embedded system using this embedded interface for QuickCheck is possible. There are many improvements that can be made to the interface with respect to providing more generic functions to evaluate the properties of embedded systems. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-168373IT ; 12 001application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description  Testing is an integral part of any software development. It is important for improving the quality of any product. There are several ways of software testing and one of the most common approaches being random testing. One way of realising random testing is to write generators which can produce suitable input data with the help of inbuilt and/or user defined data types. In this thesis, we have explored this method with the help of QuickCheck. QuickCheck is one of the first frameworks to support random testing written in Haskell. It has been subsequently ported to many other languages, including Erlang, Scala, and C. In this thesis, we have provided a similar framework for reactive embedded software (i.e., system testing) using Erlang version of QuickCheck called PropEr, where the test generator has to create complex program input streams in an online manner. The goal of this thesis is to create a framework by combining an existing QuickCheck implementation for Erlang called PropEr with WindRiver Simics which is an execution platform for embedded software. It involved design and implementation of an interface between the QuickCheck framework and the execution platform. This approach has been verified with the help of a case study. We have chosen an elevator case study for testing our implementation. We have evaluated the framework using the simulation of an elevator system, verifying a number of safety properties by systematic testing. It can be concluded that testing an embedded system using this embedded interface for QuickCheck is possible. There are many improvements that can be made to the interface with respect to providing more generic functions to evaluate the properties of embedded systems.
author Raina, Shivani
spellingShingle Raina, Shivani
QuickCheck-Style Testing of Embedded Software using the PropEr Framework
author_facet Raina, Shivani
author_sort Raina, Shivani
title QuickCheck-Style Testing of Embedded Software using the PropEr Framework
title_short QuickCheck-Style Testing of Embedded Software using the PropEr Framework
title_full QuickCheck-Style Testing of Embedded Software using the PropEr Framework
title_fullStr QuickCheck-Style Testing of Embedded Software using the PropEr Framework
title_full_unstemmed QuickCheck-Style Testing of Embedded Software using the PropEr Framework
title_sort quickcheck-style testing of embedded software using the proper framework
publisher Uppsala universitet, Institutionen för informationsteknologi
publishDate 2012
url http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-168373
work_keys_str_mv AT rainashivani quickcheckstyletestingofembeddedsoftwareusingtheproperframework
_version_ 1716530943470075904