동적 테스팅 (Dynamic Testing)
Prof. Jong Min Lee이(가) 8일 전에 추가함
ISO/IEC/IEEE 29119의 동적 테스팅(Dynamic Testing) 개념¶
동적 테스팅은 소프트웨어나 시스템을 실제로 실행하여 동작을 관찰하고, 요구사항 충족 여부 및 결함을 식별하는 테스트 기법입니다. ISO 29119는 동적 테스팅을 소프트웨어 테스트의 핵심 활동으로 정의하며, 다양한 테스트 설계 기법과 프로세스를 통해 체계적으로 수행할 것을 요구합니다[1][2][5][6].
동적 테스팅의 주요 목적¶
- 소프트웨어 실행을 통해 실제 동작을 검증
- 요구사항, 설계, 명세와 일치하는지 확인
- 결함(버그) 및 비정상 동작 탐지
- 시스템 품질 특성(기능, 성능, 보안 등) 평가
ISO 29119에서의 동적 테스팅 프로세스¶
ISO/IEC/IEEE 29119는 동적 테스팅을 다음과 같은 주요 프로세스로 구성합니다[3][4][5]:
프로세스 단계 | 주요 내용 |
---|---|
테스트 설계 및 구현 | 테스트 케이스, 테스트 데이터, 테스트 스크립트 작성 및 준비 |
테스트 환경 구현 및 유지보수 | 테스트 실행에 필요한 하드웨어, 소프트웨어, 네트워크 등 환경 구축 및 관리 |
테스트 실행 | 테스트 케이스를 실제로 실행하여 결과 수집 |
테스트 인시던트(Incident) 보고 | 테스트 중 발견된 결함, 이상 현상, 문제점 등 기록 및 보고 |
테스트 모니터링 및 제어 | 테스트 진행 상황, 품질 측정, 계획 대비 실적 확인 및 조치 |
테스트 완료 및 종료 | 테스트 종료 기준 충족 여부 평가, 테스트 결과 정리 및 산출물 작성 |
이 프로세스는 조직의 테스트 정책, 전략, 계획에 따라 맞춤 적용되며, 리스크 기반 접근법을 권장합니다[2][4].
ISO 29119의 동적 테스팅 기법¶
ISO 29119-4 파트에서는 동적 테스팅에 적용할 수 있는 다양한 테스트 설계 기법을 명확히 제시합니다[5][6]:
- 명세 기반 테스트(Requirements-based, Specification-based):
- 요구사항, 명세서, 유스케이스, 상태 전이도, 결정 테이블 등 기반
- 구조 기반 테스트(Structure-based):
- 코드 커버리지, 제어 흐름, 조건/분기, 경로 등 소스코드 구조 기반
- 경험 기반 테스트(Experience-based):
- 탐색적 테스팅, 오류 추정, 체크리스트 등 테스터의 경험 활용
이 기법들은 테스트 설계 단계에서 테스트 케이스와 시나리오를 도출하는 데 활용되며, 테스트 실행 단계에서 실제로 적용됩니다.
동적 테스팅의 특징 및 산출물¶
특징
- 실제 소프트웨어 실행 필요
- 자동화 도구 및 수동 테스트 모두 적용 가능
- 정적 테스팅과 달리 동작 중인 시스템에서 결함 탐지
주요 산출물
- 테스트 케이스, 테스트 시나리오, 테스트 스크립트
- 테스트 실행 결과(로그, 스크린샷 등)
- 결함(버그) 리포트, 인시던트 보고서
- 테스트 결과 요약 및 평가 보고서
요약¶
- 동적 테스팅은 소프트웨어를 실제로 실행하여 동작을 검증하고 결함을 식별하는 활동입니다.
- ISO 29119는 동적 테스팅을 테스트 설계, 환경 구축, 실행, 인시던트 보고, 모니터링, 종료 등 일련의 프로세스로 체계화합니다.
- 다양한 테스트 설계 기법(명세, 구조, 경험 기반)을 활용하여 테스트 케이스를 도출하고, 리스크 기반 접근법을 권장합니다.
- 주요 산출물로는 테스트 케이스, 실행 결과, 결함 보고서 등이 있습니다[2][3][4][5][6].
Citations:
[1] https://tektek.tistory.com/17
[2] http://www.kmdianews.com/news/articleView.html?idxno=2467
[3] https://www.stureid.info/wp-content/uploads/2015/08/ISO-29119-The-New-International-Software-Testing-Standards.pdf
[4] https://shinbe.tistory.com/entry/%EC%A0%9C-24%ED%9A%8C-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B3%B5%ED%95%99-3435
[5] http://jidum.com/jidums/view.do?jidumId=698
[6] https://blog.skby.net/iso-iec-29119-%ED%85%8C%EC%8A%A4%ED%8C%85-%EA%B5%AD%EC%A0%9C%ED%91%9C%EC%A4%80/
[7] https://www.tta.or.kr/data/androReport/ttaJnal/167-5-3.pdf
[8] https://www.sten.or.kr/home/kor/M428167144/offline/list/view.do?idx=cb00d1a0008a85e71a41b8741facbffe74ed6d583f935531a0d48f547705c276
[9] https://testmanager.tistory.com/359
[10] http://blog.naver.com/danicom/220640906596
Perplexity로부터의 답변: pplx.ai/share