TPT(소프트웨어)

TPT (software)
시간 파티션 테스트(TPT)
개발자PikeTec Gmbh
안정된 릴리스
2021년 9월 16일 / 17일, 9개월 전(2021-09-16)
운영 체제창문들
이용가능기간:영어
유형소프트웨어 테스트
면허증.독자 사양
웹 사이트www.piketec.com

TPT(Time Partition Testing)는 임베디드 제어 시스템, 사이버 물리 시스템 및 데이터 흐름 프로그램의 자동 소프트웨어 테스트 및 검증을 위한 체계적인 테스트 방법입니다.TPT는 입력과 출력이 신호로 표현될 수 있는 임베디드 시스템의 테스트와 검증을 전문으로 하며 시스템의 [1]연속 동작을 테스트하는 전용 방법입니다.대부분의 제어 시스템은 이 시스템 클래스에 속합니다.제어 시스템의 뛰어난 특징은 실제 환경과 밀접하게 연계되어 있다는 것입니다.컨트롤러는 환경을 관찰하고 그 [2]동작에 대응하여 대응해야 합니다.시스템은 환경과 상호작용하는 사이클로 작동하며 시간적 제약을 받습니다.이러한 시스템을 테스트하는 목적은 타이밍 동작을 자극하고 점검하는 것입니다.기존 기능 테스트 방법에서는 스크립트를 사용합니다.TPT는 모델 기반 테스트를 사용합니다.

TPT는 테스트 사례에 대한 체계적이고 그래픽 모델링 기법을 다양한 환경 및 자동 테스트 평가에서 완전히 자동화된 테스트 실행과 결합한다.TPT에는 다음 4가지 테스트 액티비티가 포함됩니다.

그래픽 테스트 케이스

변형 하이브리드 오토매틱에 의한 테스트 설명

TPT에서 테스트는 특수 상태 기계와 시간 [1][3]분할을 사용하여 그래픽으로 모델링됩니다.하나의 테스트 대상 시스템에 대한 모든 테스트 사례는 하나의 하이브리드 오토마톤을 사용하여 모델링할 수 있습니다.테스트는 대개 일련의 논리적 단계로 구성됩니다.유한 상태 기계의 상태는 모든 테스트에서 유사한 테스트의 논리적 통과를 나타냅니다.트리거 조건은 테스트 단계 간의 전환을 모델링합니다.자동화의 각 상태와 전환은 다른 변형을 가질 수 있습니다.변종의 조합은 개별 테스트 케이스를 모델링합니다.

자연어 텍스트는 그래픽의 일부가 되어, 프로그래머가 아닌 사람도 심플하고 알기 쉬운 가독성을 실현합니다.병렬 및 계층적 분기 상태 기계, 조건부 분기, 반응성, 신호 기술, 측정 신호 및 단순한 테스트 단계 목록과 같은 실질적인 기법은 복잡한 테스트 사례의 직관적이고 그래픽 모델링도 가능하게 한다.

테스트의 복잡성은 그래픽 뒤에 숨겨져 있습니다.가장 낮은 수준의 신호 설명은 테스트 단계 목록 또는 소위 직접 정의로 구성됩니다.

테스트 단계 목록 예시

단순한 시퀀스 모델링:테스트 순서 리스트

테스트 단계 목록을 사용하면 신호 설정(설정 채널), 램프 신호(램프 채널), 파라미터 설정(설정 파라미터), 대기(대기) 등 병렬로 실행할 필요가 없는 간단한 테스트 단계 시퀀스를 모델링할 수 있습니다.테스트 시퀀스 내에서 예상되는 테스트 결과를 요청하여 테스트 대상 시스템을 평가할 수 있습니다.또한 하위 자동을 테스트 단계 목록에 배치할 수 있으며, 하위 자동에는 자동 및 시퀀스가 포함되어 계층적 테스트 단계 목록이 생성됩니다.테스트 시퀀스는 또한 다른 모델링 방법과 결합될 수 있으므로 테스트의 상당한 복잡성(또는 단순성)이 허용된다.테스트 시퀀스는 다른 모델링 방법과 결합 및 병렬화할 수도 있다.

신호의 직접 정의

직접 신호 정의:직접 정의

테스트 스텝 리스트에서는, 이른바 「직접 정의」를 실장할 수 있습니다.이러한 유형의 모델링을 사용하여 시간, 과거 변수/테스트 사건 및 기타 신호로 신호를 정의할 수 있습니다.또한 "C-Style" 코드를 작성하고 측정 데이터를 가져오고 수동 신호 편집기를 사용하여 이러한 신호를 정의할 수도 있습니다.

기능들

클라이언트 또는 서버로서 기능할 수 있는 기능을 정의할 수 있습니다.클라이언트 함수는 테스트 대상 시스템의 TPT에서 호출되며, TPT에서 구현된 서버 함수는 테스트 대상 시스템에서 "스텁 함수"로 호출할 수 있습니다.TPT 자체는 서버 함수를 호출할 수도 있습니다.

체계적인 테스트 케이스

TPT는 임베디드 [4]시스템의 지속적이고 반응적인 동작을 테스트하기 위해 특별히 개발되었습니다.TPT는 타이밍 동작 측면에서 분류 트리 방법의 확장으로 볼 수 있다.TPT는 테스트 케이스 생성에 대한 체계적인 접근방식을 통해 많은 테스트 케이스가 필요한 매우 복잡한 시스템을 추적하고 있기 때문에 이상적인 수의 테스트 케이스로 테스트 대상 시스템의 고장을 찾아낼 수 있습니다.

TPT의 체계적 개념은 테스트 사례 간의 유사점과 차이점을 분리하는 것이다. 대부분의 테스트 사례는 구조 과정이 매우 유사하며 몇 가지 중요한 [5]세부 사항에서만 구별할 수 있다.TPT는 공동 모델링 및 공동 구조물을 사용하여 이 사실을 활용한다.한편으로 용장성은 회피됩니다.한편, 테스트 케이스가 실제로 다른 점, 즉 각각 테스트하는 특정 측면이 매우 명확합니다.이 접근방식에서는 테스트 케이스와 개요의 비교 가능성이 향상되고 테스트 케이스의 차별화 기능인 필수 요소에 대한 관심이 집중됩니다.

테스트 사례의 계층 구조는 복잡한 테스트 문제를 하위 문제로 분류할 수 있게 하여 명확성을 향상시키고 결과적으로 테스트의 품질을 향상시킨다.

이러한 모델링 기법은 시험자가 실제로 관련된 사례를 찾아 중복을 방지하고 심지어 많은 수의 시험 [6]사례를 추적하는 데 도움을 준다.

테스트 케이스 자동 생성

TPT에는 테스트 케이스를 자동으로 생성할 수 있는 몇 가지 방법이 있습니다.

TPT-Dashboard를 사용한 대화형 수동 테스트
  • 동등성 클래스의 테스트 사례
  • 정적 분석 및 검색 기반[7] 방법을 사용하여 Simulink 모델의 적용 범위에 대한 테스트 사례
  • 테스트 모델의 다양한 상태 및 전환에서 시퀀스를 구축하여 테스트 사례
  • 그래픽 사용자 인터페이스(대시보드)를 통해 테스트 대상 시스템과의 사용자 상호작용 기록을 변환하여 테스트 사례

반응성 테스트

TPT를 사용하면 각 테스트 케이스는 테스트 프로세스 중에 시스템의 동작에[8] 대해 실시간으로 반응할 수 있습니다.예를 들어 특정 시스템 상태가 발생하거나 센서 신호가 특정 임계값을 초과할 때 시스템에서 반응합니다.예를 들어 엔진 공회전 속도가 초과되었을 때 엔진 컨트롤러의 센서 고장을 시뮬레이션하려면 테스트 케이스 설명에서 "엔진 공회전 속도 초과" 사건에 대응할 수 있어야 한다.

테스트 실행

TPT 테스트 케이스는 실행과는 무관하게 작성됩니다.테스트 케이스는 실시간 환경에서도 소위 가상 머신(VM) 개념으로 인해 거의 모든 환경에서 실행할 수 있습니다.예를 들어 MATLAB/Simulink, TargetLink, ASCET, C-code, CAN, AUTOSAR, SystemDesk, DaVinci CT, LABCAR, INCA, Software-in-the-Loop(SiL), HiL 등이 있습니다.따라서 TPT는 유닛 테스트, 통합 테스트, 시스템 테스트 및 회귀 테스트 등 개발의 모든 테스트 단계에서 사용되는 통합 도구입니다.

코드 커버리지 분석 및 측정을 위해 TPT는 C 코드용 Testwell CTC++와 같은 커버리지 도구와 상호 작용할 수 있습니다.

GUI 위젯을 기반으로 구성 가능한 그래피컬 사용자 인터페이스(Dashboard)를 사용하여 테스트와 상호 작용할 수 있습니다.

TPT 가상 머신

TPT의 모델링된 테스트 케이스는 이른바 가상 머신(VM)에 의해 해석되는 테스트 실행 중에 컴파일됩니다.VM은 모든 플랫폼과 모든 테스트에서 동일합니다.개별 응용 프로그램의 신호 매핑을 실현하는 것은 플랫폼어댑터뿐입니다TPT-VM은 ANSI C에서 구현되며 불과 몇 킬로바이트의 메모리가 필요하며 동적 메모리 할당 없이 완전히 구현되므로 미니멀리스트 및 리소스가 적은 환경에서도 적용할 수 있습니다.C 및 에 대한 API도 있습니다.네트워크

TPT의 가상 머신은 정의된 응답 동작을 사용하여 테스트를 실시간으로 처리할 수 있습니다.TPT 테스트 케이스의 응답 시간은 보통 복잡성과 테스트 하드웨어에 따라 마이크로초 이내에 표시됩니다.

프로그램된 테스트 평가

또한 개별 테스트 사례에 대해 예상되는 시스템 동작도 효율적인 테스트 프로세스를 보장하기 위해 자동으로 테스트해야 합니다.TPT는 온라인(테스트 실행 중) 및 오프라인(테스트 실행 후)에서 예상되는 동작의 속성을 계산할 수 있습니다.온라인 평가는 테스트 모델링과 동일한 모델링 기법을 사용하는 반면, 오프라인 평가는 외부 기준 데이터와의 비교, 한계치 모니터링, 신호 필터, 상태 시퀀스 분석 및 시간 조건과 같은 연산을 포함하여 보다 복잡한 평가를 위해 확실히 더 광범위한 가능성을 제공한다.

오프라인 평가는 기술적으로 Python 스크립트 언어를 기반으로 합니다. Python 스크립트 언어는 특정 구문 언어 요소와 테스트 평가를 최적으로 지원하기 위한 전문 평가 라이브러리에 의해 확장되었습니다.스크립트 언어를 사용하면 테스트 평가에서 고도의 유연성을 확보할 수 있습니다.레퍼런스 데이터 액세스, 다른 툴과의 통신, 테스트 평가를 위한 독자적인 도메인 고유의 라이브러리 개발이 지원됩니다.스크립트 기반의 테스트 결과 평가 외에 사용자 인터페이스는 테스트 평가에 대한 간단한 접근을 제공하며 비프로그래머가 스크립트를 회피하는 데 도움이 됩니다.

TargetLink 및 Simulink 신호 로깅 또는 MCD-3 측정 데이터와 같은 다른 소스의 측정 데이터를 자동으로 평가할 수 있습니다.이 데이터는 테스트 실행과 독립적일 수 있습니다.

테스트 문서

IEEE 829에 따른 TPT 시험문서는 시험실무자에게 시험평가 결과를 HTML, 보고서로 제시하며, 시험사례별 시험결과로서 순수한 정보 "성공", "실패" 또는 "불명"을 나타낼 수 있을 뿐만 아니라 시험실무자 내에서 관찰된 특성 파라미터 또는 신호와 같은 세부사항을 제시한다.또는 테스트 평가에서 계산됩니다.테스트 평가는 타이밍과 점검된 동작에 대한 적절한 정보를 반환하므로 이 정보를 보고서에서 사용할 수 있습니다.테스트 문서의 내용과 문서 구조는 템플릿을 사용하여 자유롭게 구성할 수 있습니다.

테스트 관리

TPT는 다음과 같은 액티비티를 통해 TPT 테스트 프로젝트의 테스트 관리를 지원합니다.

  • 테스트 프로젝트에서의 테스트 케이스 개발
  • 테스트 세트 구성 및 테스트 실행 구성을 통한 테스트 계획
  • 테스트 캠페인의 자동 테스트 실행 및 평가(평가)
  • 테스트 보고서(개별 테스트 실행에 대한 세부 정보)
  • 다양한 릴리즈 사이클에 걸친 요약 보고서 테스트 및
  • 요건, 테스트, 테스트 실행, 테스트 결과의 추적 가능성

요건 추적

IEC 61508, DO-178B, EN 50128 및 ISO 26262같은 업계 표준에는 요구사항과 테스트의 추적성이 필요합니다.TPT는 이러한 활동을 지원하기 위해 Telelogic DOORS 의 요건 도구에 대한 인터페이스를 제공합니다.

어플

TPT는 모델 기반테스트 툴로 주로 자동차 컨트롤러 개발에 사용되며[9], 원래 Daimler AG에서 자체 개발을 위해 개발되었습니다.다임러는 [10]수년간 테스트 도구 개발을 조정했다.2007년 Pike 이후Tec은 이 툴의 개발을 계속하고 있습니다.TPT는 BMW, 폭스바겐, 아우디, 포르쉐, 제너럴 모터스 같은 다른 많은 자동차 제조사들과 Robert Bosch GmbH, Continental, Hella [11]같은 공급자들에 의해 사용된다.

레퍼런스

  1. ^ a b "Justyna Zander-Nowicka, Abel Marrero Pérez, Ina Schieferdecker, Zhen Ru Dai: Test Design Patterns for Embedded Systems, In: 10th International Conference on Quality Engineering in Software Technology, CONQUEST 2007, Potsdam, Germany, September 2007" (PDF). Archived from the original (PDF) on 2012-03-02. Retrieved 2013-08-08.
  2. ^ Karl J. Åström and Richard M. Murray (2008). Feedback Systems: An Introduction for Scientists and Engineers (PDF). Princeton University Press. ISBN 978-0-691-13576-2.
  3. ^ "Schieferdecker, Bringmann, Grossmann: Continuous TTCN-3: Testing of Embedded Control Systems, In: Proceedings of 28th International Conference on Software Engineering, Shanghai, China, 2006" (PDF). Retrieved 2013-08-08.
  4. ^ "Bringmann, Krämer: Systematic testing of the continuous behavior of automotive systems In: International Conference on Software Engineering: Proceedings of the 2006 international workshop on Software, Shanghai, China, 2006" (PDF). Retrieved 2013-08-08.
  5. ^ "Lehmann, TPT – Dissertation, 2003" (PDF). Retrieved 2013-08-08.
  6. ^ "Lehmann: Time Partition Testing: A Method for Testing Dynamical Functional Behavior IN: Proceedings of Test2000, Lindon, Great Britain, 2000". Evotest.iti.upv.es. Retrieved 2013-08-08.
  7. ^ 벤자민 윌메스:Hybrides Testverfahren für Simulink / TargetLink-Modelle, 논문, 독일, TU-Berlin, 2015.[1]
  8. ^ "Grossmann, Müller: A Formal Behavioral Semantics for TestML; In:Proc. of ISOLA 06, Paphos, Cyprus, November 2006" (PDF). Immos-project.de.
  9. ^ Bringmann, E.; Krämer, A. (2008). "Model-Based Testing of Automotive Systems" (PDF). 2008 International Conference on Software Testing, Verification, and Validation. International Conference on Software Testing, Verification, and Validation (ICST). pp. 485–493. doi:10.1109/ICST.2008.45. ISBN 978-0-7695-3127-4.
  10. ^ Conrad, Mirko; Fey, Ines; Grochtmann, Matthias; Klein, Torsten (2001-07-09). "Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler". Informatik - Forschung und Entwicklung. 20 (1–2): 3–10. doi:10.1007/s00450-005-0197-5.
  11. ^ Hauser Automotive 웹 사이트. 아브제루펜은 16살이에요 Mérz 2015 Wayback Machine에서 2015-11-24 아카이브 완료

외부 링크