본문 바로가기

품질

[품질] 소프트웨어 품질을 높이는 방법 - 테스팅

ChatGPT를 사용하지 않습니다.

목차

     

    관련글

    [품질] 소프트웨어 품질이란 무엇인가?
    [품질] 소프트웨어 품질의 중요성
    [품질] 소프트웨어 프로젝트 생존 테스트

     

     

    1. 소프트웨어 품질을 높이는 방법

    소프트웨어 품질을 향상시키는 방법에 대해서 알아보도록 하겠습니다.

    가장 간단한 방법이 있습니다.

    테스팅!!!!

     

    테스팅 하나만 잘해도 소프트웨어 품질을 높일 수 있습니다.

    테스팅은 품질 높이는 방법 중에 가장 쉽게 접근할 수 있는 방법입니다.

    테스팅도 제대로 하려면 굉장히 복잡하고, 어렵지만

    가장 쉬운 방법을 알아보도록 하겠습니다.

     

    2. 테스팅 하는 방법

    소프트웨어 제품이 개발되면 

    잘 동작하는지 기능을 테스트 하는 겁니다.

    그리고 성공, 실패에 대한 기록을 남기는 것입니다.

    보통 '기능 테스트' 라고 합니다.

     

    그러면 좀더 깊이 들어가보도록 하겠습니다.

    품질 특성별 테스트를 해보는 겁니다.

    여기서 중요한 점이 있습니다.

    모든 품질의 특성을 테스트할 수 없습니다.

    프로젝트는 일정이 존재합니다.

    마무리 지어야 하는 일정이 있습니다.

    보통 테스트를 하려면 프로젝트 끝나는 시점에 시작을 하기 때문에

    테스트를 마냥 오랫동안 할 수가 없습니다.

     

    그래서 보통은 가장 기본적인 기능 테스트로만 끝내기도 합니다.

    하지만 만약에

    고객이 원하는 프로젝트 품질 목표가 있다면 

    이야기는 달라집니다.

    성능에 대한 품질 목표가 있을 수 있으며,

    사용성

    보안성

    유지보수성...

    등 다양한 고객의 요구사항이 있을 수 있습니다.

     

    그러면 기능 요구사항을 넘어선 비기능 요구사항에 대한 비기능 테스트를 진행해야합니다.

    비기능 테스트는

    말그대로 기능 테스트를 뺀 나머지 모든 테스트를 비기능 이라고 합니다.

    보통 품질 특성에서 기능 적합성을 제외한 '성능, 보안성, 유지보수성, 사용성...'등 7가지 주특성을 말합니다.

     

    기능 테스트는 매뉴얼(보통 제품 설명서, 사용자 설명서, 기능 테스트가 가능한 산출물 기준) 기반으로 테스팅을 합니다.

    테스팅에도 여러가지 방법론들이 존재하지만

    가장 기본적인 방법은 매뉴얼 기반 기능 테스트라고 보시면 됩니다.

     

    기능테스트를 완료한다음에는

    비기능 테스트를 실시합니다.

    비기능 테스트는 고객이 원하는 품질 목표에 만족하는지를 시험합니다.

    고객이 원하는 품질 목표도 시험하지만

    만약 고객이 모르고 있는 경우에는

    기업 내에서 품질 목표를 정하기도 합니다.

    예를들어)

    - 이러이러한 운영 환경에서 00 기능을 수행했을때 응답속도는 2초 이내여야 한다.

    - 동시접속자수 50명의 환경에서 00기능이 3초 이내 수행되어야 한다.

    - SQL인젝션, XSS(크로스 사이트 스크립트) 결함 등급중에 Critical, High 등급의 결함이 0개 여야 한다.

     

    이런 목표가 있다면

    목표에 만족하는지를 시험환경을 구축하고, 시험도구를 정해서 시험을 하게 됩니다.

     

    3. 결론

    이번에는 소프트웨어  품질을 높이는 가장 기본적인 방법

    '테스팅'에 대해서 알아보았습니다.

    테스팅은 프로젝트 마무리가 될때쯤 많이 진행하기 때문에

    일정을 잘 확인을 해야 합니다.

    고객의 만족을 높이기 위해서 테스팅은 필수입니다.

    개발을 진행하면서 테스팅을 하지 않으면

    고객에게 제품이 배포된 다음에

    고객이 테스팅을 하게 됩니다.

    그러면 고객 만족도가 떨어질 가능성이 굉장히 큽니다.

    지속가능한 비즈니스를 위해서는 테스팅을 꼭 수행해야 합니다.

    마지막으로 테스팅을 할때 자기가 개발한 제품은 자기가 테스팅 하지 않는것을 추천드립니다.

    제3자 옆에 동료 다른 부서에 사람들에게 도움을 청해서 테스팅을 하기를 바랍니다.

    자기가 테스팅 하면 '살살~~~ 테스팅'을 하게 됩니다.

     

     

    김영찬 (소프트웨어 품질 전문가)

    (재)전주정보문화산업진흥원(JICA)

    소프트웨어 개발자로 10년간 발로 코딩 하다가 한계를 느끼고, 

    2015년부터 소프트웨어 품질에 몸을 담고 기업을 돕고 있음

    email.  sweng@jica.or.kr  / tel. 063-281-4113

    주업무 : 소프트웨어 품질 컨설팅, 테스팅,  KOLAS 기술책임자, 개발자 네트워크 운영

    자격

      - SP, CMMI, VSE(ISO 29110), ISMS(ISO 27001) 인증 심사원

      - AIT, ISTQB FL, CSTS, 29119 외 다수