상태 머신을 이용한 소프트웨어 테스트 문제 해결 방법

지난 달 저희 블로그에서 상태 머신을 위한 소프트웨어 테스트 (함께) 와 함께, ~와 더불어, ~와 함께 알토바 유모델 (Altova UModel) 저희는 에어컨 시스템 모델에서 예상치 못한 작동 방식을 발견했고, 독자들에게 이 디자인을 개선하도록 제안했습니다. 이 글에서는 가능한 해결책 중 하나를 소개합니다. 저희 모델의 테스트 프로그램을 실행했을 때, 전원 스위치가 시스템이 대기 모드일 때에도 시스템을 끄지 않는다는 것을 확인했습니다 상태 다이어그램 저희 초기 모델에서는, 작동 모드에서 대기 모드로 진입하는 유일한 방법은 대기 버튼을 사용하는 것이며, 대기 모드에서 벗어나는 유일한 방법 또한 대기 버튼을 다시 누르는 것입니다. 자세한 내용은 아래와 같습니다.

시스템을 대기 상태에서 종료하기 위한 대체 경로를 만들 수 있습니다. 이를 위해 대기 상태에서 종료 상태로 새로운 연결선을 그리고, 해당 연결선을 통해 시스템을 종료하는 이벤트로 powerButton() 함수를 지정하면 됩니다. UModel은 모델에 이미 정의된 이벤트 목록을 보여주는 팝업 창을 제공하여 이러한 설정을 쉽게 할 수 있도록 지원합니다.

새로운 절전 모드에서 전원 끄기 모드로의 전환 기능을 적용한 모델의 최종 수정 사항은 다음과 같습니다

자바 코드를 다시 생성하고 새로운 버전을 컴파일한 후, 테스트 애플리케이션을 다시 실행할 수 있습니다. 디버그 출력 메시지 창을 보면 시스템이 이벤트 3에서 대기 모드로 진입한 것을 확인할 수 있습니다. 이제 전원 버튼을 누르면(이벤트 4), 시스템 상태가 꺼짐으로 설정됩니다.

Altova UModel을 사용하여 스테이트 머신 다이어그램의 논리적 구조를 어떻게 개선할 수 있는지 직접 확인해 보세요 무료 30일 체험판을 지금 바로 다운로드하세요!