在性能测试过程中,明确每个场景的参与者人数、比例和具体行为是非常重要的,这些都是构成性能测试脚本的基础。我们的经验是可以从应用服务器如IIS的日志中分析用户行为,例如,对我们作为示例的这个OA系统,我们从日志中分析出在上午9:00 – 9:30时段内有200查看邮件页面的page view,且查看时间基本集中在前10分钟;而在9:00 – 9:30时间段内对BUG显示页面的查看量是300个page view,对页面的访问基本平均分配在整个时间段,则我们可以建立两个脚本,前一个脚本模拟查看邮件操作(脚本1),后一个脚本模拟查看BUG操作(脚本2),考虑运行15分钟的测试场景,则只需在前5分钟运行脚本1,在整个过程中运行脚本2,通过调整think time使得page view达到实际的数值即可。
当然,测试场景的提取需要测试设计人员对用户的行为和业务有较为深入的了解,并不是每个不同的用户应用剖面都需要作为测试场景来设计,在多数情况下,我们可以通过对测试场景出现的几率、重要性、风险等进行分析,从而最终确定需要设计的测试场景。
明 确了性能测试包括的场景之后,根据性能测试应用领域的不同,可以采用不同的性能测试方法来达到性能测试的目标。例如,对性能调优和能力规划应用领域,可以 通过配置测试的方法,应用相同的测试场景,针对不同配置的系统进行测试,通过一次性修改少数配置参数或是硬件配置的方法,找到对性能影响最大的因素,从而 对其进行优化和规划。
最后还需要提醒的是,性能测试设计还应该包括测试环境、测试数据等的设计,因为影响系统性能的因素很多,保持测试过程中环境和数据的可控性是非常重要的。
3. 性能测试结果分析
性能测试结果分析是性能测试过程中最困难,然而也是最重要的步骤。性能测试结果分析需要分析人员对测试结果中的各项数据有准确的认识,明确各指标之间的关系。性能测试结果的各项数据指标并没有显而易见的联系,在多数情况下都需要综合考虑各种因素,才能得出最终的结论。
根据我们的经验,在性能测试过程中最容易发生的问题主要是数据库访问层问题(未优化的SQL语 句和存储过程)、应用服务器配置问题(不合理的配置)以及网络问题(状况差的网络),因此我们建议的一般原则是“从简至繁”的原则,即首先排除网络问题, 其次对应用服务器配置进行分析,确认不是由于应用服务器本身的配置引起的性能问题,然后在数据库访问层进行性能分析,重点是索引、数据库Cache、死锁等问题的分析,在确认所有这些因素都不是性能瓶颈的情况下,才对代码进行分析和检查,找出导致性能问题的因素。
文章来源于领测软件测试网 https://www.ltesting.net/