从事软件测试两年多了,一直在做功能测试。2016年计划学习Performance。今天,先把之前听过的同事session以及自己查阅的资料小结一下。
一、什么是性能测试
首先来说一下软件的性能是什么。视角不同,考虑的软件性能也不同。比如,普通用户关注的软件性能就是响应速度,即软件用起来快不快,爽不爽;对于软件管理者或开发人员来说,意味着一系列的性能指标,如响应时间、并发用户数、吞吐量等等。
性能测试的英文定义是这样的:
In software engineering, performance testing is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage.
在软件工程中,性能测试是指在特定的负载下系统运行速度。性能测试也用来验证系统的其他质量指标,如扩展性、可靠性以及资源利用率等,主要用于后续性能调优。(翻译的不是很好,大家明白就好)
三、性能测试的分类
经常可以看到类似的一句话,性能测试、负载测试和压力测试统称为性能测试。在这里简单讲一下,我的理解:
第一个性能测试,可以理解为狭义性能测试,一般是指软件在正常运行的情况下,测试获得各项性能指标;
负载测试,我的理解是通过不断的增加系统的负荷(负荷可以理解为用户请求等),发现系统存在的性能缺陷。负载测试是一种性能测试的手段或方法,多数情况下性能测试通常是在不同负载下进行的。
压力测试,是指在系统高负载的情况下的测试,因为高负载的时候比较容易发现平时发现不到的性能问题,可以更好的去判断系统的稳定性。