一、前言
所谓的自动化测试是针对人工测试的另一种测试方式,任何测试类型比如:系统测试、专项测试(性能测试、安全测试、稳定性测试、兼容性测试等)都可以采用自动化的方式进行测试。自动化测试依赖测试工具,区别是针对不同的测试类型选择不同的测试工具,比如:Monkey、Postman、Jmeter、Appium、Selenium等。
压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使刚环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。
软件系统的负载压力是指系统在某种指定软件、硬件及网络环境下承受的流量,例如并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。其中还有一种特定类型的负载测试,它是通过逐步增加软件系统的负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统提供的最大服务级别。
二、Monkey
1、Monkey的概念:
“猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个程序,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按的。
这种测试方式在产品周期中的早期阶段会找到很多很好的bug,为用户节省不少的时间。
2、Monkey test的介绍
monkey test也叫做搞怪测试,就是用一些稀奇古怪的操作方式去测试被测试系统,以测试系统的稳定性。一般是指用毫无规律的指令或操作测试被测系统,观察系统的稳定性和容错性能。
它是Android系统自带一个命令行工具,每台android手机里都有Monkey工具,但是我们是看不到的,因为Monkey不是一个可视化的工具。例如手机里的微信,这是一个可视化的工具,能打开有图形化界面,但是Monkey没有,Monkey可以在模拟器或者真实设备中运行。monkey向系统发送伪随机的