FIT refactoring improving the quality of FIT acceptance test /

by Liu, Xu.

Abstract (Summary)

Joseph Chao, Advisor
Acceptance tests are formal testing conducted to determine whether a system satisfies its
acceptance criteria or not and whether the acquirer should accept the system or not. A suite of
acceptance tests for large projects might include a large number of test cases; therefore,
automation of acceptance test is in great demand. Framework for Integrated Tests (FIT) is a
popular tool employed in Agile Software Development to automate acceptance tests. Its most
attractive feature is that it uses customer readable tables as test cases so that customers can write
test cases. Refactoring is the process of restructuring or rewriting code without changing its
interface and functionality. Refactoring make the code easier to read, understand and maintain,
and sometime helps to improve the performance of the system. In a typical project that uses FIT
as an acceptance test tool, the size of FIT acceptance tests grows as the size of system code
grows, and the acceptance design may go far away from the original design (this may happen in
any project, not restricted in a project using FIT). At this stage, it would be difficult to read and
maintain the FIT acceptance test, and it is time to improve the quality of the acceptance test.
In this research, we introduce the concept and reveal the importance of FIT Refactoring.
Several FIT Refactoring methods are introduced as examples to show the needs of FIT
Refactoring and the methods how it can be accomplished. Of course, the methods given here are
some obvious refactoring methods, and new methods can be discovered in further research. We
iii
also discuss the proper time to do FIT refactoring and proper efforts that should be devoted in it.
The similarities and differences between system code refactoring and FIT acceptance test
refactoring are also one part of the research. During the research, there are some unexpected
findings. One of them is that sometimes, the bad code in FIT acceptance test indicates bad code
in the system code.
iv