Stree Testing(压力测试)
检查被测系统在恶劣环境下的表现,比如内存不足,CPU高负荷,网速慢,等等。在这种情况下,被测系统往往运行缓慢,能暴露许多在高速运行时不易发生的问题,例如线程不同步。
压力测试是测试系统在非正常的、超负荷的条件下的运行情况 ,用来评估在超越最大负载的情况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力 。压力测试就是一种破坏性的测试,用以判断系统的稳定性和可靠性。一般把压力描述为“CPU使用率达到75%以上,内存使用率达到70%以上”。
Load Testing(负载测试)
检查被测系统处理大量用户访问或事务的能力。负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
Volume Testing(容量测试)
检查被测系统处理大数据量的能力,例如存储或读取一个超长的文件。确定系统可处理同时在线的最大用户数。
强度测试
强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。
其中,容量测试、负载测试、强度测试的英文解释为:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room
举例:
性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)? 负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤„„等情况下,你跑100米需要花多少时间? 强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间? 这么看:压力测试是测试系统什么情况下失效或者崩溃;负载测试是测试系统什么情况下超出需求指标;强度测试是测试系统在瞬时高负载、长时间负载情况下系统反应;容量测试是测试系统在大数据量交互的反应!
CS结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标:
* User 0 Connections :用户连接数,也就是数据库的连接数量;
* Number of deadlocks:数据库死锁;
* Butter Cache hit :数据库Cache的命中情况