404 테스트라는 이름은 그냥 내가 지은 이름이다.
지금 다니는 회사는 PO라고 부르는 기획자도 어느정도 개발 지식을 요구하는 경우가 있다.
데이터 분석을 직접하는 경우가 있어서 SQL 같은 쿼리 언어에 대해 알고 있어야 스스로 일이 가능하다.
또한 swagger 를 통한 API 사용도 하는 경우가 있어서 HTTP에 대한 배경 지식이 필요하다.
그래서 내가 생각해 낸 테스트이다.
물론 이것이 모든 경우에 대해 커버 가능하지는 않지만 해보면 이 사람이 어느정도의 능력을 가지고 있는가 간접적으로 확인해 볼 수 있다.
필요한 것
원가 웹상에 글을 쓰거나 삭제가 가능한 플랫폼을 준비한다.
나의 경우 티스토리 블로그를 이용하는데 이용 가능한 방법은 여러 플랫폼이 있을 것이다.
또한 커뮤니케이션을 위한 도구가 필요하다. 아래 예제에서는 카카오톡을 이용했다. 슬랙 같은 다른 플랫폼도 가능하다.
가급적이면 미리보기가 지원되는 종류가 좋다.
절차
글을 쓸 수 있는 플랫폼에 정답이 있는 문제를 준비한다. 대략적인 예는 아래와 같다.
그 다음 커뮤니케이션 플랫폼으로 테스트 할 대상에게 문의를 한다.
여기서 재빠르게 수행할 것이 있는데 원래의 정답을 수정해야 한다.
상대방이 응답을 하기전에, 카톡이라면 1이 없어지기전에 하면 된다.
상대방이 커뮤니케이션 채널에서 확인을 해서 숫자를 알려준다.
그 이후에 해당 글을 비공개로 바꾸겠다고 이야기 한다.
다시 블로그에 operation을 한다. 위에서는 비공개로 바꾼다고 했지만 실제로는 삭제를 한다.
삭제를 하면 티스토리는 아래와 같은 화면을 보여준다.
이제 마지막 질문이다. 좀 모호한 문장이라고 할 수 있는데 여러가지 반응을 볼 수 있어서 나는 이 딕션을 사용하는 것을 좋아한다.
404 발생하나요?
여기까지가 404 테스트 방법이다.
뭐 이런 테스트가 다 있어 하지만 다양한 유형의 반응이 나온다.
1) 정답을 틀리는 유형
위에서 처음에는 45로 해놓고 나중에 87로 바꾸었다.
어떤 사람은 미리보기에 나오는 내용만 보고 45라고 답하는 사람이 있다.
링크의 내용을 직접 확인하지 않았다고 볼 수 있다.
이런 사람과 같이 일을 할 경우 표면적인 현상만을 보고 결과를 도출하는 일이 발생하여 더블체크를 해야 되는 경우가 생길 수 있다.
2) 비공개 표시가 나왔다고 답하는 유형
위에서는 말만 비공개하겠다고 했지 실제로는 삭제를 했다.
그런데 비공개 표시가 나왔다고 이야기 하는 분도 있었다.
왜 비공개 표시가 나왔냐고 물어보았더니
질문한 사람이 비공개 처리 해놓았다고 해서 비공개 이야기만 답변했다고 하였다.
3) 에러코드가 404 가 응답되었다고 하는 유형
이런 답변을 했을 경우 개발자이거나 HTTP에 대한 지식이 있다고 볼 수 있다.
왜냐하면 티스토리에서는 404라고 명시적인 view를 제공하고 있지 않기 때문이다.
아래와 같이 브라우저의 개발도구를 이용했거나
Postman이나 응답 헤더를 확인할 수 있는 도구 등을 이용했으리라고 추측할 수 있다.
4) "잘못된 주소이거나, 비공개 또는 삭제된 글입니다" 가 나와요라고 이야기하는 유형
이런 답변을 하는 경우 현재의 상황에 대해 있는 그대로 알려주는 경우라고 할 수 있다.
개인적으로는 2번의 비공개 표시가 나왔다고 이야기하는 경우보다 더 바람직하다고 본다.
왜냐하면 2번의 경우 사실을 있는 그대로 말했다기 보다 주관을 섞어서 이야기를 했기 때문이다.
위에서 실제로는 삭제를 했기 때문에 비공개 되었다는 명제는 사실상 틀린 것이다.
오히려 "잘못된 주소이거나 비공개되었거나 삭제되었다고 나오는데(사실) 비공개 되었는지까지는 모르겠다.(의견)"라고 이야기 하는 것이 평상시 일을 할 때 오해나 착각이나 실수를 줄이는 데 도움이 되기 때문이다.
주의사항
일단 테스트를 할 때 본인이 테스트를 당한다는 것을 느끼지 못하도록 자연스럽게 진행되어야 한다.
'Programing > 테스트' 카테고리의 다른 글
[Java] Enum에 없는 값을 테스트할 때는 어떻게하지? (0) | 2020.01.22 |
---|---|
[test] 박*영과 함께하는 spock framework pair programming (0) | 2020.01.17 |
[sonarqube] 'sonar.jacoco.reportPath' is deprecated 메시지 없애기 (0) | 2020.01.14 |
[Pokayoke] 휴먼에러를 어떻게 막지? (0) | 2019.12.24 |
[테스트] 테스트 코드의 회의 (0) | 2019.08.21 |