몽키 테스트
Monkey testing소프트웨어 테스트에서 원숭이 테스트는 사용자가 임의의 입력을 제공하고 동작을 확인하거나 애플리케이션 또는 시스템이 충돌하는지 여부를 확인하는 기술입니다.원숭이 테스트는 보통 무작위 자동 단위 테스트로 구현됩니다.
"원숭이"라는 이름의 출처는 확실하지 않지만, 일부 사람들은 이 이름이 타자기 키보드에서 무작위로 무한 시간 동안 키를 치는 원숭이가 윌리엄 셰익스피어의 전집과 같이 주어진 텍스트를 거의 확실히 타이핑할 것이라는 무한 원숭이 [1]정리와 관련이 있다고 믿는다.다른 사람들은 이 이름이 1983년 이전에 스티브 캅스가 개발한 클래식 맥 OS 애플리케이션 "The Monkey"에서 유래했다고 믿는다.저널링 후크를 사용하여 Mac 프로그램에 랜덤 이벤트를 공급하고 MacPaint의 [2]버그를 테스트하는 데 사용되었습니다.
또한 Monkey Testing은 스트레스 [3]테스트를 위한 표준 테스트 도구의 일부로 Android Studio에 포함되어 있습니다.
원숭이 테스트의 종류
원숭이 테스트는 스마트 원숭이 테스트와 바보 원숭이 테스트로 나눌 수 있다.
스마트 원숭이 테스트
똑똑한 원숭이는 보통 다음과 같은 [citation needed]특성으로 식별된다.
- 응용 프로그램 또는 시스템에 대한 간단한 이해
- 자체 위치, 이동 가능 위치 및 이동 가능 위치 파악
- 자체 기능 및 시스템 기능 파악
- 시스템 파괴에 집중하다
- 발견된 버그 보고
일부 똑똑한 원숭이는 사용자의 행동에 따라 테스트를 수행하며 버그가 발생할 확률을 지정할 수 있는 똑똑한 [citation needed]원숭이라고도 합니다.
바보 원숭이 테스트
"무시 원숭이"라고도 알려진 벙어리 원숭이는 보통 다음과 같은 [citation needed]특성으로 식별된다.
- 응용 프로그램 또는 시스템에 대한 지식이 없습니다.
- 입력 또는 동작이 유효한지 유효하지 않은지 알 수 없습니다.
- 시스템 또는 시스템의 기능이나 애플리케이션의 흐름을 알 수 없습니다.
- 똑똑한 원숭이보다 적은 수의 벌레를 찾을 수 있지만 똑똑한 원숭이가 잡기 어려운 중요한 벌레도 발견할 수 있다.
장점과 단점
이점
원숭이 테스트는 몇 가지 기본 오류를 식별하는 효과적인 방법입니다.테스트된 시나리오는 보통 임시방편적이기 때문에 원숭이 테스트는 부하 및 스트레스 테스트를 수행하는 좋은 방법이 될 수 있습니다.원숭이 테스트의 본질적인 무작위성은 전체 시스템을 파괴할 수 있는 주요 버그를 찾는 좋은 방법이기도 합니다.원숭이 테스트의 셋업은 간단하기 때문에 모든 애플리케이션에 적합합니다.스마트 원숭이는 정확한 상태 모델을 적절하게 설정한다면 다양한 종류의 벌레를 매우 잘 찾을 수 있다.
단점들
원숭이 실험의 무작위성은 종종 그 곤충들을 번식시키기 어렵거나 불가능하게 만든다.원숭이 테스트에 의해 발견된 예기치 않은 버그도 분석하기 어렵고 시간이 걸릴 수 있습니다.몇몇 시스템에서는, 원숭이 테스트가 버그를 발견하기 전에 오랜 시간 동안 진행될 수 있습니다.똑똑한 원숭이의 경우, 제공되는 상태 모델에 따라 능력이 크게 달라지며, 좋은 상태 모델을 개발하는 것은 비용이 [1]많이 들 수 있습니다.
유사한 기술과 차이점
원숭이 테스트는 때때로 퍼지 테스트와[4] 동일하게 취급되고 두 개의 용어는 일반적으로 [5]함께 사용되지만, 어떤 이들은 원숭이 테스트가 무작위 동작에 더 가깝고, 반면 퍼지 테스트는 무작위 [6]데이터 입력에 더 가깝다고 주장함으로써 그들이 다르다고 믿는다.원숭이 테스트는 계획 및 문서화 없이 애드혹 테스트를 수행한다는 점에서 애드혹 테스트와 다르며 애드혹 테스트의 목적은 시스템을 무작위로 하위 부품으로 나누고 기능을 확인하는 것인데, 이는 원숭이 테스트에서는 해당되지 않습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "What is Monkey Testing IT Training and Consulting – Exforsys". www.exforsys.com. Retrieved 2016-04-22.
- ^ "Folklore.org: Monkey Lives". www.folklore.org. Retrieved 2016-04-22.
- ^ "UI/Application Exerciser Monkey Android Developers". developer.android.com. Retrieved 2016-04-25.
- ^ Brummayer, Robert; Lonsing, Florian; Biere, Armin (2010-07-11). Strichman, Ofer; Szeider, Stefan (eds.). Automated Testing and Debugging of SAT and QBF Solvers. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 44–57. CiteSeerX 10.1.1.365.777. doi:10.1007/978-3-642-14186-7_6. ISBN 9783642141850.
- ^ "Fuzz Testing in Delphi - DelphiTools". www.delphitools.info. Retrieved 2016-04-22.
- ^ "Difference between "fuzz testing" and "monkey test"". stackoverflow.com. Retrieved 2016-04-22.