• 제목/요약/키워드: 테스팅 기법 분석

검색결과 74건 처리시간 0.039초

타임드 오토마타 모델 기반 테스팅 기법 분석 및 사례 연구 (Analysis of Timed Automata Model-based Testing Approaches and Case Study)

  • 김한석;지은경;배두환
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제21권2호
    • /
    • pp.132-137
    • /
    • 2015
  • 실시간 시스템은 시스템의 행동이 입력 값 뿐만이 아니라 입력 값의 시간에도 의존적인 시스템이고, 타임드 오토마타는 실시간 시스템 모델링 및 분석에 대표적으로 쓰이는 모델이다. 모델 기반 테스팅은 소프트웨어의 요구사항을 표현한 모델로부터 생성된 테스트 케이스를 테스트 대상 프로그램에 수행함으로써 테스트 대상 프로그램이 모델에 명세된 대로 작동하는지 여부를 확인하는 기법이다. 본 연구에서는 타임드 오토마타 모델 기반 테스팅 도구인 UPPAAL-TRON, UPPAAL-COVER, SYMBOLRT를 동일한 시스템에 적용하는 사례 연구를 수행하고, 이를 기반으로 테스팅 기법 및 도구를 비교 분석한다.

블랙 박스 테스팅 방법들간의 결함 검출 효율성에 관한 실험적 비교 (The Experimental Comparison of Fault Detection Efficiency of Black Box Testing Methods)

  • 문중희;전성희;김성훈;권용래
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (B)
    • /
    • pp.41-46
    • /
    • 2007
  • 소프트웨어 테스팅을 위해서 테스트 케이스를 작성하는 작업은 어렵고 많은 비용을 요구한다. 예로 약 100,000라인의 코드를 테스트하기 위해서는 천문학적인 테스트 시나리오들이 필요할 수도 있다. 따라서 경험 있는 테스터들은 필요한 테스트 케이스들만을 선별적으로 사용하고자 한다. 그리고 이를 위한 많은 테스트 기법들이 연구되고 있다. 그러나 다수의 연구 자료들은 기법의 효과를 이론적으로만 제시한다. 일부 사례를 통해서 그 효과를 제시하는 자료들도 있으나 그 적용 과정이 구체적이지 않아 신뢰를 얻기가 어려운 경우가 많다. 본 논문에서는 업계에서 많이 사용되는 9가지 테스팅 방법들을 소개하고 이들을 실제 개발 과제에 적용 하였다. 그리고 각각의 결과를 비교하고 분석하였다. 본 논문의 결과를 일반화하기는 어려울 것이다. 하지만 하나의 사례 연구로서 참고되고 활용될 수 있을 것이다.

  • PDF

메트릭에 따른 탐색 기반 테스팅 알고리즘 비교 (A Comparison of the Search Based Testing Algorithm with Metrics)

  • 최현재;채흥석
    • 정보과학회 논문지
    • /
    • 제43권4호
    • /
    • pp.480-488
    • /
    • 2016
  • 탐색 기반 테스팅은 넓은 탐색 범위에서 효과적으로 테스트 데이터를 생성하는 대표적인 기술중 하나이다. 탐색 기반 테스팅의 성능이 프로그램의 구조적 특성에 영향을 받는 것이 알려져 있음에도 구조적 특성을 고려한 탐색 기반 테스팅 비교 연구는 제한적으로 수행되었다. 본 연구는 탐색 기반 테스팅 비교를 통해 테스트 대상의 구조적 특성 차이에 따른 최적 알고리즘을 분석하고자 한다. 실험 결과의 일반화를 위해 탐색 성능에 영향을 주는 4가지 메트릭 값을 조합하여 19,800개의 테스트 대상 프로그램을 자동 생성하였다. 실험 결과 복잡도가 높은 프로그램을 20,000번 이하의 횟수로 분석하였을 경우에는 유전 알고리즘이 가장 우수한 성능을 보였으나 50,000번 이상 분석하였을 경우에는 유전 담금질 기법과 담금질 기법이 다른 알고리즘들 보다 우수한 성능을 보였다. 복잡도가 낮은 프로그램에서는 유전 담금질 기법, 담금질 기법, 언덕 오르기 방법이 다른 알고리즘들 보다 우수한 성능을 보였다.

보안기능의 무력화 공격을 예방하기 위한 위협분석 기반 소프트웨어 보안 테스팅 (Threat Analysis based Software Security Testing for preventing the Attacks to Incapacitate Security Features of Information Security Systems)

  • 김동진;정윤식;윤광열;유해영;조성제;김기연;이진영;김홍근;이태승;임재명;원동호
    • 정보보호학회논문지
    • /
    • 제22권5호
    • /
    • pp.1191-1204
    • /
    • 2012
  • 정보보안시스템을 무력화하는 공격이 나타남에 따라, 정보보안제품의 취약성을 분석하는 보안 테스팅에 대한 관심이 높아지고 있다. 보안제품 개발의 주요 단계인 침투 테스팅은, 공격자가 악용할 수 있는 취약성을 찾기 위해 컴퓨터 시스템을 실제적으로 테스팅하는 것이다. 침투 테스팅과 같은 보안 테스팅은 대상 시스템에 대한 정보 수집, 가능한 진입점 식별, 침입 시도, 결과 보고 등의 과정을 포함한다. 따라서 취약성 분석 및 보안 테스팅에서 일반성, 재사용성, 효율성을 극대화하는 것이 매우 중요하다. 본 논문에서는, 정보보호제품이 자신의 보안 기능을 무력화하거나 우회하는 공격에 대응할 수 있는 자체보호기능 및 우회불가성을 제공하는 가를 평가할 수 있는 위협분석 기반의 소프트웨어 보안 테스팅을 제안한다. 위협분석으로 취약성을 식별한 후, 보안 테스팅의 재사용성과 효율성을 개선하기 위해 소프트웨어 모듈과 보안 기능에 따라 테스팅 전략을 수립한다. 제안기법은 위협 분석 및 테스팅 분류, 적절한 보안테스팅 전략 선정, 보안 테스팅으로 구성된다. 사례연구와 보안테스팅을 통해 제안 기법이 보안 시스템을 체계적으로 평가할 수 있음을 보였다.

자바 프로그램의 그래픽 구조 분석과 메트릭스 생성 도구의 설계 (A Design of Graphic Structured Analysis and Metrics Tool for Java Program)

  • 정지환;황선명
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.516-518
    • /
    • 1999
  • 고속으로 발전하는 컴퓨터 분야에 있어서 소프트웨어는 좀더 복잡해지고 대형화 되어갔다. 이에 따른 소프트웨어의 테스팅은 소프트웨어 재사용성이나 유지보수, 오류 검출을 하기 위한 하나의 수단으로 사용되어져 가고 있으며, 보편화 되어가고 있다. 그리고 소프트웨어 개발 방법이 구조적 프로그래밍 기법에서 객체지향 프로그래밍 기법으로 변화할 수 옥 이에 따른 소프트웨어 테스팅 역시 구조적 프로그래밍 기법에서 사용하던 테스팅 방법들을 객체지향적 개념에 맞게 바꾸어 나가는 연구들이 많이 이루어지고 있다. 논문에서는 이러한 객체지향 테스팅 기법에서 사용하는 메트릭스들을 선정하여 이를 자바언어로 작성된 프로그램에 적용하고 그 결과물들을 그래픽컬한 표현으로 나타내어 편리한 테스트 환경을 지원하는 도구를 설계 및 구현하였다.

  • PDF

소프트웨어 블랙박스 테스팅 기법 비교 및 커버리지 분석을 통한 성능 측정 (Comparing Black-box Testing Methodology and Performance Measurement by Test Coverage Analysis)

  • 맹상우;박홍성
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2009년도 제40회 하계학술대회
    • /
    • pp.1891_1892
    • /
    • 2009
  • 정밀한 소프트웨어 테스팅에서 테스트 케이스의 생성과 테스트 수행 작업은 많은 시간과 노력을 필요로 한다. 따라서 경험 있는 테스터 들은 적은 수의 테스트 케이스를 선택적으로 사용하여 보다 정확한 테스트를 수행할 수 있기를 요구한다. 테스트 케이스의 수를 줄이기 위해 수많은 연구가 진행되었다. 소프트웨어 테스팅에서 가장 기본이 되는 테스트는 단위 테스트이다. 본 논문에서는 블랙박스 테스팅에 사용되는 잘 알려진 테스트 후보 값 생성 및 조합 기법에 관한 기존 연구를 살펴보고 성능을 비교해 본다. 성능 비교를 위해 몇몇 예제 코드를 실험적으로 이용하였다.

  • PDF

안드로이드 커널 모듈 취약점 탐지를 위한 자동화된 유닛 테스트 생성 기법 (Automated Unit-test Generation for Detecting Vulnerabilities of Android Kernel Modules)

  • 김윤호;김문주
    • 정보과학회 논문지
    • /
    • 제44권2호
    • /
    • pp.171-178
    • /
    • 2017
  • 본 논문에서는 안드로이드 커널 모듈의 취약점을 탐지하기 위한 자동 유닛 테스트 생성 기법을 제안한다. 안드로이드 커널 모듈의 각 함수를 대상으로 테스트 드라이버/스텁 함수를 자동 생성하고 동적 기호 실행 기법을 사용하여 테스트 입력 값을 자동으로 생성한다. 또한 안드로이드 커널 모듈의 함수 포인터와 함수 선행 조건을 고려하지 않은 테스트 생성으로 인한 거짓 경보를 줄이기 위해 정적 분석을 통한 함수 포인터 매칭 기법과 def-use 분석을 사용한 함수 선행 조건 생성 기법을 개발하였다. 자동 유닛 테스트 생성 기법을 안드로이드 커널 3.4 버전의 세 모듈에 적용한 결과 기존에 존재하던 취약점을 모두 탐지할 수 있었으며 제안한 거짓 경보 감소 기법으로 평균 44.9%의 거짓 경보를 제거할 수 있었다.

파일 퍼징을 이용한 SW 취약점 분석 (Software Vulnerability Analysis using File Fuzzing)

  • 김상수;강동수
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2017년도 제56차 하계학술대회논문집 25권2호
    • /
    • pp.29-32
    • /
    • 2017
  • 보안 취약점을 악용하여 소프트웨어를 무력화하는 사이버 공격이 증가함에 따라, 조기에 소프트웨어의 취약점을 발견하고 분석하는 보안 테스팅에 대한 중요성이 높아지고 있다. 보안 테스팅의 자동화된 방법 중 하나인 퍼징 기법은 소프트웨어의 입력에 타당하지 않은 무작위 값을 삽입하여 해당 소프트웨어의 예외 즉, 잠재적인 취약점을 발견할 수 있다. 본 논문은 파일 퍼징 과정에서 효율적인 파일 변이 방법을 제안하고 이를 활용한 퍼징 기법을 통해 소프트웨어의 보안성을 높이고자 한다.

  • PDF

정보 보안 평가 및 취약점 분석을 위한 SW 테스팅 절차 (A SW Testing Procedure for Information Technology Security Evaluation and Vulnerability Analysis)

  • 김동진;정윤식;조성제;박민규;이진영;김일곤;이태승;김홍근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.80-82
    • /
    • 2012
  • 다양한 정보보호 제품이 개발됨에 따라, 정보보호 제품 보증을 위해 자체의 보안성 평가 및 인증이 중요시되고 있다. 정보보호 제품의 평가 및 인증을 위해서는 보안기능 검사와 취약점 분석 단계가 매우 중요하지만 이를 위한 정보보호 제품의 보안기능 시험과 취약성 분석을 위한 테스팅 절차에 대한 연구는 그 중요성에 비해 많이 수행되지 않았다. 현재까지는 보안제품을 기능별로 제품을 분류하여 보안성을 평가하였는데, 본 논문에서는 보안 제품들에서 공격에 취약한 SW 모듈 중심으로 테스팅 대상을 분류하는 방법을 제안한다. 분류된 SW 모듈별로 적합한 보안 테스팅 기법을 정의하고, 보안제품의 취약점을 효과적으로 탐지하기 위해 공개되어 있는 관련 취약점도 분석하였다. 이를 통해 정보보호 제품의 취약점 분석 및 제품 보안성 평가를 위한 SW 모듈별 보안 테스팅 절차를 수립하고, 테스트하였다. 실험을 통해 취약한 SW 모듈별 적절한 공격 기법 선정 시 제안 절차가 정보보호 제품 평가 인증에 활용될 수 있음을 확인하였다.

소프트웨어 테스팅에서 위험 기반 호출 그래프를 이용한 위험 식별 기법 (A Risk Identification Method Using Risk-based Call Graph in Software Testing)

  • 민복기;박지수;한금주;손진곤
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2015년도 춘계학술발표대회
    • /
    • pp.607-610
    • /
    • 2015
  • 소프트웨어 테스팅의 표준인 위험 기반 테스팅은 품질에 영향을 미칠 것으로 예상되는 위험들을 식별하고 분석한 결과를 바탕으로 효과적인 테스트 전략을 세우는 방법이다. 성공적인 위험 기반 테스팅을 위해서는 위험을 조기에 식별하는 것이 중요하다. 위험 식별은 하나의 프로그램 혹은 프로젝트에 따라 이해관계자의 리뷰를 통해 주관적으로 추출하는 방법을 주로 사용한다. 그러나 이는 짧은 개발주기 안에서 변화되는 위험을 즉시적으로 식별하기 어렵다. 본 논문에서는 위험 기반 호출 그래프를 이용하여 위험을 초기에 식별할 수 있는 방법을 제안한다.