본문 바로가기

Software Engineering7

V 모델 이해하기 V 모델이란 V 모델은 소프트웨어 개발 프로세스로 폭포수 모델을 확장한 형태 중 하나입니다. 폭포수 모델은 분석, 설계, 구현, 테스트 단계로 이루어져있습니다. 이 중 테스트 단계를 강조한 모델이 V 모델입니다. 주로, 안전이 중요한 자동차 업계에서 많이 사용됩니다. V 모델 의미 테스트 단계에서는 제품을 제대로 만들었는지 테스트 합니다. V 모델은 무엇을 근거로 테스트를 진행할지 보여줍니다. V 모델에서는 각 단계에 대응되는 테스팅이 있고 해당 테스팅은 대응되는 단계의 산출물을 근거로 테스트를 진행합니다. 인수 테스팅은 요구사항 정의서를 근거로 테스트를 진행하고, 시스템 테스팅은 요구사항 분석서(SRS)를 근거로, 통합 테스팅 상위설계서를 근거로, 단위 테스팅은 상세설계서를 근거로 테스트를 진행합니다... 2023. 4. 16.
소프트웨어 품질 메트릭 소프트웨어 품질 메트릭이란 소프트웨어 품질 메트릭은 사용 목적을 가지고 소프트웨어의 품질을 판단하는데 도움을 주는 지표입니다. 주로 지표를 측정하여 정적 분석 등에 사용됩니다. 자동차 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.
[UML] 유스케이스 다이어그램 (Use Case Diagram) 유스케이스 다이어그램이란 사용자의 관점에서 시스템의 서비스 및 그와 관련한 외부 요소를 보여주는 다이어그램 주로 기능적 요구사항의 식별을 위해 사용됨 비기능적 요구사항을 추출하기에는 적절하지 않음 요구사항 분석 시 사용. 유스케이스 모델링 -> 요구사항 상세 기술서 -> 요구사항 명세서 유스케이스 모델링을 통해 요구사항 상세 기술서를 작성하고 이를 바탕으로 요구사항 명세서(SRS, Software Requirement Specificat`ion)를 작성 유스케이스 다이어그램의 구성 요소 시스템 만들고자 하는 애플리케이션을 의미 시스템 안에 있는 것들이 구현의 대상이고, 시스템 밖에 있는 것들은 만들지 않음 표기법 유스케이스를 둘러싼 사각형의 틀을 그리고, 시스템 명칭을 사각형 안쪽 상단에 기술 액터 시스.. 2023. 3. 18.