[이것에 대해 읽을 가치가있는 몇 개의 수필이 있습니다. 스택 오버플로가 나보다 더 게시하지 않습니다, 그래서 나는이 답변의 마지막에 링크 된 블로그 게시물, 그들을 집계했습니다.] 조건에 빠른 메모
첫째. 나는 제임스 바흐 (James Bach)의 테스팅 정의를 "평가를 위해 제품에 질문하는 것"으로 사용하는 경향이있다. 모든 테스트는 테스트중인 애플리케이션의/정신/모델에 의존합니다. 모델 기반 테스트라는 용어는 일반적으로 자동화를 통해 탐색 할 수있는 모델 프로그래밍을 설명하는 데 사용됩니다. 예를 들어, 응용 프로그램이 가질 수있는 여러 상태, 해당 상태 간의 다양한 경로 및 해당 상태 간의 전환시 발생해야 할 사항에 대한 특정 어설 션을 지정할 수 있습니다. 그런 다음 스크립트가 상태 모델 내에서 전환의 세미 무작위 순열을 실행하여 잠재적으로 흥미로운 결과를 기록 할 수 있습니다.
여기에는 실제 모델이 있습니다. 유용한 모델을 만들고, 탐색을위한 알고리즘을 작성하고, 흥미로운 오류에 대해 제거 할 수있는 시스템을 로깅합니다. 비용이 합리적이든 아니든간에 과 관련이 있습니다. 대답하고 싶은 질문이 있습니까? 일반적으로 "무엇을 알고 싶습니까? 흥미로운 기술에 대한 사용을 기대하기보다는 어떻게 그것에 대해 가장 잘 배울 수 있습니까?
일부 우수한 테스터 자동화 된 모델 기반 테스트에서 주행 거리를 많이 입수했습니다, 말했다 모든. 자동화 된 대용량 반 무작위 테스트를 통해 가장 잘 살펴볼 수있는 테스트중인 애플리케이션에 대한 중요한 질문이있을 수 있습니다.Harry Robinson (모델 기반 테스트의 주요 이론가이자 지지자 중 한 명)은 모델 기반 테스트 (루비의 Watir 라이브러리로 작성)를 사용하여 Google 운전 방향에서 많은 흥미로운 버그를 발견 한 매우 다채로운 예제를 설명합니다. 1
Robinson은 Bell Labs, Microsoft 및 Google 등의 회사에서 MBT를 성공적으로 사용했으며 여러 유용한 에세이를 보유하고 있습니다. [2]
Ben Simo (또 다른 위대한 테스트 사상가 겸 작가)는 모델 기반 테스트에서 상당한 가치를 지니고 있습니다. [3]
마지막으로 몇 가지주의 사항 : 전략을 잘 활용하려면 강점과 약점을 모두 탐색해야합니다. 이를 위해 제임스 바흐는 모델 기반 테스팅의 한계와 도전 과제에 대한 훌륭한 연설을하고 있습니다. 바흐의이 블로그 게시물은 긴 시간의 이야기 (그리고 관련 슬라이드)에 링크되어 있습니다. [4]
Boris Beizer가 Pesticide Paradox라고 부르는 내용에 대한 참고로 끝낼 것입니다. "버그를 예방하거나 발견하기 위해 사용하는 모든 방법은 이러한 방법이 효과가없는 약한 버그를 남겨 둡니다." 컴퓨터 또는 사람)은 살충제 역설에 특히 취약하며, 같은 스크립트가 실행될 때마다 유용하지 않은 정보를 찾는 경향이 있습니다. 사람들은 때때로 살충제 문제를 해결할 수 있다고 생각하는 모델 기반 테스트를 사용합니다. 어떤 상황에서는 모델 기반의 테스트가 스크립트 된 테스트 세트보다 훨씬 더 많은 버그를 발견 할 수 있지만, 여전히 Pesticide Paradox에 의해 근본적으로 제한된다는 것을 기억해야합니다. 한계를 기억하고 MBT의 문제를 해결하기 시작하면 매우 강력한 테스트 전략이 될 가능성이 있습니다. 위에서 언급 한 모든 논문에
링크는 여기에서 찾을 수 있습니다 : http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/