• 제목/요약/키워드: 동적 테스트 데이터 생성

검색결과 21건 처리시간 0.021초

테스트 데이터 자동 생성을 위한 적합도 평가 방법의 효율성 향상 기법 (An Improved Technique of Fitness Evaluation for Automated Test Data Generation)

  • 이선열;최현재;정연지;배정호;김태호;채흥석
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권12호
    • /
    • pp.882-891
    • /
    • 2010
  • 테스트 데이터를 자동으로 생성하기 위한 동적 테스트 데이터 생성에 관한 많은 연구가 이루어졌다. 동적 테스트 데이터 생성 방법은 가공 테스트 대상 프로그램(SUT; Software Under Test)을 실행시켜 기존의 테스트 데이터의 적합도를 평가하고, 평가된 적합도 값과 최적의 알고리즘을 이용하여 새로운 테스트 데이터를 생성하는 방법이다. 최근에 전역 최적화 알고리즘을 이용한 동적 테스트 데이터 생성에 관한 많은 연구가 이루어져 왔고, 이 알고리즘을 통해서 테스트 대상 프로그램 (SUT)의 커버리지를 높일 수 있는 데이터를 생성할 수 있다는 것이 실험적으로 밝혀졌다. 그러나 최적화 알고리즘은 오랜 연산 시간이 필요하기 때문에, 이를 이용한 방법은 테스트 데이터를 생성하기 위해 많은 시간이 걸린다는 단점이 있다. 본 논문에서는 최적화 알고리즘을 이용한 동적 테스트 데이터 생성의 시간을 줄이기 위하여, 최적화 알고리즘의 절차 중 적합도 평가 시간을 줄이는 방법을 제안한다. 이를 위하여 SUT의 테스트 목표 경로로 부터 생성된 적합도 평가 프로그램(FEP)을 정의하고, 가공 SUT 실행하는 대신 소개된 FEP를 이용한 적합도 평가 방법을 제안하고 'ConGA'라는 도구를 구현한다. 그리고 C언어로 작성된 프로그램을 'ConGA'를 이용하여, 테스트 데이터 생성 효율성을 확인하였다. 이 실험을 통하여 제안된 방법이 기존의 방법보다 테스트 데이터 생성에 걸린 시간을 평균적으로 약 20% 줄인 것을 확인할 수 있었다.

분기 커버리지를 위한 동적 테스트 데이터 생성 (Dynamic Test Data Generation for Branch Coverage)

  • 정인상;성영락
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.150-152
    • /
    • 2012
  • 일반적으로 테스트 데이터 자동 생성을 지원하기 위해 심볼릭 실행기나 제약 해결기와 같은 도구를 요구한다. 그러나 이와 같은 도구들을 개발하는 것은 상당한 노력이 요구되는 것도 사실이다. 이 논문에서는 이러한 도구들의 지원 없이 분기 커버리지를 효과적으로 달성할 수 있는 테스트 데이터 생성 방법을 제안한다. 이를 위해 경로 지향 테스트 데이터 생성을 위해 개발된 Korel의 방법을 확장하여 프로그램의 분기들을 가능한 많이 실행할 수 있는 테스트 데이터를 효과적으로 생성하는 방법을 제안한다.

요약 해석을 이용한 데스트 데이터 자동 생성 기법 (Automatic Test Data Generation Using Abstract Interpretation)

  • 한승희;강제성;정인상;권용래
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.460-462
    • /
    • 2001
  • 테스트 데이터의 자동 생성은 소프트웨어 테스팅에서 가장 중요하면서도 어려운 부분이다. 대부분의 데스트 데이터 자동생성에 관한 연구는 명세로부터 테스트 데이터를 자동 생성하는 방식이며 이틀 위해 정확한 정형적 명세를 필요로 한다. 본 논문에서 는 프로그램을 실 행하지 않고 프로그램의 동적인 특성을 분석할 수 있는 요약 해석(abstract interpretation) 방법과 선후 지배 관계(pre-, postdominance relationship)를 이용하여 프로그램 코드로부터 직접 테스트 데이터를 자동 생성할 수 있는 방법 을 제안한다.

  • PDF

동적 분기 커버리지를 위한 테스트 데이터 자동 생성 (Automated Test Data Generation for Dynamic Branch Coverage)

  • 정인상
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권7호
    • /
    • pp.451-460
    • /
    • 2013
  • 높은 테스트 커버리지 달성을 위해 심볼릭 실행, 자료 흐름 분석 및 제약 해결 기법 등을 이용하여 테스트 데이터 생성을 하는 것이 일반적이다. 최근에 그와 같은 정교한 수단 없이도 높은 커버리지를 효과적으로 달성 할 수 있는 방법이 제안되었다. 그러나 이 방법도 실행 중에 다른 메모리 로케이션들이 바인딩되는 분기 조건을 갖는 프로그램에 대해서는 높은 커버리지를 가져오는 테스트 데이터 생성이 어려웠다. 특히 플래그 조건을 가지는 프로그램에 대해서는 특정 분기들이 실행되지 않아 높은 커버리지를 달성하지 못하는 경우가 발생한다. 이 논문에서는 이 문제를 다루기 위하여 기존 커버리지 기준을 개선한 동적 분기 커버리지 기준들과 동적 분기에 기반 한 테스트 데이터 생성 전략을 제안한다. 실험을 통하여 플래그 조건이 있는 프로그램들에 대해서도 제안된 방법이 기존의 방법에 비해 효과적으로 커버리지를 달성함을 보인다. 요약은 무슨 연구를 어떻게 수행하였는지, 주된 연구결과와 그 중요성에 관해 간결하게 기술하여야 한다.

실행가능 목적 코드를 기반으로 하는 자동 테스트 데이터 생성 (Automated Test Data Generation based on Executable Object Codes)

  • 정인상
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권2호
    • /
    • pp.189-197
    • /
    • 2012
  • 고수준의 명세나 고수준의 프로그래밍 언어로 작성된 원시 코드를 이용하여 테스트 데이터를 생성하는 것이 일반적이다. 그러나 어떤 상황에서는 이러한 테스트 데이터 생성 정보가 항상 이용가능하지 않을 수 있다. 이 논문에서는 실행가능 목적코드를 바탕으로 테스트 데이터를 생성하는 방법을 제안한다. 제안된 방법은 정교한 목적 코드 분석을 필요로 하지 않은 매우 간단한 함수 최소화 기법을 사용하여 동적으로 테스트 데이터를 생성한다. 삼각형 분류 프로그램에 대한 실험을 통하여 분기 커버리지를 매우 효과적으로 달성함을 보인다.

테스트 데이터 생성을 위한 개선된 이웃 선택 방법을 이용한 담금질 기법 기술 (a improved neighborhood selection of simulated annealing technique for test data generation)

  • 최현재;이선열;채흥석
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제24권2호
    • /
    • pp.35-45
    • /
    • 2011
  • 금질 기법을 이용한 테스트 데이터 자동 생성 기법은 오랫동안 연구되어 왔으며, 효율적인 테스트 데이터 생성 방법 중 하나이다. 그러나 인풋 도메인이 넓을 경우, 기존의 담금질 기법은 이웃 선택 기법의 한계 때문에 나쁜 성능을 보였다. 이러한 한계를 극복하기 위해, 우리는 새로운 이웃 선택 기법인 분기 거리 이웃 선택 방법을 제안한다. 제안된 기법의 성능을 검증하기 위해서 우리는 분기 거리 이웃 선택 기법, 기존의 이웃 선택 기법 그리고 랜덤 테스트 데이터 생성 기법을 비교하는 실험을 수행하였다. 실험 결과 제안된 기법이 2가지 기법에 비해 우수한 성능을 보임을 알 수 있었다.

  • PDF

웹 기반 소프트웨어의 테스트 모델에 관한 연구 (A Study on Test Model for Web-Based Software)

  • 권영호;최은만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2001년도 춘계학술발표논문집 (상)
    • /
    • pp.197-200
    • /
    • 2001
  • 이 논문은 웹기반 소프트웨어를 테스트하기 위한 오러클을 생성하는 방법을 제안하고 설명한다. 웹 페이지를 구성하는 응용 컴포넌트들의 구조를 파악하고 각 페이지를 구동시키는 액션들을 찾아내어 상태기반의 테스트 데이터를 찾아내는 방법이다. 테스트 스크립트를 작성하기 위하여 partial-W 방법을 도입하였으며 이를 이용하여 테스트 케이스의 값을 선택할 수 있다. 테스트 슈트는 언어 독립적이며 실행가능하다. 웹 응용의 특징인 동적인 인터렉션을 유한 상태기계(Finite State Machine)로 표현하고 각 상태를 변화시키는 웹 페이지의 사용자 입격을 결합하여 테스트 오러클을 생성한다.

  • PDF

C 프로그램을 테스팅하기 위한 분기 커버리지에 기반을 둔 자동 테스트 데이터 생성 (Automated Test Data Generation Based on Branch Coverage for Testing C Programs)

  • 정인상
    • 한국콘텐츠학회논문지
    • /
    • 제12권11호
    • /
    • pp.39-48
    • /
    • 2012
  • 소프트웨어 테스팅이 소프트웨어 개발 비용의 상당 부분을 차지하는 것은 잘 알려진 사실이다. 소프트웨어 테스팅 비용을 줄이기 위해 소프트웨어 테스트 데이터를 자동으로 생성하는 방법에 많은 연구가 이루어지고 있다. 일반적으로 테스트 데이터 자동 생성을 지원하기 위해 심볼릭 실행기나 제약 해결기와 같은 정교한 도구들을 요구한다. 그러나 이와 같은 도구들을 개발하거나 구입하는 것은 소프트웨어 테스트 관련 비용을 증가시키는 또 다른 요소로 작용된다. 이 논문에서는 심볼릭 실행이나 제약 해결에 의존되지 않는 동적 테스트 데이터 방법을 제안한다. 제안된 방식은 분기 커버리지 기준을 효과적으로 만족하도록 Korel의 경로 지향 테스트 데이터 생성 방법을 확장한다. 이 논문에서는 삼각형 분류 프로그램에 대한 실험을 통하여 제안된 방법이 분기 커버리지를 매우 효과적으로 달성함을 보인다.

분할된 RRT 공간을 이용한 Simulink/Stateflow모델 테스트케이스 생성 (Test-case Generation for Simulink/Stateflow Model using a Separated RRT Space)

  • 박현상;최경희;정기현
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권7호
    • /
    • pp.471-478
    • /
    • 2013
  • 본 논문은 Rapidly-exploring Random Tree(RRT) 알고리즘을 이용한 Simulink/Stateflow 모델 기반의 블랙박스 테스트 케이스 자동 생성 기법을 제안한다. RRT는 복잡한 시스템의 경로 계획을 효율적으로 해결하는 좋은 방법으로 널리 사용되고 있다. 본 논문에서 제안하는 기법은 블랙박스 테스트 케이스 생성 시 해결해야 되는 도달 가능 문제를 RRT를 통해 해결하고자 한다. RRT를 이용하여 테스트 케이스를 생성 할 때의 가장 큰 단점은 Stateflow 모델의 내부 상태가 복잡한 시스템을 위한 RRT 확장 시 시간과 메모리 측면에서 많은 비용이 발생하게 된다는 점이다. 일반적인 RRT 기법이 대상 시스템을 단일한 RRT 공간으로 구성 하는 반면 제안된 기법에서는 대상 시스템을 Stateflow의 상태를 기준으로 동적 분할하여 RRT 공간을 모델링 구성 함으로써 RRT 확장 시 필요한 비용을 감소시켰다. 본 논문에서는 분할 RRT 공간을 위한 RRT 공간의 정의와, 거리 측정 기법, 테스트 케이스 생성 알고리즘을 제시한다. 또한, 예제 Stateflow 모델을 기반으로 한 테스트 케이스 생성실험을 통해 제안된 알고리즘의 성능을 보인다.

J2EE 애플리케이션의 흐름분석을 통한 커버리지 기반 테스트 방법 (A coverage driven test method for J2EE Applications through flow analysis)

  • 이정규;국승학;김현수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.516-519
    • /
    • 2008
  • 최근 엔터프라이즈 애플리케이션은 J2EE 컴포넌트로 개발된다. J2EE 플랫폼은 애플리케이션을 개발하는데 편리한 기능을 제공한다. 하지만 J2EE 애플리케이션의 테스트는 J2EE 서버 내부에서 자원을 관리하는 컨테이너의 접근 통제 때문에 기존의 테스트 방법으로 수행하기 어렵다. 본 논문에서는 J2EE 환경에 맞는 J2EE 애플리케이션의 테스트 방법을 제안한다. 이 방법은 애플리케이션을 구성하는 EJB 컴포넌트를 정적 및 동적 분석하여 획득한 정보로 애플리케이션의 메소드 커버리지를 분석하고, 메소드 커버리지를 향상시키기 위한 테스트 데이터를 생성하여 J2EE 애플리케이션을 테스트한다.