Abstract
The maintenance of legacy software systems is very important in the field of a software engineering. In the maintenance, a regression test confirms the behavior preserving of the software which has been changed but most of regression tests are done in a system level and rarely done in a unit test level because there is no test case. This paper proposes how to modify legacy software systems and make unit test cases as an asset. It uses a technique with a specific module of a real software development project and analyzes test coverage results. After this, if a study about automatic restructuring techniques and a test case generation proceeds continuously, we can expect the big advance of legacy software systems maintenance.
레거시소프트웨어시스템을 유지 및 보수하는 작업은 소프트웨어 공학 분야에서 중요한 화두이다. 그리고 유지 및 보수 과정에 있어 회귀 테스트는 소프트웨어의 변경에 따른 기능적 동작이 올바른지 확인한다. 그러나 기존의 회귀 테스트는 대부분 시스템 레벨에서 접근이 되었으며 단위테스트 레벨에서는 준비된 테스트 케이스가 없어서 적용이 어려웠다. 본 논문에서는 단위테스트 케이스들을 구현하고 자산화하기 위해서 기존의 레거시소프트웨어시스템을 재구성하는 기법을 제안한다. 그리고 이를 실제 개발 과제의 특정 모듈에 적용하고 그 테스트 커버리지 결과를 분석하였다. 향후 본 논문에서 제시하는 방안을 기반으로 재구성 자동화 기법 및 테스트 케이스 자동화 생성에 대한 연구가 지속된다면 레거시소프트웨어시스템의 유지 및 보수에 큰 발전을 기대할 수 있을 것이다.