672 0

A Study on UML Model-based Automatic Test Case Generation and Test Case Prioritization

Title
A Study on UML Model-based Automatic Test Case Generation and Test Case Prioritization
Other Titles
UML 모델 기반 테스트 케이스 생성 자동화와 테스트 케이스 우선순위화에 대한 연구
Author
신기욱
Alternative Author(s)
신기욱
Advisor(s)
임동진
Issue Date
2021. 2
Publisher
한양대학교
Degree
Doctor
Abstract
모델 기반 개발 기법은 급격히 증가하는 소프트웨어 복잡성에 대한 방안으로서, 모델을 활용한 정형 명세 및 시뮬레이션 등을 통하여 소프트웨어 품질을 조기에 확보할 수 있게 한다. 이러한 소프트웨어 품질을 증대시키기 위해서는 개발 과정에서 발생할 수 있는 설계 오류를 조기에 발견할 수 있어야 한다. 그러나 설계 단계에서 사람의 실수로 모델이 잘못 변경되면, 원래 설계 의도에 맞게 최종 결과물이 동일한 지 쉽게 확인할 수 없다. 이러한 설계 오류를 발견하기 위한 검증 기법으로서, 변이 테스트는 테스트 강건성을 높이는 해결 방안 중 하나이다. 변이 테스트 기법은 또한 한정된 시간 안에 모든 테스트를 수행할 수 없어 수행할 테스트 케이스의 선정이 필요하거나, 테스트 조기에 발견될 수 있게 하는 테스트 케이스 최적화에도 활용된다. 모델 기반 개발 기법에서는 이러한 모델을 활용한 모델 기반 검증 기법으로서 액션 언어로 되어 있는 UML 모델에서 추상 테스트 케이스를 생성하여 테스트 수행 시점에 실제 테스트 케이스로 변환하는 방법이 쓰인다. 그러나, 이러한 방법은 추상 테스트 케이스를 테스트 실행 시점에 해석할 수 있는 특정 테스트 수행기를 강요하기 때문에, 실제 산업에서 적용하기에는 문제가 따른다. 본 논문에서는 이러한 문제를 해결할 수 있도록 특정 언어 또는 추상 언어에 관계없이 모델 명세 언어에 맞게 커스텀 언어 파서를 활용하여 테스트 케이스를 생성할 수 있는 생성기를 제안한다. 그리고 이를 기반으로 변이 연산자를 활용하여 변이 테스트에 바로 활용 가능한 실제 테스트 케이스들을 자동 생성하고, 생성된 테스트 케이스이 얼마나 많은 변이를 제거할 수 있는 지에 따라 우선순위화를 수행하였다. 다음으로, 테스트 케이스 우선순위화의 결과로 최적의 테스트 스위트를 주어진 시간 내에 찾기 위해 교대 변수법 (Alternating Variable Method, AVM)을 활용한 새로운 테스트 케이스 우선순위화 기법을 제안하고, 이를 자동차 산업에 대한 연구 사례로서 자동차 전장 부품인 파워 윈도우 스위치, 전장 제어 모듈, 스마트키 유닛의 소프트웨어 모델에 대해 적용하였다. 이러한 결론으로서, UML 모델 내 명세 언어에 종속되지 않는 구조의 모델 기반 변이 테스트 및 테스트 케이스 최적화를 위한 프레임워크를 제시하였고, 이를 활용하여 자동차 전자 제품에 대한 적용 사례로서 테스트 케이스를 생성하였다. 그리고 최적화 기법으로서, 본 논문에서 새롭게 제시한 AVM 기반의 우선순위화 기법을 타 휴리스틱 기반의 알고리즘과의 성능을 비교하였다. 이를 통해 더 간단한 연산 복잡도로 오류를 테스트 사이클 조기에 발견할 수 있었다.; The model-based approach is useful for analyzing modern software, which is rapidly increasing in complexity. It helps to improve software quality through formal specification and simulation. To improve software quality, it is necessary to find design errors during the early stages of the development process. As a method for detecting design errors, mutation testing is one route to increased test robustness. The mutation testing technique is also utilized for test case optimization when selecting test cases since it is impossible to test all input conditions within a limited time, and errors need to be found during the early stages of the development. In the model-based approach, a model-based testing technique generates abstract test cases from the UML model in an action language and convert them into actual test cases at the time of test case execution. However, since this method forces a specific test-case executor to interpret the abstract test case at the test execution time, it is difficult to adapt it for real-world industrial projects. To solve this problem, this thesis proposed a generator that can generate a test case using a custom language parser for model description language, regardless of the specific language (including abstract language). Furthermore, this study considered how to automatically generate actual test cases that can be directly used for mutation testing by using the mutation operator. The generated test cases were prioritized to detect errors early in the test execution cycle. Next, this thesis proposed a new test case prioritization technique using AVM to find the optimal test suite within a given time. As an empirical case study for the automotive electronics industry, the new method using AVM applied to automotive electronics components, such as a power window switch, body control module, and passive start and entry system. As a result, this thesis presented a framework on model-based mutation testing and test case optimization without dependency on the model description language in the UML model, and mutation testing was executed as real industrial cases for automobile electronic products using the framework. As an optimization technique, the performance of the AVM-based test case prioritization newly proposed in this thesis was compared with other heuristic-based algorithms. This method was able to detect errors early in the test cycle with simpler computational complexity.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/159347http://hanyang.dcollection.net/common/orgView/200000485375
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONIC SYSTEMS ENGINEERING(전자시스템공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE