본문 바로가기

테스트이론

(11)
테스팅 자동화 기술 Exhaustive Testin 모든 입력에 대한 테스팅 수행은 불가능 소프트웨어 공학적인 측면의 비용에 맞는 테스팅 → 그 제품의 맥락에 맞는 적절한 수준의 테스팅 예를 들어, Mass Market 타깃의 소프트웨어는 오류가 하나도 없는지의 문제보다는 적절한 시간, 트렌드, 적당한 비용, 시장에 빨리 출시하는 것이 중요하다. 반면 의료기기에 탑재된 소프트웨어는 개발기간이 늘고 비용이 높아지더라도 소프트웨어에 오류가 없도록 하는 것이 중요하다. 소프트웨어 품질을 좋게 유지하기 위한 요소 정적 분석 코드 자체에 검증할 수 있는 부분을 최대한 검증 자동화된 테스팅 테크닉 복잡해지는 소프트웨어 시스템의 어려운 품질 검수 효율 높여 해당 도메인에 대한 지식 자동화된 기술은 모든 종류의 품질을 다 보장해줄 수 없..
에러, 결함, 실패 Fault 소스코드 자체에 있는 비정상적인 요소 Error 소스코드에 존재하는 fault가 실행되어 내부 상태가 오염됨 Failure Error가 프로그램 외부에서 관찰되는 상태 Fault → Error → Failure 프로그램 소스코드에 fault가 있거나, fault를 실행해서 error 상태가 돼도 프로그램이 정상적인 동작으로 복귀한 뒤에 성공적으로 실행을 마칠 수 있다. 예를 들어, void rotateLeft(int* rgInt, int size){ int i; for(i=0; i
소프트웨어 품질 소프트웨어의 품질의 중요성 각 영역들이 소프트웨어로 대체되고 있다. (시장, 방송, 엔터테인먼트, 커뮤니케이션, 구인 서비스)소프트웨어는 기존의 시장을 지배하던 경제적 가치를 많은 부분 대체하고 있기 때문에 그만큼 그 역할과 품질이 중요하다.실제 세계에 바로 영향을 미쳐 문제로 바로 연결되므로 품질을 최대항 향상하도록 해야 한다. 소프트웨어 품질 문제를 해결하기 위해 할 수 있는 일? 소프트웨어 테스팅 기법 소프트웨어 성능? 실행 속도 빨리, 네트워크 사용량 줄여, 메모리 적게 소프트웨어 품질은 사용자가 사용할 때 얼마나 편리한지 확인해야 한다.