学霸笔记之性能测试案例分析
安装事例被测系统
例:医药管理SMS2系统(安装环境:CentOS7.2)
注册网址:192.168.X.XX 登录:账号FMXY 密码666666
系统描述
针对医药品,通过销售渠道卖给各大医院,比如通过本地的销售商,客户在医药公司的药的,销售是帮忙卖药的,药品是医药公司生产的药品。
模块
需要有产品视野,明白真实场景下,用户是怎样使用产品的,这样才能知道哪些场景是用户大量使用的。
需要有开发视野,明白产品结构,甚至一些实现细节,这样才能对哪些使用场景会带来性能问题了然如胸。
需要有测试经验,结合前面的知识,写出良好的性能测试用例。
需要有开发技能,灵活使用各种测试工具,有的测试工具需要二次开发,甚至市场上没有现成可以使用的测试工具,必须得自己开发测试工具。
同功能测试一样,有如下三个过程:分析需求、确定性能测试场景;编写测试计划、测试用例;执行测试
功能测试需要测试系统的所有功能点,而系统测试只需要关注系统功能点中比较容易成为系统性能瓶颈的部分。比如,一个商城系统,通常瓶颈在于大量客户登录浏览商品,秒杀抢购某个商品的业务场景,而管理员后台操作通常不会成为性能瓶颈,因为管理员就寥寥数人而已。所以性能测试的场景应该是这些客户浏览商品,秒杀抢购,而不是去测试管理员后台。
确定性能场景,测试人员需要了解产品的所有功能点,并且了解业务使用,甚至了解系统额的实现细节,这就需要和产品团队、开发团队多方面合作,一起确定硬件环境、软件环境和性能指标。
例如crm系统的这样一个API服务系统,常见的性能指标有:支持并发连接数量(使用业务用户数量);单位时间处理请求数量;响应正确的数量、百分比;响应错误的数量、百分比;响应超时得数量、百分比;平均响应时间;cpu占用率;内存使用率;磁盘访问量;网络吞吐量
硬件环境:服务器机型、CPU配置、内存配置、网卡配置、硬盘配置等,有些被测系统运行在集群系统,就需要指明集群的整体环境配置。有些被测系统运行在云平台上,也需要指明相应的环境配置。
软件环境:操作系统、数据库和北侧系统运行时所依赖的其他第三方组件服务,比如:消息队列系统、缓存系统、异步任务系统、反向代理系统等。重要系统的设置项也应该说明,比如缓存的内存大小分配,数据库的参数设置等。
数据配置是性能测试的业务数据设置,不同的系统有各自的业务数据。比如crm系统包括:多少条注册用户、多少药品数据、多少业务订单等。
首先,确定测试资源,包括:测试工程师人选、测试工具、所需测试硬件(包括何时采购到位)、测试预计启动时间、结束时间。
再次,性能测试用例包括下面哪些信息:运行硬件、软件环境、数据配置;对被测系统的输入,通过工具测试出的系统性能指标;对资源的占用指标