• 제목/요약/키워드: 테스트 케이스

검색결과 286건 처리시간 0.034초

임베디드 소프트웨어의 테스트 케이스 리엔지니어링 (Reengineering Test Cases of Embedded Software)

  • 서광익;이동근;최은만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.346-348
    • /
    • 2005
  • 소프트웨어를 동적으로 테스트 하려면 대상 소프트웨어에 적절한 데이터를 주어 실행해 보아야 한다. 효과적인 테스트가 되기 위해서 테스트 케이스의 선택뿐만 아니라 테스트 케이스가 어떻게 표현되었는가가 중요하다. 또한 정적인 테스트 작업에도 테스트를 위한 체크리스트가 어떻게 작성되었는지에 따라 테스트 작업의 효율성이 좌우된다. 이 논문에서는 비효율적이며 문제가 있는 테스트 케이스와 체크 리스트들을 리엔지니어링하는 방법을 제시하고 이를 실험 하였다. 임베디드 시스템의 일종인 디지털 방송수신 장치에 탑재된 소프트웨어를 대상으로 하여 이미 사용 중인 테스트 케이스의 효율성과 적합성을 따져보고 이를 리엔지니어링 하였다. 리엔지니어링 한 후의 테스트 케이스의 산출물이 얼마나 효과적인지를 살펴보았다. 또한 제품 계열 개념의 소프트웨어를 테스트하기에 적합하도록 테스트 케이스를 재사용 또는 restructuring하는 방법도 연구하였다.

  • PDF

블랙박스 테스트 케이스의 리엔지니어링 (Reengineering Black-box Test Cases)

  • 서광익;최은만
    • 정보처리학회논문지D
    • /
    • 제13D권4호
    • /
    • pp.573-582
    • /
    • 2006
  • 소프트웨어를 블랙박스 테스트 하려면 대상 소프트웨어에 적절한 데이터를 주어 실행해 보아야 한다. 효과적인 테스트가 되기 위해서 테스트 케이스의 선택뿐만 아니라 테스트 케이스가 어떻게 표현되었는가가 중요하다. 또한 정적인 테스트 작업에도 테스트를 위한 체크리스트가 어떻게 작성되었는지에 따라 테스트 작업의 효율성이 좌우된다. 이 논문에서는 비효율적이며 문제가 있는 테스트 케이스와 체크 리스트들을 리엔지니어링 하는 방법을 제시하고 이를 실험 하였다. 임베디드 시스템의 일종인 디지털 방송수신 장치에 탑재된 소프트웨어를 대상으로 하여 이미 사용 중인 테스트 케이스의 효율성과 적합성을 따져보고 이를 리엔지니어링 하였다. 리엔지니어링 한 후의 테스트 케이스의 산출물이 테스트 시간과 커버리지 측면에서 얼마나 효과적인지를 살펴보았다. 또한 제품 계열 개념의 소프트웨어를 테스트하기에 적합하도록 테스트 케이스를 재사용 또는 재구조화 하는 방법도 연구하였다.

결함 위치 추적을 위한 테스트 케이스 자동 생성 기법 (Test Case Automatic Generation for Fault Localization)

  • 박창용;김준희;류성태;윤현상;이은석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 춘계학술발표대회
    • /
    • pp.1235-1238
    • /
    • 2012
  • 오늘날 소프트웨어가 가지는 규모와 복잡성은 날로 심화되고 있으며, 소프트웨어 개발 시 결함을 찾아 내기 위한 테스트에 많은 시간이 소모되고 있는 실정이다. 이러한 문제점을 해결하기 위해 중요한 기술 중 하나가 결함 위치 추적(Fault Localization)이다. 이 기법을 이용하여 결함을 추적하기 위해서는 다량의 테스트 케이스를 필요로 하며, 추가로 테스트 케이스를 작성하는 것은 또 다른 개발 부하이다. 본 논문에서는 이를 해결하기 위해서 분기별 입력 조합 기반 테스트 케이스 생성방법과 시드 결과 기반 테스트 케이스 생성방법을 제안하였다. 개발자는 본 생성방법을 통해 테스트 케이스 생성에 대한 비용 절감을 기대 할 수 있다. 제안하는 내용의 효용성을 검증하기 위해 실제 예제 코드에 적용하여 평가하였다. 두 가지 방법 모두 무작위 생성한 테스트 케이스에 비해 개발자가 직접 생성하는 것과 유사한 테스트 케이스를 생성하고, 제안 방법으로 생성한 테스트 케이스의 신뢰성을 확인하였다.

X-Internet 환경에서 X-Forms 기반 UI 소프트웨어의 효율적인 테스트 케이스 작성을 위한 연구 (A Study on Designing Test Case For X-Forms Base UI Software with X-Internet Environment)

  • 이승혁;이창섭
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2007년도 춘계학술발표대회
    • /
    • pp.183-186
    • /
    • 2007
  • X-Internet 과 X-Forms 기반의 UI 소프트웨어 시스템은 개발이 완료되어 운영되는 과정에도 요구 사항의 변경, 성능 향상, 개발 과정 중의 오류 등의 다양한 이유로 변경될 수 있다. 기능 변경은 테스트 케이스 작성 시간과 비용의 증가로 이어진다. 본 논문은 소요되는 시간과 노력을 최소화하기 위한 테스트 케이스 작성 기법을 제안한다. 이를 위해 테스트할 기능을 분석하고 기존의 테스트 케이스에 새로운 기능을 접목하여 작성할 수 있는 테스트 케이스 재사용 알고리즘을 제안한다. 또한 오류가 전체 영역에 분포하지 않고 특정 영역에 분포하는 속성을 이용하여 모든 테스트 케이스를 생성, 실행하는 것이 아니라 오류를 잘 찾을 수 있는 테스트 케이스를 선정하여 테스트하는 기법의 효율성을 증명한다.

  • PDF

변경된 MATLAB Simulink 모델로부터 재사용 가능 테스트 케이스 도출 (Extracting Reusable Test Cases from Modified MATLAB Simulink Model)

  • 박건구;한혜진;정기현;최경희
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제8권6호
    • /
    • pp.235-242
    • /
    • 2019
  • 본 논문에서는 제어기 기능이 표현 된 변경된 MATLAB Simulink/Stateflow(SL/SF) 모델의 재사용 가능한 테스트 케이스 도출 기법을 제안한다. 자동차의 ECU(Electrical Control Unit)와 같이 복잡한 SL/SF 모델의 테스트 케이스를 작성하는데 많은 시간과 노력이 필요하다. 모델이 수정 될 때마다 새로 만들어낼 테스트 케이스를 줄이기 위한 직관적인 방법은 수정 전 모델에서 생성한 테스트 케이스 중 일부를 재사용하는 것이다. 본 논문에서는 모델 행동을 정의하고 테스트 케이스 별 모델 동등성을 판단하여 수정 후 SL/SF에 재사용 가능한 테스트 케이스를 도출하는 방법을 제안한다. 제안된 테스트 케이스 재사용 기법은 상용 자동차 제어기 모델을 이용하여 성능을 평가한다.

뮤테이션 테스트를 이용한 동적 다이어그램에 근거한 테스트 케이스의 효율 비교 (Comparison of Test Case Effectiveness Based on Dynamic Diagrams Using Mutation Testing)

  • 이혁수;최은만
    • 정보처리학회논문지D
    • /
    • 제16D권4호
    • /
    • pp.517-526
    • /
    • 2009
  • 동적 UML 다이어그램은 객체 지향 언어로 구현된 프로그램의 복잡한 실행 동작에 대한 표현이 가능하다. 이로 인하여 동적 다이어그램 중, 순서, 상태, 액티비티 다이어그램을 이용하여 테스트 케이스를 추출하고 테스트 하는 방법이 많이 쓰이고 있다. 그러나 테스트 자원과 시간이 제한되어 있을 때 어떤 명세를 이용하여 테스트 케이스를 만드는 것이 더 효율적인지, 또한 어떤 특성이 있는지 알 필요가 있다. 이 논문에서는 ATM 시뮬레이션 프로그램을 세 가지 다이어그램으로 표현하고 이를 이용하여 서로 다른 테스트 케이스를 생성한다. 또한 뮤테이션 테스팅(Mutation Testing)을 실시하여 각 테스트 케이스에 대한 효율을 평가 하였다. 뮤턴트(Mutant) 생성은 절차적 방식과 객체 지향 방식에 의한 뮤테이션 연산자(Mutation Operator)를 구분해서 적용하였으며 뮤클립스(Muclipse)라는 이클립스(Eclipse) 기반의 플러그인 도구를 이용하였다. 생성된 테스트 케이스와 뮤턴트를 이용해서 뮤테이션 점수(Mutation Score)를 측정하고 이를 기반으로 각 테스트 케이스 및 여러 관점에서 테스트 케이스의 효율을 평가하였다. 이런 과정을 통해 테스트 케이스 생성 방식의 선택에 대한 힌트를 얻을 수 있었다.

동적 심볼릭 수행을 이용한 경계 테스팅 연구 (Boundary Testing research using Dynamic Symbolic Execution)

  • 구근회;최석원;최진영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2016년도 추계학술발표대회
    • /
    • pp.429-432
    • /
    • 2016
  • 전통적인 태스팅은 테스트케이스를 만드는데 많은 시간과 비용이 들기 때문에 시기적절한 출시를 해야 하는 휴대전화, TV와 같은 제품을 테스팅하는데 많은 어려움을 겪고 있다. 이러한 문제를 해결하려는 노력으로 관련 학계 및 산업체에서는 동적 심볼릭 수행을 이용한 커버리지가 높은 테스트케이스 자동생성 연구가 진행 중이다. 특히, Microsoft Research에서 만든 동적 심볼릭 수행도구인 PEX는 C#언어로 작성된 웹 또는 윈도우 프로그램의 테스트케이스를 자동 생성한다. 그러나 PEX의 사용자들로부터 테스트케이스가 부족하다는 피드백올 받았고, 그 결과로 경계 값 테스트케이스를 추가하는 연구를 진행하여 경계 값 테스트케이스를 추가하지 않았을 때 보다 더 많은 오류를 찾았다. 본 논문에서는 소프트웨어 오류가 있을 경우 엄청난 재산, 인명 피해가 발생하는 임베디드 소프트웨어 분야에서 자주 사용하는 언어인 C언어를 지원하는 동적 심볼릭 수행 도구 CREST를 수정하여 경계 값 테스트 케이스를 생생하는 연구를 진행한다.

버그리포트를 이용한 정보검색 기반 테스트케이스 우선순위화 기법 (A Technique for Test Case Prioritization based on IR using Bug Report)

  • 안준;염창선;김정호;이은석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 추계학술발표대회
    • /
    • pp.1023-1026
    • /
    • 2015
  • 비용 효율적인 소프트웨어 유지보수 방안에 대한 기대가 높다. 본 논문에서는 유지보수 비용을 감소시키기 위해 회귀 테스트에 사용되는 테스트케이스를 효과적으로 우선순위화하는 방안을 제안한다. 테스트케이스를 우선순위화하는 방법으로는 코드의 커버리지를 이용해 테스트케이스의 우선순위를 높이는 방법과 모델 기반 테스트케이스 우선순위화 방법 등 여러 가지 방법이 제안되어 왔다. 본 논문에서는 소스코드, 커밋 로그와 버그리포트의 정보를 이용해 정보검색 기반의 테스트케이스 우선순위화 기법을 제안한다. 변경된 소스코드 이력은 새로운 기능의 업데이트 유무를 확인 할 수 있으며, 결함으로 수정된 파일을 추측할 수 있다. 버그 리포트는 소스코드의 결함에 대한 정보를 담고 있다. 제안한 방법의 유효성을 확인하기 위해 오픈소스 프로젝트(Joda-Time, Commons-Lang)를 이용해 실험을 진행하였다. 실험을 통해 소스코드, 커밋 로그와 버그리포트로 테스트케이스 우선순위화 방법의 유효성을 확인했으며, 버그리포트를 적용해 테스트케이스 우선순위화 기법을 이전 연구에 비해 최대 8% 향상된 결과를 확인 할 수 있었다.

가중치를 이용한 소프트웨어 테스트케이스 동적 관리 기법 (A Dynamic Management Technique for Weighted Testcases in Software Testing)

  • 한상혁;정정수;진성일;김영국
    • 정보처리학회논문지D
    • /
    • 제17D권6호
    • /
    • pp.423-430
    • /
    • 2010
  • 소프트웨어가 대형화 및 복잡화되고 품질보증 및 관리에 대한 요구가 한층 커짐에 따라 소프트웨어 테스트 활동이 중요시되고 있다. 소프트웨어 테스트 활동은 시스템에 존재하는 결함 발견과 처리가 주요 목적이지만, 현재 시스템의 위험요소를 관리하기 위한 요구 또한 존재한다. 하지만 일반적인 테스트 자동화 도구에서는 테스트케이스를 이용하여 동일한 순서로 테스트를 수행하며, 이러한 테스트 방식은 빈번하게 변경되는 소프트웨어를 테스트함에 있어 결함을 조기에 발견할 가능성이 낮아지고 처리되는 시간이 늦어지게 된다. 이에 따라 본 논문에서는 과거 테스트 이력을 이용하여 테스트케이스에 동적인 가중치를 부여함으로써 위험도가 높은 테스트케이스를 우선적으로 테스트 하여 결함을 빠르게 발견할 수 있도록 가중치를 이용한 테스트케이스 동적 관리 기법을 설계하였다.

한글 체크리스트로부터 테스트 케이스 자동 생성 방안 (An Automatic Test Case Generation Method from Checklist)

  • 김현동;김대준;정기현;최경희;박호준;이용윤
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권8호
    • /
    • pp.401-410
    • /
    • 2017
  • 본 논문에서는 임베디드 시스템 테스트에 많이 사용되는 테스트 항목이 기술된 체크리스트를 기반으로 테스트 케이스를 자동으로 생성하기 위한 방법을 제안한다. 일반적으로 체크리스트에는 테스트하고자 하는 항목이 정의되어 있다. 하지만 대부분의 테스트 케이스 생성 전략에서는 테스트 하고자하는 항목뿐만 아니라 다양한 변이 조건에서도 테스트하기를 권하고 있다. 제안하는 방법은 한글로 기술된 체크리스트를 분석하여 시스템 입출력과 연산 정보를 찾아낸다. 그리고 찾아낸 정보와 설정하는 테스트 케이스 생성 전략에 따라 테스트 케이스를 자동으로 생성한다. 이 방법은 테스트 케이스를 수동으로 생성할 때, 일으킬 수 있는 오류를 줄일 수 있을 뿐만 아니라, 체크리스트에는 기술되지 않는 다양한 변이 테스트 케이스도 생성할 수 있다. 제안된 방법은 구현되고, 실제 의료기기용 임베디드 시스템의 체크리스트를 사용하여 실험을 진행한다. 실험에서는 체크리스트로부터 여러 커버리지에 적절한 테스트 케이스가 오류 없이 통계적으로 정확히 생성되었음을 확인할 수 있어서 제안된 방법의 유용성을 보여준다.