이슈 리포트로 보는 웹서비스에 대한 이해 (프론트엔드 기준) 자격요건 또는 우대사항에 '웹 서비스 구조에 대한 이해', 'API에 대한 이해'와 같은 항목이 많이 보인다. 서비스에 대한 이해 없이 테스트를 설계하고 리포팅하면 서로 힘들다. 나는 자격요건에 해당된다.라는 걸 어떻게 알려야 할까? 직접 설명? 서류 탈락이면 의미가 없다. ^^ 관련 강의 수강 내역? 수강했다고 다 이해한 게 아니다. 고민 끝에 생각한 방법이다. 웹 서비스를 설명하기엔 일부지만 내가 썼던 이슈 내역을 설명해 보겠다. 아래는 내부 보안에 위배되지 않게 일부 재구성되었음. —— 1번. 요약 : 페이징 안 됨. 내용 : [재현환경] 단말정보 : iPhone SE iOS 17.2.1 앱버전 : 0.12.345 서버 : tami-test [사전조건] lastPage: false [발생경로] 쿠폰 페이지 > 하단으로 스크롤 시 [기대결과] /v0/member/coupon?page=page+1 [실제결과] /v0/member/coupon 미호출 [재현빈도] 항상 발생 (10/10) [비고] - —— 페이징을 처리하는 방식은 여러 가지가 있다. 간단하게 환경을 설명하면 아래와 같다. 무한 스크롤 방식. 요청은 쿼리 스트링으로 보내고 응답을 받아 화면을 그림. size=10 페이징 (다음 페이지 목록을 가져오는) 동작 과정 1. 사용자가 하단으로 스크롤 한다. 2. 클라에서 응답의 lastPage 값을 보고 더 가져올지/말지를 정한다. lastPage: true 이면 3-1번으로 간다. lastPage: false 이면 3-2번으로 간다. 3-1. page 파라미터 값을 1 증가시키고 API를 호출한다. 3-2. 더 이상 API를 호출하지 않는다. 4. 200 응답을 받으면 화면을 그린다. lastPage가 매번 true인 경우 totalCount 또는 배열의 길이 같은 걸로 할 수 있음. —— 2번. 요약 : 좋아요 버튼 카운트 감소 안 됨. 내용 : [재현환경] 단말정보 : iPhone SE iOS 17.2.1 앱버전 : 0.12.345 서버 : tami-test [사전조건] isLiked: true [발생경로] 리뷰 상세 페이지 > 유용해요 버튼 클릭 시 [기대결과] /v0/comments/{commentsId}/likes?like=false [실제결과] /v0/comments/{commentsId}/likes [재현빈도] 항상 발생 (10/10) [비고] - 간단하게 환경을 설명하면 아래와 같다. 요청은 메소드는 PUT, 쿼리스트링으로 보내고 응답을 받아 화면을 그린다. 회원여부는 토큰으로 판별한다. 좋아요 동작 과정 1. 사용자가 좋아요 버튼을 클릭한다. 2. 클라에서 코멘트 API 헤더 Authorization을 확인한다. Author: 빈 값 또는 멤버 api 미호출이면 3-1번으로 간다. Author: 유효값이면 3-2번으로 간다. 3-1. 로그인 페이지로 이동한다. 3-2. 좋아요를 누른 상태 인지/아닌지를 확인한다. isLiked: true 이면 4-1번으로 간다. isLiked: false 이면 4-2번으로 간다. 4-1. like=false 파라미터를 추가하여 API를 요청한다. 4-2. like=true 파라미터를 추가하여 API를 요청한다. 5. 응답을 받아 해당 영역만(비동기) 갱신한다. UI(button border color, icon color), 데이터(카운트 숫자)
로그인 후 모든 글을 볼 수 있습니다.