软件性能测试(如何理解与区分软件性能测试、负
软件性能测试是基于系统测试阶段的一种非功能性测试,为什么叫非功能性测试呢?大家都知道,功能并不会覆盖多线程操作,但是性能测试就会覆盖多线程操作,一个功能1000人操作不会有问题,但是一个功能上万人甚至上亿人同时访问,可能会导致系统崩溃,所以说软件性能测试是一种非功能性测试,但是基于功能测试之上,性能测试并不会覆盖需求所有测试点,只是对产生并发压力的功能进行测试。
1. 性能测试:在一定的负载条件下,测试系统的响应时间等各项性能指标是否符合需求。
How Fast:是用来反应一个系统的处理效率的。
How Much:是用来反应一个系统的处理能力的。
2. 负载测试:主要是为了获取系统的最大有效负载用户数、系统的最大处理能力和最佳的性能表现点。
负载用户,就是指虚拟用户,即我们在性能测试过程中模拟向服务器发起请求的虚拟用户数。
系统最大负载用户数:即系统实际的用户数。
用户数不一定就是使用用户的人,可能是:人、设备、调用者(人、上层接口、外部接口)。
3. 稳定性测试:也叫可靠性测试,通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行,连接是否会中断,比如网络中断易恢复性。
4. 压力测试:主要是为了测试系统的稳定性。理论上来说,一般来说稳定性测试都是要求7*24小时。一般来说,结合监控,不需要也没有条件去进行长时间的压力测试。
不同测试种类之间的区别分析:
性能测试的区别在于,在一定的用户负载条件下,测试系统的响应时间,也就是服务器返回结果给客户端呈现在网页上的时间,一般以2s-5s-10s原则作为标准值 ,以及各项性能指标符合需求。
负载测试:相对性能测试强度更大,用来分析系统性能瓶颈的一种手段,例如一个人你让他背100斤东西没问题能正常走路,当你加10斤、20斤、30斤、50斤时可能走不动了这个点就是负载测试的瓶颈点,需要根据异常情况分析性能指标。
稳定性测试其实就是可靠性测试,保证客户端与服务端的连接畅通能够正常通信,网络稳定,功能稳定,如果网络不稳定一段时间网络正常系统要能正常使用。
压力测试:不需要给系统添加思考时间,直接将系统压崩溃为位,分析系统最大能支撑多少用户访问。