* 소프트웨어 테스트의 개념
개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동
* 소프트웨어 테스트의 필요성
* 소프트웨어 테스트 프로세스
* 소프트웨어 테스트 원리[결완초집 살정오]
테스팅은 결함의 존재함을 밝히는 것- 결함이 존재함을 밝히는 활동
결함이 없다는 것을 증명할 수는 없음
결함을 줄이는 활동
완벽한 테스팅은 불가능 - 완벽하게 테스팅하려는 시도는 불필요한 시간과 자원 낭비
무한경로, 무한 입력 값으로 인한 테스트 어려움
결함 집중 - 적은 수의 모듈에서 대다수의 결함이 발견됨 20%모듈에서 80%의 결함이 발견됨
살충제 패러독스 - 동일한 테스트 케이스에 의한 반복적 테스는 새로운 버그를 찾지못함
테스트케이스의 정기적 리뷰와 개선 및 다른 시각에서의 접근이 필요
오류- 부재의 궤변 - 요구사항을 충족시켜주지 못한다면 결함이 없다고 해도 품질이 높다고 볼 수 없음
테스트 계획서- 테스트의 수행을 계획한 문서
테스트 케이스 - 테스트를 위한 설계 산출물로 응용 sw가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서
테스트 결과서 - 테스트 결과를 정리한 문서. 결과 평가하고 리포팅
* 소프트웨어 테스트 - 프로그램 실행 여부에 따른 분류
- 정적 테스트 : 프로그램의 실행 없이 구조를 분석하여 논리성을 검증하는 테스트 ; 유형: 동료검토, 워크스루, 인스펙션
- 동적 테스트 : 프로그램 실행을 요구하는 테스트 ; 화이트박스 테스트, 블랙박스 테스트
* 화이트박스 테스트
* 블랙박스 테스트
* 유형: [동경결상 유분페]
* 테스트 목적에 따른 분류
* 테스트 종류에 따른 분류
* 애플리케이션 성능지표
처리량: 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
응답 시간: 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때 끝까지의 시간
경과 시간: 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리후 그 결과의 출력이 완료할 때까지 걸리는 시간
자원 사용율: 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량
* LDAP(Lightweight Directory Acess Protocol)
* TPS(Transaction Per Second)
* Ramp-up load
* 클린코드
* 테스트 시나리오