정보처리기사/필기

2-4. 애플리케이션 테스트 관리

subengineer 2024. 6. 25. 13:45

확인/검증

확인(validation) : 사용자 입장에서 소프트웨어가 요구사항에 맞게 구현되었는지를 확인

검증(verification) : 개발자 입장에서 개발한 소프트웨어가 명세서에 맞게 만들어졌는지를 확인

 

파레토 법칙

소프트웨어 80%의 오류는 전체 모듈의 20%내에서 발견된다.

 

결합 집중

-애플리케이션 대부분 결함이 소수 특정 모듈에 집중해서 발생하는 것

-파레토 법칙이 좌우함

-결함은 발생한 모듈에서 추가로 발생할 가능성이 높음

 

강도(Stress) 테스트

시스템에 과도한 정보량이나 빈도 등을 부과하여 과부하시 시스템이 정상 실행되는지를 확인

 

화이트박스 테스트

- 모듈의 원시 코드 오픈시키고 논리적인 모든 경로 테스트하여 테스트 케이스를 설계하는 방법

- 원시 코드의 모든 문장 한 번 이상 실행

- 제어 구조에 따라 선택, 반복 등의 분기점을 수행함으로 논리적 경로 제어

 

화이트박스 테스트 종류

-기초 경로 검사

-제어 구조 검사

 

블랙박스 테스트로 발견 가능한 오류

- 비정상적인 자료 입력해도 오류 처리 수행하지 않는 경우

- 정상적인 자료 입력해도 요구 기능이 제대로 수행되지 않는 경우

- 경계값 입력 시 요구된 출력 결과 나오지 않는 경우

 

블랙박스 테스트 종류

- 동치 분할 검사 : 타당한 입력자료와 타당하지 않은 입력자료 균등하게 정함

- 경계값 분석 : 입력 조건의 경계값을 테스트 케이스로 선정

- 원인-효과 그래프 검사 : 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 분석 후 효용성 높은 테스트 케이스 선정

- 오류 예측 검사 : 과거의 경험이나 확인자의 감각으로 테스트하는 기법

- 비교 검사 : 여러 버전의 프로그램에 동일 테스트 자료 제공해 동일 결과 출력하는 지 테스트하는 기법

 

개발 단계에 따른 애플리케이션 테스트

단위 테스트 : 코딩 직후 최소 단위인 모듈이나 컴포넌트에 초점 맞춰 테스트

발견 가능 오류 : 알고리즘 오류, 탈출구 없는 반복문, 틀린 계산 수식

 

인수 테스트

개발한 소프트웨어가 요구사항 충족하는 지 테스트

알파 테스트 : 개발자의 장소에서 사용자가 테스트하는 기법

베타 테스트 : 선정된 최종 사용자가 여러 명 앞에서 행하는 테스트 기법, 필드 테스트라고도 불림

 

통합 테스트

하향식 통합 테스트

- 상위에서 하위 모듈로 통합하며 테스트

- 깊이 우선, 넓이 우선 통합법 사용

 

상향식 통합 테스트

하위에서 상위 모듈로 통합하며 테스트

- 스텁은 필요하지 않지만 클러스터 필요

 

테스트 드라이버

- 테스트 대상의 하위 모듈 호출하는 도구, 매개 변수를 전달하고 테스트 수행 후결과 도출

- 상위 모듈 없이 하위 모듈 있는 경우 하위 모듈을 구동

- 상향식 통합 테스트에 사용

 

테스트 스텁

- 제어 모듈이 호출하는 타 모듈의 기능을 단순 수행하는 도구, 일시적으로 필요한 조건만 가지는 시험용 모듈

- 상위 모듈은 있지만 하위 모듈 없을 때 하위 모듈 대체

- 하향식 통합 테스트에 사용

 

테스트 케이스

- 요구사항을 정확히 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서

- 테스트 목표와 방법 설정 후 케이스 작성

 

테스트 오라클

- 테스트 결과 올바른지 판단하기 위해 사전에 정의된 참값 대입해 비교하는 기법

 

테스트 오라클 종류

참 오라클, 샘플링 오라클, 추정 오라클, 일관성 검사 오라클

 

테스트 자동화 도구

테스트 케이스 생성 도구

자료 흐름도, 기능 테스트, 입력 도메인 분석, 랜덤 테스트

 

성능 테스트 도구

앱의 처리량, 응답 시간, 경과 시간, 자원 사용률 등을 인위적이로 적용한 가상의 사용자가 테스트 수행

 

결함(Fault)

 

주요 시간 복잡도

O(1) : pop, push

O(nlolgn) : heap sort, two way merge sort

 

순환 복잡도

E + N - 2

 

클린 코드 원칙

가독성, 단순성, 의존성 배제, 중복성 최소화, 추상화

 

외계인 코드

오래돼서 참고 문서 없거나 개발자 없어 유지보수가 어려운 코드

 

품질 분석 도구 - 정적 분석 도구

하드웨어, 소프트웨어적인 방법으로 코드 분석

ex) pmd, checkstyle, cppcheck 

'정보처리기사 > 필기' 카테고리의 다른 글

3-1. 논리 데이터베이스 설계  (0) 2024.06.26
2-5. 인터페이스 구현  (0) 2024.06.25
2-3. 제품 소프트웨어 패키징  (0) 2024.06.25
2-2. 통합 구현  (0) 2024.06.25
2-1. 데이터 입,출력 구현  (0) 2024.06.25