//구글콘솔 광고 추가가
들어가기 전 알아둬야 하는 1.5 용어 설명
: 사전적으로는 용어설명 글 참고 ㄱㄱ. 여기서는 간단하게 이해 쉽게 설명
도메인 : 유효한 입력값/ 출력값의 선택을 가능하게 하는 집합.
1.5. 테스팅의 필수 기술 및 모범 사례
- 우수한 테스터는 팀플레이, 즉 협업에 능한 사람이어야 하며, 다양한 수준의 독립성으로 테스팅을 수행할 수 있어야 한다.

 

1.5.1 테스팅에 보편적으로 필요한 기술
  • 테스팅 지식(테스팅 효과를 높이기 위해 - ex> 테스트 기법 활용)
  • 철저함, 신중함, 호기심, 세부사항에 대한 주의력, 체계적인 접근(결함, 특히 찾기 어려운 결함 식별을 위해)
  • 우수한 의사소통 기술, 경청하는 자세, 팀플레이(모든 이해관계자와 효과적으로 상호작용하고, 다른 사람에게 정보를 전달하고, 상대의 이해를 구하고, 결함을 보고하고, 논의하기 위해)
  • 분석적 사고, 비판적 사고, 창의성(테스팅 효과를 높이기 위해)
  • 기술 지식(테스팅 효과를 높이기 위해 - ex> 적절한 테스트 도구 사용)
  • 도메인 지식(최종 사용자/ 비즈니스 대표자를 이해하고 그들과의 소통을 위해)
테스터에게는 의사소통 기술이 매우 중요. 결함과 장애 관련 정보를 건설적인 방법으로 전달할 수 있어야 함.

 

1.5.2 전체 팀 접근법
: 누구나 모든 작업 수행 O, 모든 팀원이 품질에 대해 책임. 의사소통 & 협업 Up!
- 전체 팀 접근법에서는 필요 지식과 기술을 갖춘 팀원이라면 누구나 모든 작업을 수행할 수 있고, 모든 팀원이 품질에 대해 책임진다. 같은 공간을 사용하는 것은 의사소통과 상호작용을 용이하게 하므로 팀원들은 작업 공간을 공유한다.
- 전체 팀 접근법은 팀의 활력을 높이고, 팀 내 의사소통과 협업을 강화하며, 프로젝트의 성공을 위해 팀이 가진 다양한 기술을 활용해 시너지를 창출한다.

테스터는 필요한 수준의 품질 달성을 위해 다른 팀원과 긴밀히 협력하게 된다.
여기에는 비즈니스 담당자와 협력적절한 인수 테스트를 작성하고, 개발자와 협력 테스트 전략을 협의하고, 테스트 자동화 접근법을 결정하는 것도 포함된다.
따라서 테스터는 테스팅 지식을 다른 팀원과 공유하게 되며, 제품 개발에 영향을 주게 된다.
- 정황에 따라 전체 팀 접근법이 적절하지 않을 수 있다. ex> 안전이 치명적인 경우에는 높은 수준의 테스트 독립성이 필요할 수 있다.

 

1.5.3 테스팅의 독립성
- 일정 수준의 독립성은 저자와 테스터의 인지 편향 차이로 테스터가 결함을 더 효과적으로 식별할 수 있도록 한다. 그러나 독립성이 친숙함을 대체하는 것은 아니다. ex> 개발자는 자신이 작성한 코드에서 많은 결함을 효율적으로 찾아낼 수 있다.

< 작업 산출물 독립성 단계 >
1단계 - 독립성 없음 : 저자가 직접 테스트.
2단계 - 일정 수준의 독립성 : 저자의 같은 팀 동료가 테스트.
3단계 - 높은 독립성 : 저자의 팀 외부에 있지만 조직 내에 있는 테스터가 테스트.
4단계 - 매우 높은 독립성 : 조직 외부의 테스터가 테스트.
< 독립적인 테스팅의 주요 이점 >
- 배경, 기술적 관점, 편향이 다르기 때문에 독립적인 테스터가 개발자와 다른 유형의 장애와 결함을 식별할 가능성이 높다.
- 독립적인 테스터는 시스템 명세를 작성하고 구현하는 과정에서 이해관계자의 가정을 검증하고, 그것에 대한 이의를 제기하거나 반증할 수 있다.

< 독립적인 테스팅의 단점 >
- 개발팀과 차단되어 협업과 의사소통이 어려울 수 있으며, 개발팀과 적대적인 관계로 이어질 수 있다.
- 개발자가 품질에 대한 책임감을 잃을 수도 있다.
- 독립적인 테스터가 병목으로 인식되거나, 출시 지연의 원인으로 비난받을 수도 있다. 

 

 


 

▲ 여기는 생각보다 문제가 잘 나오는 구역 같다. ▲

테스터에게 요구되는 기술을 물어보거나, 전체 팀 접근법의 장단점 문제, 테스팅의 독립성 단계 선택이나 장단점을 찾아내는 문제들로 샘플문제에서 자주 봤다. 외울 필요는 없지만 이해만 하면 문제를 맞히기 쉬운 부분이다.


728x90

+ Recent posts