이슈 리포트로 보는 웹서비스에 대한 이해 (프론트엔드 기준)​ 자격요건 또는 우대사항에 '웹 서비스 구조에 대한 이해', '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), 데이터(카운트 숫자)

콘텐츠를 더 읽고 싶다면?
원티드에 가입해 주세요.
로그인 후 모든 글을 볼 수 있습니다.
댓글 3