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

검색결과 287건 처리시간 0.031초

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

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

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

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

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

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

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

결함위치식별 기법의 성능 향상을 위한 테스트케이스 그룹화 및 필터링 기법 (Test Case Grouping and Filtering for Better Performance of Spectrum-based Fault Localization)

  • 김정호;이은석
    • 정보과학회 논문지
    • /
    • 제43권8호
    • /
    • pp.883-892
    • /
    • 2016
  • 스펙트럼 기반 결함위치식별 기법은 성공 테스트케이스 대비 실패 테스트케이스에 영향을 많이 받은 스테이트먼트에 의심도를 통계적으로 부여하는 기법이다. 이 기법에서 실패 테스트케이스를 지나간 스테이트먼트에는 의심도를 부여하고 성공 테스트케이스를 지나간 스테이트먼트는 부여된 의심도 일부를 줄이는 역할을 한다. 그러므로 실패 테스트케이스의 역할이 매우 중요하며 부재 시 결함의 위치를 찾을 수 없기도 하다. 하지만 이 기법에서 실패, 성공 테스트케이스를 동시에 입력하여 의심도를 계산하기 때문에 실패 테스트케이스의 고유 특성을 반영할 수 없다는 한계점을 가지고 있다. 본 논문에서는 이와 같은 한계점을 보완하여 보다 정확한 결함위치식별을 도와줄 수 있는 테스트케이스 그룹화기법을 제안한다. 또한, 테스트 효율성을 고려한 필터링 기법을 제안하고 이들을 65개의 알고리즘에 적용해 실효성을 검증한다. EXAM score기준으로 전체의 90% 기법에서 정확도 13%, 효율성이 72% 향상되었다.

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 소프트웨어 시스템은 개발이 완료되어 운영되는 과정에도 요구 사항의 변경, 성능 향상, 개발 과정 중의 오류 등의 다양한 이유로 변경될 수 있다. 기능 변경은 테스트 케이스 작성 시간과 비용의 증가로 이어진다. 본 논문은 소요되는 시간과 노력을 최소화하기 위한 테스트 케이스 작성 기법을 제안한다. 이를 위해 테스트할 기능을 분석하고 기존의 테스트 케이스에 새로운 기능을 접목하여 작성할 수 있는 테스트 케이스 재사용 알고리즘을 제안한다. 또한 오류가 전체 영역에 분포하지 않고 특정 영역에 분포하는 속성을 이용하여 모든 테스트 케이스를 생성, 실행하는 것이 아니라 오류를 잘 찾을 수 있는 테스트 케이스를 선정하여 테스트하는 기법의 효율성을 증명한다.

Feature Selection 기법을 이용한 북한 ODT 파일 퍼징 테스트케이스 분석 (Analysis of ODT File Fuzzing Testcase in North Korea using Feature Selection Method)

  • 남지희;강동수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2019년도 춘계학술발표대회
    • /
    • pp.324-327
    • /
    • 2019
  • 소프트웨어의 비정상적인 작동인 크래시는 보안 취약점의 원인이 된다. 이러한 크래시로부터 야기되는 취약점을 예방하기 위해 다양한 테스트케이스를 생성하고 크래시를 발견 및 분석하는 연구가 지속되고 있다. 본 논문에서는 북한 소프트웨어 서광사무처리체계에서 사용하는 국제 사무용 전자문서 형식인 Open Document Format for Office Application (ODF)의 워드프로세스 문서 형태인 ODT파일의 효과적인 보안 테스트케이스를 찾기 위해 먼저 테스트케이스를 도출한다. 도출된 테스트케이스를 데이터 전처리한 후 Feature Selection 기법을 적용하여 의미 있는 속성들을 분류한다. 마지막으로 ODT 파일 내에 크래시를 유발하는 유의미한 속성들을 확인하고 퍼징 테스트케이스 작성 시 메트릭으로 활용할 수 있다.

변경된 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에 재사용 가능한 테스트 케이스를 도출하는 방법을 제안한다. 제안된 테스트 케이스 재사용 기법은 상용 자동차 제어기 모델을 이용하여 성능을 평가한다.

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

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