테스트 케이스 설계 방식 육경신검 - 제4의 검 : 지축을 깨뜨리는 기능도 방식 공격진형 | JD물류기술팀

1. 소개

이전 기사에서는 원인과 결과 다이어그램, 결정 테이블, 직교 테스트와 같은 여러 가지 방법에 대해 설명했으며 주로 다양한 조건에서 입력과 출력의 조합을 테스트하는 데 사용됩니다. 테스트 중인 입력과 출력의 조합을 테스트해야 합니다.객체의 상태 흐름을 확인할 때 이전 방법은 더 이상 적용할 수 없습니다.이런 종류의 상태 전환 문제에 대해 함수 다이어그램 규칙이 그 재능을 보여줄 수 있습니다.

2 개념과 원리

2.1 기본 개념

함수 차트: 상태 차트 방법이라고도 불리는 이 방법은 동적 설명 문제를 구체적으로 해결하는 테스트 케이스 설계 방법으로, 주로상태 천이 차트의 두 부분으로 구성됩니다. 논리 함수 모델

2.1.1 상태 마이그레이션 다이어그램

특정 객체의 수명 중 특정 조건을 충족하는 모든 상태를 설명하는 데 사용됩니다뿐만 아니라 다양한 발생으로 인해 발생하는 상태 이벤트 간 전송. 상태 전이 다이어그램과 관련하여 다음 사항에 유의해야 합니다.

1) 상태 전이 다이어그램에는 다음과 같은 상태가 포함됩니다.

초기 상태(즉, 초기 상태) - 채워진 원
최종 상태(즉, 최종 상태) - 한 쌍의 동심원(내부 원은 솔리드 원)
중간 상태 - 둥근 직사각형

2) 상태 다이어그램에는 초기 상태가 하나만 있을 수 있지만 최종 상태는 0개 이상이 있을 수 있습니다.

3) 상태도는 단일 수명주기 또는 시스템주기 작동 프로세스를 나타낼 수 있습니다.

2.1.2 논리적 기능 모델

상태의 입력 조건과 출력 조건 간의 대응을 나타내는 정적 설명을 설명하는 데 사용됩니다.

2.2 핵심 아이디어

함수 다이어그램 방법의 핵심 아이디어는 테스트 중인 시스템의 여러 상태와 상태 간의 전환 조건 및 전환 경로를 추상화한 다음 상태 마이그레이션 경로 적용 범위의 관점에서 테스트 케이스를 설계하는 것입니다.

3가지 방법 단계

1) 요구 사항을 분석하고 상태 노드를 명확히 하며 다음 정보에 특별한 주의를 기울이십시오.

존재 상태
상태 간 변환 관계
상태 변경 트리거 조건.

2) 다양한 상태의 전이를 분류하고 상태-조건 테이블을 출력합니다.

3) 상태 전이 다이어그램을 그립니다.

초기 상태를 정의합니다.
초기 상태에 작업을 추가하여 초기 상태를 변경하고 새 상태를 추가합니다.
이전 단계에서 생성된 새 상태에 작업을 추가한 후 새 상태를 추가합니다.
새 상태가 생성되지 않을 때까지 반복합니다.

4) 상태 마이그레이션 트리로 변환합니다.

너비 우선 탐색 + 깊이 우선 탐색 알고리즘을 결합하여 상태 전이 그래프의 각 경로를 탐색하여 상태 전이 트리를 얻습니다.

5) 상태 마이그레이션 트리에서 테스트 경로를 내보냅니다.

상태 이전 트리의 루트 노드에서 각 리프 노드까지의 경로는 테스트 케이스입니다.

4 밤을 줘

시나리오: 고객 서비스 시스템의 이벤트 상태 전송 프로세스에 대한 테스트 케이스 설계

1) 고객 서비스 사고의 가능한 모든 상태를 분석합니다.

생성됨/할당 예정
간파
당신의
已解决
已关闭
升级待 분파
다시 타격



2) 상태 간의 변환관계와 트리거 조건을 정리하여 상태-조건표를 얻는다.



현재 상태 다음 상태 상태 전환 조건
생성/할당 예정 할당된 ①시스템이 자동으로 배포합니다. ②수동으로 수집합니다.
할당된 처리 ①고객서비스 운영 이벤트/이벤트가 업데이트 됩니다.
생성/할당 예정 처리 ①이벤트 전송
생성/할당 예정 해결됨 ①시스템이 사건을 해결합니다. (예: 미니 프로그램 - 사용자가 서비스를 취소하는 경우)
생성/할당 예정 닫은 ①mq가 종료를 트리거합니다(예: 업스트림 취소 예외).
처리 해결됨 ①고객센터에서 수동으로 사건을 해결합니다. ②시스템이 자동으로 사건을 해결합니다.
해결됨 닫은 ①아카이브
해결됨 다시 열기 ① 수동 재개 ② 시스템 트리거 재개
처리 파견 예정인 업그레이드 ①고객 서비스 업그레이드 이벤트
처리 닫은 ①병합
파견 예정인 업그레이드 할당된 ①시스템이 자동으로 배포합니다. ②수동으로 수집합니다.
파견 예정인 업그레이드 처리 ①이벤트 전송
다시 열기 파견 예정인 업그레이드 ①고객 서비스 업그레이드 이벤트
다시 열기 해결됨 ①고객센터에서 수동으로 사건을 해결합니다. ②시스템이 자동으로 사건을 해결합니다.
- 생성/할당 예정 ① fxm/작은 프로그램 및 기타 생성된 이벤트
- 할당된 ①고객센터에서 수동으로 생성 ②전화/동동 등을 통한 수신전화
- 파견 예정인 업그레이드 ①시스템 업그레이드 이벤트(우편불만 접수 등)

3) 상태-조건표를 바탕으로 기능도/상태도를 그린다.





 

4) 기능 다이어그램에 따라 상태 마이그레이션 트리를 출력합니다.





 

5) 테스트 케이스 출력 다음 표는 처음 5개의 테스트 케이스를 출력하는 예를 나타내고 나머지는 유사하므로 자세한 설명은 생략한다.



사용 사례 번호 테스트 항목 제목 전제 조건 단계 예상되는 결과
테스트_01 이벤트 상태 변경 이벤트 상태 전환: [생성됨/할당 예정]--[배송됨]--[처리 중]--[해결됨]--[닫기] 정상 작동 이벤트 1. fxm 채널을 통해 온라인으로 이벤트 생성 2. 고객 서비스에서 이벤트를 수동으로 수집 3. 고객 서비스에서 이벤트 정보를 업데이트 4. 고객 서비스에서 클릭하여 이벤트 해결 5. 15일 동안 해당 이벤트에 대한 작업이 없는 경우 일 후에 시스템은 이벤트를 보관합니다. 이벤트 상태가 [생성됨/할당 예정]--[배송됨]--[처리 중]--[해결됨]--[닫기]로 변경됩니다.
테스트_02 이벤트 상태 변경 이벤트 상태 전환: [생성됨/할당 예정]--[배송됨]--[처리 중]--[해결됨]--[다시 열기]--[해결됨]--[닫기] 정상 작동 이벤트 1. fxm 채널을 통해 온라인으로 이벤트 생성 2. 고객 서비스에서 이벤트를 수동으로 수신 3. 고객 서비스에서 이벤트 정보 업데이트 4. 고객 서비스에서 클릭하여 이벤트 해결 5. 고객 서비스에서 이벤트 다시 열기 6. 고객 서비스에서 클릭 이벤트 해결을 위해 7. 이벤트 발생 후 15일 아무 작업도 하지 않으면 시스템이 이벤트를 보관합니다. 이벤트 상태가 다음과 같이 변경됩니다. [생성됨/할당됨]--[배송됨]--[처리 중]--[해결됨]--[다시 열기]--[해결됨]--[닫기]
테스트_03 이벤트 상태 변경 이벤트 상태 전환: [생성됨/할당됨]--[할당됨]--[처리 중]--[해결됨]--[다시 열기]--[할당될 업그레이드]--[할당됨]-- [처리 중] --[해결됨]--[닫기] 정상 작동 이벤트 1. fxm 채널을 통해 이벤트 생성 2. 고객 서비스에서 이벤트를 수동으로 수신 3. 고객 서비스에서 이벤트 정보 업데이트 4. 고객 서비스에서 클릭하여 이벤트 해결 5. 고객 서비스에서 이벤트 다시 열기 6. 고객 서비스에서 이벤트 업그레이드 클릭 7. 이벤트가 다른 고객 서비스로 발송됨 8. 고객 서비스 운영에서 이벤트 정보 업데이트 9. 고객 서비스에서 이벤트 해결 10. 15일 동안 이벤트가 운영되지 않으면 시스템에 이벤트가 보관됩니다. 이벤트 상태가 다음과 같이 변경됩니다. [생성됨/할당됨]--[디스패치됨]--[처리 중]--[해결됨]--[다시 열기]--[디스패치될 업그레이드]--[디스패치됨]- -[ 처리 중]--[해결됨]--[닫기]
테스트_04 이벤트 상태 변경 이벤트 상태 전환: [생성됨/할당 예정]--[발송 예정]--[처리 중]--[해결됨]--[다시 열기]--[업그레이드 발송 예정]--[처리 중]-- 【해결됨】 --【닫다】 정상 작동 이벤트 1. fxm 채널을 통해 온라인으로 이벤트 생성, 2. 고객 서비스에서 수동으로 이벤트 수신, 3. 고객 서비스에서 이벤트 정보 업데이트, 4. 고객 서비스에서 클릭하여 이벤트 해결, 5. 고객 서비스에서 이벤트 재개, 6. 고객 서비스에서 클릭하여 이벤트 업그레이드 ; 7. 감독자 전송 이벤트 8. 고객 서비스에서 사고를 처리하고 해결합니다. 9. 15일 동안 사고에 대한 조치가 없으면 시스템이 사고를 보관합니다. 이벤트 상태가 다음과 같이 변경됩니다. [생성됨/할당 예정]--[전달됨]--[처리 중]--[해결됨]--[다시 열기]--[전달될 업그레이드]--[처리 중]- -[ 해결됨]--[닫기]
테스트_05 이벤트 상태 변경 이벤트 상태 전환: [생성됨/할당 예정]--[디스패치됨]--[처리 중]--[업그레이드 발송 예정]--[디스패치됨]--[처리 중]--[해결됨]-- 【종료됨】 정상 작동 이벤트 1. fxm 채널을 통해 온라인으로 이벤트 생성 2. 고객 서비스에서 수동으로 이벤트 수신 3. 고객 서비스에서 이벤트 정보 업데이트 4. 고객 서비스에서 클릭하여 이벤트 업그레이드 5. 이벤트가 다른 고객 서비스로 전달 6. 고객 서비스 업데이트 이벤트 정보 7. 고객 서비스에서 문제를 해결합니다. 8. 해당 문제에 대해 15일 동안 아무런 조치도 취하지 않으면 시스템이 해당 문제를 보관합니다. 이벤트 상태가 다음과 같이 변경됩니다. [생성됨/할당됨]--[디스패치됨]--[처리 중]--[디스패치될 업그레이드]--[디스패치됨]--[처리 중]--[해결됨]- -【종료됨 ]
... ... ... ... ... ...



5 요약



기능 다이어그램/상태 차트 방법
적용 가능한 장면 1. 특정 조건이 성립되어 상태 변화가 발생합니다. 2. 주로 상태 이전의 정확성에 중점을 둡니다.
이점 1. 시스템의 전체 상호작용 과정을 상태도를 통해 명확하게 파악할 수 있고, 2. 각 상태에서 도달 가능한 모든 상태를 커버할 수 있음을 보장할 수 있고, 3. 주어진 조건 내에서 필요한 상태 변화가 일어날 수 있는지 검증함으로써 도달할 수 없는 상태, 불필요한 상태 또는 기타 불법적인 상태가 있는지, 불법적인 상태 이주가 있는지 확인할 수 있습니다.
결점 유효한 입력과 출력을 위해 설계되었으므로 유효하지 않은 경로와 잘못된 입력을 커버할 수 없습니다.
지침 1. 각 상태를 한 번 이상 방문해야 합니다. 2. 가장 일반적이고 일반적인 상태 전환 테스트에 집중합니다. 3. 둘째, 가장 일반적으로 사용되지 않는 상태 전환 경로를 테스트합니다. 4. 개별 상태 간의 전환을 다른 용도와 결합할 수 있습니다. 케이스 설계 방법 포괄적인 적용 범위를 보장합니다. 5. 테스트를 위해 불법 테스트 경로를 추가합니다. (예외 입력, 상태, 조건의 잘못된 조합)
 



이 섹션에서 설명하는 기능 다이어그램 테스트 케이스 설계 방법을 통해 객체 상태 전송 및 변환 요구 사항이 포함된 테스트 케이스를 쉽게 설계하여 전체 시스템의 상호 작용 프로세스를 명확하게 파악할 수 있습니다. 비즈니스 프로세스를 처리하려면 어떤 방법을 사용해야 합니까? 다음 편에서 Scene 메소드를 살펴보겠습니다~

저자: JD Logistics Chen Yuting

출처: JD Cloud 개발자 커뮤니티 Ziyuanqishuo Tech 재인쇄 시 출처를 명시해 주세요.

SenseTime 창립자 Tang Xiaoou, 55세의 나이로 사망 2023년에는 PHP 정체 Wi-Fi 7이 완전히 출시됩니다 2024년 초 데뷔, Wi-Fi 6보다 5배 빠름 홍멍 시스템은 곧 독립을 앞두고 있으며 많은 대학에서 '홍멍 수업'을 설치했습니다 Zhihui Jun의 스타트업 회사 재융자, 금액 6억 위안 초과, 사전 평가액 35억 위안 Quark Browser PC 버전 내부 테스트 시작 AI 코드 도우미 인기 많고 프로그래밍 언어 순위는 다 별거 없어요 Mate 60 Pro의 5G 모뎀과 무선 주파수 기술이 훨씬 앞서 있습니다 MariaDB가 SkySQL을 분할하여 설립되었습니다 독립 회사로서 Xiaomi는 Yu Chengdong의 화웨이의 "용골 피벗" 표절 발언에 대응
{{o.이름}}
{{이름}}

Je suppose que tu aimes

Origine my.oschina.net/u/4090830/blog/10321464
conseillé
Classement