• 제목/요약/키워드: 테스트 프로그램

검색결과 612건 처리시간 0.032초

SAT에 기반한 포인터가 있는 프로그램을 위한 목적 지향 테스트 데이터 생성 (A Goal-oriented Test Data Generation for Programs with Pointers based on SAT)

  • 정인상
    • 인터넷정보학회논문지
    • /
    • 제9권2호
    • /
    • pp.89-105
    • /
    • 2008
  • 지금까지 테스트 데이터를 자동으로 생성하기 위한 대부분의 연구는 프로그램에 포인터가 존재하지 않는 경우만을 대상으로 하였다. 최근에 포인터가 있는 경우에도 테스트 데이터를 자동으로 생성할 수 있는 방법들이 제안되었지만 테스트할 프로그램 경로를 완전하게 명시해야 하는 경로 기반 방법이거나 프로그램을 실제 실행해야 하는 방법들이다. 이 논문에서는 프로그램 경로를 완전하게 명시하지 않아도 포인터가 있는 프로그램에 대하여 테스트 데이터를 생성할 수 있는 새로운 방법을 제안한다. 제안된 방법은 테스트 데이터 생성 문제를SAT(SATisfiability) 문제로 변환하고 SAT 해결도구를 이용하여 자동으로 테스트 데이터를 생성하는 정적 방법이다. 이를 위해 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성한다.

  • PDF

JUnit 텍스트 UI 테스트 러너를 활용한 자바 프로그램 단위 테스트 고찰 (Unit Testing of Java Program using JUnit Text UI Test Runner)

  • 이채영;윤회진;박영철
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.258-260
    • /
    • 2012
  • 본 논문은 오픈소스 자바 어플리케이션인 JTopas를 대상으로 단위 메소드 테스트를 수행하고, 기존의 IDE 중심의 JUnit 테스트 환경이 아닌 텍스트 UI 테스트 러너 기반으로 테스트를 수행함으로써 얻는 효과를 기술한다. 또한 리눅스 환경을 활용하여 쉘 프로그램으로 테스트 실행 프로그램을 작성하였으며, 이를 통하여 테스트 실행 결과 분석을 용이하게 할 수 있다. 동시에 테스트 코드와 테스트 대상 소스 코드를 관리하는 패키지 구성 방법을 보임으로써, TDD등에서 요구하는 테스트 코드 작성과 소스 코드 작성을 동시에 수행하는 환경을 지원하는 효과가 있다.

Alloy 명세 기반 자동 테스트 데이터 생성 기법 (An Alloy Specification Based Automated Test Data Generation Technique)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제14D권2호
    • /
    • pp.191-202
    • /
    • 2007
  • 일반적으로 테스트 데이터 생성 방법들은 테스트 데이터를 자동으로 생성하기 위해서 완전한 프로그램 경로를 기술한 것을 요구한다. 이 논문에서는 프로그램 경로를 완전하게 명시하지 않아도 테스트 데이터를 자동으로 생성하는 새로운 방법을 제안한다. 이를 위해 이 논문에서는 테스트 대상 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성하는 방법을 제안한다. 제안된 방법은 사용자로 하여금 프로그램 경로를 선택하도록 하는 부담을 덜어줄 뿐만 아니라 다양한 테스트 적합성 기준에 따라 테스트 데이터를 생성하는 일을 용이하게 한다. 간단하지만 설명에 도움이 될 수 있는 예들을 통하여 제안한 방법에 대해 설명한다.

64비트 환경에서 메모리 테스트 영역 확장을 위한 프로그램 재배치 기법 (Program Relocation Schemes for Enhancing Memory Test Coverage on 64-bit Computing Environment)

  • 박한주;박희권;최종무;이준희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (A)
    • /
    • pp.841-843
    • /
    • 2005
  • 최근 64비트 CPU의 시장 출시가 활발해지고 있으며, 메모리 모듈 또한 대용화가 이루어지고 있다. 이에 대용량 메모리를 64비트 CPU 플랫폼에서 효과적으로 테스트하는 방법을 개발할 필요성이 대두되고 있다. 본 논문에서는 x86-64 기반 리눅스 2.6.11 커널에서 물리 메모리의 테스트 영역을 확장하는 기법을 제안한다. 제안된 기법에는 응용이나 커널에서 물리 메모리에 대한 직접 접근, 프로그램을 사용자가 원하는 물리 메모리로 배치, 프로그램의 동적 재배치 등의 방법을 통해 테스트 영역을 확장 한다. 현재 64 비트 CPU를 지원하는 OS는 리눅스와 윈도우즈 64비트 에디션 등이 있다. 기존 리눅스 커널을 그대로 사용하였을 때 프로그램 등이 이미 사용 중인 물리 메모리에 대해서는 메모리 테스트를 수행 할 수 없었으나, 각 프로그램들을 물리 메모리에서 재배치하여, 원하는 곳의 메모리를 테스트 할 수 있도록 커널 수정을 통하여 구현하였다.

  • PDF

이벤트 구동 방식 프로그램을 위한 동적 테스트 도구의 설계 (Design of Dynamic Test Tool for Event-driven Programs)

  • 박지우;손윤식;오세만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.566-570
    • /
    • 2010
  • 최근에는 스마트 폰의 저변이 확대되면서, 보안 취약성에 대한 많은 문제점이 새롭게 등장하고 있다. 스마트 폰 프로그램은 PC 환경에서 실행되는 프로그램과는 달리, 배포가 이루어진 이후에 소프트웨어 업데이트 등의 방법으로 보안 취약성을 제거하는 것이 매우 어려운 특징이 있다. 기존의 테스트 방법론은 스마트 폰의 특성에 대한 고려가 없기 때문에 스마트 폰을 위한 테스트 방법론과 함께 이를 위한 동적 테스트 도구에 대한 연구가 필요하다. 본 논문에서는 이벤트 구동 방식으로 동작하는 스마트 폰 프로그램의 특징을 고려한 동적 테스트 도구를 설계한다. 테스트 도구는 컴파일러 이론을 적용하여 체계적으로 설계 한다. 제안한 도구는 테스트 케이스 생성기와 테스팅 시스템으로 구성되며, 이벤트 구동 방식으로 동작하는 소프트웨어의 취약성 검출 자동화 도구로 활용할 수 있다.

  • PDF

SAT를 기반으로 하는 플래그 변수가 있는 프로그램 테스팅을 위한 테스트 데이터 자동 생성 (Automated Test Data Generation for Testing Programs with Flag Variables Based on SAT)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제16D권3호
    • /
    • pp.371-380
    • /
    • 2009
  • 최근에 테스트 데이터를 자동으로 생성하는 방법에 관한 연구가 활발하게 진행되고 있다. 그러나 이러한 방법들은 플래그 변수가 프로그램에 존재하는 경우에는 효과적이지 못함이 밝혀졌다. 이는 엔진 제어기와 같은 내장형 시스템들이 전형적으로 디바이스 관련 상태 정보를 기록하기 위해 플래그 변수를 많이 이용한다는 점을 고려할 때 문제가 된다. 이 논문에서는 플래그 변수가 있는 프로그램에 대하여 효과적으로 테스트 데이터를 생성할 수 있는 방법을 소개한다. 이 방법은 테스트 데이터 생성 문제를 SAT(SATisfiability) 문제로 변환하고 SAT 해결도구를 이용하여 자동으로 테스트 데이터를 생성한다. 이를 위해 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성한다.

프로그램 동작특성과 실행경로 기반의 테스트 경로 생성과 복잡성 척도 (A Program Test Path Generation and Complexity Metrics Based on Execution Path and Program Activity Characteristics)

  • 고일석
    • 한국통신학회논문지
    • /
    • 제26권5A호
    • /
    • pp.752-762
    • /
    • 2001
  • 소프트웨어의 유지보수 과정에서 효율적인 복잡성 척도와 테스트 경로의 생성은 중요한 문제이다. 대부분의 경우 테스트 경로의 생성과 복잡성 척도의 측정은 독립적인 기법이 필요하다. 본 논문에서는 테스트 경로의 생성과 복잡성 척도를 통합적으로 생성하고 있다. 제안한 기법은 PUT(Program Under Test)를 확장한 페트리네트 그래프(EPG)를 이용하여 모델링하고 이것의 통합적인 분석을 통하여 테스트 경로를 생성하며, 이 과정에서 생성된 실행경로의 제어구조별 평균 발생 빈도수를 이용하여 복잡성 척도 EV(G)를 구하였다. EV(G)는 실제 프로그램의 실행경로에 기반을 두었기 때문에 프로그램의 제어구조별 차이점 외에도 프로그램의 동작 특성을 복잡도에 잘 반영할 수 있다. 본 논문에서 제안한 통합 기법에 의한 테스트 경로 생성 기법과 복잡성 척도를 소프트웨어의 유지보수에 활용한다면 노력과 비용의 절감 및 소프트웨어의 질적 향상을 가져올 것이다.

  • PDF

정형적 명세를 이용한 웹 프로그램의 테스트 (Testing Web Program Using Formal Specification)

  • 안영희;최은만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.421-423
    • /
    • 2002
  • 정형적 명세를 이용하면 원시코드의 복잡함에 방해받지 않고 필요한 구현 정보를 테스트 프로그래머가 얻을수 있다. 특히 웹 기반 소프트웨어는 정형적 명세로 시스템에 대한 외부 입력과 반응을 잘 나타낼 수가 있다. 복잡하고 구성요소가 다양한 웹 프로그램의 기능을 정형적 명세를 이용하여 핵심적으로 나타내고 이를 이용하여 웹 프로그램의 실행 동작을 테스트할 수 있는 과정을 제안하고 실험하였다. 실험 대상은 웹 뱅킹 업무로 정하고 정형화 명세에서 상태 천이도를 구성하고 테스트 시나리오를 추출하는 방법을 기술하였다. 제안한 방법은 웹 프로그램의 사용 기반 테스트 기법과 결합하여 웹 소프트웨어의 테스트 자동화에 중요란 요소가 될 수 있다.

  • PDF

목적 지향 콘콜릭 테스팅 (Goal-oriented Concolic Testing)

  • 정인상;박정규
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권10호
    • /
    • pp.768-772
    • /
    • 2010
  • 콘콜릭 테스트는 높은 테스트 커버리지를 달성하기 위해 실제 프로그램 수행과 심볼릭 수행을 결합하여 테스트 데이터를 생성한다. CREST는 콘콜릭 테스팅을 구현한 대표적인 open-source인 테스트 도구이다. 그러나 현재 CREST는 기본적으로 프로그램의 모든 가능한 실행 경로들을 탐색하는 것을 목적으로 한다. 이 때문에 특정 분기 또는 블록만을 테스트하는 경우에는 비효율적일 수 있다. 이 논문에서는 프로그램 상의 한 분기 또는 블록을 주고 이률 실행할 수 있는 테스트 데이터를 생성하는 목적 지향 콘콜릭 테스트 방법을 제안한다.

Dynamic linking library를 이용한 GUI 자동화 시험 구현 방안 (An GUI Automated Test Technique Based on Dynamic Linking Library)

  • 김치열;조동훈;이홍철;권민찬
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2011년도 춘계학술발표대회
    • /
    • pp.1559-1562
    • /
    • 2011
  • GUI 테스트 자동화에 대한 연구들이 많이 진행되고 있다. GUI 테스트 하는 방법에 따라 테스트 자동화(Automated Test)와 회귀테스트(Regression Test)가 있는데, 우리는 회귀테스트로 GUI 테스트를 자동화 하려 한다. GUI 자동화 테스트를 위해 시험자동화프로그램으로 테스트 케이스를 시험절차에 따라 생성하고 Dynamic linking library(이하 DLL)의 공유변수마다 GUI 컨포넌트를 정의하여 점검프로그램의 GUI 컴포넌트를 컨트롤 한다. 점검프로그램에서는 DLL 공유변수를 감시하여 해당 GUI 컴포넌트가 On 상태가 되면 기능이 실행되게 구현하였다. 기존의 연구들과 비교하여 최소한의 소스코드 변경과 특정한 툴에 치우치지 않고 통합되어 작동되는 것이 장점이다.