본문 바로가기
KERD
논문KCI 등재

단위테스트를 위한 레거시소프트웨어시스템의 재구성 기법

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)

  1. Girish Parikh, "Exploring the world of software maintenance: what is software maintenance?", ACM SIGSOFT Software Engineering Notes, 11(2), pp.49~52 (1998)
  2. David Saff, "Test factoring: focusing test suites for the task at hand", Proceedings of the 27th international conference on Software engineering, pp.656~656
  3. "Wikipedia Dictionary Available at URL"[URL]
  4. "David Bernstein Available at URL"[URL]
  5. "Wikipedia Dictionary Available at URL"[URL]
  6. "SF.net Available at URL"[URL]
  7. "Wikipedia Dictionary Available at URL"[URL]
  8. Tom Mens, "A Survey of Software Refactoring", IEEE Transactions On Software Engineering (2004)
  9. "Wikipedia Dictionary Available at URL"[URL]
  10. "Bullseye Testing Technology Available at URL"[URL]
  11. "Wikipedia Dictionary Available at URL"[URL]
  12. Yong Rae Kwon, "Department of Computer Science Korea Advanced Institute of Science and Technology, “Test Case Evaluation.”", ~
  13. Bret Pettichord, "Design for Testability", Pacific Northwest Software Quality Conference (2002)
  14. Harry M. Sneed, "Reengineering for Testability", Workshop on Software Reengineering(WSR), (2006)
  15. "Wikipedia Dictionary Available at URL:"[URL]

관련 논문AI추천

이 간행물의 다른 논문 (15건)