소프트웨어 품질보증 (Software QA) 이란?

2018. 8. 20. 16:14IT·테크/SQA

반응형


소프트웨어 QA란 직무와 기술에 대해 포스팅을 시작해보려 합니다.


저 개인적인 생각일 수 있으나, 4차 산업 혁명에 들어서면서 소프트웨어 QA 직무는 필연적으로 필요할 수밖에 없는 직무 중에 하나이지 않을까 생각됩니다.


자율 주행 산업을 예를 들면, 이는 사람의 목숨과도 직결될 수 있는 산업일 수 있습니다. 이를테면 소프트웨어적인 결함으로 자동차가 급 발진을 한다던지, 어떠한 구간에서 차선인지를 하지 못해 사고로 이어질 수 있는 경우를 예를 들 수 있습니다.


다시 말해 4차 산업 혁명은 사실상 기계의 의존도가 높아짐에 따라 그 기계를 사람들이 믿을 수 있냐?에 대한 문제에 봉착합니다. 이를 대신 보증해줄 수 있는 직무가 바로 소프트웨어 QA라 생각됩니다.


물론 완벽한 소프트웨어란 존재할 수 없습니다. 하지만 테스트웨어를 공학화하여 품질을 측정하고 개선한다면, 사용자들의 신뢰를 얻을 수 있지 않을까 생각합니다.


서론이 길어졌는데요, 이제 소프트웨어 QA에 대한 정의를 알아보도록 하겠습니다.


소프트웨어 QA ?

‘Software Quality Assurance’의 준말입니다.

SQA라고도 합니다. 직역하자면, ‘소프트웨어 품질보증즉 소프트웨어의 기획 의도나 목적에 따라 올바르게 구동하는가를 테스팅 하여 제품의 결함을 미연에 방지하고, 사용자 니즈를 분석하여 사용성, 편의성 등을 개선해 나가 소프트웨어의 품질을 높이는 직무입니다.


요약하자면 아래와 같습니다.

소프트웨어가 반드시 해야 할 것을 하고 있는지?

소프트웨어가 굳이 하지 말아야 할 것을 하고 있는지?

스펙에서 요구하지 않는데, 해당 기능 또는 동작을 포함하고 있는지?

스펙에서 요구하지 않지만, 반드시 필요한 기능 또는 동작을 포함하는지?

해당 소프트웨어가 사용성에서 어려운지? 성능은 어떤지?


위와 같은 검증을 통하여 소프트웨어의 품질을 높이는 작업을 시행하게 됩니다. 하지만 앞서 말씀드렸다 싶이 완벽한 검증 또는 테스트는 있을 수 없습니다.



예를 들어 위와 같은 모듈을 테스트한다는 가정을 해 봅니다.

일단 지정한 글꼴대로 표시되는지를 확인하기 위해서는 모든 가능한 글꼴, 글꼴 속성, 크기, 글꼴 색 및 효과 등의 조합을 고려하여 테스트해야 합니다. 다시 말해 글꼴 개수가 30개, 글꼴 속성 4개 글꼴 크기가 21개라 가정하면, 30*4*21=2520 경우의 수가 발생합니다.


이처럼 프로그램의 입력 영역은 무한히 크기 때문에 현실적으로 모든 가능한 입력 값들을 테스트 데이터로 선정할 수 없습니다. 따라서 QA 업계에선 해당 경우의 수를 최선의 방법으로 줄일 수 있는 테스트 기법들이 있으며, 앞으로 그 테스트 기법들을 포스팅으로 소개할까 합니다.


다음 포스팅에서는 테스트 기법에 앞서 테스트 분류와 방식에 대해 포스팅해보도록 하겠습니다.

반응형