출근하자마자 어제 작성하기로 한 테스트시나리오를 확인했는데

그 사이에 메일에 플로우 에러들이 날아와 있었다.

 

에러들을 확인해보니 이미 생성된 요청을 또 생성해서 validation에 걸린 부분과

오래된 필드라 필수값이 없는 데이터를 업데이트하려는 시도였다.

 

해당 부분을 막기 위해 새로고침을 적용하는 것과

오래된 필드들이 터지지 않도록 필수 필드를 해제하거나

해당 필드에 값을 아무거나 넣어버리는 방식을 생각했지만

어차피 테스트용 서버였기 때문에 그렇게 되는 것을 감안하고

되는 데이터만 테스트해도 되는 것 같았다.

 

플로우 내부 변경 요청에 따라

미사용 유저들은 나오지 않게 필터링처리를 했다.

 

테스트시나리오를 작성하려고 했는데 생각보다 쉽지 않았는데

제일 큰 문제는 시나리오를 돌릴 수가 없었다.

 

참여자만 최소 4명인 상황이었기 때문에

각자 담당하던 부분이 달랐는데

통보하지 않고 시나리오를 위해 진행해보다보니

아직 수정작업중이거나 배포(커밋느낌)가 되지 않은 상태였기 때문에

여기저기에서 에러가 자꾸 발생했다.

 

이미 작성된 테스트시나리오 또한 실제 작동하지 않는 데이터들이거나

"그대로"입력할 경우 에러가 발생할 수 있었기 때문에

테스트하며 수정해야했다.

 

그러던 도중 충격적인 사실을 알게 되었는데

여태 모두 투입되서 하던 작업을 "관리자"만 가능하게 세팅했었고

"사용자"는 아무 권한이 없어서 아무런 작업을 할 수 없었다.

 

사용자에게 이런 저런 권한들을 찾아주면서

관리자도 동일한 권한들을 줬던 것들이 생각났고

게스트에게도 억지로 권한을 주려고 했지만 권한을 줄 수 없었는데

이 부분은 게스트가 아닌 세션을 통해 관리하기 때문에 혼자 쓸대없는 시도를 한게 되었다.

 

포스트맨 에러가 났을 때 제일 황당했지만

해당 에러를 살펴보며 남의 코드의 에러도 빠르게 파악할 수 있는 디버깅 방법을 배울 수 있었고

권한, 쉐어링에 대해 조금 더 자세히 알 수 있는 기회가 되었다.

 

탭 등의 가시성 또한 세부조절하는 법을 다시 떠올릴 수 있었는데

기록해두지 않았으면 계속 잊고 있었을 것 같은데 

다시 한번 기록의 중요성을 느끼게 되었다.

 

기본적인 프로젝트 시나리오의 큰 줄거리는 끝났고

해당 레코드 내부에서 진행하는 소소한 작업을 추가하면 테스트를 진행할 수 있을 것 같다.

 

 

(1).백준 17042번 Elder는 딱총나무 지팡이의 최종 주인과

주인이었던 사람의 총 숫자를 구하는 문제였다.

 

바뀐 횟수라고 생각하고 문제를 풀었는데

알고보니 바뀐 횟수가 아닌 사람의 숫자였기 때문에

사람의 변화를 체크하기 위해 객체를 사용해 이미 주인이었음을 체크했고

for문을 순회하며 현재 보유자가 패배할 경우 현재 주인을 바꾸고

새로운 주인이 이미 주인이었던 적이 있는지를 체크해 

처음 주인이 된 경우 count를 증가시켰다.

const input = `X
4
A X
B X
X A
D A`.split('\n')

let now = input[0]
let count = 1
const winners = {}
winners[now] = 1

for(let i = 2 ; i < input.length ; i++){
    const [winner, loser] = input[i].split(' ')
    if(loser === now){
        now = winner
        if(winners[winner] != 1){
            count++
        }
        winners[winner] = 1
    }
}

console.log(now)
console.log(count)

'회고' 카테고리의 다른 글

[개발일지] - 41  (0) 2023.08.10
[개발일지] - 40  (0) 2023.08.09
[개발일지] - 38  (0) 2023.08.07
[개발일지] - 37(주말)  (0) 2023.08.06
[개발일지] - 36(주말)  (0) 2023.08.05

+ Recent posts