常见的性能测试:负载测试,压力测试,可靠性测试,数据库测试,安全性测试,文档测试。
1.负载测试
测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力,评估测试对象在不同工作条件下的性能行为,以及持续正常运作的能力。
负载测试通过大量重复的行为、模拟不断增加的用户数量等方式观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源等,检验系统的特性,发现系统可能存在的性能瓶颈、内存泄漏等问题。
负载测试的加载方式通常有一下几种:,,
一次加载:一次性加载某个数量的用户,在预定的时间段内持续运行。
递增加载:有规律的逐渐增加用户,每几秒增加一些新用户,交错上升。
高低突变加载:某个时间用户数量很大,突然降到很低,过一段时间又突然升到很高,反复几次。
随机加载方式:由随机算法自动生成某个数量范围内变化的、动态的负载。与实际情况最为相似。
2.压力测试
也称为强度测试,是在强负载(大数据量、大量并发用户等)下的测试,通过查看应用系统在峰值使用情况下的状态发现系统的某种功能隐患、系统是否具有良好的容错能力和可恢复能力。
通过压力测试往往可以发现系统稳定性的问题。
3.可靠性测试
一般伴随这强壮性测试,是评估软件在运行时的可靠性,通过测试确认平均无故障时间、故障发生前的平均时间或因故障而停机的时间在一年中应该不超过多少时间。可靠性测试强调随机输入,并通过模拟系统实现,很难通过实际系统的运行来实现。
4.数据库测试
数据测试一半包括数据库的完整测试和数据库的容量测试。
a.数据库完整测试:☞测试关系型数据库中的数据是否完整,用于放置对数据库的意外破坏,提高完整性检测上的效率。
b.数据库容量测试:☞数据库是否能存储数据量的极限,还用于确定在给定时间内能够持续处理的最大负载。
5.安全性测试
是测试系统在应付非授权的内部/外部访问、非法侵入或故意的损坏时的系统防护能力,检验系统是否有能力使可能存在的内/外部伤害或损害的风险限制在可接受的水平内。
在安全测试中,测试者扮演攻击系统的角色,一般采用如下方法。
a.尝试截取、破译、获取系统的密码。
b.让系统失败、瘫痪,将系统制服,使他人无法访问,自己非法进入。
c.试图浏览保密的数据,检验系统是否有安全保密的漏洞。