1、自动化测试一般适用于冒烟测试和回归测试。
1)冒烟测试:执行主体功能点;
2)回归测试:执行全部或部分用例。
2、冒烟测试:在每日build(构建版本)建立后,对系统的基本功能进行简单的测试。
1)不是一个测试阶段;
2)是一个开关,通过了就能继续后续的测试,否则返回等待下次构建。
3、选择的用例可构成场景,方便构建关键字或参数化测试模型。
比如一个功能模块,有n个用例,都使用同一个场景。
4、用例执行结果由断言(assert)结果决定
5、性能测试工具 JMeter
1)Thread Priperties - Ramp-up Period(in seconds):要充足长以避免在启动测试时有一个太大的工作负载,并且要充足小以至于最后一个线程在第一个完成前启动。 一般设置ramp-up=线程数。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。
6、接口测试,用一句话概括就是,通过发送HTTP请求,检查响应内容是否正确。
7、JMeter中聚合报告(Aggregate Report)与汇总报告(Summary Report):
0)汇总报告使用的内存更少;
1)聚合报告更关注这些数据:Average、90%Line、Min、Max、Error%、Throughput;
2)汇总报告更关注这些数据:Std.Dev(响应时间的标准方差);
3)若Std.Dev很大,则Min和Max的参考意义不大;
4)90%Line(90%请求响应时间)是一个重要的性能指标;
5)Error%,超过1%代表系统性能压力过大;
6)Throughput(吞吐量,TPS:Transaction per Second)越大越好。
8、通过命令行(CMD)运行JMeter:
1)CMD进入JMeter安装路径下的bin路径;
2)输入命令 jmeter -n -t [jmx脚本路径] -l [测试输出路径],其中:-n 表示非图形模式、-t 表示jerter脚本路径、-l 表示输出结果路径。
9、URL(统一资源定位符,Uniform Resource Locator)、URN(统一资源名称,Uniform Resource Name)和URI(统一资源标识符,Uniform Resource Identifier)
1)举例:使用住址“中国/北京/某大学/某专业/某年级/某班级/某宿舍/某人”来定位一个人,这就是URL;
2)举例:使用身份证号”XXXXXXXXX“来定位一个人,这就是URN;
3)URL通过地址来定位,URN通过名称来定位,都是URI的实现方式,因此,URL和URN都是是URI的子集。换言之,URL和URN都是URN,但URI不一定是URL或URI。
10、JMeter输出HTML格式的测试报告
1)CMD进入JMeter安装路径下的bin路径;
2)输入命令 jmeter -n -t [jmx文件路径] -l [csv文件路径] -e -o [保存html格式报告的路径]
11、JMeter函数的使用:
语法1:${__functionName} , 注意是两个下划线,被大括号包裹起来
语法2:${__functionName(var1, var2,…)} ,带参数的函数
例:${__log(“message here”)} 打印
例:${__intSum(2,3,result)} 整数求和,result为求和结果变量,=5
例:${__time(dd-MM-YYYY HH:mm:ss)} 时间 31-01-2021 10:11:12
12、实际的性能测试:
1)思考时间:模拟用户操作过程中的停顿;
2)步伐、速度:大量用户进入和退出的时间,例如,20个用户5秒内全部进入;
3)压力测试时间:例如,500个人同时测试20分钟,这20分钟就是压测时间。
注意:JMeter中需要使用到插件 jpgc-Standard Set
13、JMeter,使用 jpgc-Standard Set 插件来设置负载场景
14、JMeter,Sampler是性能测试过程中向服务器发送请求,记录响应信息,记录响应时间的最小单元。
15、BeanShell
BeanShell是一个小巧免费的JAVA源码解释器,支持对象式的脚本语言特性,亦可嵌入到JAVA源代码中,能动态执行JAVA源代码并为其扩展了脚本语言的一些特性。
JMeter里面提供了对BeanShell的支持,用户可以利用BeanShell写一些脚本来辅助性能测试。
另外,在TestNG这个单元测试框架,也是支持BeanShell的。
16、在JMeter中设计一个相对完善的测试用例所需的步骤:
1)Thread Group 线程租(用例名称)
2)Sampler,一般是HTTP请求
3)Logic Controller 逻辑控制器
4)Config Element 配置元件
5)Timer 定时器
6)Pre Processors 前置处理器
7)Listener 监听
8)Assertions 断言
17、258原则
用户发送请求,有以下几种情况:
1)在2秒内得到响应,速度很快
2)在2~5秒内得到响应,速度还可以
3)在5~8秒内得到响应,感觉很慢
4)在8秒后得到响应,认为失去响应,重新发起请求