소프트웨어 테스트 자동화 구축과 6가지 핵심 활동 시간과 비용을 줄이고 품질은 높이는
|
1부 소프트웨어 테스트 자동화의 정의와 필요성
1장 효과적인 소프트웨어 테스트 자동화란
__소프트웨어 테스트 자동화 정의
__소프트웨어 테스트 자동화 사례
__향상된 소프트웨어 테스트 자동화 기술
__다양한 소프트웨어 테스트 타입의 자동화
__소프트웨어 테스트 자동화 기반의 프로덕션 지원 제공
____필요시 프로덕션 이슈 해결책 지원
____수정으로 인해 영향받는 프로그램 컴포넌트 구분 지원
____수정된 프로그램의 정확도와 품질 검증
____프로덕션 시스템 문제 리포트(STR) 분류
__표준 평가를 위한 자동화
__정리
2장 자동화가 필요한 이유
__오늘날 소프트웨어 테스트가 직면한 문제
__소프트웨어 테스트의 시간과 비용 절감
____테스트 자동화 계획과 개발: 초기 테스트 업무 증가
____테스트 데이터 생성: 테스트 업무/일정 줄이기
____테스트 실행: 테스트 업무/일정 줄이기
____테스트 결과 분석: 테스트 업무/일정 줄이기
____에러 상태/해결 모니터링: 테스트 업무/일정 줄이기
____리포트 생성: 테스트 업무/일정 줄이기
____고려해야 하는 비용과 시간을 줄일 수 있는 그 밖의 요인
__소프트웨어 품질에 영향 주기
__소프트웨어 테스트 프로그램 개선
____빌드 검증 테스트 개선(스모크 테스트)
____리그레션 테스트 개선
____멀티플랫폼 호환성 및 설정 테스트
____일상적인 재미없는 테스트 실행 개선
____고급 테스트 이슈에 집중하도록 개선
____수동 테스트로 수행하기 어려운 테스트
____소프트웨어 결함 재현 능력
____시스템 전문지식 향상
____일과 후의 ‘불이 꺼진 후’ 테스트
____요구사항 정의 개선
____성능 테스트 개선
____스트레스 및 내구성 테스트 개선
____품질 측정 및 테스트 최적화
____시스템 개발 수명주기 개선
____문서화 및 추적성 개선
____작업 부하 분산 및 동시성 테스트
__정리
3장 비즈니스 케이스
__비즈니스 케이스의 정의
__비즈니스 니즈 확립
____테스트 업무의 속도와 효율을 높이는 니즈
____테스트 비용을 줄이는 니즈
____테스트 팀 구성원의 기술을 가장 효과적으로 활용하는 니즈
__비용과 효과 측면에서 자동화의 타당성 증명
____ROI 측정
____전체 테스트 자동화 세이브
____테스트 환경 설정 시간 세이브
____테스트 개발 시간 세이브
____테스트 실행 시간 세이브
____테스트 실행/진단 시간 세이브
____그 밖의 ROI 고려사항
____그 외의 ROI 지표
__리스크
__그 밖의 고려사항
__정리
4장 소프트웨어 테스트 자동화의 실패 이유와 함정
__일반적으로 R&D는 자동 또는 수동 테스트 업무에 초점이 맞춰져 있지 않다
__소프트웨어 테스트 자동화의 오해와 진실
____테스트 계획 자동 생성
____모든 것을 만족시키는 테스트 툴
____즉각적인 테스트 업무 감소
____즉각적인 일정 감소
____쉽게 사용할 수 있는 툴
____소프트웨어 테스트 자동화를 위한 범용 애플리케이션
____100% 테스트 커버리지
____캡처/플레이백과 소프트웨어 테스트 자동화를 동일시
____소프트웨어 테스트 자동화는 수동 테스터의 활동이다
____테스트 목적의 상실: 결함을 찾는 것
____단위 테스트 자동화가 아닌 시스템 테스트 자동화에 집중
__소프트웨어 테스트 자동화를 위한 개발 고려사항의 부족
____테스트 가능한 애플리케이션 작성
____오픈 아키텍처 표준 준수
____표준 문서화 포맷 준수
____표준 방식으로 테스트 케이스 문서화
____코딩 표준 준수
____OMG의 IDL 사용
____GUI 테스트 권고사항
____GUI 오브젝트 네이밍 표준
____코드 재사용 라이브러리 컨셉
__나무를 위한 숲: 어느 툴을 선택해야 하는가
____툴을 평가하고 선택하는 방법
__툴 벤더 전체를 보더라도 자동화 표준은 부족하다
____테스트 자동화 툴 표준 샘플
__비즈니스 케이스의 부족
__정리
2부 자동화 방법: 성공적인 자동화를 위한 6가지 핵심 활동
5장 핵심 활동 1: 요구사항 이해
____소프트웨어 테스트 자동화를 지원하는 요구사항에 대한 이해
____테스트 대상 애플리케이션 또는 테스트 대상 시스템 요구사항
____소프트웨어 테스트 자동화 프레임워크와 자동화 툴 요구사항
____소프트웨어 테스트 자동화 데이터 요구사항
____테스트 환경 요구사항
____소프트웨어 테스트 자동화 요구사항
__소프트웨어 테스트 자동화 요구사항을 지원하는 추가 정보
____수동 테스트 프로시저
____설계 문서
____프로토타입
__사용 가능한 정보가 없을 때
____인터뷰 진행
____지식 베이스 향상
____레거시 애플리케이션 또는 레거시 시스템에 기초한 개발 요구사항
__요구사항 추적 매트릭스(RTM) 구현
____RTM의 정의
____RTM 예제
__정리
6장 핵심 활동 2: 테스트 자동화 전략 수립
__소프트웨어 테스트 자동화 전략 문서
__범위와 테스트 자동화 목표
____자동화할 테스트 결정
____우선순위: 기능의 일정 우선순위를 기초한 자동화 요구사항
____테스트 목표 정의: 예제
__접근 방법 정하기
____테스트 케이스 설계와 개발
__소프트웨어 테스트 자동화 프레임워크(ASTF)
__소프트웨어 테스트 자동화 환경/구성
____테스트 구성
____그 밖의 테스트 자동화 테스트 환경 요구사항
____테스트 환경 관리 자동화: 형상 관리(CM) 자동화
__RTM 자동화
____자동화 프레임워크에서 사용할 수 있는 표준 테스트 케이스 템플릿 요청
____테스트 케이스 하이퍼링크
____성공/실패 결과를 포함한 테스트 단계 업데이트
____성공/실패 결과를 포함한 RTM 업데이트
__결함 추적 자동화
__정리
7장 핵심 활동3: 소프트웨어 테스트 자동화 프레임워크 테스팅
__ASTF가 요구사항 명세를 만족하고 기능이 기대한 대로 동작하는지 검증
____효과적인 ASTF 개발 프로세스 적용 여부 검증
__설계, 개발, 테스트 케이스 등 ASTF와 관련된 모든 산출물의 동료 리뷰
____소프트웨어 개발 수명주기에서의 동료 리뷰
____ASTF의 모든 컴포넌트 평가
____테스트 케이스 리뷰
____테스트 로직 리뷰
____테스트 데이터 리뷰
____테스트 자동화 코드 리뷰
__요구사항과 커버리지 검증
____추적성
____커버리지
__고객 리뷰 수행
__정리
8장 핵심 활동 4: 지속적인 진척 현황 추적에 따른 적절한 대응
__소프트웨어 테스트 자동화 프로그램 추적과 결함 방지
____기술 교류와 검토 회의 진행
____내부 검사 진행
____제약사항과 관련된 리스크 검토
____리스크 완화 전략 수립
____소프트웨어 테스트 자동화 프로세스 및 환경의 무결성 보호
____일정과 비용의 정의, 공유, 추적
____액션, 이슈, 결함 추적
__소프트웨어 테스트 자동화 지표
____자동화 가능률 또는 자동화 지수
____자동화 진행 상황
____테스트 진행 상황
____테스트 자동화 커버리지율
____결함 밀도
____결함 트렌드 분석
____결함 제거 효율
____소프트웨어 테스트 자동화 ROI
____기타 소프트웨어 테스트 지표
__근본 원인 분석
__정리
9장 핵심 활동 5: 소프트웨어 테스트 자동화 프로세스 구현
__소프트웨어 테스트 자동화 단계와 마일스톤
__소프트웨어 테스트 자동화 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
__소프트웨어 테스트 자동화 2단계: 테스트 케이스 설계 및 작성
__소프트웨어 테스트 자동화 3단계: ASTF 및 테스트 스크립트 개발
__소프트웨어 테스트 자동화 4단계: 테스트 자동화 실행 및 결과 리포팅
__소프트웨어 테스트 자동화 5단계: 프로그램 리뷰 및 평가
__가상 품질 게이트
__프로세스 측정
__정리
10장 핵심 활동 6: 적합한 인력을 프로젝트에 투입(필요한 스킬 세트 파악)
____소프트 스킬
__프로그램 관리
____AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____AST 2단계: 테스트 케이스 설계 및 작성
____AST 3단계: ASTF 및 테스트 스크립트 개발
____AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____AST 5단계: 프로그램 리뷰 및 평가
__시스템 엔지니어링
____AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____AST 2단계: 테스트 케이스 설계 및 작성
____AST 3단계: ASTF 및 테스트 스크립트 개발
____AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____AST 5단계: 프로그램 리뷰 및 평가
__소프트웨어 개발
____AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____AST 2단계: 테스트 케이스 설계 및 작성
____AST 3단계: ASTF 및 테스트 스크립트 개발
____AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____AST 5단계: 프로그램 리뷰 및 평가
__형상 관리
____AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____AST 2단계: 테스트 케이스 설계 및 작성
____AST 3단계: ASTF 및 테스트 스크립트 개발
____AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____AST 5단계: 프로그램 리뷰 및 평가
__품질 보증
____AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____AST 2단계: 테스트 케이스 설계 및 작성
____AST 3단계: ASTF 및 테스트 스크립트 개발
____AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____AST 5단계: 프로그램 리뷰 및 평가
__도메인 전문가
__정리
부록 A 프로세스 체크리스트
__AST 1단계: 요구사항 수집(테스트 자동화 요구사항 분석)
____체크리스트
____산출물
__AST 2단계: 테스트 케이스 설계 및 개발
____체크리스트
____산출물
__AST 3단계: 소프트웨어 ASTF 및 테스트 스크립트 개발
____체크리스트
____산출물
__AST 4단계: 테스트 자동화 실행 및 결과 리포팅
____체크리스트
____산출물
__AST 5단계: 프로그램 리뷰 및 평가
____체크리스트
____산출물
부록 B 다양한 테스트 유형에 적용된 소프트웨어 테스트 자동화
__보안 테스트
__지속성 테스트
__동시성 테스트
__성능 테스트
__코드 커버리지 테스트
__단위 테스트
부록 C 알맞은 툴 선택
__요구사항 관리
____요구사항 관리 자동화
__단위 테스트 프레임워크: 평가 예제
____프레임워크 평가 및 선택 방법
__형상 관리: 평가 예제
____소프트웨어 형상 관리(SCM)의 장점
____평가 대상 SCM 툴
__결함 추적: 평가 예제
____결함 추적 툴을 평가하고 선택하는 방법
____버그질라와 크랙
____결론: 보안이 최우선
__보안 테스트
____정적 분석과 동적 분석
____소스 분석과 바이너리 분석
____애플리케이션 풋프린팅
____퍼즈 테스트 또는 침투 테스트
____위협 모델링: 위협 모델링으로 보안 테스트 우선순위 정하기
____자동화 리그레션 테스트
____무선 보안 진단 툴
__ASTF: 평가 예제
____테스트 케이스 개발
____고급 언어
____플랫폼 지원
____오픈소스
____비용
____다중 프로세스 관리
____테스트 케이스 결과 수집
____분산 환경 지원
____예정 실행 시간
____확장성
____테스트 대상 시스템에 대한 영향
____이메일
____소프트웨어 테스트 자동화 프레임워크의 결론
____테스트 자동화 툴 예제: 테스트플랜트의 에그플랜트
__그 외 소프트웨어 테스트 수명주기 지원 툴
____자가 테스트 또는 자율 컴퓨팅
부록 D 사례 연구: ASTF 예제
__핵심 설계 특징
__테스트 관리자
__테스트 케이스 자동화와 테스트 코드 생성
__결과 리포팅
__결함 리포팅 자동화
'테스트 관련 서적' 카테고리의 다른 글
파이썬 비즈니스 자동화 파이썬 레시피와 함께하는 비즈니스 자동화 프로그래밍 (0) | 2019.02.01 |
---|---|
더 괜찮은 QA가 되기 위한 프랙티컬 테스트 자동화 파이썬을 이용한 키워드 중심 테스트 자동화 (0) | 2019.01.31 |
더 괜찮은 QA가 되기 위한 프랙티컬 테스트 자동화 파이썬을 이용한 키워드 중심 테스트 자동화 (0) | 2018.11.06 |
The Art of Software Testing - 소프트웨어 개발은 주로 최종 프로그램 (0) | 2018.09.25 |
The Art of Software Testing - 테스트 관리자 (0) | 2018.09.24 |