brunch

[리뷰] 5 Ways to revolutionize

by Geolo

Article: 5 Ways to revolutionize your software tesing by Dr. James Whittaker


버그를 많이 찾는 것이 유일한 목적이 아닌 더 큰 목표를 생각할 수 있는 글이다. 먼저 제시하는 5가지 요소는 다음과 같다.

Insight 1. There are ywo types of code and they require different types of tests

Insight 2. Take your testing down a level from features to capabilities

Insight 3. Take your testing up a level from test cases to techniques

Insight 4. Improving development is your top priority

Insight 5. Testing withgout innovation is a great way to lose talent


저자는 유명한 사람이다. 내가 아는 바로는 MS -> Google -> MS (현재) 이다. 나한테 impact가 있는 2가지만을 내 생각으로 다시 풀어썼다.


Improving development is your top priority

정말 멋진 생각이다. 테스터로서의 진짜 역할은 무엇인가? 테스터는 무엇으로 전문성을 가질 수 있을까? 이러한 점을 고민하게 만드는 내용이다.


“The real value of tests is not that they detect bugs in the code, but that they detect inadequacies in the methods, concentration and skill of those who design and produce the code.”
Tony Hoare, 1996.


이상적으로 결함이 없는 소프트웨어와의 gap이 존재하고, 이 gap을 만든 요인이 있을 것이다. 버그를 찾고 제거함으로써 이 gap을 줄이는 것도 중요하지만 더욱 우리가 발전하기 위해서는 (더 적은 결함을 만들고, 생산성이 높아지려면), gap의 요인을 지속적으로 개선하는 것이 중요하다. 테스터로서의 역할도 개발자가 gap의 요인을 찾고 개선하는데 도움을 주는 것이다.


"This is true job of a tester: to make developeres and development better. We don't ensure better software - we enable developers to build better software."



Take your testing up a level from test cases to techniques


테스트 케이스 또는 버그에 대한 논의보다는 다음과 같은 질문을 고민하는 것이 바람직하다.

- What made you think of this paricular test case?

- What was your goal when you ran that test case?

- Did you notice anything innteresting while running the test case that changed what you were doing?

- At what point did you know you had found a bug?


테스트 케이스, 버그는 생각의 결과물이다. 우리가 진정 논의해야 할 대상은 결과물을 만들어낸 그 방법에 있다. 왜 그러한 테스트 케이스를 만들었는지에 대한 의도, 문맥, 전략을 함께 고민하는 것이 우리를 좀 더 좋은 테스터로 안내할 것이다.


마지막으로 테스트는 아직 해결해야 할 많은 물음표를 가진 영역인 것 같다.

Testing is an immature science.