인간관계 테스트를 여러 개 소개하는 대신, 눈치력 테스트의 질문 이동과 답변 관리 구조를 살펴봅니다. 질문 화면에서 이전 버튼을 눌렀는데 예전 답의 점수가 남거나, 다시 시작한 뒤 이전 결과가 섞이면 결과 화면이 자연스러워 보여도 계산은 잘못될 수 있습니다. 2026년 9월 20일 현재 social_sense_test.js를 기준으로 확인했습니다.
현재 질문과 답변을 따로 보관하기
현재 구현은 currentIndex에 화면의 질문 위치를, answers에 선택한 답을 저장합니다. 답 하나는 질문 번호 index와 선택 점수 score를 갖습니다. 눈치력 구현의 질문은 18개이며, 질문별 가중치의 합은 47입니다.
답을 누르면 현재 질문 번호와 점수를 배열에 넣습니다. 마지막 질문이면 결과를 계산하고, 그 전이면 질문 번호를 하나 늘려 다음 화면을 보여줍니다. 진행률 표시와 결과 계산이 서로 다른 변수를 무심코 참조하지 않도록 이 흐름을 함께 확인해야 합니다.
이전 버튼과 다시 시작의 차이
현재 이전 버튼은 질문 번호를 하나 줄이고 answers.pop()으로 마지막 답을 제거합니다. 이어서 해당 질문을 다시 그립니다. 다시 시작은 질문 번호를 0으로 돌리고 답변 배열 전체를 비웁니다.
| 행동 | 코드상 처리 | 점검할 이유 |
|---|---|---|
| 첫 질문에서 이전 버튼 | 질문 번호가 0 이하이면 중단 | 음수 위치의 질문 접근 방지 |
| 두 번째 질문에서 이전 버튼 | 위치를 0으로, 마지막 답 제거 | 첫 답을 바꿀 때 이전 점수가 중복되지 않도록 함 |
| 돌아간 질문에 새 답 선택 | 현재 번호·새 점수를 배열에 추가 | 같은 질문이 두 번 누적되는지 확인 |
| 다시 시작 | 위치 0, 답변 배열 비움 | 앞선 응답을 새 결과에 섞지 않음 |
이 표는 코드 분기를 정리한 점검 기준입니다. 모든 브라우저에서 버튼 연타·공유 화면 복귀까지 실행해 확인한 결과로 표현하지 않습니다.
점수 계산을 별도로 검증한 이유
정상적으로 18개 문항을 모두 답한 상태의 실제 계산 함수를 Node에서 실행했습니다. 가중치 합이 47이므로 최대 점수는 3 × 47 = 141입니다.
| 모든 문항의 선택 점수 | 가중 합계 | 반올림한 퍼센트 | 현재 결과 이름 |
|---|---|---|---|
| 0점 | 0 | 0% | 사회적 와이파이 끊김형 |
| 1점 | 47 | 33% | 마이웨이 직진형 |
| 2점 | 94 | 67% | 센스 있는 중재자형 |
| 3점 | 141 | 100% | 인간 CCTV형 |
여기서 퍼센트는 작성된 응답을 코드의 최대값과 비교한 값입니다. 다른 사람의 실제 능력과 비교한 순위가 아니며, 결과 이름도 상황별 행동을 검증한 평가 결과가 아닙니다. 이전 소개글의 ‘사회성을 분석한다’는 표현은 이런 한계를 설명하지 못했습니다.
결과 링크를 읽을 때의 확인 사항
공유 링크는 result와 percent 값을 사용합니다. 현재 코드는 알려진 결과 키만 사용하고 퍼센트의 범위를 제한하지만, 공유된 값이 실제 18개 답변으로 계산됐는지는 검증하지 않습니다. 주소의 숫자와 결과 이름이 함께 보인다는 이유만으로 결과가 입증되는 것은 아닙니다.

이 화면은 초기 소개 기록입니다. 현재 코드에서 확인한 질문 수와 상태 전환은 위 설명을 따릅니다.
소개 문구보다 먼저 점검할 항목
첫 질문의 이전 버튼, 답을 바꾼 뒤 최종 계산, 마지막 문항의 중복 클릭, 다시 시작한 뒤 진행률, 알 수 없는 결과 키가 담긴 주소를 차례로 확인해야 합니다. 계산 함수 시험과 실제 화면 시험을 분리해 기록하면 어떤 부분을 확인했고 무엇이 남았는지 명확해집니다.
이 글은 눈치력 구현을 대상으로 합니다. 앞서 함께 소개했던 다른 사회성·생활 성향 도구까지 같은 방식으로 검증됐다는 의미는 아닙니다. 다른 도구는 질문 구성·분기·결과 문구를 각각 검토해야 하며, 사람을 낮춰 부르는 표현도 콘텐츠 검토 대상으로 남아 있습니다.
가중치 합계와 결과 구간의 관계는 연애 테스트 점수 계산 기록에서, 두 문자열의 조합으로 점수를 정하는 방식은 MBTI 궁합 계산 규칙에서 비교할 수 있습니다.
첫 댓글을 남겨보세요.