use case use case testing complete tutorial
우선 이해합시다 '사용 사례 란?' 나중에 논의하겠습니다 '사용 사례 테스트 란 무엇입니까?' .
사용 사례는 필요한 사용자 상호 작용을 정의하기위한 도구입니다. 새 응용 프로그램을 만들거나 기존 응용 프로그램을 변경하려는 경우 몇 가지 논의가 이루어집니다. 중요한 논의 중 하나는 소프트웨어 솔루션에 대한 요구 사항을 표현하는 방법입니다.
달성하기가 매우 어렵 기 때문에 비즈니스 전문가와 개발자는 요구 사항에 대해 상호 이해해야합니다. 그들 사이의 의사 소통을 구조화하는 표준 방법은 실제로 도움이 될 것입니다. 이는 차례로 잘못된 의사 소통을 줄이며 여기에 유스 케이스가 등장하는 곳이 있습니다.
이 튜토리얼은 유스 케이스 및 테스트의 개념에 대한 명확한 그림을 제공하므로 개념에 완전히 새로운 사람을 쉽게 이해할 수 있도록 실제 예제와 관련된 다양한 측면을 다룹니다.
학습 내용 :
- 사용 사례
- 누가 '사용 사례'문서를 사용합니까?
- 사용 사례 유형
- 사용 사례의 요소
- 대표
- 사용 사례를 작성하는 방법?
- 사용 사례 다이어그램
- 사용자 작업
- 사용 사례 테스트 란 무엇입니까?
- 결론
- 추천 도서
사용 사례
사용 사례는 소프트웨어 개발 수명주기의 별개 단계에서 중요한 역할을합니다. 사용 사례는 사용자 작업에 대한 '사용자 작업'및 '시스템 응답'에 따라 다릅니다.
그것은 배우 / 사용자가 수행 한 '동작'과 사용자 '동작'에 대한 시스템의 해당 '동작'에 대한 문서입니다. 사용 사례 시스템과의 상호 작용에서 '배우 / 사용자'의 목표를 달성하거나 달성하지 못할 수 있습니다.
유스 케이스에서는 '시스템이 주어진 시나리오에 어떻게 반응할까요?' . 그것은 '시스템 중심'이 아니라 '사용자 중심'입니다.
'사용자 중심'입니다. '사용자가하는 행동은 무엇입니까?'와 '시스템에서 액터가 보는 것은 무엇입니까?'를 지정합니다.
'시스템 지향'이 아닙니다. '시스템에 입력 된 내용은 무엇입니까?'와 '시스템에서 생성되는 출력은 무엇입니까?'는 지정하지 않습니다.
개발 단계는 이에 크게 의존하므로 개발 팀은 '사용 사례'를 작성해야합니다.
사용 사례 작성자, 팀 구성원 및 고객은 이러한 사례 생성에 기여할 것입니다. 이를 만들려면 개발 팀을 구성해야하고 팀은 프로젝트 개념을 잘 알고 있어야합니다.
사례를 구현 한 후 문서를 테스트하고 그에 따라 시스템의 동작을 확인합니다. 대문자 'A'가 '배우'를 의미하는 경우 'S'는 '시스템'을 의미합니다.
누가 '사용 사례'문서를 사용합니까?
이 문서는 사용자가 목표를 달성하기 위해 시스템과 상호 작용하는 고유 한 방법에 대한 전체 개요를 제공합니다. 더 나은 문서는 소프트웨어 시스템에 대한 요구 사항을 훨씬 더 쉽게 식별하는 데 도움이 될 수 있습니다.
이 문서는 소프트웨어 개발자, 소프트웨어 테스터 및 이해 관계자가 사용할 수 있습니다.
문서의 용도 :
- 개발자는 문서를 사용하여 코드를 구현하고 디자인합니다.
- 테스터는이를 사용하여 테스트 케이스 .
- 비즈니스 이해 관계자는 소프트웨어 요구 사항을 이해하기 위해 문서를 사용합니다.
사용 사례 유형
두 가지 유형이 있습니다.
그들은:
- 맑은 날
- 비오는 날
# 1) 화창한 날 사용 사례
모든 것이 잘 될 때 발생할 가능성이 가장 높은 주요 사례입니다. 이들은 다른 경우보다 우선 순위가 높습니다. 사례를 완료하면 검토를 위해 프로젝트 팀에 제공하고 필요한 모든 사례를 처리했는지 확인합니다.
오픈 소스 dbms는 다음과 같습니다.
# 2) 비오는 날 사용 사례
이들은 엣지 케이스 목록으로 정의 할 수 있습니다. 이러한 사례의 우선 순위는 'Sunny Use Cases'다음에 올 것입니다. 케이스의 우선 순위를 정하기 위해 이해 관계자와 제품 관리자의 도움을 구할 수 있습니다.
사용 사례의 요소
다음은 다양한 요소입니다.
1) 요약 기술 : 사례를 설명하는 간단한 설명입니다.
2) 배우 : 사용 사례 작업에 관련된 사용자입니다.
3) 전제 조건 : 사건이 시작되기 전에 만족해야 할 조건.
4) 기본 흐름 :‘기본 흐름’또는‘주 시나리오’는 시스템의 일반적인 작업 흐름입니다. 액터가 목표를 달성하기 위해 수행하는 트랜잭션의 흐름입니다. 액터가 시스템과 상호 작용할 때 정상적인 워크 플로이므로 오류가 발생하지 않고 액터가 예상 된 출력을 얻습니다.
5) 대체 흐름 : 일반 워크 플로와는 별도로 시스템에 '대체 워크 플로'가있을 수도 있습니다. 이것은 사용자와 시스템 간의 덜 일반적인 상호 작용입니다.
6) 예외 흐름 : 사용자가 목표를 달성하지 못하게하는 흐름입니다.
7) 게시 정황 : 케이스 완료 후 확인해야 할 조건입니다.
대표
케이스는 종종 일반 텍스트 또는 다이어그램으로 표시됩니다. 사용 사례 다이어그램의 단순성으로 인해 모든 조직에서 선택 사항으로 간주됩니다.
사용 사례 예 :
여기서는‘학교 관리 시스템’에‘로그인’한 경우에 대해 설명하겠습니다.
사용 사례 이름 | 로그인 | |
---|---|---|
3b | 잘못된 학생 ID를 4 번 입력했습니다. S : 응용 프로그램 종료 | |
사용 사례 설명 | 시스템의 기능에 액세스하기 위해 시스템에 로그인 한 사용자. | |
배우 | 학부모, 학생, 교사, 관리자 | |
사전 조건 | 시스템이 네트워크에 연결되어 있어야합니다. | |
사후 조건 | 로그인에 성공하면 알림 메일이 사용자 메일 ID로 전송됩니다. |
주요 시나리오 | 일련 번호 | 단계 |
---|---|---|
배우 / 사용자 | 1 | 사용자 이름 입력 암호를 입력 |
두 | 사용자 이름 및 암호 확인 | |
삼 | 시스템에 대한 액세스 허용 | |
확장 | 1a | 잘못된 사용자 이름 시스템에 오류 메시지가 표시됨 |
2b | 잘못된 비밀번호 시스템에 오류 메시지가 표시됨 | |
3c | 4 번 유효하지 않은 비밀번호 신청 마감 |
주목할 점
- 참여자가 유스 케이스로하는 일반적인 실수는 특정 케이스에 대한 세부 정보가 너무 많거나 세부 정보가 전혀 포함되어 있지 않다는 것입니다.
- 필요한 경우 시각적 다이어그램을 추가하거나 추가하지 않을 수있는 텍스트 모델입니다.
- 적용 가능한 전제 조건을 결정합니다.
- 프로세스 단계를 올바른 순서로 작성하십시오.
- 프로세스에 대한 품질 요구 사항을 지정합니다.
사용 사례를 작성하는 방법?
아래 요약 된 요점은 이러한 내용을 작성하는 데 도움이됩니다.
=> 사례를 작성하려고 할 때 가장 먼저 제기해야하는 질문은 '고객의 주요 용도는 무엇입니까?'입니다.이 질문을 통해 사용자의 관점에서 사례를 작성하게됩니다.
=> 우리는 이것들에 대한 템플릿을 얻었을 것입니다.
=> 생산적이고 단순하며 강력해야합니다. 강력한 사용 사례는 사소한 실수가 있더라도 청중에게 깊은 인상을 줄 수 있습니다.
=> 번호를 매겨 야합니다.
=> 프로세스 단계를 순서대로 작성해야합니다.
=> 시나리오에 고유 한 이름을 부여하고 목적에 따라 이름을 지정해야합니다.
=> 이것은 반복적 인 프로세스이므로 처음 작성할 때는 완벽하지 않습니다.
=> 시스템에서 액터를 식별하십시오. 시스템에서 많은 액터를 찾을 수 있습니다.
예 ,Amazon과 같은 전자 상거래 사이트를 고려하면 구매자, 판매자, 도매상, 감사 자, 공급 업체, 유통 업체, 고객 관리 등과 같은 행위자를 찾을 수 있습니다.
먼저 첫 번째 배우를 생각해 봅시다. 같은 행동을하는 액터를 한 명 이상 가질 수 있습니다.
예를 들어 , 구매자 / 판매자 모두 '계정 만들기'를 할 수 있습니다. 마찬가지로 '구매자 및 판매자'모두 '상품 검색'이 가능합니다. 따라서 이들은 중복 된 동작이므로 제거해야합니다. 중복 사례를 사용하는 것 외에도 더 일반적인 사례가 있어야합니다. 따라서 중복을 피하기 위해 케이스를 일반화해야합니다.
=> 적용 가능한 전제 조건을 결정해야합니다.
사용 사례 다이어그램
사용 사례 다이어그램은 시스템에서 사용자 작업을 그림으로 표현한 것입니다. 이 맥락에서 훌륭한 도구를 제공합니다. 다이어그램에 많은 액터가 포함되어 있다면 이해하기가 매우 쉽습니다. 높은 수준의 다이어그램이면 많은 세부 정보를 공유하지 않습니다. 상당히 기본적인 방식으로 복잡한 아이디어를 보여줍니다.
무화과 번호 : UC 01
과 같이 무화과 번호 : UC 01 Rectangle은 '시스템', 타원형은 'Use Case', Arrow는 'Relationship', Man은 'User / Actor'를 나타내는 다이어그램을 나타냅니다. 시스템 / 애플리케이션을 보여주고 그와 상호 작용하는 조직 / 사람들을 보여주고 '시스템이하는 일'의 기본 흐름을 보여줍니다.
무화과 번호 : UC 02
그림 번호 : UC 03 – 로그인을위한 사용 사례 다이어그램
이것은 '로그인'사례의 사용 사례 다이어그램입니다. 여기에는 둘 이상의 액터가 있으며 모두 시스템 외부에 배치됩니다. 학생, 교사 및 학부모는 주요 행위자로 간주됩니다. 그렇기 때문에 모두 직사각형의 왼쪽에 배치됩니다.
Admin과 Staff는 2 차 행위자로 간주되므로 직사각형의 오른쪽에 배치합니다. 액터는 시스템에 로그인 할 수 있으므로 액터와 로그인 케이스를 커넥터로 연결합니다.
시스템에있는 다른 기능으로는 암호 재설정 및 암호 분실이 있습니다. 이들은 모두 로그인 케이스와 관련이 있으므로 커넥터에 연결합니다.
사용자 작업
시스템에서 사용자가 수행하는 작업입니다.
예를 들면 : 현장 검색, 즐겨 찾기에 항목 추가, 연락 시도 등
노트 :
- 시스템 '당신이 무엇을 개발하든'입니다. 웹 사이트, 앱 또는 기타 소프트웨어 구성 요소 일 수 있습니다. 일반적으로 직사각형으로 표시됩니다. 사용 사례가 포함되어 있습니다. 사용자는 '사각형'밖에 배치됩니다.
- 사용 사례 일반적으로 내부의 동작을 지정하는 타원형 모양으로 표시됩니다.
- 배우 / 사용자 시스템을 사용하는 사람들입니다. 그러나 때로는 다른 시스템, 사람 또는 다른 조직 일 수 있습니다.
사용 사례 테스트 란 무엇입니까?
기능성 블랙 박스 테스트 기법을 따릅니다. 블랙 박스 테스트이므로 코드 검사는하지 않습니다. 이에 대한 몇 가지 흥미로운 사실이이 섹션에 요약되어 있습니다.
사용자가 사용하는 경로가 의도 한대로 작동하는지 여부를 확인합니다. 사용자가 작업을 성공적으로 수행 할 수 있는지 확인합니다.
몇 가지 사실
- 소프트웨어의 품질을 결정하기 위해 수행되는 테스트가 아닙니다.
- 종단 간 테스트 유형이라하더라도 사용자 애플리케이션의 전체 범위를 보장하지는 않습니다.
- Use Case 테스트에서 알려진 테스트 결과를 기반으로 프로덕션 환경의 배포를 결정할 수 없습니다.
- 통합 테스트에서 결함을 찾아냅니다.
사용 사례 테스트 예 :
사용자가 온라인 쇼핑 사이트에서 항목을 구매하는 시나리오를 고려하십시오. 사용자는 시스템에 처음 로그인하고 검색을 시작합니다. 사용자는 검색 결과에 표시된 하나 이상의 항목을 선택하고 카트에 추가합니다.
이 모든 후 그는 체크 아웃합니다. 따라서 이것은 사용자가 작업을 수행하기 위해 시스템에서 수행 할 논리적으로 연결된 일련의 단계의 예입니다.
이 테스트에서는 전체 시스템의 트랜잭션 흐름을 끝에서 끝까지 테스트합니다. 사용 사례는 일반적으로 사용자가 특정 작업을 수행하기 위해 가장 많이 사용하는 경로입니다.
따라서 사용자가 처음 애플리케이션을 사용할 때 사용자가 접하게 될 가능성이 더 높은 경로가 포함되어 있으므로 Use Cases에서 결함을 쉽게 찾을 수 있습니다.
1 단계: 첫 번째 단계는 사용 사례 문서를 검토하는 것입니다.
기능 요구 사항이 완전하고 올바른지 검토하고 확인해야합니다.
2 단계: 사용 사례가 원 자성인지 확인해야합니다.
예를 들면 : '로그인', '학생 세부 정보 표시', '점수 표시', '출석 표시', '직원에게 연락', '수수료 제출'등과 같은 많은 기능이있는 '학교 관리 시스템'을 고려해보십시오. '로그인'기능에 대한 사용 사례를 준비합니다.
정상적인 워크 플로가 다른 기능과 혼동 될 필요가 없는지 확인해야합니다. '로그인'기능과 만 완전히 관련되어야합니다.
3 단계 : 시스템의 정상적인 작업 흐름을 검사해야합니다.
워크 플로를 검사 한 후 완료되었는지 확인해야합니다. 시스템 또는 도메인에 대한 지식을 바탕으로 워크 플로에서 누락 된 단계를 찾을 수 있습니다.
4 단계 : 시스템의 대체 워크 플로가 완료되었는지 확인합니다.
5 단계 : 사용 사례의 각 단계를 테스트 할 수 있는지 확인해야합니다.
사용 사례 테스트에 설명 된 각 단계는 테스트 할 수 있습니다.
예를 들어, 시스템의 일부 신용 카드 거래는 보안상의 이유로 테스트 할 수 없습니다.
6 단계 : 이러한 사례를 되살리면 테스트 사례를 작성할 수 있습니다.
각 정상 흐름과 대체 흐름에 대한 테스트 케이스를 작성해야합니다.
예를 들어 , 학교 관리 시스템에서 'Show Student Marks'사례를 고려하십시오.
사용 사례 이름 : 학생 점수 표시
배우 : 학생, 교사, 학부모
사전 조건 :
1) 시스템이 네트워크에 연결되어 있어야합니다.
두) 배우는 '학생 ID'가 있어야합니다.
'학생 성적 표시'사용 사례 :
주요 시나리오 | 일련 번호 | 단계 |
---|---|---|
A : 배우 / S : 시스템 | 1 | 학생 이름 입력 |
두 | 시스템이 학생 이름을 확인합니다. | |
삼 | 학생 ID 입력 | |
4 | 시스템이 학생 ID를 확인합니다. | |
5 | 시스템에 학생 점수 표시 | |
확장 | 3a | 잘못된 학생 ID S : 오류 메시지를 표시합니다. |
'학생 점수 표시'사례에 대한 해당 테스트 사례 :
테스트 케이스 | 단계 | 예상 결과 |
---|---|---|
에 | 학생 성적표보기 1-정상적인 흐름 | |
1 | 학생 이름 입력 | 사용자는 학생 이름을 입력 할 수 있습니다. |
두 | 학생 ID 입력 | 사용자는 학생 ID를 입력 할 수 있습니다. |
삼 | 보기 마크를 클릭하십시오 | 시스템에 학생 점수가 표시됩니다. |
비 | 학생 성적표보기 2- 유효하지 않은 ID | |
---|---|---|
1 | View Student Mark List 1의 1 단계와 2 단계를 반복합니다. | |
두 | 학생 ID 입력 | 시스템에 오류 메시지가 표시됨 |
여기에 표시된 테스트 케이스 테이블에는 기본 정보 만 포함되어 있습니다. '테스트 케이스 템플릿 생성 방법'은 아래에서 자세히 설명합니다.
위와 같이 'Show Student Mark'케이스에 해당하는 'Test Case'가 표에 표시됩니다.
테스트 케이스를 작성하는 가장 좋은 방법은 먼저 '기본 시나리오'에 대한 테스트 케이스를 작성한 다음 '대체 단계'에 대해 작성하는 것입니다. ‘ 단계 ' 테스트 케이스는 유스 케이스 문서에서 가져옵니다. 첫 번째‘ 단계' '학생 마크 표시'사례 중 '학생 이름 입력'이 첫 번째가됩니다. 단계 '테스트 케이스'에서.
사용자 / 액터가 입력 할 수 있어야합니다. 이것은 예상 결과 .
테스트 디자인 기법의 도움을 구할 수 있습니다.‘ 경계 값 분석 ' , '동등 분할'테스트 사례를 준비하는 동안. 테스트 설계 기술은 테스트 케이스 수를 줄여 테스트에 걸리는 시간을 줄이는 데 도움이됩니다.
테스트 케이스 템플릿을 만드는 방법은 무엇입니까?
테스트 케이스를 준비 할 때 우리는 최종 사용자처럼 생각하고 행동해야합니다. 즉, 최종 사용자의 입장에서 생각해야합니다.
이러한 맥락에서 도움이되는 몇 가지 도구가 시장에 나와 있습니다. ' TestLodge '는 그중 하나이지만 무료 도구는 아닙니다. 우리는 그것을 구매해야합니다.
테스트 케이스를 문서화하기위한 템플릿이 필요합니다. 우리 모두에게 익숙한 'FLIPKART 로그인'이라는 일반적인 시나리오를 고려해 보겠습니다. Google 스프레드 시트를 사용하여 테스트 케이스 테이블을 만들고 팀 구성원과 공유 할 수 있습니다. 당분간은 Excel 문서를 사용하고 있습니다.
다음은 예입니다.
=> 여기에서이 테스트 케이스 테이블 템플릿 다운로드
우선 적절한 이름으로 테스트 케이스 시트의 이름을 지정하십시오. 프로젝트의 특정 모듈에 대한 테스트 케이스를 작성하고 있습니다. 그래서 우리는 ‘프로젝트 이름’ 그리고 ‘프로젝트 모듈 ’열은 테스트 케이스 테이블에 있습니다. 문서에는 테스트 케이스 작성자의 이름이 포함되어야합니다.
따라서 추가 '제작자' 과 '만든 날짜' 열. 문서는 누군가 (팀 리더, 프로젝트 관리자 등)가 검토해야하므로 '검토 자' 열 및 ‘검토 일’ .
다음 열은 ‘테스트 시나리오’ , 여기에서는 예제 테스트 시나리오를 제공했습니다. ‘Facebook 로그인 확인’ . 열 추가 ‘테스트 시나리오 ID’ 과 '테스트 케이스 설명' .
각각의 모든 테스트 시나리오에 대해 ‘테스트 사례 ’. 따라서 열을 추가하십시오. ‘테스트 케이스 ID’ 과 ‘테스트 케이스 설명 ’. 모든 테스트 시나리오에 대해 ‘포스트 조건’ 과 ‘사전 조건’ . ‘사후 조건’및‘사전 조건’열을 추가합니다.
또 다른 중요한 칼럼은 ‘테스트 데이터’ . 여기에는 테스트에 사용하는 데이터가 포함됩니다. 테스트 시나리오는 예상 결과와 실제 결과를 가정해야합니다. 열 추가 '예상 결과' 그리고‘실제 결과’. '상태' 테스트 시나리오 실행 결과를 보여줍니다. 통과 / 실패 일 수 있습니다.
테스터는 테스트 케이스를 실행합니다. 다음과 같이 포함해야합니다. ‘실행자’ 과 ‘실행 일’ . '명령'이 있으면 추가하겠습니다.
결론
유스 케이스 및 유스 케이스 테스트에 대한 명확한 아이디어를 얻었기를 바랍니다.
이러한 사례를 작성하는 것은 반복적 인 프로세스입니다. 이러한 사례를 작성하려면 약간의 연습과 시스템에 대한 좋은 지식 만 있으면됩니다.
간단히 말해서 애플리케이션에서 '사용 사례 테스트'를 사용하여 누락 된 링크, 불완전한 요구 사항 등을 찾을 수 있습니다.이를 찾아 시스템을 수정하면 시스템의 효율성과 정확성을 얻을 수 있습니다.
사용 사례 및 테스트에 대한 사전 경험이 있습니까? 아래 댓글 섹션에서 자유롭게 공유하십시오.