티스토리 뷰
7장 애플리케이션 테스트 관리 (2/2/2) ★★★★★
▶ 애플리케이션 테스트
애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
▶ 애플리케이션 테스트의 기본원리 ★★★★★
파레토 법칙 | 애플리케이션의 20%에 해당하는 코드의 전체 결함의 80%가 발견되는 법칙 |
살충제 패러독스 | 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않음 |
오류 부재의 궤변 | 결함을 모두 제거해도 사용자의 요구사항을 만족하지 못하면 품질이 높다고 말할 수 없음 |
▶ 프로그램 실행 여부에 따른 애플리케이션 테스트 ★
정적 테스트 | 프로그램을 실행하지 않고 명세서나 소스 코드 대상으로 분석하는 테스트 |
동적 테스트 | 프로그램을 실행해 오류를 찾는 테스트로, 소프트웨어 개발 모든 단계에서 테스트를 수행할 수 있음 |
▶ 테스트 기반 테스트 ★★
명세 기반 테스트 | 사용자 요구사항의 명세를 빠짐 없이 테스트 케이스로 |
구조 기반 테스트 | 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성 |
경험 기반 테스트 | 유사 소프트웨어나 기술 등에 대한 테스터의 경험을 기반 |
▶ 시각에 따른 테스트
검증 테스트 | 개발자의 시각에서 제품의 생산 과정을 테스트 하는것 |
확인 테스트 | 사용자의 시각에서 생산된 제품의 결과를 테스트 하는것 |
▶ 목적에 따른 테스트 [ 회안강성구회병 ] ★★★★
회복 테스트 | 시스템에 여러가지 결함을 주어 실패하도록 한 후 올바르게 복구 되는지 테스트 |
안전 테스트 | 시스템에 설치된 시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호할 수 있는지 테스트 |
강도 테스트 | 과도한 정보량이나 빈도 등을 부과하여 과부하 시에도 소프트웨어가 정상적으로 실행되는지를 확인하는 테스트 |
성능 테스트 | 소프트웨어 실시간 성능이나 전체적인 효율성을 진단하는 테스트로 소프트웨어의 응답시간, 처리량 등을 테스트 |
구조 테스트 | 소프트웨어 내부의 논리적인 경로, 소스 코드의 복잡도 등을 평가하는 테스트 |
회귀 테스트 | 소프트웨어 변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트 |
병행 테스트 | 동일한 데이터를 입력하여 수정 전과 수정 후의 결과를 비교하는 테스트 |
▶ 화이트박스 테스트
원시코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법
▶ 화이트박스 테스트 종류
기초 경로검사 | 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 |
제어 구조검사 |
▶ 화이트박스 테스트 검증기준 ★★★★★
문장 검증 기준 Statement Coverage |
소스 코드의 모든 구문이 한 번 이상 수행 되도록 테스트 케이스 설계 |
분기 검증 기준 Branch Coverage |
소스 코드의 모든 조건문에 대해 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행 되도록 테스트 케이스 설계 = 결정 검증 기준 |
조건 검증 기준 Condition Coverage |
소스 코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스 설계 |
분기/조건 기준 Branch/Condition Coverage |
분기 검증 기준과 조건 검증 기준을 모두 만족하는 설계로, 조건문이 True인 경우와 False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분하는 테스트 케이스를 설계 |
▶ 블랙박스 테스트
각 기능이 완전히 작동 되는 것을 입증 하는 테스트
▶ 블랙박스 테스트 종류 ★★★★★
동치 분할검사 Equivalence Partitioning Testing |
= 동등 분할기법 프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력자료의 개수를 균등하게 하여 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 방법 |
경계값 분석 Boundary Value Analysis |
입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법 |
원인-효과 그래프 검사 Cause-Effect Graphing Testing |
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법 |
오류 예측 검사 Error Guessing |
과거의 경험이나 확인자의 감각으로 테스트하는 기법 |
비교검사 Comparison Testing |
여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법 |
▶ 단위테스트 (Unit Test)
모듈이나 컴포넌트에 초점을 맞춰 테스트
▶ 통합테스트 (Intergation Test)
단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서 테스트
▶ 시스템 테스트( System Test)
개발된 소프트 웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트
▶ 인수 테스트 (Acceptance Test)
사용자의 요구사항을 충족하는지에 중점을 두고 테스트
알파 테스트 | 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 |
베타 테스트 | 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 |
▶ 통합테스트
단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서 테스트
▶ 하향식 통합 테스트 (Top Down Integration Test) ★★★★★
상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트 하는 기법
깊이 우선통합법, 넓이 우선 통합법 사용
⓵ 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은
스텁(Stub) 으로 대체
⓶ 깊이 우선 또는 넓이 우선등의 통합방식에 따라 하위 모듈인 스텁들이 한번에 하나씩 실제 모듈로 교체
⓷ 모듈이 통합될때마다 테스트 실시
⓸ 새로운 오류가 발생하지 않음을 보증하기 위해 회귀테스트 실시
★ 스텁(Stub)
하향식 통합에 있어서 모듈간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
▶ 상향식 통합 테스트 (Bottom Up Integration Test) ★★★★★
하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트
(상향식 통합 테스트 절차)
⓵ 하위모듈을 클러스터(Cluster)로 결합
⓶ 상위모듈에서 데이터의 입출력을 확인하기 위해 더미 모듈인 드라이버(Driver)작성
⓷ 통합된 클러스터 단위로 테스트
⓸ 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고 드라이버는 실제 모듈로 대체된다.
▶ 혼합식 통합 테스트
하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용하여 최적의 테스트를 지원하는 방식
▶ 회귀 테스팅
통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트
▶ 결함 관리 프로세스
에러발견→에러 등록 → 에러분석→결함확정 →결함할당 →결함조치 →결함조치 검토 및 승인
▶ 테스트 오라클 ★★★★★
테스트 결과가 올바른지 판단하기 위해 사전에 정의 된 참값을 대입하여 비교하는 기법
참 오라클 | 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클 |
샘플링 오라클 | 특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클로 전수 테스트가 불가능한 경우 사용 |
추정 오라클 | 특정 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하고, 나머지 입력 값들에 대해서는 추정으로 처리하는 오라클 |
일관성 검사 오라클 | 애플리케이션에 변경이 있을 때, 테스트 케이스의 수행 전과후의 결과 값이 동일한지를 확인하는 오라클 |
▶ 테스트 하네스 구성요소 ★★★★★
테스트가 실행될 환경을 시뮬레이션 하여 컴포넌트 및 모듈이 정상적으로 테스트되도록 하는 도구
(테스트 하네스)
애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로 테스트를 지원하기 위해 생성된 코드와 데이터를 의미하며, 테스트가 실행될 환경을 시뮬레이션하며 컴포넌트 및 모듈이 정상적으로 테스트 되도록 하는 도구. 코드 개발자가 작성하는 요소임.
▶ 테스트 하네스 구성요소
테스트 드라이버 | 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 후 결과를 도출하는 도구 |
테스트 스텁 | 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건 만을 가지고 있는 테스트용 모듈 |
테스트 슈트 | 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합 |
테스트 케이스 | 사용자의 요구사항을 정확하게 준수했는지 확인하기 위한 입력 값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목의 명세서 |
테스트 스크립트 | 자동화된 테스트 실행 절차에 대한 명세서 |
목 오브젝트 | 사전에 사용자의 행위를 조건부로 입력해두면, 그 상황에 맞는 예정된 행위를 수행하는 객체 |
▶ 결함 (Fault)
소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생되는 것
결함관리계획 → 결함기록 → 결함 검토 → 결함 수정→ 결함재확인→
결함 상태 추적 및 모니터링 활동 → 최종 결함 분석 및 보고서 작성
▶ 결함관리 측정지표 ★★
결함 분포 | 모듈 또는 컴포넌트의 특정 속성에 해당하는 결함 수 측정 |
결함 추세 | 테스트 진행 시간에 따른 결함 수의 추이 분석 |
결함 에이징 | 특정 결함 상태로 지속되는 시간 측정 |
▶ 결함 심각도
애플리케이션에서 발행한 결함이 전체 시스템에 미치는 치명도를 나타내는 척도
▶애플리케이션 성능 ★★★★
최소한의 자원을 사용하여 최대한 많은 기능을 신속하게 처리하는 정도
처리량 Throughput |
일정 시간 내에 애플리케이션이 처리하는 일의 양 |
응답시간 Response Time |
애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때 까지 걸린 시간 |
경과 시간 Turn Around Time |
애플리케이션이 작업을 의뢰한 시간부터 처리가 완료될 때 까지 걸린 시간 |
자원 사용률 Resource Usage |
애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등 자원 사용률 |
▶ 소스 코드 최적화
나쁜 코드를 배제하고 클린코드로 작성하는 것
(나쁜코드)
스파게티코드 : 코드의 로직이 서로 복잡하게 얽혀 있는 코드
외계인 코드 : 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운코드
▶클린코드 작성원칙
가독성 / 단순성 / 의존성 배제/ 중복성 최소화 / 추상화
'WEB > 기타' 카테고리의 다른 글
피그마 필수 단축키 (0) | 2024.07.12 |
---|---|
정보처리기사 요약 정리 - 8장 SQL 응용 (0) | 2024.07.12 |
정보처리기사 요약 정리 - 6장 화면설계 (0) | 2024.07.12 |
정보처리기사 요약 정리 - 5장 인터페이스구현 / (0) | 2024.07.12 |
정보처리 기사 요약 정리 - 3장 통합구현 / 4장 서버 프로그램구현 (0) | 2024.07.12 |
- Total
- Today
- Yesterday
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- 파비콘 #파비콘 사이트에 적용
- iptime와이파이증폭기 #와이파이증폭기설치
- 쇼팬하우어 #좋은책
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- 자바스크립트 #javascript #math
- css미디어쿼리 #미디어쿼리 #mediaquery
- 좋은책
- sw기술자평균임금 #2025년 sw기술자 평균임금
- 좋은책 #밥프록터 #부의원리
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- 와이파이신호 #와이파이 #와이파이신호세게
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- echart
- ajax
- 증폭기 #아이피타임증폭기
- 자바스크립트정규표현식
- jdk #jre
- 자바스크립트countiue
- 와이파이증폭기추천 #와이파이설치
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- 파비콘사이즈
- SQL명령어 #SQL
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- thymeleaf
- 자바스크립트break
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- 와이파이약할때
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |