• 제목/요약/키워드: Test Case generation

검색결과 340건 처리시간 0.035초

무기체계 소프트웨어의 모델 기반 테스트 케이스 생성 방법 (Model-based Test Cases Generation Method for Weapons System Software)

  • 최현재;이영우;백지선;김동환;조규태;채흥석
    • 한국군사과학기술학회지
    • /
    • 제23권4호
    • /
    • pp.389-398
    • /
    • 2020
  • Test cases in the existing weapon system software were created manually by the tester analyzing the test items defined in the software integration test procedure. However, existing test case generation method has two limitations. First, the quality of test cases can vary depending on the tester's ability to analyze the test items. Second, excessive time and cost may be incurred in writing test cases. This paper proposes a method to automatically generate test cases based on the requirements model and specifications to overcome the limitations of the existing weapon system software test case generation. Generate test sequences and test data based on the use case event model, a model representing the requirements of the weapon system software, and the use case specification specifying the requirements. The proposed method was applied to 8 target models constituting the avionics control system, producing 30 test sequences and 8 test data.

A UML-based Approach towards Test Case Generation and Optimization

  • Shahid Saleem;Saif U. R. Malik;Bilal Mehboob;Roobaea Alroobaea;Sultan Algarni;Abdullah M. Baqasah;Naveed Ahmad;Muhammad Hasnain
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제18권3호
    • /
    • pp.633-652
    • /
    • 2024
  • Software testing is an important phase as it ensures the software quality. The software testing process comprises of three steps: generation, execution, and evaluation of test cases. Literature claims the usage of single and multiple 'Unified Modeling Language' (UML) diagrams to generate test cases. Using multiple UML diagrams increases test case coverage. However, the existing approaches show limitations in test case generation from UML diagrams. Therefore, in this research study, we propose an approach to generate the test cases using UML State Chart Diagram (SCD), Activity Diagram (AD), and Sequence Diagram (SD). The proposed approach transforms UML diagrams into intermediate forms: SCD Graph, AD Graph, and SD Graph respectively. Furthermore, by integrating these three graphs, a System Testing Graph (STG) is formed. Finally, test cases are identified from STG by using a traversal algorithm such as Depth First Search (DFS) that is an optimization method. The results show that the proposed approach is better compared to existing approaches in terms of coverage and performance. Moreover, the generated test cases have the ability to detect faults at the unit level, integration, and system level testing.

BPMN기반의 모델 단축을 이용한 서비스 시스템의 테스트 케이스 생성 기법 (A Method of Test Case Generation using BPMN-based Model Reduction for Service System)

  • 이승훈;강동수;송치양;백두권
    • 정보처리학회논문지D
    • /
    • 제16D권4호
    • /
    • pp.595-612
    • /
    • 2009
  • 시스템 개발에서 초기 테스트는 오류수정 비용을 현저하게 낮출 수 있으며 이는 SOA기반 서비스 시스템에서도 여전히 중요한 요소이다. 그러나 서비스 시스템을 위한 기존 테스트 케이스 생성 기법들은 XML 기반 언어를 사용하여 웹서비스에 한정적이라는 한계점을 가진다. 이를 극복하기 위해서 본 논문에서는 BPMN에 따라 작성된 비즈니스 프로세스 기반으로 서비스 시스템의 테스트 케이스 생성 기법을 제시한다. 테스트 노력을 최소화 하기 위해 기존 BPM을 워크플로우의 기본 요소로만 단순화 시킨 S-BPM을 사용한다. 테스트 케이스 생성 과정은 목표서비스 시스템에 대해 S-BPM을 생성하고, 이를 방향성 그래프로 변환 후, 시나리오 검색 알고리즘을 적용하여 서비스 시나리오를 생성하고, 메시지의 이동 정보를 추출함으로써 이루어진다. 본 기법을 적용하면 웹서비스에 한정적이지 않으면서도 범용 서비스에 적용이 가능한 효율성 높은 테스트 케이스를 얻을 수 있으며, 이 결과물은 SOA의 비즈니스 관점 지향 특징을 반영한 테스트 케이스로 볼 수 있다.

J2ME 플랫폼 기반의 테스트케이스 생성 기법 (A Test Case Generation Techniques Based on J2ME Platform)

  • 김상일;노명기;류성열
    • 정보처리학회논문지D
    • /
    • 제13D권2호
    • /
    • pp.215-222
    • /
    • 2006
  • 모바일 소프트웨어의 생산성을 높이고 신뢰성 있는 소프트웨어를 개발하기 위한 모바일 소프트웨어 테스트의 중요성이 부각되고 있다. 모바일 소프트웨어의 테스팅 기술이 효율적으로 적용되기 위해서는 모바일 플랫폼 기반의 테스트를 자동화 할 수 있는 기술이 필요하다. 즉, 모바일 플랫폼에서 제공하는API를 테스트 하기 위한 테스트케이스를 생성할 수 있는 기법이 필요하다. 테스트케이스를 생성하게 되면 소프트웨어의 생산성과 신뢰성을 향상 시킬 수 있을 뿐만 아니라, 테스트 기간 및 비용을 줄일 수 있다는 이점이 있다. 본 논문에서는 기존의 테스트 자동화에 관련된 연구와 테스트 자동화 도구에 대한 연구를 통해 테스트케이스 생성 범위를 설정하고, J2ME 플랫폼에 사용될 수 있는 테스트케이스 생성 기법인 키워드 방식 기법(Keyword Driven Method)을 제시하였으며, 제안한 생성 기법을 적용하여 J2ME 플랫폼 기반의 테스트에 활용 가능한 테스트케이스 생성 기법이 되도록 하였다.

비결정성을 갖는 프로토콜을 위한 시험 스위트 생성방법 (Test suite generation technique for protocols with nondeterminism)

  • 김병식;김우직
    • 한국통신학회논문지
    • /
    • 제22권9호
    • /
    • pp.1854-1866
    • /
    • 1997
  • 본 논문에서는 기존의 UIO순열을 이용하는 방법을 개선하여 비결정적 유한상태기계에서 시험 경우를 생성하는 방법에 대해서 소개하였으며, 시험 경우의 자동생성을 위해서 필수적인 사항인 적합성 관계의 형식적인 정의를 새롭게 정의하였다. 또한 프로토콜의 비결정적인 성질 때문에 시험기는 한 입력을 가했을 때 어떤 출력을 낼지 미리 시험기의 입장에서 알 수 없으므로 적응력있는 시험을 위해서 트리형태의 시험 경우를 생성하는 방법을 소개하였고 시험 경우를 입력과 출력을 분리해서 고려함으로써 시험 경우 기술 언어인 TTCN으로의 변환을 쉽게 하였다.

  • PDF

휴리스틱 입력 분석을 이용한 RRT 기반의 Simulink/Stateflow 모델 테스트 케이스 생성 기법 (Generating Test Cases of Simulink/Stateflow Model Based on RRT Algorithm Using Heuristic Input Analysis)

  • 박현상;최경희;정기현
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권12호
    • /
    • pp.829-840
    • /
    • 2013
  • 본 논문은 Simulink/Stateflow 모델 기반의 테스트 케이스를 자동으로 생성하기 위하여, 휴리스틱 입력 분석을 이용한 Rapidly-exploring Random Tree(RRT) 기법을 제안한다. RRT는 모델 기반 블랙박스 테스트 케이스 생성 시 반드시 해결해야 되는 도달 가능성 문제를 효율적으로 해결할 수 있는 방법이지만, 모델의 내부 상태와 테스트 목표를 고려하지 않고 무작위로 모델의 입력을 생성하기 때문에 테스트 케이스 생성 효율이 떨어지는 단점이 있다. 제안하는 기법에서는 RRT를 확장해나갈 때 필요한 입력을, 모델의 현재 상태에서 만족 할 수 있는 테스트 목표를 분석하고 이를 달성할 수 있는 모델의 입력을 분석 결과에 따라 휴리스틱하게 결정함으로써, RRT의 장점을 보존하면서, 테스트 케이스 생성 효율을 높일 수 있다. 제안된 기법은 자동차에 사용되는 실 부품 ECU의 Simulink/Stateflow 모델을 대상으로 한 실험을 통해 성능이 평가되었으며, 기존 RRT와 비교하여 테스트 케이스 생성 효율이 높은 것을 보였다.

한글 체크리스트로부터 테스트 케이스 자동 생성 방안 (An Automatic Test Case Generation Method from Checklist)

  • 김현동;김대준;정기현;최경희;박호준;이용윤
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권8호
    • /
    • pp.401-410
    • /
    • 2017
  • 본 논문에서는 임베디드 시스템 테스트에 많이 사용되는 테스트 항목이 기술된 체크리스트를 기반으로 테스트 케이스를 자동으로 생성하기 위한 방법을 제안한다. 일반적으로 체크리스트에는 테스트하고자 하는 항목이 정의되어 있다. 하지만 대부분의 테스트 케이스 생성 전략에서는 테스트 하고자하는 항목뿐만 아니라 다양한 변이 조건에서도 테스트하기를 권하고 있다. 제안하는 방법은 한글로 기술된 체크리스트를 분석하여 시스템 입출력과 연산 정보를 찾아낸다. 그리고 찾아낸 정보와 설정하는 테스트 케이스 생성 전략에 따라 테스트 케이스를 자동으로 생성한다. 이 방법은 테스트 케이스를 수동으로 생성할 때, 일으킬 수 있는 오류를 줄일 수 있을 뿐만 아니라, 체크리스트에는 기술되지 않는 다양한 변이 테스트 케이스도 생성할 수 있다. 제안된 방법은 구현되고, 실제 의료기기용 임베디드 시스템의 체크리스트를 사용하여 실험을 진행한다. 실험에서는 체크리스트로부터 여러 커버리지에 적절한 테스트 케이스가 오류 없이 통계적으로 정확히 생성되었음을 확인할 수 있어서 제안된 방법의 유용성을 보여준다.

컴포넌트 기반 소프트웨어의 상호운용성 테스트를 위한 유스케이스 기반 테스트 케이스 생성 기법 (Test Case Generation Techniques based on Use Cases for Interoperability Test of Component-Based software)

  • 유철중;노혜민
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권5호
    • /
    • pp.361-375
    • /
    • 2009
  • 사전 제조된 컴포넌트들을 재사용하여 애플리케이션을 개발하는 컴포넌트 사용자의 관심사는 사용자의 요구사항에 따라 적절히 다른 컴포넌트들과 협동하는지 여부를 확인하는 것이다. 따라서 컴포넌트 기반 소프트웨어의 경우 개발 환경이 아닌 새로운 환경에서 소프트웨어를 구성하는 컴포넌트들이 잘 연동되는지를 테스트할 수 있는 상호운용성 테스트에 관련된 연구가 중요시되고 있다. 본 논문에서는 컴포넌트 기반 소프트웨어의 상호운용성 테스트를 위한 테스트 모델을 정의하고, 유스케이스 명세로부터 테스트 모델을 생성한 후 생성된 모델로부터 테스트 케이스를 생성하는 기법을 제안한다. 또한 테스트 모델로부터 테스트 시퀀스를 생성하는 프로시저를 구현한 도구를 소개한다.

분할된 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 모델을 기반으로 한 테스트 케이스 생성실험을 통해 제안된 알고리즘의 성능을 보인다.

임베디드 소프트웨어 테스트 케이스 단계적 생성 (Stepwise test case generation for embedded s/w)

  • 장세헌;장중순;이상용;고병각;최경희;박승규;정기현;이명호
    • 한국경영과학회:학술대회논문집
    • /
    • 대한산업공학회/한국경영과학회 2004년도 춘계공동학술대회 논문집
    • /
    • pp.603-606
    • /
    • 2004
  • Automatic test case generation for testing an embedded software is considered. Existing tools for test case generation such as finite state machine or mutant test usually adopt top down approach and depend upon graphical transition and decision table, which makes it difficult to find out where the bugs exist. Also it is hard to describe the special features of embedded systems such as concurrent execution of individual components. Most of embedded systems interacts with the real world, receiving signals through sensors or switches and sending output signals to actuators that somehow manipulate the environment. Embedded software controls the entire system based on the logics such as interpreting the sensor inputs and making the actuators to start or stop their intended operation. This study proposes an automatic test case generation procedure that tests the system starting from the control logics of sensors, switches and actuators and then their concurrent execution controls, and finally the entire system operation. Such a stepwise approach makes it easy to generate test cases to tell where the bugs of embedded software exist.

  • PDF