본문 바로가기

Software Engineering/Testing4

소프트웨어 품질 메트릭 소프트웨어 품질 메트릭이란 소프트웨어 품질 메트릭은 사용 목적을 가지고 소프트웨어의 품질을 판단하는데 도움을 주는 지표입니다. 주로 지표를 측정하여 정적 분석 등에 사용됩니다. 자동차 SW와 같이 안전과 관련된 분야는 지켜야 하는 규정도 많고 이러한 규정을 지켰는지를 중요하게 생각합니다. 대표적인 품질 메트릭과 해당 메트릭에 대한 가이드라인을 살펴보겠습니다. 해당 가이드 라인은 자동차 업계에서 사용되는 가이드라인입니다. 업계마다 가이드 라인은 다를 수 있습니다. 함수 별 라인수 말 그대로 함수 하나 당 라인 수를 의미합니다. 함수는 50 라인 이하로 작성되는 걸 권장합니다. (주석 포함 80라인) 주석 비율 주석 비율은 코드 중 주석이 차지하는 비중입니다. 자동차 업계에서는 주석 비율 20%를 권장합니다.. 2023. 4. 14.
소프트웨어 품질 (제품 품질과 프로세스 품질) 소프트웨어 품질은 소프트웨어가 기능, 성능 및 만족도에 있어서 명시된 요구사항 및 내재된 요구사항을 얼마나 충족하는 가를 나타내는 소프트웨어 특성의 총체입니다. 소프트웨어 품질은 크게 제품 품질과 프로세스 품질로 나누어 볼 수 있습니다. 제품 품질은 말그대로 제품 자체가 가지는 품질입니다. 고객이 최종적으로 보는건 제품의 품질입니다. 그렇다면 프로세스 품질은 왜 필요할까요? 프로세스 품질은 제품을 만드는 입장에서 중요한 품질입니다. 프로세스 품질은 소프트웨어를 개발하기 위해 필요한 모든 개발 활동이 계획을 준수하여 개발하였는가를 나타내는 품질입니다. 제품을 만드는 입장에서 제품의 품질을 안정적으로 좋게 만드는데 프로세스의 품질이 중요하더라라는 생각을 가지고 있습니다. ASPICE가 프로세스 품질의 대표적.. 2023. 4. 14.
SW 테스트 종류 (정적 테스트, 동적 테스트) SW 테스트 목적 SW 테스트의 목적은 결함이 없음을 보이려는게 아니라, 결함을 발견하는 것입니다. 따라서 SW 테스트의 성과는 SW 결함 목록입니다. 프로그램의 조건은 매우 많으므로 완벽한 테스트는 불가능합니다. 현실적인 테스트가 되어야 하며, 효율적으로 테스트가 수행되어야 합니다. SW 테스트 구분 SW 테스트는 정적(Static) 방법과 동적(Dynamic) 방법으로 구분됩니다. 정적 방법과 동적 방법을 구분하는 기준은 프로그램의 실행 여부 입니다. 프로그램을 실행하지 않고 결함을 찾아내는 것이 정적 테스트이고 프로그램을 실행하여 결함을 찾아내는 것이 동적 테스트입니다. 정적 (Static) 테스트 프로그램을 실행하지 않고 결함을 찾아내는 것 소프트웨어 개발 중 생성되는 모든 산출물에 적용 가능 대.. 2023. 4. 11.
페어 와이즈 (Pair Wise) 테스트 페어 와이즈 (Pair Wise) 테스트란 입력 값의 조합을 기준으로 하는 테스트 시간, 자원 제약 등으로 모든 경우의 수를 테스트 할 수 없을 경우 사용 테스트를 하는데 필요한 각 값들이 다른 파라미터 값들과 최소한 한번씩 조합을 이루게 하여 테스트함 효율성을 선택하였으나, 모든 케이스를 테스트한 것은 아님 페어 와이즈 사용해보기 사람이 매번 페어 와이즈 테스트를 하기 위한 조합을 찾아내기는 어려움 마이크로 소프트가 개발한 PICT (Pairwise Independent Combinatorial Test)를 활용하자 microsoft/pict: Pairwise Independent Combinatorial Tool (github.com) 링크로 들어가면 pict 깃헙 페이지로 들어갈 수 있습니다. 깃헙.. 2023. 4. 11.