본문 바로가기
Computer Science/정보처리기사

2. 소프트웨어 개발 : 소프트웨어 테스트 기법 및 기타 정리

by 하상원이야 2022. 5. 6.

소프트웨어 테스트 기법★

1. 블랙 박스 테스트 - 내부 구조를 모르는 상태에서 동작을 일일이 모든 값(예측 가능/불가능)을 넣어 검사함

(명세 기반 기법의 테스트)

▶동등 분할 기법★ : 입력 데이터를 특성에 따라 클래스로 분류, 경험에 의존함 (X값 0~100, X<0/X=50/X>100)

▶경계값 분석 기법★ : 경계값에서 에러가 발생될 확률이 높다는 점을 이용함 (X값 동일, X=0/X=100/X=-1/X=101)

▶오류 예측 기법 : 각 시험 기법들이 놓치기 쉬운 오류들을 감각, 경험으로 테스트

▶원인-결과 그래프 기법 : 입력 데이터간 관계가 출력에 미치는 영향을 그래프로 표현

▶의사 결정 테이블 테스팅 : 논리적인 조건이나 상황 요구사항 도출

▶상태전이 테스팅  : 시스템의 상태가 변화함에 따른 테스트

 

2. 화이트 박스 테스트 - 내부 동작을 알 수 있는 상태로 추적하는 검사. 많은 시간과 분석을 필요로 함

▶제어 흐름 테스트 : 프로그램의 제어구조(IF,CASE,LOOP)를 테스트함

▶데이터 흐름 테스트 : 제어 흐름 그래프에 데이터 사용 현황(정의, 소멸, 사용)을 테스트함

▶경로 테스트

▶분기 테스트

CF) 구조기반 테스팅 검증 기준(문장, 선택, 경로, 조건 검증)

 

검증 검사★ - 소프트웨어가 사용자의 요구사항을 충족하는가를 검사하는 것

1. 형상검사 : 구성요소, 목록, 유지보수 모두 표현되었는지 형상을 검사

2. 알파검사 : 개발자의 통제된 환경에서 사용자가 행하는 검사

3. 베타검사 : 선정된 사용자가 여러 사용자들 앞에서 행하는 검사

 

트리 순회★ 

1. 전위 순회 - ROOT부터 시작하여 왼쪽으로 진행

2. 후위 순회 - 왼쪽 가장 끝부터(단말) 시작하여 하위트리를 세면서 ROOT가 가장 마지막으로 도착

3. 중위 순회 - 왼쪽 가장 끝부터(단말) 상위 노드를 꼭 거치고, 하위 노드로 길 지나가듯이 진행

4. 레벨 순회 - ROOT부터 책 읽는 순서대로 진행

 

트리의 차수 -> 가장 높은 트리의 자식수 / 단말 노드 -> 가장 낮은 노드의 수

 

통합 테스팅 - 통합하는 과정에서 발생할 수 있는 오류를 찾는 테스트

1. 상향식 통합 테스트 - 드라이버(Driver)와 하위 모듈의 기능 수행용 클러스터(Cluster)를 이용

2. 하향식 통합 테스트 - 스텁(Stub)을 이용, 하위 모듈의 반환값을 전달

 

Pareto의 원칙 - 테스트의 오류 80%는 전체 20%에서 발생한다

 

디지털 저작권 관리(DRM) 기술 요소 -

암호화, 키관리, 식별기술, 저작권표현, 정책관리, 크랙방지, 인증, 암호화 파일 생성

 

인터페이스 보안 기능 적용

네트워크 : IPSec, SSL, S-http

애플리케이션 : 코드상 보안 취약점 보완

DB : 암호화, 익명화

 

인터페이스 구현 검증 도구

xUnit - Java,C++등 다양한 언어 사용 / STAF - 컴포넌트 재사용 / FitNess - 웹 / NTAF - FitNess+Stub

 

EAI 구축 유형 

Point to Point - 1:1 애플리케이션 통합 방법, 단순한 구조

Hub&Spoke - 중앙의 허브 시스템을 통한 데이터 송수신

Message Bus - 앱 사이 미들웨어를 두어 연계하는 방식

Hybride - Hub&Spoke와 Message Bus 결합 방식

 

SW 형상관리 : 변경사항을 체계적으로 추적하고 통제하는 것

SMTP : 전자 이메일 보내는 프로토콜

 

정렬 알고리즘 시간 복잡도

O(N^2) - 버블정렬, 선택정렬, 최악의 퀵정렬, 삽입정렬

O(NlogN) - 퀵정렬, 힙정렬, 병합정렬

O(N) - 최선의 삽입정렬, 기수정렬, 카운팅정렬

 

 

 

반응형

댓글