정보처리기능사(24)

서창민·2024년 1월 16일
0

자격증

목록 보기
24/70
post-thumbnail

정보처리기능사

Application Test 개요

Application Test

Application에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인
소프트웨어가 예상대로 정해진 기능을 정확히 수행하는지 검증
테스트 실행 전 소프트웨어의 유형을 분류하고 중점적으로 테스트 할  사항을 미리 정리해야함

Application Test 기본원리

결함집중 - 대다수의 결함들은 개발자나 애플리케이션의 특성으로 인하여 특정 모듈에서 집중적으로 발생
정황에 의존 - 소프트웨어 특징, 테스트 환경, 테스터 역량 등 정황에 따라 테스트를 다르게 진행
오류-부재의 궤변 - 소프트웨어가 사용자의 요구사항을 만족시키지 못하면 오류가 없더라도 품질이 높다고 말할 수 없음
살충제 패러독스 - 동일한 테스트 케이스로 반복적으로 수행하면 새로운 결함을 찾을 수 없음, 테스트 케이스를 정기적으로 리뷰하거나 개선해야 할 필요가 있음
불완전 - 모든 가능성을 테스트하는것은 불가능
결함 발견을 위한 활동 - 소프트웨어에 결함이 발견되지 않는다해도 결함이 완전히 없다고 할 수는 없다.

Application Test 분류

정적테스트
: 프로그램을 실행하지 않고 명세서나 소스코드를 대상으로 분석하는 테스트
: 소프트웨어 개발 초기에 결함을 발견할 수 있어 소프트 웨어 개발비용을 절감하는데 도움

EX) 워크스루, 인스펙션, 코드검사

동적테스트
: 프로그램을 실행하여 오류를 찾는 테스트
: 소프트웨어 개발 전 단게에서 테스트를 수행

EX) 화이트박스, 블랙박스

시각에 따른 분류

검증(verification)테스트
: 개발자의 시각에서 제품의 생산과정을 테스트
: 제품이 명세에 맞게 완성되었는지 테스트

확인(validation) 테스트
: 사용자의 시각에서 제품의 결과를 테스트
: 사용자의 요구사항대로 제품이 완성되었는지 제대로 동작이 되는지 테스트

목적에 따른 분류

회복(recovery)
: 시스템에 의도적으로 여러 결함을 만들어 실패하도록 한 후 원래대로 제대로 복구되는지 확인

안전(security)
: 시스템에 설치된 보호 도구가 불법적 침입으로부터 시스템을 보호할 수 있는지 확인

강도(stress)
: 시스템에 과도한 정보량이나 빈도 등을 부과하여 과부하 시에도 소프트웨어가 정상적으로 실행되는지를 확인

성능(performance)
: 소프트웨어 실시간 성능이나 전체적인 효율성을 진단

구조(structure)
: 소프트웨어 내부의 논리적 경로, 소스코드 복잡도 등을  평가

회귀(refression)
: 소프트웨어 변경 또는 수정된 코드에 새로운 결함이 없음을 확인

병행(parallel)
: 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력하여 결과를 비교

테스트 기반에 따른 분류

명세기반 테스트
: 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하는지 확인하는 테스트
EX) 동등분할, 경계 값 분석

구조 기반 테스트
: 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인
EX) 구문기반, 결정기반, 조건기반

경험기반 테스트
: 테스터의 경험을 기반으로 수행하는 테스트로써 사용자의 요구사항에 대한 명세가 불충분 하거나, 테스트 시간에 제약이 있는 경우 수행시 효과적
EX) 에러추정, 체크리스트, 탐색적 테스팅

테스트케이스(Test Case) 예시

체크리스트

문제 1

정답 : 살충제 패러독스

문제 2

정답 : 테스트 케이스
profile
Back-end Developer Preparation Students

0개의 댓글