QA 계획

junyojeo·2024년 4월 5일

QA 계획

회원 관련 API

  1. 회원가입
    • 필수 정보 입력 테스트 (이메일, 비밀번호, 이름 등)

    • 유효하지 않은 이메일 형식 테스트

      • 400_BAD_REQUEST
    • 이미 가입된 이메일로 재가입 테스트

      • 400_BAD_REQUEST
    • 이미지 파일 형식이 잘못된 경우

      • 415_UNSUPPORTED_MEDIA_TYPE
    • 비밀번호 유효성 검사
      ID

      • 2자 이상
      • 하나 이상의 영문 소문자
      • 특수문자 x

      비밀번호

      • 8자 이상
      • 하나 이상의 숫자
      • 하나 이상의 소문자
      • 하나 이상의 특수문자
  1. 42 OAuth

    • 42 OAuth 인증 플로우 테스트
    • 인증 실패 시 적절한 에러 처리 확인
      • 400_BAD_REQUEST
    • 인증 성공 후 사용자 정보 획득 및 계정 생성 테스트
  2. 로그인 (api/account/signin)

    • 올바른 이메일과 비밀번호로 로그인 테스트
    • 잘못된 이메일이나 비밀번호로 로그인 실패 테스트
      • 400_BAD_REQUEST
    • 로그인 성공 시 적절한 토큰 발급 확인
  3. 42 Code (api/account/42code?code=)

    • 42 OAuth 인증 코드를 이용한 로그인 테스트
      • 42계정 확인 x
        • 400_BAD_REQUEST -> 로그인 page
      • 42계정 확인 o, DB 확인 x 인 경우
        • 404_NOT_FOUND - 회원가입 page
    • 잘못된 인증 코드 전달 시 에러 처리 확인
      • 400_BAD_REQUEST -> 로그인 page
  4. 2FA (api/account/2fa)

    • Body에 잘못된 Code 전송시
      • 400_BAD_REQUEST
    • 2FA 설정 켜기/끄기 테스트
      • 끄기
        • "access_token" : null
        • "refresh_token" : null
        • "user_id" : null
    • 2FA 인증 코드 생성 및 검증 테스트
      • 이메일
      • 성공 테스트
    • 잘못된 2FA 코드 입력 시 로그인 실패 확인
      • alert()
  5. 2FA 재전송 (api/account/2fa/re)

    • 2FA 코드 재전송 요청 테스트
    • 재전송된 코드로 로그인 테스트
    • 이메일 전송 실패
      • 400_BAD_REQUEST
  6. 토큰 리프레시 (api/account/refresh)

    • 리프레시 토큰을 이용해 새로운 액세스 토큰 발급 테스트
      • 42계정 확인o, DB 계정 확인o
      • 42계정 확인o, DB 계정 확인x
        - 400_BAD_REQUEST
        - 42계정 확인x
        - 400_BAD_REQUEST
    • 만료된 리프레시 토큰 사용 시 에러 처리 확인
      • 400_BAD_REQUEST

사용자 정보 관련 API

  1. 사용자 이름 변경

    • 사용자 이름 변경 요청 테스트
    • 변경된 이름 반영 확인
    • 유효하지 않은 이름(빈 문자열, 너무 긴 이름 등) 변경 요청 시 에러 처리
  2. 사용자 이미지 변경

    • 새로운 프로필 이미지 업로드 테스트
    • 업로드된 이미지 반영 확인
    • 지원되지 않는 이미지 포맷 업로드 시 에러 처리
  3. 사용자 비밀번호 변경

    • 기존 비밀번호 검증 후 새 비밀번호로 변경 테스트
    • 잘못된 기존 비밀번호 입력 시 에러 처리
    • 새 비밀번호의 유효성 검사
  4. 2FA 설정 변경

    • 2FA 설정 켜기/끄기 요청 테스트
    • 설정 변경 후 로그인 시 반영 확인
  5. 언어 설정 변경

    • 사용자 언어 설정 변경 요청 테스트
    • 변경된 언어로 UI 반영되는지 확인
  6. 로그인한 사용자 정보 조회

    • 현재 로그인한 사용자의 정보 조회 테스트
    • 인증 토큰 없이 요청 시 에러 처리
  7. 다른 사용자 정보 조회

    • 다른 사용자의 공개 정보 조회 테스트
    • 비공개 정보는 조회되지 않는지 확인
  8. 사용자 검색

    • 사용자 이름이나 이메일로 검색 테스트
    • 검색 결과 페이징 처리 확인
    • 검색어와 일치하는 사용자가 없을 때 빈 결과 반환하는지 확인
  9. 친구 요청 보내기

    • 친구 요청 전송 테스트
    • 이미 친구이거나 차단된 사용자에게 요청 시 에러 처리
  10. 친구 요청 수락

    • 받은 친구 요청 수락 테스트
    • 수락 후 양쪽 친구 목록에 추가되는지 확인
  11. 친구 요청 목록 조회

    • 받은 친구 요청 목록 조회 테스트
    • 각 요청에 대한 정보(요청자, 시간 등) 포함 여부 확인
  12. 친구 요청 삭제/거절

    • 받은 친구 요청 삭제 또는 거절 테스트
    • 삭제/거절 후 목록에서 제거되는지 확인
  13. 회원 탈퇴

    • 회원 탈퇴 요청 테스트
    • 탈퇴 후 로그인 불가, 개인 정보 삭제 등 확인

게임 관련 API

  1. 게임 내역 조회

    • 사용자의 게임 내역 조회 테스트
    • 페이징 처리 확인
    • 각 게임에 대한 정보(상대방, 결과, 시간 등) 포함 여부 확인
  2. 게임 결과 등록

    • 게임 결과 등록 요청 테스트
    • 등록된 결과가 양쪽 사용자의 게임 내역에 추가되는지 확인
    • 잘못된 정보(존재하지 않는 사용자 등)로 등록 시 에러 처리
  3. 게임 인증 전송

    • 상대방에게 게임 인증 전송 테스트
    • 전송된 인증이 상대방에게 도착하는지 확인
    • 인증 유효 시간 테스트

추가 고려사항

  • 모든 API 요청에 대한 적절한 인증/인가 처리 여부 확인
  • 입력 데이터의 유효성 검사 및 sanitization
  • 에러 응답의 적절성 (상태 코드, 메시지 등)
  • API 문서와 실제 동작의 일치 여부
  • 테스트 자동화를 통한 회귀 테스트 수행

사용자 입장

profile
치킨강정

0개의 댓글