一.自动化测试的亮点
1)使用注解:避免生成过多对象,造成资源和时间的浪费
2)通过static修饰静态变量,全局只创建了一次驱动对象,在测试前再卸载驱动.避免重复创建驱动对象
造成时间和资源的浪费
3)通过使用参数化,保持用例的简洁,提高了代码的可读性.
4)使用测试套件:一次性执行所有我们想要运行的自动化用例,这里我们用到了选择类的套件
这样让测试类的选择和顺序更加灵活
5)使用等待(隐式等待+强制等待):提高自动化指定的稳定性,降低等待时间
显示等待在出现警示弹窗无法定位到就会一直等待然后报错,并且显式等待和隐式等待不要混用会出现意想不到的后果
6)使用屏幕截图:方便问题的追溯和问题的解决
二.常见的性能测试问题
1.性能测试和功能测试的区别
功能测试:验证产品功能有没有做到
性能测试:在功能测试之上,验证产品有没有做好
2.性能好与不好的区别
例:
12306设置验证码的目的
1)安全检查,防止有人刷票
2)售票高峰季节拖延时间:购买人数非常多,对12306系统造成急剧增加的压力
所以只能蒋降低平台的易用性来提高系统的性能
性能好的表现:
举例 双十一期间系统压力巨大
衡量系统的好坏:通过数据来进行展示,借助工具所监控和收集的各项指标来分析系统的性能
三.性能指标
1.并发和并发用户数
1)并发:强调大量用户涌入服务器和同时性的操作.这样的操作会给服务器造成压力
例如:打开一个百度页面,什么情况下会对百度的服务器造成压力
举例:共振,很多人一起过桥没事,但是人多加上步数频次一样,就会影响
大量用户同时对服务器发送请求就会造成压力
2)并发用户数:一起向服务器发送带有压力或者对服务有影响的的操作的用户的数量
3)系统用户数:某个系统的注册用户树
4)在线用户数:登录了系统或者说正在使用系统的用户数量
2.响应时间/平均响应时间
对用户的角度:从请求发出直到看到响应结果这段时间
响应时间根多个方面都有关系: 用户的带宽,运营商,服务端
电脑资源:运行内存 内存/磁盘容量,CPU的占用情况
平均响应时间:响应时间平均.那么平均响应时间就有参考意义,如果波动范围大,那么平均响应时间就没有参考意义
请求响应时间:服务器收到用户请求并把响应内容发送出去的时间
3.事务 Transaction
事务的定义:举例,如果想要购买一件商品,生成订单的过程可能会涉及到多个功能,
(进入商品详情页,购买页,支付功能,购买成功订单页面`)
其中每个过程都是一件事务
事务响应时间:处理请求对应事务的时间
每秒事务通过数(TPS Transantion Per Second) :TPS 是指每秒系统能够处理的事务数
它是衡量系统处理能力的重要指标.
每秒事务通过数越高,对应的性能越好->但是有的事务比较复杂,所以不一定
一般来说TPS越大,说明系统性能越好
TPS比较小.不一定说明系统的性能不好,有的系统比较复杂,一个事务可能对应多个操作
4.点击率
代表用户每秒向web服务器提交的http请求
注意:点击率不是鼠标的一次点击,一次点击可能会有多个http请求
5.吞吐量/率
吞吐量:系统在某段时间内处理的客户请求数量对应的资源的大小
吞吐率:吞吐率/时间,单位时间内处理的客户请求数量对应的资源大小 单位:秒/bytes
体检软件系统的性能承载能力
6.思考时间
两次请求之间的间隔时间
7.资源利用率
资源:包含CPU,内存,硬盘,网络等..
假如有一款软件,占用的cpu资源比较高,那么说他的性能差
假如打开网页
需要加载资源:js css HTML 图片.资源等资源.大概要125kb
服务器是部署在云上的
服务器将数据传递给客户端(带宽1M) 那么就需要 1s将所有的资源返回给客户端
处理方法:1)压缩文件资源
2)增加带宽
四.性能测试分类
1.一般性能测试
验证软件在正常情况和系统条件下,验证系统是否满足性能指标
2.负载测试
验证系统在一定压力下的运行时间,直到系统性能出现"拐点"
3.压力测试
验证系统已经处于极限负载下或者某指标已经处于饱和状态下系统性能的表现(往往会把系统崩溃)
4.稳定性测试
验证系统在连续运行的情况下,查看系统的各项指标是否存在异常
连续拿水瓶看是否出现问题----稳定性测试