Skip to content
joh16 edited this page Nov 13, 2020 · 7 revisions

데모 시나리오

1주차

  • 목적: IssueTracker의 가장 기본적인 기능인 회원가입 및 로그인, issue 생성 및 전체 목록 조회가 잘 작동하는지 확인

회원가입 및 로그인

  • Case 1: GitHub으로 로그인을 시도
    • 행동: GitHub 계정으로 로그인
    • 결과: 사용자가 DB에 없으면 DB에 저장 후 로그인

2주차

  • 목적: (1주차와 같음)

회원가입 및 로그인

  • Case 2: 정상적인 username/password로 회원가입을 시도

    • 값: username은 boostcamp, password는 membership으로
    • 조건: boostcamp라는 사용자가 기존에 존재하지 않아야 함
    • 행동: sign up 버튼을 누름
    • 결과: 회원가입이 완료되어 해당 계정으로 로그인이 가능
  • Case 3: 이미 존재하는 username으로 회원가입을 시도

    • 값, 행동: Case 2와 같음
    • 조건: Case 2가 완료됨
    • 결과: 해당 username의 사용자가 존재한다는 메시지 출력 (회원가입 실패)
  • Case 4: 비정상적인 username/password로 회원가입을 시도

    • 값: username은 boost, password는 campmembership로
    • 행동: sign up 버튼을 누름
    • 결과: username과 password는 6자리 이상 12자리 이하로 입력해야 한다는 메세지 출력 (회원가입 실패)

이슈 작성

  • Case 1: 새로운 이슈 작성

    • 값: 제목은 "첫 번째 이슈", 내용은 "IssueTracker에 오신 것을 환영합니다."로
    • 행동: Submit new Issue 버튼 누름
    • 결과: 이슈 작성에 성공하여 전체 이슈 목록에 노출됨
  • Case 2: 제목이 입력되지 않은 상태로 작성을 시도

    • 값: 제목은 입력하지 않고, 내용은 "두 번째 Issue 입니다."로
    • 결과: 이슈 작성 버튼이 비활성화 상태
  • Case 3: 이슈 작성 중 글자 수 표시

    • 값: 내용을 '가나다라마'로
    • 행동: 내용 입력 후 2초간 대기
    • 결과: 5 characters가 우측 하단에 2초간 표시되고 사라짐
  • Case 4: 글자 수 표시 중 내용 변경

    • 값: case 3과 같음
    • 행동: 내용 입력 후 2초간 대기하여 글자수 표시되자마자 글자 입력
    • 결과: 5 characters가 바로 사라짐
  • Case 5: 글자 수가 0일 때 출력하지 않음

    • 값: case 3과 같음
    • 행동: 내용 입력 후 전부 삭제하고 2초간 대기
    • 결과: 글자 수가 출력되지 않음
  • Case 6: 이슈 작성 취소

    • 행동: Cancel 버튼을 누름
    • 결과: 이슈가 작성되지 않고 이슈 목록 화면으로 이동

이슈 목록 확인

  • Case 1: 전체 이슈 확인
    • 조건: 기존에 작성된 이슈가 있음
    • 결과: 작성했던 이슈들이 목록으로 나타남

3주차

이슈 목록 확인

  • Case 2: 특정 이슈 상세 보기

    • 조건: 기존에 작성된 이슈가 있음
    • 행동: 이슈 목록에서 하나의 이슈를 클릭
    • 결과: 이슈 상세 페이지로 이동
  • Case 3: 일부 이슈 선택하기

    • 행동: 이슈 목록에서 일부 이슈의 체크박스 클릭
    • 결과: 전역 체크박스가 [-] 상태로 보임
  • Case 4: 전체 이슈 선택하기

    • 조건: 모든 이슈의 체크박스를 선택한 상태가 아님
    • 행동: 이슈 목록에서 전역 체크박스 클릭
    • 결과: 전역 체크박스와 모든 이슈의 체크박스가 [v] 상태로 보임
  • Case 5: 전체 이슈 선택 취소하기

    • 조건: 이슈를 하나 이상 선택한 상태
    • 행동: 이슈 목록에서 전역 체크박스 클릭
    • 결과: 전역 체크박스와 모든 이슈의 체크박스가 [ ] 상태로 보임

이슈 상세 보기

  • Case 1: 이슈 제목 수정

    • 값: 기존 이슈 제목 "새로운 이슈입니다."
    • 행동: Edit 버튼을 클릭 후 "수정된 이슈입니다."를 입력하고 Save 버튼 클릭
    • 결과: 기존 이슈 제목이 "수정된 이슈입니다"로 변경
      • 이 후 이슈 목록 화면으로 이동했을 시에도 유지
  • Case 2: 이슈 제목 수정 취소

    • 값: Case 1과 같음
    • 행동: Case 1과 같으나 Save 대신 Cancel 버튼 클릭
    • 결과: 기존 이슈 제목이 유지됨
  • Case 3: Comment 추가하기

    • 조건: 위의 이슈에서 댓글이 없는 상태
    • 행동: "첫 번째 댓글입니다."라고 댓글을 입력
    • 결과: 입력한 댓글이 추가됨
      • 이 후 이슈 목록 화면으로 이동했을 때 댓글 수가 1로 표시됨
  • Case 4: 사이드 바에서 assignee 목록 수정

    • 값: assignee를 [kyu9341, pjy0416]에서 [kyu9341, joh16]로
    • 행동: 이슈 상세 페이지에서 사이드바에서 Assignee 영역의 톱니바퀴 버튼을 눌러 modal을 띄워서 조작 후 이슈 목록 페이지로 돌아감
    • 결과: 해당 이슈의 assignee 자리에 수정된 사용자들의 프로필 이미지가 보임
  • Case 5: 사이드 바에서 label 목록 수정

    • 값: label를 [FE, React]에서 [BE, API]로
    • 행동: 이슈 상세 페이지에서 사이드바에서 Label 영역의 톱니바퀴 버튼을 눌러 modal을 띄워서 조작 후 이슈 목록 페이지로 돌아감
    • 결과: 해당 이슈의 label위치에 수정된 label들이 보임

label 목록 확인

  • Case 1: label 목록 보기

    • 조건: 기존에 작성된 라벨이 있음
    • 결과: 생성했던 라벨들이 목록으로 나타남
  • Case 2: label 생성 박스보기

    • 조건: label 페이지로 이동
    • 행동: New label 버튼을 누름
    • 결과: 새로운 label을 생성할 수 있는 박스가 보임
      • 다시 New label 버튼 또는 Cancel 버튼을 누르면 박스가 사라짐
  • Case 3: label 생성하기

    • 조건: 위의 박스 보기 상태
    • 행동: label name, description, color을 입력하고 Create label 버튼을 누름
    • 결과: 박스가 사라지고 label 목록에 새로운 label이 추가됨
  • Case 4: label 생성하기 (No Description)

    • 조건: 위의 박스 보기 상태
    • 행동: label name, color을 입력하고 description을 빈 상태로 두고 Create label 버튼을 누름
    • 결과: label 목록에 즉시 새로운 label이 추가됨
      • description위치에 No Description이라는 문구가 기울임체로 출력
  • Case 5: label 생성 중 color 변경

    • 조건: 위의 박스 보기 상태
    • 행동: color 변경 버튼을 클릭
    • 결과: label의 배경 색이 무작위로 변경되고, 글자 색은 흰색 또는 검은색 중 잘 보이는 쪽으로 설정됨
  • Case 6: label 생성 중 color 변경 (input 박스)

    • 값: cfc
    • 조건: 박스 보기 상태
    • 행동: color 입력 창에 색상 입력
    • 결과: label의 배경 색이 #cfc, 글자 색은 흰색으로 변경됨

접근 권한

  • Case 1: 로그인하지 않은 상태에서 페이지 접근

    • 행동: /issues를 브라우저 URL 창에 입력하여 접근 시도
    • 결과: / (로그인 페이지)로 리다이렉트됨
  • Case 2: 로그인한 상태에서 로그인 페이지 접근

    • 행동: /를 브라우저 URL 창에 입력하여 접근 시도
    • 결과: /issues 로 리다이렉트됨
  • Case 3: 로그인한 상태에서 새로고침

    • 조건: localStorage에 token이 남아 있음
    • 결과: 리다이렉트되지 않고 그대로 보임
  • Case 4: 로그아웃

    • 행동: 페이지 상단의 logout 버튼 클릭
    • 결과: / (로그인 페이지)로 리다이렉트됨
    • 조건: 작성된 이슈가 없음
    • 결과: "Welcome to issues!" 라는 문구가 자리 차지