컴퓨터공학2학년/SW테스팅

[SW테스팅] 상태 전이 테스팅(state transition)

반나무 2021. 5. 5. 16:19

상태 전이 테스팅

  • 이벤트, 액션, 상태, 가드, 상태전이 사이의 관계를 검증
  • 시스템/SW의 상태 기반 행위가 명세화된 내용과 일치함을 검증
  • 상태기반 시스템의 결함은 사태, 상태전이, 가드, 이벤트 결함 등으로 분류
  • "구현이 잘못된 경우"와 "명세가 잘못된 경우"의 결함으로 구분

가드 : 상태가 전이될때의 조건

 


모델(명세)상의 결함 -> 인스펙션, 정적 분석으로 결함 발견

  • 초기상태 누락
  • 전이 또는 액션의 누락
  • 가드를 "전이" 대신 상태에 표기
  • 가드의 중복 또는 불일치

구현상의 결함 -> 테스트를 통해 결함 발견

  • 여분/누락/훼손 상태 (extra/missing/corrupt state)
  • 액션이 틀리거나 누락됨
  • 스니크 패스(sneak paths), 트랩도어(trap doors)
    • 설계할때 의도하지 않았으나 발생해 정상적인 작동에 손상을 주는 경로
    • 트랩도어는 의도한것이다.

상태 다이어그램 표기법

구성요소 설명 표기법
상태 하나 또는 그 이상의 이벤트를 기다리는 시스템의 독립적인 모드 원으로 표기, 원 안에 상태명 표시
전이 이벤트에 의해 현 상태에서 다른 상태로의 이동 또는 변경 화살표 형태의 선으로 표시하며 상태와 상태를 연결함
이벤트 상태의 전이를 유할하는 요인 전이와 같이 표시하며 이벤트 이름을  표시함 (ev 취소)
가드 상태 전이 조건 이벤트와 함께 표시, [] 안에 조건이나 갚으로 표시
(ev 금액투입 [투입금액 < 가격])
액션 상태 전이와 함께 시스템 또는 SW가 동작하는 행위나 출력 이벤트 뒤에 /로 구분 후 표시
(ev 음료버튼선택 / 잔액반환())

상태전이 테스트 케이스 절차

  1. 상태-이벤트 테이블 구성
  2. 전이 트리 구성
  3. 반응(Legal, 또는 유효(Valid)) 테스트 케이스 구성
  4. 무반응(ilLegal, 또는 비유효(InValid)) 테스트 케이스 구성
  5. 가드(Guard) 또는 조건 테스트 케이스 구성
  6. 테스트 프로시저(Test procedure) 구성
반응형