A Regression Testing Framework for QEMU-based System and Software Development

碩士 === 國立交通大學 === 資訊科學與工程研究所 === 101 === With the help of software testing techniques, we are able to find potential defects along the execution path of programs, and reduce the software quality in the software system. However, to handle test cases for a large scale program using current software te...

Full description

Bibliographic Details
Main Authors: Lin, Po-Chien, 林伯謙
Other Authors: Huang, Shih-Kun
Format: Others
Language:en_US
Published: 2013
Online Access:http://ndltd.ncl.edu.tw/handle/73703031359544651483
Description
Summary:碩士 === 國立交通大學 === 資訊科學與工程研究所 === 101 === With the help of software testing techniques, we are able to find potential defects along the execution path of programs, and reduce the software quality in the software system. However, to handle test cases for a large scale program using current software testing technique, it still requires much human efforts and manual intervention to operate, manage software and hardware resources. We currently perform testing and experiments by QEMU-based system tools in an automatic way. However, other processes are still in manual way, including the system environment setting up, input data feeding, result analysis and verification. This hinders us from performing large scale and comprehensive testing. The concept of "regression testing" is to perform the same testing repeatedly, which will help programmers test the integrity of functionalities or efficiency improvements after modifying or tuning the programs in the development stage. By the concept of "cloud computing", we can abstract away the testing platform from the hardware resources restriction by virtualization technique. Our platform is therefore able to manage large scale testing without reorganizing the architecture if we have sufficient and available hardware resources. We propose to manage the software regression testing process by the cloud implementation of a testing framework. We have first deployed the testing framework in the environments on Linux and Windows, and then Android-x86. The process of regression testing has been automated by performing several testing benchmarks which originally take several days to complete, needing much human efforts. The results reveal that our framework implementation can carry out an applicable and large scale testing in a cloud environment.