기술이란 어떤 일을 잘 해내는 능력으로, 그 사람이 가진 지식, 경험, 적성에서 비롯된다. 우수한 테스터는 업무를 잘 수행하기 위한 몇 가지 필수적인 기술을 갖추어야 한다. 우수한 테스터는 팀플레이, 즉 협업에 능한 사람이어야 하며, 다양한 수준의 독립성으로 테스팅을 수행할 수 있어야 한다.
테스터는 종종 좋지 않은 소식을 전해야 하므로, 의사소통 기술이 매우 중요하다. 테스트 결과 전달 시 비판으로 오해받을 수 있으며, 확증 편향 때문에 정보 수용이 어려울 수 있다. 테스팅을 파괴적인 활동으로 간주하는 인식을 개선하려면 결함과 장애 관련 정보를 건설적으로 전달해야 한다.
테스터는 팀 환경에서 효과적으로 일하고 팀 목표에 긍정적으로 기여해야 한다. 전체 팀 접근법은 익스트림 프로그래밍에서 시작되었으며, 필요 지식과 기술을 갖춘 팀원이 모든 작업을 수행할 수 있고, 모든 팀원이 품질에 책임을 진다는 원칙을 따른다. 같은 공간을 공유하여 의사소통과 협업을 강화하고, 다양한 기술을 활용해 시너지를 창출한다.
테스터는 비즈니스 담당자와 인수 테스트를 작성하고, 개발자와 테스트 전략을 협의하며, 테스트 자동화 접근법을 결정한다. 테스팅 지식을 공유하여 제품 개발에 영향을 미친다. 그러나 안전이 중요한 경우에는 높은 수준의 테스트 독립성이 필요할 수 있어 전체 팀 접근법이 적절하지 않을 수 있다.
일정 수준의 독립성은 저자와 테스터의 인지 편향 차이로 인해 테스터가 결함을 더 효과적으로 식별할 수 있게 한다. 독립성은 친숙함을 대체하지 않으며, 개발자는 자신이 작성한 코드에서 많은 결함을 찾아낼 수 있다.
작업 산출물은 저자, 같은 팀 동료, 또는 조직 외부의 테스터가 테스트할 수 있다. 대부분의 프로젝트는 여러 수준의 독립성으로 테스팅을 수행하는 것이 좋다.
독립적인 테스팅의 주요 이점은 다른 배경, 기술적 관점, 편향을 가진 테스터가 개발자와 다른 유형의 결함을 식별할 가능성이 높다는 점이다. 또한, 독립적인 테스터는 시스템 명세를 검증하고, 이해관계자의 가정을 이의 제기하거나 반증할 수 있다.
문제 1: 테스터에게 중요한 기술로 옳지 않은 것은?
A) 팀플레이와 협업 능력
B) 철저함과 세부사항에 대한 주의력
C) 모든 결함을 완벽히 제거하는 능력
D) 분석적 사고와 비판적 사고
정답(드래그)
C
해설(드래그)
테스터는 결함을 발견하고 품질을 향상시키기 위해 노력하지만, 모든 결함을 완벽히 제거할 수는 없음
문제 2: 테스터가 좋은 의사소통 기술을 갖추어야 하는 이유로 가장 적절한 것은?
A) 더 많은 테스트 케이스를 작성하기 위해
B) 테스트 결과의 전달을 제품이나 작성자에 대한 비판으로 오해받지 않기 위해
C) 테스트 자동화를 효과적으로 수행하기 위해
D) 테스트 계획을 더 쉽게 작성하기 위해
정답(드래그)
B
해설(드래그)
테스터는 좋지 않은 소식을 전해야 하며, 이러한 소식을 효과적으로 전달하기 위해 좋은 의사소통 기술이 필요함
테스트 결과가 제품이나 작성자에 대한 비판으로 오해받지 않도록 하는 것이 중요함
문제 3: 전체 팀 접근법의 주요 특징으로 옳지 않은 것은?
A) 모든 팀원이 품질에 대해 책임을 진다.
B) 필요 지식과 기술을 갖춘 팀원이 모든 작업을 수행할 수 있다.
C) 팀원들이 각기 다른 공간에서 작업한다.
D) 의사소통과 협업을 통해 시너지를 창출한다.
정답(드래그)
C
해설(드래그)
전체 팀 접근법에서는 팀원들이 같은 공간을 공유하여 의사소통과 협업을 강화하는 것이 중요한 특징
문제 4: 테스터가 비즈니스 담당자와 협력하여 수행하는 활동은?
A) 테스트 케이스 작성
B) 테스트 자동화 접근법 결정
C) 적절한 인수 테스트 작성
D) 시스템 명세 작성
정답(드래그)
C
해설(드래그)
테스터는 비즈니스 담당자와 협력하여 적절한 인수 테스트를 작성하는 것이 중요함
문제 5: 안전이 중요한 프로젝트에서 전체 팀 접근법이 적절하지 않을 수 있는 이유는?
A) 팀의 크기가 너무 커서
B) 높은 수준의 테스트 독립성이 필요하기 때문에
C) 테스트 도구가 부족해서
D) 개발자가 테스트를 수행해야 해서
정답(드래그)
B
해설(드래그)
안전이 중요한 프로젝트에서는 높은 수준의 테스트 독립성이 필요할 수 있음
문제 6: 테스팅의 독립성이 중요한 이유로 가장 적절한 것은?
A) 테스트 환경을 쉽게 구축할 수 있기 때문에
B) 테스터가 결함을 더 효과적으로 식별할 수 있기 때문에
C) 테스트 케이스 작성이 더 쉬워지기 때문에
D) 테스트 비용을 줄일 수 있기 때문에
정답(드래그)
B
해설(드래그)
테스팅의 독립성은 테스터가 결함을 더 효과적으로 식별할 수 있게 한다.
이는 저자와 테스터 간의 인지 편향 차이로 인해 발생한다.
문제 7: 독립적인 테스터의 주요 이점은?
A) 더 빠른 테스트 실행
B) 다른 유형의 결함과 장애를 식별할 가능성이 높음
C) 더 많은 테스트 케이스 작성
D) 테스트 계획의 효율성 증가
정답(드래그)
B
해설(드래그)
독립적인 테스터는 개발자와 다른 배경, 기술적 관점, 편향을 가지고 있어 다른 유형의 결함과 장애를 식별할 가능성이 높음