Please enable JavaScript.
Coggle requires JavaScript to display documents.
소공2-검증과 확인 - Coggle Diagram
소공2-검증과 확인
4.1.4 품질 특성
ISO 25010: 기능 적합성, 성능 효율성, 호환성, 사용성, 신뢰성, 보안성, 유지관리성, 이식성
기능 적합성 테스트: 기능 완전성(명세기반), 기능 정확성(명세+구조), 기능 적절성
성능 효율성 테스트: CPU, 디스크, 메모리, 작업량, 대기 태스크 수, 부하 테스팅(임계점), 스트레스 테스팅(비정상적 상황 처리), 스파이크 테스팅(짧은 시간 많은 사용자), 내구성 테스팅(오랜 시간 높은 부하)
Little's Law: 공간 내 객체 수 = 객체 공간 유입량 X 객체 머무는 시간
Concurrent user = 처리량(TPS) X 요청간격(Request interval)
Active user = TPS X Response Time
Inactive user = TPS X Think Time
TPS = Active User / Response Time
호환성 테스트: 공존성, 상호 운영성
사용성 테스트: 사용 효율성, 효과성, 만족도, 휴리스틱 평가, FGI, 인지적 워크쓰루, 설문 등의 방법 사용
신뢰성 테스트: 특정 조건 특정 기간동안 오동작 없이 제공하는 정도, 성숙성, 가용성, 결함허용성, 복구성, 가용성과 MTTF로 정량화
보안성 테스트: 침입 테스트, 정적 분석(시큐어코딩 준수 검사)
유지관리성 테스트: 동적 테스트 보다는 정적 테스트 이용 테스트
이식성 테스트: 전자정부 호환성 준수지침, 크로스 브라우징 테스트
기타 테스트: 커서리 테스트(개발자 주체 즉흥적 테스팅), 스모크 테스트(SW 불안정한 초기 빌드, 핵심 기능 확인), 새너티 테스트(안정적인 빌드, 버그 수정 확인, 실패 시 빌드 거부됨)
4.2.1 정적 테스트
프로그램 미실행, 리뷰(전문가 검토), 정적분석(자동화 도구 사용)
리뷰(IEEE 1028): 관리 리뷰, 기술 리뷰, 인스펙션(동료검토), 워크쓰루(작성자 본인 주재하며 기록), 감사
페이건 인스펙션: 인스텍션 도입 시 코딩 전까지 일반 개발의 2배, 코딩단계에서 재작업과 투입인력 감소
정적분석: 코딩 표준(MISRA-C), 복잡도 분석(McCabe 순환복잡도), 자료 흐름 분석(변수 정의), 점검항목(데이터 결함, 제어 결함, 입출력 결함, 인터페이스 결함, 기억 장소 관리 결함)
순환복잡도: 싸이클로메틱의 개수로 산정, CC = R의 수 + 1, CC = E - N + 2, CC = P + 1(Region, Edge, Node, Predicate), 단축연산 수행 시 &&(논리곱), ||(논리합)을 추가하여 계산
Halstead Software Science: n1(연산자 종류), n2(피연산자 종류), N1(연산자 발생 수), N2(피연산자 발생 수), 소프트웨어 규모 = (N1 + N2) X log2(n1 + n2)
4.2.2 동적 테스트
구조 기반 테스트
개요: 제어 흐름이나 자료 흐름 정보 이용 테스트 케이스 설계,화이트박스 테스트, 글래스 박스 테스트, 일부 경로만 테스트
Statement Coverage: 모든 소스 실행, 문장 테스트, 문장 검증 기준
Branch Coverage: 결정 테스트, 분기/결정 검증 기준
Condition/Decision Coverage: 조건/결정 테스트, 조건/결정 검증 기준
Multiple Condition Coverage: 다중 조건 테스트, 다중 조건 검증 기준
Modified Condition/Decision Coverage: 변형 조건/결정 테스트/검증
Path Coverage: 경로 검증 기준, 모든 가능한 경로 수행
Basis Path Coverage: 기본 경로 테스트