性能测试:
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的大服务级别的测试。
性能测试类型包括负载测试,强度测试,容量测试等。
负载测试(LoadTesting):负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标,譬如软件在一定时期内,大支持多少并发用户数,软件请求出错率等,测试的主要是软件系统的性能。
压力测试(StressTesting):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试大的差别在于测试目的不同。
容量测试(VolumeTesting):确定系统大承受量,譬如系统大用户数,大存储量,多处理的数据流量等。
性能测试中包含以下测试类型:
基准测试-比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。
争用测试:-核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否可以接受。
性能配置-核实在操作条件保持不变的情况下,测试对象在使用不同配置时其性能行为的可接受性。
负载测试-核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。
强度测试-核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。
容量测试-核实测试用户使用软件程序的大数量。
性能评价通常是和用户代表一起协作并且以多级方法执行的。
性能分析的级涉及单一主角/用例实例的结果评价和多个测试执行的结果比较。例如,在测试对象上没有其他活动的情况下,记录单一主角执行单一用例的性能行为,并将结果与相同主角/用例的其他几个测试执行进行比较。级分析有助于确定可以表明系统资源中存在争用的趋势,该趋势将影响从其他性能测试结果所得出的结论的有效性。
分析的第二级检查特定主角/用例执行的摘要统计信息和实际数据值,以及测试对象的性能行为。摘要统计信息包括响应时间的标准偏差和百分位分布,这些信息显示了系统响应的变动情况,正如每个主角所见到的一样。
分析的第三级有助于理解性能问题的起因和加权值。该详细分析采用低级数据并且使用统计方法,帮助测试员从数据中得出正确的结论。详细分析为决策提供客观和定量的标准,它耗时较长,并且要求对统计学有基本的理解。
当性能行为差异确实存在,或是由于某些与测试数据收集相关的随机事件引起时,详细分析使用统计加权值的概念来帮助理解。即认为在基本级上,任何事件都具有随机性。统计测试确定是否存在无法用随机事件解释的系统差异。