단위테스트를 위한 레거시소프트웨어시스템의 재구성 기법
A Restructuring Technique of Legacy Software Systems for Unit Testing
1
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
레거시소프트웨어시스템을 유지 및 보수하는 작업은 소프트웨어 공학 분야에서 중요한 화두이다. 그리고 유지 및 보수 과정에 있어 회귀 테스트는 소프트웨어의 변경에 따른 기능적 동작이 올바른지 확인한다. 그러나 기존의 회귀 테스트는 대부분 시스템 레벨에서 접근이 되었으며 단위테스트 레벨에서는 준비된 테스트 케이스가 없어서 적용이 어려웠다. 본 논문에서는 단위테스트 케이스들을 구현하고 자산화하기 위해서 기존의 레거시소프트웨어시스템을 재구성하는 기법을 제안한다. 그리고 이를 실제 개발 과제의 특정 모듈에 적용하고 그 테스트 커버리지 결과를 분석하였다. 향후 본 논문에서 제시하는 방안을 기반으로 재구성 자동화 기법 및 테스트 케이스 자동화 생성에 대한 연구가 지속된다면 레거시소프트웨어시스템의 유지 및 보수에 큰 발전을 기대할 수 있을 것이다.
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 behaviorpreserving 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.
참고문헌 (15)
- Girish Parikh, "Exploring the world of software maintenance: what is software maintenance?", ACM SIGSOFT Software Engineering Notes, 11(2), pp.49~52 (1998)
- David Saff, "Test factoring: focusing test suites for the task at hand", Proceedings of the 27th international conference on Software engineering, pp.656~656
- "Wikipedia Dictionary Available at URL"[URL]
- "David Bernstein Available at URL"[URL]
- "Wikipedia Dictionary Available at URL"[URL]
- "SF.net Available at URL"[URL]
- "Wikipedia Dictionary Available at URL"[URL]
- Tom Mens, "A Survey of Software Refactoring", IEEE Transactions On Software Engineering (2004)
- "Wikipedia Dictionary Available at URL"[URL]
- "Bullseye Testing Technology Available at URL"[URL]
- "Wikipedia Dictionary Available at URL"[URL]
- Yong Rae Kwon, "Department of Computer Science Korea Advanced Institute of Science and Technology, “Test Case Evaluation.”", ~
- Bret Pettichord, "Design for Testability", Pacific Northwest Software Quality Conference (2002)
- Harry M. Sneed, "Reengineering for Testability", Workshop on Software Reengineering(WSR), (2006)
- "Wikipedia Dictionary Available at URL:"[URL]
