2015년 10월 7일 수요일

[서평] 소프트웨어 품질 관리 패러다임은 어떻게 변하고 있을까?

10년쯤 전에 XP(Extreme Programming)에 관심 가지고 공부를 했을 때, 여러 구성요소 중에서 충격적이고 사고의 변화를 주었던 것이 TDD(Test Driven Programming)이었다. 그중에서도 Unittest에 대한 아이디어가 너무 좋아서 어린 마음에 주변에 많이도 이야기하고 공부했던 기억이 있다.

이제는 Unittest는 일종의 개발의 필수 요소가 되어서 딱히 애자일 개발 방법을 사용하지 않는 환경에서도 쉽게 접할 수 있게 되었다. 그리고, 개발자가 단위 테스트를 넘어 인수 테스트(Acceptance Test) 등을 작성하는 것도 드물지 않은 경우가 되었으니. 10년이면 강산이 변한다는 말처럼 개발 방법에도 많은 변화가 있었다고 볼 수 있을 것이다.


그렇다면 QA(Quality Assurance)라 불리는 품질 관리 분야에서는 어떤 변화들이 있었을까? Unittest 등을 비롯한 개발단에서의 테스트가 도입된 것은 물론이고, 다양한 방법을 통한 테스트 자동화가 지속적으로 보급되어왔으며, 마이크로소프트나 구글 등의 세계적인 수준의 소프트웨어 회사들에서는 품질을 관리하는 영역을 넘어, 모든 구성원들이 품질을 올리는데 도움이 되는 환경과 체계를 만드는 작업을 하고 있다.

더불어 모바일 환경, 웹 서비스 환경의 보편화로 인해 저품질 제품이 출시되지 않도록 하는 게이트 키퍼로서의 품질관리 역할은 사라지고, 전반적인 개발 과정에서 자연스럽게 출시에 필요한 수준의 품질을 확보하기 위한 환경과 체계를 만들어가는 품질관리의 역할이 커지고 있는 상태이다. 요컨대, 제품의 출시를 Go/NoGo 하던 역할이 처음부터 Go할 수 있는 제품개발을 보장할 수 있는 역할로 옮겨가고 있는 것이다.

급격하게 변화하는 현재의 소프트웨어 생태계에서 적시 출시를 통해 최대한 경쟁력을 확보하는 것이 최고의 무기가 되는 상황이다. 때문에 빠른 출시의 방해가 되지 않는 것과 함께 문제가 없는 품질을 확보해야 하는 품질관리의 역할은 전보다 더 복잡하고 어려워지고 있다고 볼 수도 있다. 품질관리 팀에서 코딩을 하지 않는다는 것도 옛말이 되었고, 최근에는 품질을 관리하는 위한 코드를 생산하는 역할도 중요 역할이 되었으니, QA와 개발자의 경계가 불분명한 경우도 드물지 않게 볼 수 있는 상황이다.



[네이버 모바일 테스트 이야기]는 이러한 상황에서 어떤 식으로 변화에 대응을 하는지에 대한 네이버의 답 중 일부를 보여주는 책이다. 

기계도 할 수 있는 부분은 기계에게 넘기고, 사람만이 할 수 있는 부분을 찾아봤다는 추천사의 말처럼. 기존의 전통적인 테스트 이외의 부분들, 특히 모바일이라는 환경에서 문제가 될 수 있는 부분들을 고민해보고 해결하는 모습들을 책에서 볼 수 있다.

개인적으로 모바일 환경이 기존의 데스크톱 등과 다른 가장 큰 부분이 한정된 리소스(배터리, CPU, RAM)와 모바일 네트워크의 특성이라고 생각한다. 책에서 다루고 있는 리소스 측정에 관한 내용이나 부록의 모바일 테스트 팁에 나오는 모바일 네트워크에 관한 내용들이 모바일 환경에서의 테스트가 왜 달라져야 하는지에 대한 답변이 될 수 있을 것 같다.



참고로 모바일 네트워크에 대한 조금 더 자세한 설명이 필요하다면 예전에 내가 쓴 글 중 이동통신 네트워크 소개(http://tasyblue.blogspot.kr/2014/02/blog-post_26.html)라는 글이 있는데 읽어보면 도움이 되지 않을까 싶다. :-) 

댓글 없음:

댓글 쓰기

Man of Month를 마치며

벌써 2020년 1월 14일이다. 19년의 마지막 달에 Man of Month라는 팀의 제도를 시작한다고 했었는데, 12월이 지나고 그 다음 달도 거의 절반이 흐른 것이다. MoM을 시작하면서 하겠다고 계획했던 것들도 실제 한 것들과 비교해보니...