Abstraction
legacy code를 refactoring한다고 가정을 해 본다. 이 때에 고려할 것이 behavior-preserving이다. 이를 위해서 unit testcase가 중요하다. legacy code기반 unit test case execution을 위한 test framework가 다수 존재하며 cppunit, junit등이 있다. 그러나 이들을 사용하여 legacy 기반의 tc를 만들때 mock생성의 제약을 받게 된다. 왜냐하면 mock의 prototype이 legacy 기반 module의 prototype과 일치할 경우 collision이 발생하기 때문이다. 이 경우 legacy code를 1차적으로 testability를 고려하여 refactoring해 줄 필요가 있다. 본 논문에서는 이러한 방법으로 test 대상 module간의 interaction을 adapter function을 통해서 행해지기를 제시한다. 이러할 경우 test case수행시에 mock혹은 legacy based original module간 선택적 사용이 가능할 것으로 기대한다.
Introduction
기존문제는 무엇인가?
가전(사) 테스팅 사례 소개
관련연구
refactoring, testability를 위한 설계
연구방법
1. 기존의 방법 소개
2. 신규적용방법소개
test 대상 모듈 선정
refactoring수행
unit test case작성
test case execution
3. 결과비교
Evaluation
Conclusion