• 제목/요약/키워드: 테스트 케이스 자동생성

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

테스트 범위 확장 기반 유효 패치 강화 (Test Coverage Expansion-based Valid Patch Refinement)

  • 문준현;이은석
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2019년도 추계학술발표대회
    • /
    • pp.680-683
    • /
    • 2019
  • 개발자의 부담을 줄이고 소프트웨어의 품질을 향상시키기 위해 APR (Automated Program Repair) 기술을 개선해야 할 필요가 있다. 현재 사용되는 대부분의 APR 기술은 개발자가 수작업으로 작성한 테스트 케이스를 통과하는 유효 패치(Valid Patch)를 만드는 방식을 사용하기 때문에 QoP(Quality of Patch)는 많이 뒤떨어지는 단점을 가지고 있다. 본 논문에서는 테스트 범위가 충분히 높은 테스트 케이스를 자동으로 생성하는 기술을 이용하여 기존의 유효 패치를 강화하는 기술을 제안한다. 제안하는 내용을 Defects4J 의 일부 프로젝트에 적용하여 기존 기법 대비 FL 의 성능은 유지하면서 기존에 찾지 못했던 유효 패치를 추가적으로 찾을 수 있음을 확인하였다.

TC2SMV: UML State Chart Diagram에서 생성된 테스트 케이스를 SMV 입력 프로그램으로 변환하는 CASE 도구 (TC2SMV: A CASE tool for Translating SMV Input Program from Test Cases Generated from State Chart Diagram in UML)

  • 윤상현;조재연;유준범
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.126-128
    • /
    • 2012
  • 소프트웨어 시스템의 안전성을 보장하기 위해 여러 안전성 분석 기법들이 사용되고 있으며, 안전성 분석의 결과인 안전성 요구사항을 시스템이 만족하고 있는지 확인하는지 확인하는 안전성 평가과정이 수행되고 있다. 안전성 평가는 많은 시간과 비용이 드는 문제점을 가지고 있다. 본 논문은 안전성 평가에 드는 시간과 비용을 줄이기 위해 테스트 케이스를 이용하여 안전성 요구사항을 소프트웨어 개발의 가장 기본적인 검증기법인 테스팅을 이용하여 시스템이 만족하는지 확인하는 방법을 제안하고 핸드폰의 카메라 컨트롤러 예제를 이용한 사례 연구를 진행하였으며 이를 지원 위한 도구인 TC2SMV를 개발하였다. TC2SMV는 UML의 state chart diagram에서 생성된 test case들을 SMV 입력 프로그램으로 자동으로 변환하여 사용자가 SMV 모델체킹을 수행할 수 있는 환경을 제공한다.

CREST-BV: 임베디드 소프트웨어를 위한 Bitwise 연산을 지원하는 Concolic 테스팅 기법 (CREST-BV: An Improved Concolic Testing Technique with Bitwise Operations Support for Embedded Software)

  • 김윤호;김문주;장윤규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.120-122
    • /
    • 2012
  • 기존 소프트웨어 테스팅 기법은 개발자가 수동으로 테스트 케이스를 작성해야 하는 비효율성으로 인해 임베디드 소프트웨어의 안정성 확보에 어려움이 있다. Concolic 테스팅 기법은 자동으로 소프트웨어 테스트 케이스를 생성함으로써 기존 소프트웨어 테스팅 기법의 문제를 해결했지만, 임베디드 소프트웨어 테스트에 필수적인 bitwise 연산을 지원하지 않는 등의 문제가 있었다. 본 논문에서는 임베디드 소프트웨어를 위해 bitwise 연산을 지원하는 Concolic 테스팅 개선 방법에 대한 연구를 수행하고 오픈 소스 임베디드 소프트웨어 Busybox에 적용하여 기존 연구와 결과를 비교하였다. Busybox의 10개 유틸리티에 적용한 결과 기존 연구 결과 대비 평균 33%의 분기 커버리지 향상이 있었다.

안드로이드 애플리케이션을 테스트하기 위한 액티비티 기반의 테스트 케이스 생성 방법 (A Test Case Generation Method Based on Activity for Android Application Testing)

  • 고민혁;서용진;윤상필;김현수
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권10호
    • /
    • pp.679-690
    • /
    • 2013
  • 사용자가 원하는 프로그램을 자유롭게 설치/삭제 할 수 있는 특징을 가진 스마트폰의 등장으로 인해, 수많은 개발자들이 스마트폰 애플리케이션 개발 시장에 뛰어들면서 좋은 애플리케이션을 빨리 개발하려는 경쟁이 더욱 치열해지고 있다. 그러나 안드로이드 환경은 애플리케이션 개발 및 배포 절차가 간단하여 누구나 쉽게 개발에 참여할 수 있어서 충분히 검증되지 않은 애플리케이션들이 배포될 가능성이 높다. 따라서 적은 부담으로 안드로이드 기반의 애플리케이션을 검증할 수 있는 체계적인 방법이 필요하다. 이에 본 논문에서는 안드로이드 애플리케이션을 위한 GUI 기반의 테스트 시나리오 자동 생성 방법을 제시한다. 자동화된 테스트 시나리오 생성을 통해 테스트에 소요되는 시간을 줄임으로써 테스트 단계에서의 생산성을 향상시킬 수 있다.

ESTEREL 임베디드 소프트웨어를 위한 모델 기반 테스트 기법 연구 (A Study of the Model-based Testing for Embedded Software in ESTEREL)

  • 양진석;김진현;심재환;김창진;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.337-339
    • /
    • 2005
  • 본 논문에서는 임베디드 시스템의 제어를 위해 동기화 언어인 에스테렐로 개발된 소프트웨어가 소프트웨어 요구사항을 만족하는지 확인하기 위한 Model-based Test(MBT) 프레임 워크를 제안한다. 제안된 프레임 워크를 기반으로 작성한 프로토 타입의 테스트 도구는 요구사항 모델을 창조하여 On-the-fly 방법을 통해 테스트 케이스를 랜덤하게 자동으로 생성하여 소프트웨어에 대하 테스트를 자동으로 수행한다. 간단한 case study로 레고 마인드스톰 로봇 제어 소프트웨어에 MBT를 수행하고 그 결과를 확인한다.

  • PDF

유닛 테스트 자동화 도구를 위한 프레임워크 설계 (A Framework of Automatic Unit Test Tool)

  • 김영상;백창현;박승규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (C)
    • /
    • pp.184-186
    • /
    • 2006
  • 테스트 주도 개발은 익스트림 개발 방법론의 바탕이 되는 방법론이다. 테스트 주도 개발은 소스 코드를 구현을 하기 전에 테스트 케이스를 먼저 만드는 작성한다. .Net 개발 환경에서 테스트 주도 개발을 하기 위해 NUnit 이라는 유닛 테스트 프레임워크를 많이 사용하고 있다. [1] 본 논문은 NUnit 유닛 테스트 프레임워크를 기반으로 리플랙션을 사용하여 유닛 테스팅 자동화 도구의 제작을 위한 프레임워크를 제안한다. 그리고 이 프레임워크를 이용하여 유닛 테스트 뼈대를 자동으로 생성하는 프로그램을 구현하였다.

  • PDF

안드로이드 기반 소프트웨어를 위한 테스트 자동화 체계 (Test Automation System for Android Software)

  • 신원;석종수;김태완;장천현
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.202-205
    • /
    • 2011
  • 최근 들어 스마트폰 시장이 활성화 되면서 휴대기기용 플랫폼인 안드로이드 역시 각광받고 있다. 오픈 플랫폼인 안드로이드에 수많은 제조사들과 개발자들이 가세하면서 다양한 플랫폼 버전이 탑재된 하드웨어가 출시되고 있다. 이처럼 혼재된 안드로이드 환경 때문에 상호호환성 문제와 함께 그에 따른 테스트의 필요성 또한 대두되고 있는 상황이다. 하지만 기존의 연구들은 테스트 케이스 자동 생성에 주로 초점이 맞추어져 있고, 컴파일 및 실행에 있어서 반복적인 작업이 필요한 안드로이드의 특성을 반영하지 못하고 있어 테스트 과정에 과도한 시간이 소모되고 인력 및 비용 또한 손실되고 있다. 이에 본 논문에서는 안드로이드 기반 소프트웨어 테스트 시 고려해야 할 문제점을 분석하여 비효율적인 면을 제거하고 테스트를 자동으로 진행할 수 있는 테스트 자동화 체계를 제안한다. 이를 통해 기존의 테스트 과정에서 과하게 투입되는 시간, 인력 및 비용을 줄이고 개발 기간이 짧은 안드로이드 소프트웨어 마켓 시장에 효율적으로 대응할 수 있는 이점을 얻을 수 있다.

웹 기반 어플리케이션의 기능 테스트 자동화 방법 (Automated Functionality Test Methods for Web-based Applications)

  • 국승학;김현수
    • 정보처리학회논문지D
    • /
    • 제14D권5호
    • /
    • pp.517-530
    • /
    • 2007
  • 최근 웹 어플리케이션은 급속도로 성장하였으며, 점점 더 복잡해지고 있다. 웹 어플리케이션이 복잡해질수록 품질에 관련된 다양한 요구사항이 증가하고 있다. 그러나 웹 어플리케이션의 테스트에 관한 연구 및 도구는 매우 부족하다. 이에 본 논문에서는 웹 어플리케이션에 대한 테스트 자동화 기법을 제안한다. 이를 위해 본 논문에서는 HTML 코드와 소스 코트로부터 분석 모델을 생성하고, 이 모델을 기반으로 테스트 대상을 파악하며, 테스트 케이스를 추출한다. 또한 테스트 드라이버와 테스트 데이터를 자동으로 생성하고, 그것들을 서버 내에 자동으로 배치함으로써 매우 쉽게 테스트 환경을 구축한다. 본 논문에서 제안하는 방법은 웹 어플리케이션에 대한 테스트의 전반적인 과정을 자동화하며, 이러한 자동화 방법은 기존의 연구에 비해 웹 어플리케이션의 기능 테스트의 효과를 높일 수 있다는 장점이 있다.

동적 기호 실행을 이용한 힙 메모리 OOB 취약점 자동 탐지 방법 (Automated Method for Detecting OOB Vulnerability of Heap Memory Using Dynamic Symbolic Execution)

  • 강상용;박성현;노봉남
    • 정보보호학회논문지
    • /
    • 제28권4호
    • /
    • pp.919-928
    • /
    • 2018
  • OOB(Out-Of-Bounds)는 힙 메모리에서 발생하는 취약점 중 가장 강력한 취약점 중 하나이다. OOB 취약점을 이용하면 Array의 길이를 속여 해당 길이만큼의 메모리를 읽기 혹은 쓰기가 가능하기 때문에 공격자는 기밀 정보에 대한 무단 액세스를 악용할 수 있다. 본 논문에서는 동적 기호 실행과 쉐도우 메모리 테이블을 활용하여 힙 메모리에서 발생하는 OOB 취약점을 자동으로 탐지하는 방법을 제안한다. 먼저, 힙 메모리 할당 및 해제 함수 후킹을 통해 쉐도우 메모리 테이블을 구축한다. 이후 메모리 액세스가 발생할 때, 쉐도우 메모리를 참조하여 OOB가 발생할 수 있는지를 판단하고, 발생 가능성이 존재할 경우 크래시를 유발하는 테스트케이스를 자동으로 생성한다. 제안하는 방법을 활용할 경우, 취약한 블록 탐색에 성공한다면 반드시 OOB를 유발하는 테스트케이스를 생성할 수 있다. 뿐만 아니라 전통적인 동적 기호 실행과는 다르게 명확한 목표 지점을 설정하지 않더라도 취약점 탐색이 가능하다.

웹 어플리케이션의 사용자 인터페이스 테스팅 자동화에 대한 연구 (A Study on User Interface Testing Automation for Web Applications)

  • 권영호;최은만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.451-453
    • /
    • 2001
  • 인터넷의 폭발적인 성장은 웹 어플리케이션의 증가에 영향을 주었다. 웹 관련 기술의 발전과 다양한 비즈니스 요구사항은 웹 어플리케이션을 점점 더 복잡하게 했고, 따라서 품질과 신뢰성이 중요해졌다. 이 논문에서는 웹 사용자 인터페이스의 테스팅 자동화에 대한 방법을 제시한다. HTML페이지의 객체와 자바스크립트의 객체를 매핑시켜, 사용자 입력 폼에 대한 테스트 케이스를 자동으로 생성해서 UI 테스팅을 자동화하는 방법을 보여준다. 또한 제안된 방법으로 테스팅 자동화 사례를 보여준다.

  • PDF