For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
性能测试是大多数程序员在做软件测试的时候都会用到的一个测试方法,而本文我们就通过案例分析来简单了解一下,性能测试分为哪些测试步骤。
一步准备和组织是性能测试过程的一步,在这个阶段,需要明确性能测试的目标和需求,并组织起合适的人员,制订性能测试计划。
一般来说,性能测试的应用领域分为能力验证、能力规划、性能调优和缺陷修复四个方面。其中能力验证表明测试的目的是验证系统能力是否达到预期的性能标准;能力规划是要考察系统的可扩展性;性能调优则是为了找到系统的性能瓶颈,为性能调优提供依据;缺陷修复是为了找出系统中存在的并发等方面的缺陷。
明确目标也就是要把性能测试的目的归到相应的应用领域,而确定需求则是要更详细地确定性能测试的基准。对产品的性能测试需求的来源是软件需求、设计文档或是用户备忘录等设计和需求相关的文档。当然,并非所有的性能测试需求都在这些文档中以明确的方式标识出来,此时就需要根据不十分明确的文档描述进行进一步的细化。我们的经验是在文档评审时高度关注所有与性能相关的描述,例如“要求操作响应时间小于……”、“要求……能够快速……”、“要求……能够支持……用户访问”、“要求……能快速稳定运行”等,然后进行进一步的细化,从而作为测试的依据。
性能测试涉及的设备、环境、技术、工具较多,性能测试人员的组织也必须兼顾这些方面。一个性能测试组好包括系统工程师(负责测试环境搭建、服务器和应用服务器的配置)、网络工程师(负责网络环境的维护和验证)、性能分析工程师(负责测试计划的拟定,对性能测试结果进行分析,给出性能测试报告)、自动化工程师(负责测试脚本的编写和测试工具实施)、数据库工程师(负责对数据库层进行性能问题定位)。在条件允许的情况下,还可以包括开发工程师和客户代表,辅助对性能测试结果进行分析和确认。
性能测试计划是用来指导性能测试过程的主要文档,在测试计划中除了要写明本次测试的测试目标、测试需求外,还需要在测试计划中给出明确的测试退出条件和测试的时间和资源计划。
二步二步测试设计,也是性能测试的主要内容。测试设计一般基于测试场景进行,一个测试场景就是一个用户的实际使用系统的剖面。
在性能测试过程中,明确每个场景的参与者人数、比例和具体行为是非常重要的,这些都是构成性能测试脚本的基础。根据经验,可以从应用服务器的日志中分析用户行为。例如,对于一个OA系统,我们从日志中分析出在上午9:00~9:30时段内有200个查看邮件页面的pageview,且查看时间基本集中在前10分钟;而在9:00~9:30时间段内对BUG显示页面的查看量是300个pageview,对页面的访问基本平均分配在整个时间段,则我们可以建立两个脚本,前一个脚本模拟查看邮件操作(脚本1),后一个脚本模拟查看BUG操作(脚本2),考虑运行15分钟的测试场景,则只需在前5分钟运行脚本1,在整个过程中运行脚本2,通过调整thinktime使得pageview达到实际的数值即可。
当然,并不是每个不同的用户应用剖面都需要作为测试场景来设计,在多数情况下,可以通过对测试场景出现的几率、重要性、风险等进行分析,从而终确定需要设计的测试场景。明确了场景之后,根据性能测试应用领域的不同,可以采用不同的性能测试方法来达到性能测试的目标。另外需要提醒的是,性能测试设计还应该包括测试环境、测试数据等的设计,因为影响系统性能的因素很多,保持测试过程中环境和数据的可控性是非常重要的。
三步三步性能测试结果分析,是性能测试过程中困难,也是重要的步骤。它需要分析人员对测试结果中的各项数据有准确的认识,明确各指标之间的关系。如果各项数据指标间没有明显联系,在多数情况下需要综合考虑各种因素,才能得出终结论。
根据经验,在性能测试过程中容易发生的问题是数据库访问层问题、应用服务器配置问题以及网络问题。因此建议一般按照“从简至繁”的原则,先排除网络问题,其次对应用服务器配置进行分析,然后在数据库访问层进行性能分析,重点是索引、数据库Cache、死锁等问题的分析。在确认所有这些因素都不是性能瓶颈的情况下,才对代码进行分析和检查,找出导致性能问题的因素。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。