1.2.3性能测试的方案设计
有可能对测试结果产生影响的因素主要包括:活跃用户数量、用户活跃时间、用户操作频率(思考时间)、用户操作路径、系统访问量随时间分布、各页面访问量(工作量)分布等。对这些因素考虑得越周全,测试的结果才会越准确。
性能测试方案中应该重点阐述此次性能测试的业务模型如何设计,具体的测试策略是什么。
1.业务模型的设计
一个系统的业务模型是通过业务调研获得的。业务模型的正确性反映在两个方面一业务选择的正确性和业务比例的正确性。
首先是业务选择。一个系统可能支持几百个业务活动(也叫作交易),但是只有少数的业务活动非常频繁,占总业务量的80%以上,那么在性能测试时只需关心这些占了大部分业务量的少数业务活动上。
其次是业务比例。如何精确统计业务的数量是关键问题。针对一个全新的系统可能要通过对使用系统的涉众进行调研,搞清楚他们的群体数量和操作行为周期。再通过组合这些数据确定在常规交易日各种业务占总业务的比例,同时也要考虑特殊交易日的情况。
例如,某一个商务活动或周期性的业务结算日等都是特殊交易日。在特殊交易日时某一类业务活动的业务量可能突然增加很多,那么在常规交易日的业务比例就不再合适,这点在业务模型上要进行区分。常规交易日的业务模型用来测试系统容量,特殊交易日的业务模型要单独做压力负载测试。
对已上线运营的系统做业务模型的调研相对简单,不需要再去调研那么多的涉众,只需与运营维护部门进行协调,由他们协助测试需求调研人员提取系统中的历史数据即可。但是在数据选择上要有些规则,要选取时间相对长的数据,比如选取几个月的数据。如果有条件的,可以选取一年的数据,选取一年中每月平均业务量、年度高峰月业务数据和月度高峰日业务数据。
2.测试模型的设计
业务模型是根据系统运营真实数据得来的,真实反映了系统运营的业务状况。测试模型是以业务模型为基础,根据测试需求不同对业务模型进行调整,或不调整直接纳入测试场景中使用。所以测试模型的设计其实是依托于业务模型的设计,是具体需要落地实施的方法。