Skip to Main content Skip to Navigation

Génération automatique de tests unitaires avec Praspel, un langage de spécification pour PHP

Abstract : The works presented in this memoir are about the validation of PHPprograms through a new specification language, along with its tools. These works follow three axes: specification language, automatic test data generation and automatic unit test generation. The first contribution is Praspel, a new specification language for PHP, based on the Design by Contract. Praspel specifies data with realistic domains, which are new structures allowing to validate and generate data. Based on a contract, we are able to perform Contract-based Testing, i.e.using contracts to automatically generate unit tests. The second contribution isabout test data generation. For booleans, integers and floating point numbers, auniform random generation is used. For arrays, a dedicated constraint solver has been implemented and used. For strings, a grammar description language along with an LL(⋆) compiler compiler and several algorithms for data generation are used. Finally, the object generation is supported. The third contribution defines contract coverage criteria. These latters provide test objectives. All these contributions are implemented and experimented into tools distributed to the PHP community.
Document type :
Complete list of metadata

Cited literature [103 references]  Display  Hide  Download
Contributor : ABES STAR :  Contact
Submitted on : Wednesday, October 19, 2016 - 10:01:09 AM
Last modification on : Thursday, January 13, 2022 - 12:00:20 PM


Version validated by the jury (STAR)


  • HAL Id : tel-01093355, version 2


Ivan Enderlin. Génération automatique de tests unitaires avec Praspel, un langage de spécification pour PHP. Informatique et langage [cs.CL]. Université de Franche-Comté, 2014. Français. ⟨NNT : 2014BESA2067⟩. ⟨tel-01093355v2⟩



Record views


Files downloads