ISTQB 1.5 테스팅의 심리학 ~ 1.6 소프트웨어 테스팅을 제약하는 요소

1-5. 테스팅의 심리학

1. 테스팅 독립성

  • 개발자와 테스팅 엔지니어 분리 (각자의 활동에 집중)
  • 단계가 오를 수록 독립성 높아짐
  • 테스트 대상 소프트웨어의 개발자가 설계한 테스트(독립성↓)
  • 개발팀 내의 다른 인원이 설계한 테스트
  • 다른 그룹의 독립적인 테스트 팀의 인원, 또는 테스트 전문가 (사용성 또는 성능 테스트 전문가 등)가 설계한 테스트
  • 다른 조직 또는 다른 회사의 인원이 설계한 테스트(외부적 조직에 의한 인증, 아웃소싱)
  • 명확한 테스팅의 목표 설정은 테스팅을 성공적으로 수행하는데 있어 중요하다

2. 테스팅 진행하는 동안 결함을 식별하는 과정

  • 작성자에 대한 비판으로 오해될 소지 존재
    • 호기심, 전문적인 비평, 비판적인 시선, 세밀한 것에 주목하는 태도, 개발자 또는 개발팀 동료와의 원활한 의사소통, 그리고 결함을 유추해 내 는 경험을 필요
  • 오류나 결함, 장애가 긍정적인 방법으로 의사소통 된다면, 테스터와 개발자 간에 발생할 수 있는 감정 악화를 피할 수 있다.
  • 테스터, 테스트 리더 사이: 좋은 대인 관계가 필요
  • 결함 정보
    • 결함 발견: 시간과 비용 절감 및 리스트 요소 줄임

3. 테스터의 역할

  • 다툼보다는 협력으로 시작(공통적인 목표를 모든 사람에게)
  • 소프트웨어를 개발한 사람에게 비평을 배제하고 중립적이고 사실에 근거한 제품의 결함만 전달하려고 노력한다.
  • 다른 인원이 어떻게 느끼는지, 왜 그렇게 반응하는지 이해하도록 노력한다.
  • 상호간에 의사소통 했던 것을 상대방이 정확하게 이해했는지 확인한다.

1-6. 소프트웨어 테스팅을 제약하는 요소

1. 최근 SW

  • 전통적인 컴퓨팅 영역 탈피(가전, 무선단말기, 산업기기, 휴대폰, 자동차(ECU) 분야)
  • SW 개발 프로세스 품질의 중요성과 함께 SW 결함을 사전에 진 단하고 정상 동작여부를 시험하는 테스팅의 중요성 부각
    • 전체 개발비의 40% ~ 60% 이상이 테스팅 비용 (개발 « 테스팅 비용)
    • 하지만 기존 개발자들은 테스팅에 소극적
    • 하위레벨 테스트 부족
  • 품질에 대한 인식 높아져 기대 수준 높아짐
  • 리스크 관리 필요
  • 체계적인 테스팅을 위해서는 테스트의 우선순위 중요

2. 테스트에 대한 문제점

  • 테스터가 테스팅에 대해 너무 단편적으로 알고 있는 것은 체계적인 테스팅을 제약하는 요인
    • 개념과 연관성 이해
    • 리스크 기반 테스팅 접근법 / 테스트 기법 / 테스트 커버리지
    • 이론을 실무에 적용하는 노력 필요
  • 의사결정권자와 매니저의 테스팅에 대한 인식 부족
    • 임시방편
    • 테스트 자동화 도구의 중장기적 계획 or 테스트 프로세스 정립 필요
  • 테스팅을 투자가 아닌 불필요한 비용으로 인식
  • 테스팅은 개발보다 더 확실한 ROI(Return On Investment) 활동