ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SSTC 2008 후기
    정리필요1 2008. 11. 11. 02:12

     

    컨퍼런스에 참여하기 위해 산골짜기에서 아침일찍 출발했으나
    도착하니 오전 11시 더군요..ㅋㅋ
     
    나름대로 열심히 들었던 부분만 간략히 정리해 보겠습니다. ^^*
     
     
    1. An Industry-Based Comparison of Black-Box Testing Methods
     
    블랙박스 테스팅에 대해 박사논문을 쓰시는 Tafline Murnane이란 분이셨습니다.
     
    연구의 시작은 "산업에서 블랙박스 테스팅은 어떻게 수행되는가?"라는 의문에서부터 시작합니다.
     
    블랙박스 테스팅에서
    - 기존의 EP, BVA, ST (동등분할, 경계값분석, 구문테스팅 등..)의 공식적 기법이 유용한가?
    - 아니면 Error Guessing, Exploratory Testing 등의 경험적 테스팅이 유용한가?
    - 둘 중 어떤 것을 많이 쓰는가?
    - 표준(ISO)와 관계 있는가?
     
    질문의 답을 찾기 위해 우선 전통적 블랙박스 테스팅의 대가 Myers 박사가 정의한 블랙박스 테스팅 방법에서 모호성(ambiguous)을 찾아냅니다.
     
    아래 지문을 보시면
     
    "If an input condition specifies a 'must be' situation 'first character of the identifier must be a letter', identify one valid equivalence class (it is a letter) and one invalid class (it is not a letter)"
     
    바로 '문자가 아닌 것'(not a letter) 에 대한 정의가 모호하다고 합니다.
     
    '문자가 아닌 것'을 하나의 묶음으로 보면,
    정수, 실수, 특수기호, 특수기호 문자열 등을 전부 하나로 봐야하기 때문입니다.
     
    그래서!
     
    이 분께서 'Atomic Rules'란 방법을 만드셨답니다.
     
    보다 세분화된 모호성을 제거한 TC산출방법을 말입니다.
     
    PPT자료를 보시면 비교적 상세한 TC예시가 있습니다.
     
    발표자인 Tafline Murnane께선 이런 상세한 정의를 통해
     
    자동화가 쉬워지고, 좋은 품질의 TC를 산출할 수 있다고 하십니다.
     
     
     
    이런 주장을 증명하기 위해 두 가지 실험을 하셨답니다.
     
     
     
     
    학계에서 실험 (대상 : 대학생들)
     
    강의를 듣는 학생들을 두 그룹으로 나누고
     
    한 그룹은 Myers 박사의 전통적인 블랙박스 테스팅 기법을 가르치고,
     
    다른 한그룹은 Tafline Murnane 박사의 개선된 Atomic Rules 방법을 가르쳤습니다.
     
    그룹 1 : Myers (Traditional Ways)
    그룹 2 : Atomic Rules
     

    그리고 어떻게 TC를 산출(EP, BVA, ST)하는지 관찰했답니다.
     
     
    그 결과,
     
    Myers박사의 전통적인 방법을 배운 학생들은 '단순하고 실용적인' TC를 산출했지만,
    Atomic Rules방법을 배운 학생들은 기존보다 10% 더 좋은 품질의 TC를 산출했답니다.
    (실험하신 대학에서 증명됐답니다.)
     
    하지만 2차년도에
    단순하고 실용적인 Myers 박사의 방법은 복잡한 Atomic Rules 보다 더 좋은 결과를 냈답니다. (아마 TC에 너무 많은 정보를 넣는 것이 귀찮을 수도 있겠죠..)
     
     
     
    산업계에서 실험 (대상 : 실무자들 11명)
     
    위 약간 다른 방법의 실험입니다.
     
    경력의 차이에 따른 실험을 위해
    실무자들은 테스트 매니저, 테스트 리더, 테스트 엔지니어, 신입으로 구성되었고,
     
    대상시스템의 익숙한 정도를 다르게 하기위해
    호주에서 흔희 볼 수 있는 Adress Parser와
    익숙하지 않은 Batch Processor를 대상시스템으로 선정했습니다.
     
    자료(베이시스)는 슬라이드와 Atomic Rules 가이드, 체크리스트 정도이고,
     
    산출물은 TC와 결함, 설문지 정도입니다.
     
     
    실험은 첫날 전통적인 방법으로 테스팅하고, 둘째날은 Atomic Rules를 배워 테스팅 하는 것입니다.
     
    결과만 간략히 정리해 봅니다.
     
     
    1). 익숙한 설계기법 VS 낮선 설계기법
     
    이 실험에선 EP, BVA, ST를 사용했는데요,
     
     
    EP를 익숙한 기법으로
     
    BVA와 ST를 낮선 기법으로 정하고 있더군요 (무슨기준인지 모르겠지만)
     
     
    실험결과
     
    EP로 산출된 TC에서 첫째날과 둘째날 비슷한 결함을 발견했답니다.
     
    BVA와 ST는 첫째날 전통적인 기법보다, 둘째날 Atomic Rules가 더 많은 결함을 발견했답니다.
     
    그래서 낮선 기법을 사용할 땐 Atomic Rules가 더 효과적이라는 결론??
     
     
     
    2). 익숙한 테스트대상 VS 낮선 테스트대상
     
    테스터들이 결함들을 발견 할 수 있는 비율은
     
    Target 프로그램의 구문이 익숙한가 아닌가에 영향을 받는다는 결과가 나왔습니다.
     
    특히, 낮선 테스트 대상에서 경험적 테스팅이 잘 안통하여 초보와 경력자간
     
    결함 수 차이가 별로 나지 않는다는 것도 알았습니다.
     
     
     
     
    3). 경험 많은 테스터 VS 경험 없는 테스터
     
    개인차 경력에 따라 더 많은, 낳은 TC 산출하는가? 에 대한 답은 "아니다"라고 합니다. ㅋ
     
    두 그룹의 커버리지와 결함을 비교한 결과 (n = 평균 발견 결함 수)
     
    경력 2년 이하 ( n = 6 )
    경력 2~10년 ( n = 5 )
     
    결국 경력과 별로 무관한 TC품질이란 말 같습니다. (저의 생각은 좀 다르지만..)
     
     
    4). 테스트 리더 VS 테스트 엔지니어
     
    역할에 따른 TC품질도 비교했는데요...
     
    결과는 테스트 엔지니어의 승리입니다.
     
    첫날 TL보다 TE가 더 좋은 TC를 산출, 더 많은 결함을 찾았답니다.
    (이런건 경쟁 붙이는게 잼있죠ㅋ)
     
    둘째날, Atomic Rules를 배웠을 땐 별차이 없었답니다. (교육하면 다 똑같다고 주장하심)
     
    아마도 TE가 매일 결함을 찾는 헌터로서 단련이 된 것 같습니다.
     
     
     
    아 그리고,
    첫날 탐색적 테스팅에서 산출된 230여개의 TC를 분석해보니,
    거의 공식적 기법이었답니다.(3명빼고)
    공식적 기법을 잘 알아야 탐색적 기법도 잘 할 수 있다는 반증인가요?
     
    Tafline Murnane님께선 탐색적 테스팅은 노련해야하고 경험이 있어야 좋지만,
    그렇지 않을 경우 가이드, 학습자료를 통한 교육으로 효율을 높일 수 있다고 말하십니다.
     
     
     
    그리고 마지막으로 앞으로 만들어질 29119에게 부탁 말씀 몇가지 하셨는데요..
     
    (Atomic Rules같이)
     
    모호하지 않게 해주세요~
    중복이 없게 해주세요~
    경험적 테스팅을 추가해주세요~
    domain knowledge에 대한 논의가 필요해요~
    테스트 매트릭을 만들어주세요~
     
    라고 29119에 바라신답니다.
     
    --------------------------------------------------------------------------------
     
    발표가 끝나고 참가자분들의 질문이 있었습니다.
     
    질문 1 : Defect의 '시버리티??'는 고려했는가?
    답변 1 : 못했다. 하겠다.
     
    질문 2 : 경험이 교육보다 큰 힘을 발휘하지 않나? (아까 의문갔던 부분 찔러주심)
    답변 2 : 업계 전반에 걸쳐 실험이 필요하다. 일부 동의한다. 제가 했던 실험이 우연적인지 검증이 필요하다.
     
    질문 3 : 'Atomic Rules'는 상세하다. 대규모 프로젝트는 상당한 TC가 산출된다. 생산성 문제는 어떻게 해결할 것인가?
    답변 3 : 저의 분야와 먼 것 같습니다..??
     
    대한민국의 개발자/QA 분들의 수준은 상당한 것 같습니다...
    질문을 들으니 현업에서 쌓였던 응어리가 느껴지더군요ㅋㅋ
     
    반면 시간이 부족하셨는지 답변은 그리 시원하지 않았던 것 같습니다.
     
     
     
     
     
    한 세션 정리 하는데, 조금 시간이 걸렸군요. ^^*
     
    다음에 시간나면 다른 세션도 정리해 보겠습니다.
    개인적으로 마지막 패널토론 세션에서 좋은 내용이 많았습니다.
     
    아그리고 '시버리티'가 뭔지 아시는 분 가르쳐 주세요~
     
     
    - KNU, shine
     
Designed by Tistory.