Regression Testing For zlomekFS
Regression Testing For zlomekFS
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/14839Identifiers
Study Information System: 45534
Collections
- Kvalifikační práce [11216]
Author
Advisor
Referee
Yaghob, Jakub
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Software Engineering
Date of defense
26. 5. 2008
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Very good
ZlomekFS je distribuovaný systém souborů určený k transparentnímu sdílení adresářových stromů. Tato práce popisuje tvorbu systému regresního testování pro ZlomekFS. Práce shrnuje metody používané k testování softwaru podobného ZlomekFS a na jejich základě vytváří samostatný systém regresního testování. Systém sestává z šesti částí: (1) knihovny pro unit testing kódu psaného v jazyce C, která poskytuje automatické vyhledávání testů s minimalistickým rozhraním, (2) logovacího frameworku s rozhraním pro jazyky C a Python, který podporuje fi ltrování a vzdálené ovládání, (3) generátoru náhodné zátěže pro vytváření náhodných testovacích sekvencí pomocí grafu závislosti s podporou reprodukování a zmenšování zátěže vedoucí k chybě, (4) systému pro kontrolu testování a hlášení výsledků testů, (5) repozitáře pro ukládání výsledků s webovým uživatelským rozhraním, (6) serveru pro automatické sestavování a testování.
ZlomekFS is a distributed lesystem for transparent sharing of directory trees. This thesis describes how regression testing for ZlomekFS was built. The thesis summarizes software testing methods in the context of ZlomekFS and proceeds to build an actual testing system for ZlomekFS, consisting of six parts: (1) a unit testing framework for C code with an automatic test discovery and a minimalistic interface, (2) a logging facility with C and Python interfaces, with ltering and remote control, (3) workload generator for random test sequences generated from an operation dependency graph with support for failure reproduction and trace reduction, (4) test controlling and reporting framework, (5) test result repository with web user interface, (6) continuous integration server for automatic builds and tests.