性能测试知多少——常见性能问题

本文章转载于搜狗测试

在日常生活当中,如果你的应用运行太慢或者经常出现各种使用不方便的问题,那很多情况下用户都是会选择离开,因此性能说的简单一些就是站在用户的角度去测试实际的感受,如果说功能测试是确保软件可用,易用。那么性能测试就是让这些功能变得更流畅,用户使用的更舒服。

不过很多刚刚进入测试家庭的新同学很容易将性能测试这个过程片面的理解成找工具或者写工具进行测试最后给出一个图表结果,仅仅看中了过程而忽略了在测试过程中发现定位并解决问题的能力。针对分析问题这个步骤,我也是在网上拜读了一部分前辈的测试经验,并希望在此将一些常见的思路分享给大家。

说到性能测试,我们首先要明确性能测试的目的,只有明确测试的目的才能更好的发现软件的不足:

1.功能验证:验证某软件在一定条件下具有什么样的功能

2.能力规划:如何使系统达到我们要求的性能能力

3.应用程序诊断:比如内存泄漏,通过功能测试很难发现,但通过性能测试却很容易发现。

4.性能调优:满足用户需求,进一步进行系统分析找出瓶颈,优化瓶颈,提高系统整体性能。

性能测试的整体步骤可以按照下图划分:

其中分析结果是整个步骤中重要的一环,接下来就为大家介绍一些常见的问题:

硬件上的性能瓶颈:

一般指的是CPU、内存、磁盘I/O 方面的问题,分为服务器硬件瓶颈、网络瓶颈、服务器操作系统瓶颈(参数配置)、应用瓶颈。

应用程序上的性能问题:

一般指的是开发人员开发出来的应用程序或者新功能。例如,程序架构规划不合理,程序本身设计有问题,造成系统在用户使用时性能低下。在此处出现的问题往往是应用开发在进行功能实现上使用错误的方法而导致的(完全可以避免),因此这也是需要测试人员快速定位并解决的问题。

操作系统上的性能瓶颈:

例如iOS操作系统。例如,在进行性能测试,出现内存不足时,系统会发出对应用的低内存警告,如果应用没有及时响应系统的警告就会将程序进程终止,造成程序崩溃。这时认为操作系统上出现性能瓶颈。

网络设备上的性能问题:

一般指的是防火墙、动态负载均衡器、交换机等设备。例如,在动态负载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的硬件资源已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的应用服务器上。在测试时发现,动态负载均衡器没有起到相应的作用,这时可以认为网络环节存在问题。

由于性能测试出现的原因及其定位都十分复杂,这里只是简单介绍常见的几种问题类型和特征,而性能测试所需要做的就是根据各种情况因素综合考虑,然后协助开发人员一起定位性能瓶颈,下次作者会结合实际测试情况和大家一起寻找定位问题的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容