做性能测试流程图是什么(功能测试流程图)

来源网友投稿 958 2023-01-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈做性能测试流程图是什么,以及功能测试流程图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享做性能测试流程图是什么的知识,其中也会对功能测试流程图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

测试流程规范

1.概述

1.1目的 2

1.2适用范围 2

1.3执行原则. 2

1.4角色和职责 2

1.4.1 测试leader 2

1.4.2 测试工程师 3

2.软件测试流程 3

2.1软件测试流程图 3

2.2 流程图解析 4

3.软件测试周期人员活动 7

3.1软件测试准备 7

3.2 测试执行阶段 8

3.2.1软件执行阶段流程图 8

3.2.2软件测试执行阶段人员活动 9

3.2.3测试扫尾工作 11

4.结语 12

 

 1.概述

1.1目的

1、有效的保证软件质量;

2、有效的制定不同测试类型(软件系统测试、主观性测试、专项测试、(自动化测试)、性能测试、用户体验测试)的软件测试计划;

3、按照计划进行测试,发现软件中存在的问题;

4、对软件中已经解决的问题进行有效的验证;

5、判定测试过程和问题验证的有效性。

1.2适用范围

适用范围是参与产品软件测试的各测试工程师。

1.3执行原则.

1、标准化作业,尊重事实;

2、测试工程师需要对产品各项功能持有疑问的态度来思考软件;

3、测试工程师需要主动与项目组的所有成员保持有效的沟通,以便更好地完成测试任务;

4、尽早发现问题,及时跟踪问题;

1.4角色和职责

1.4.1 测试leader

负责审核测试计划,参与计划的实施过程,确保计划的实施和按计划完成测试任务;

制定、更新和维护软件测试流程;

对发现的部门需要改进的问题提供解决方案;

制定短期、长期的改进措施;进行评审和监督;

参与版本风险评估

参与软件需求与UI评审

编制STP(软件测试计划),组建测试团队

根据软件测试申请单的要求判定是否接受软件测试版本;达到软件测试标准安排系统测试;对测试需求进行组内培训。

9.测试任务的分配,保证测试计划的按时完成,保障软件测试质量;测试过程进行跟踪;处理异常情况;定期发送测试报告(每一个升级版本)到开发、PM各管理人员

10.跟进BUG的修改情况,组织BUG评审

11.组织版本风险评估

1.4.2 测试工程师

按照测试计划进行测试的执行,测试用例在编写、评审。

测试记录的整理,

Bug的跟踪【包括:提交、验证、关闭Bug】。

参与BUG的评审

定时完成学习计划并提交学习报告给测试leader

2. 软件测试流程

2.1软件测试流程图
2.2 流程图解析

立项

对于版本,立项的条件只需要满足:

测试部收到版本立项通知,软件产品功能需求/设计说明书都已提供到位

版本进度表

当立项条件满足时,由测试部门经理指定测试,由测试组织立项与后续的测试工作。

需求初审

    测试Leader组织测试进行需求审阅,完成三个任务:一是对文档进行评审,如对需求有疑问,或者对需求有建议要求要与需求输出人进行沟通,直到需求定稿;二是确定测试所需配置、资源、样机、以及需求对应的DEV等;三是确定好软件测试策略,策略主要包括如下方面:

1.测试依据

   a,软件需求文档

b,其他,如参考其他竞品等

测试资源

   a,测试人员需求

   b,测试配置需求(需要前期的配置)

   c,测试样机需求(例如特殊需求需要特殊的手机)

测试策略

a,采取测试方法

b,采取哪些测试工具以及测试管理工具

       c,对测试人员进行培训等

测试人员安排

    测试Leader根据在需求初审过程中各功能模块提供的测试人员名单,完成测试人员安排。

需求分析

   安排完毕后,测试Leader组织组员进行需求分析,完成两项任务:一是进行组内需求培训,保证所有组员完全理解需求;二是分配测试用例编写或维护任务,确认测试用例完成日期。

请注意:测试用例完成日期必须在软件版本发布测试之前。

测试设计

测试设计主要包括测试用例的编写与评审。由于常规的测试点的用例都已经具备,这里主要针对新的需求。

测试计划

当所有测试前的准备工作已经完成,测试leader就要根据开发时间表以及测试策略制定一个完整的软件测试计划(STP文档),测试计划的依据主要是版本开发计划和测试需求分析结果。

测试执行

测试执行一般分为以下阶段:

确认测试→系统测试→验收测试→产品文档check,其中每个阶段还有回归测试验证问题。

     从测试的角度而言,测试执行过程是要考虑量和度的问题,就是指测试的范围与测试的程度的问题。

从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然如下几个问题也需要考虑:

a, 当测试人员测试的执行不到位、敷衍做性能测试流程图是什么了事时该如何解决?

b, 测试效率问题,怎样提高测试效率?

c, 根据版本的不同采取怎么样的测试策略,是全面测试、自由测试还是针对模块的测试

软件评估

这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备上线的版本进行评估,以确定是否能够上线。软件评估会议由PM?组织,评估成员一般由DEV、PM、QA等组成。

测试总结

版本已经上线后,测试可以通过各种方式对整个测试过程进行总结,可以是做的好的方面的经验,也可以是不足之处以便后续版本避免。

测试维护

      由于测试的不完全性,当软件正式release后,用户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要DEV修改有关问题,修改后需要再次对软件进行测试、评估、上线。

3.软件测试周期人员活动 

3.1软件测试准备

目的

有效的做好测试准备工作,为测试的执行做好前期所需;

按照需求制定好测试策略与测计划;

进入条件

版本正式启动

需求文档已经进行归档

输入

软件开发计划、软件开发时间表、软件产品功能需求/设计说明书等相关需求文档。

作业流程及其管理方法

No. 作业过程名 作业内容/管理方法 作业人 输出

1.立项当立项条件达到,测试leader指定测试组员,测试组员整理相关资料组织立项动作测试leader、测试组员测试计划

2需求初审测试leader组织需求的初审,邀请测试组员一起对需求进行审读,确认该版本对应的配置、资源,确认对应的测试策略测试leader、测试组员

3测试安排测试leader根据需求安排测试人员进行需求分析与培训,并分配测试用例编写与维护任务

4测试设计测试进行TestCase的编写,然后由测试leader制定测试用例的评审计划并按照计划进行评审;(要求开发人员、测试工程师);测试要将每次Case的评审结果进行记录,测试leader在使用Case前进行评审结果的确认;

测试leader确认最终的Testcase和评审记录。

测试leader、测试组员测试用例

Case编写的依据:

软件需求文档;相关规范和标准;

Case 编写基本规则;

1. 以相关需求文档为编写依据;

2. 使用条件和路径覆盖法判定Case的覆盖率;

3. Case的易理解和易操作性;

4. 针对不同测试目的编写测试用例;

5. 根据不同的测试类型编写测试用例(界面一致性、功能符合性、兼容性、性能稳定性)

5.测试计划编写和评审当测试用例完成后需要组织开发、PM等相关人员进行评审;

当计划定稿后,测试leader需要严格按照制定的计划安排测试;

测试leader

测试计划评审注意事项:

1. 保证测试计划要符合开发计划

2. 测试的全面性;

输出

测试用例

3.2 测试执行阶段

3.2.1软件执行阶段流程图
流程图解析

     1.根据整个软件测试执行过程,按时间分成三等分,分别为T1:测试初期、T2:测试中期、T3:测试后期

T1:测试初期这个阶段,主要执行确认测试、基本功能的测试。确认测试的目标需要确保软件完全符合设计文档。基本功能的测试的重点是执行测试用例,尽可能多的去暴露基本功能的问题,测试的执行方式以执行测试用例为主。

T2:测试中期采用自由测试为主,除做性能测试流程图是什么了测试基本功能外,还需要重点测试性能、用户体验性测试、兼容性测试。其中性能测试可借助于Perfdog工具进行测试。

T3:测试后期阶段,这个阶段仍然需要执行多遍测试用例以确保基本功能的实现完全没有问题。

系统测试分为三个阶段,并不是单纯的时间三等分,而是每个时间段都需要达到测试目标。若没有达到测试目标,测试leader需要及时调节计划,并组织分析问题,避免因为测试不到位的原因导致版本延期。

3.2.2软件测试执行阶段人员活动

目的

有效的制定系统测试的软件测试计划;

按照计划进行测试,发现软件中的存在的问题(包括:界面、需求、功能、兼容性、性能等方面问题)。

对软件中已经解决的问题进行有效的验证;

判定测试过程和问题验证的有效性;

进入条件

完成测试计划和测试用例;

已确认软件测试申请、软件版本

输入

软件测试计划和软件测试用例。

软件版本;

作业流程及其管理方法

NO 作业过程名 作业内容 / 管理方法 作业人 输出结果

1测试任务安排测试leader获得软件版本后,确认后根据测试目的制定版本测试计划;

测试计划完成后,向组内成员介绍版本基本情况、测试时间安排等 

测试leader每个新版本软件测试计划

2系统测试测试接收到软件测试申请并确认版本在发布时已提供相关信息后,安排测试依据测试用例进行系统测试或进行自由测试;

在测试阶段,版本的第一轮和最后一轮测试必须至少执行一个完整的周期。包括过一遍完整的case;

测试leader

组员

测试报告

3验证测试每个版本对以前已修改的BUG进行验证,若确认已经修改,可执行关闭操作。组员

4性能测试测试leader安排组员,按照《性能测试用例》进行测试,主要采用与对比机对比测试得出内存峰值结果;组员内存峰值测试报告

6兼容性测试测试PM安排工程师,按照《兼容性测试用例》进行对不同型号不同系统版本进行验证测试组员兼容性测试报告

 

输出

每个新版本软件测试计划、测试报告、内存峰值测试报告、兼容性测试报告

3.2.3测试扫尾工作

目的

根据测试结果,组织版本评估

做好测试总结,积累好的经验,去除不好的东西

进入条件

完成了测试执行阶段,PM申请上线

作业流程及其管理方法

NO 作业过程名 作业内容 / 管理方法 作业人 输出结果

1版本评估上线前,测试leader书写软件测试报告并组织版本评估会议,邀请开发leader、项目经理等管理人员组织版本评估会议,最终由项目经理确认软件是否能够上线。项目经理(PM)

测试leader

测试组员

软件开发leader等

评估结果

2测试总结测试leader组织测试进行总结性会议,总结测试经验测试leader

测试组员

3维护测试当收到用户反馈的严重性问题,测试leader组织测试验证并提交问题到JIRA跟踪;

开发人员重新集成版本修改问题,测试leader验证后并组织一次全面的测试确保版本

测试leader

测试组员

测试报告

 

 

4.结语

      软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。测试流程制定的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件测试任务。避免不足的测试使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。然而一个规范实用的流程,往往可以改善软件测试的效率。流程的制定为测试计划的制定、测试过程的执行提供了文档性的帮助。让每一个测试很清晰的明白,软件测试周期中每个时段该去怎么做。

     该流程的制定不是一成不变,在执行过程中若发现有不足之处,做性能测试流程图是什么我们将更新此文档,直到完全适用于我们的项目流程。

软件测试基本流程

需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team
2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager
3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester
4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)
5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)
6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester
7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.
8.用户体验、软件发布等……

测试的流程是怎样的?

测试是什么?测试流程是怎样的?
1、按是否查看程序内部结构分为:
(1)黑盒测试(black-box testing):只关心输入和输出的结果
(2)白盒测试(white-box testing):去研究里面的源代码和程序结构
此外,还有灰盒测试:介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
2、按是否运行程序分为:
(1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。
静态测试包括:
对于代码测试,主要是测试代码是否符合相应的标准和规范。
对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。
(5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程
3、按阶段划分:
(1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。
桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
(2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。
集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。
(3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试的主要依据是《系统需求规格说明书》文档。
(4)验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。
验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。
4、黑盒测试分为功能测试和性能测试:
1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
包括逻辑功能测试(logic function testing)
界面测试(UI testing)UI=User Interface
易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。
兼容性测试(compatibility testing):包括硬件兼容性测试和软件兼容性测试
2)性能测试(performance testing)
软件的性能主要有时间性能和空间性能两种
时间性能:主要指软件的一个具体事务的响应时间(respond time)。
空间性能:主要指软件运行时所消耗的系统资源。
软件性能测试分为:
一般性能测试:指的是让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
稳定性测试也叫可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定程度。
负载测试(load testing):是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
压力测试(stress testing):是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。(Validate the system or software can allowed the biggest stress.)
5、其他测试类型:
回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)
冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。(validate the major function is deployed or not in software of system when a new build or release is implement.)
随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。(means or all the test data is random, to validate the some edge bugs.)
测试流程
1.通用的测试流程:
需求——》开发——》自测(开发)——》产品/设计验收——》提测——》测试——》上线
2.流程要持续优化,不断改进,满足工作需要(如产品通过发邮件通知,如开发代码的review,如单元测试的推进)一切都为了产品的质量。
3.持续集成,结果及时反馈。

性能测试到底该怎么做?

作为一名开发者,我们最长听到的就是编程界的三高:

高性能、高并发、高可用。

听起来非常高大上,但是性能到底如何呢?又该如何评定呢?

这次我们谈一谈性能测试,看一看到底什么样才叫做高性能。

本文主要从以下几个方面进行讨论。

(1)性能测试是什么?

(2)为什么需要性能测试?

(3)性能测试如何做?

(4)有哪些性能测试的工具

老马曾经说过,你想理解一件事物,首先必须先定义它。

这里直接引用一下百科中的定义:

性能测试的定义也不难理解,往往定义本身阐述了性能测试的作用。

如果你是一名开发、测试,平时接手过不少需求,可能性能测试接触的也不多。

每一个需求,都有对应的功能性需求和肺功能性需求。

功能性需求是产品需求文档中最直接的,需要实现的功能目标。简称,能用就行。

非功能性需求则要宽泛的多,架构设计是否合理?是否便于后期拓展?是否便于监控?代码实现是否优雅?文档注释是否完整?

就像你写了一只鸟,鸟头做螺旋桨非能飞起来,但是在架构设计上可能是不合理的。

飞起来

一个查询功能,用户点击查询,10S 种才返回数据,功能上是满足的,但是性能上是不能接受的。

线上的交易功能平时各方面都很棒,节假日高峰期直接系统就瘫痪了。

那如何避免这些问题出现在生产上呢?

这就需要上线之前,首先做好对应的性能测试,避免再生产上出现问题,带来严重的生产事故。

性能要高,性能要硬,性能测试,又高又硬!

又高又硬

做一件事情之前,我们首先要确定好自己的目标。

性能测试,到底要测试什么?

有些类似于开发过程中的需求分析,常见的测试指标如下。

响应时间是指某个请求或操作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。

作为用户而言,在页面点击查询,等待了多久才能获取结果,这个就是响应时间。

用户不关心你后端经过了多少个服务,慢就是原罪。

对于微服务系统,链路监控就显得比较重要。可以帮助我们快速定位到底慢在哪里。

TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。

我看网上还有很多类似的概念:点击量/点击率、吞吐量/吞吐率、PV/UV,这里不做赘述。

个人看来本质上 TPS/QPS 就是去压测你应用的极限,当访问量较大的时候,程序能否活下来?

这里主要涉及到两个概念:高性能和高可用。

我们后面会简单讨论下这两点。

明确了测试指标之后,就需要进行测试的准备。

环境准备:比如你想压测数据库,那就需要准备对应配置的数据库资源。

脚本的准备:数据初始化脚本,调用脚本等。

这个可以类比开发过程中的代码开发。

ps: 性能压测一般不是很常用,所以环境准备流程会比较长,这一点需要注意。

当进行测试之后,测试的结果一定要给出一份报告出来。

是否通过压测要求?

最高的 QPS 是多少?

这样开发可以根据这份报告进行相应的优化。

提升性能的内容写一本书也不为过,这里简单罗列一些最常用的几点:

(1)慢 SQL

一般程序如果响应时间较长,可以首先看一下慢 SQL。

看下是否需要增加索引,或者进行 SQL 优化。

(2)缓存

针对查询,性能提升最显著的就是引入缓存。

当然,引入缓存会使架构变得复杂,这一点要结合自己的实际业务。

(3)硬件升级

如果程序优化的空间比较小,可以考虑升级一下硬件资源。

比如服务器配置翻倍,数据库配置翻倍。

什么?你说公司没钱升级?

没钱升级做什么压测?

这个时候测试报告的作用就显露了,直接用数据说话。

直接说 QPS 达不到生产要求,程序优化的空间很小,推荐硬件升级配置,升级到多少。

做人,要以德服人。

做测试,要用数据说话。

以德服人

测试最常用的工具当属 jmeter。

除此之外,还有一些其他的工具:

LoadRunner、QALoad、SilkPerformer和Rational Performance Tester。

下面对几个工具做下简单介绍

Apache JMeter 可以用于测试静态和动态资源(Web动态应用程序)的性能。

它可以用于模拟服务器、服务器组、网络或对象上的负载,以测试其强度或分析不同负载类型下的总体性能。

将负载测试集成到开发工具中:IDE、jUnit、nUnit、Jenkins、Selenium和Microsoft Visual Studio。

从12.55版本开始,您可以运行您的JMeter脚本,并在任何性能测试中集成JMeter和附加的脚本类型。

ps: 这个设计理念就非常好,可以和成熟的工具进行整合。站在巨人的肩膀上。

QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。

QALoad可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现问题对系统性能进行优化,确保应用的成功部署。

ps: 这个工具本人没有接触过。

SilkPerformerV可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。

可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。

作为 DevOps 方法的一部分,IBM Rational Performance Tester 帮助软件测试团队更早、更频繁地进行测试。

它验证 Web 和服务器应用程序的可扩展性,确定系统性能瓶颈的存在和原因,并减少负载测试。

您的软件测试团队可以快速执行性能测试,分析负载对应用程序的影响。

ps: 这一款工具有 IBM 提供,质量值得信赖。

这么多工具可供使用,相信读到这里的小伙伴已经找到了自己心仪的测试工具。

别急,下面专门为做 java 开发的小伙伴们推荐一款性能测试工具。

男人有男人的浪漫,开发者当然也要有开发者的浪漫。

【男人的浪.jpg】

作为一名开发者,老马平时单元测试使用 junit 最多。

所以一直希望找到一款基于 junit 的性能压测工具,后来也确实找到了。

@JunitPerfConfig 指定测试时的属性配置。(必填项)

使用如下:

@JunitPerfRequire 指定测试时需要达到的要求。(选填项)

使用如下:

对应的测试报告生成方式也是多样的,也允许用户自定义。

基于控台日志:

或者基于 HTML:

junitperf

本文对性能测试做了最基本的介绍,让小伙伴们对性能压测有一个最基本的理解。

测试和开发一样,都是一件费时费力,而且需要认真做才能做好的事情,其中的学问不是一篇就能说清的。

性能测试工具也比较多,本文重点介绍了专门为 java 开发者打造的 junitperf 工具。

下一节我们将从源码角度,讲解一下 junitperf 的实现原理。

我是老马,期待与你的下次重逢。

开源地址:https://github.com/houbb/junitperf

如何进行Web服务的性能测试

贴一篇我们内部的文章:
随着浏览器功能的不断完善,用户量不断的攀升,涉及到web服务的功能在不断的增加,对于我们测试来说,我们不仅要保证服务端功能的正确性,也要验证服务端程序的性能是否符合要求。那么性能测试都要做些什么呢?我们该怎样进行性能测试呢?
性能测试一般会围绕以下这些问题而进行:
1. 什么情况下需要做性能测试?
2. 什么时候做性能测试?
3. 做性能测试需要准备哪些内容?
4. 什么样的性能指标是符合要求的?
5. 性能测试需要收集的数据有哪些?
6. 怎样收集这些数据?
7. 如何分析收集到的数据?
8. 如何给出性能测试报告?
性能测试的执行过程及要做的事儿主要包含以下内容:
1. 测试评估阶段
在这个阶段,我们要评估被测的产品是否要进行性能测试,并且对目前的服务器环境进行粗估,服务的性能是否满足条件。
首先要明确只要涉及到准备上线的服务端产品,就需要进行性能测试。其次如果产品需求中明确提到了性能指标,那也必须要做性能测试。
测试人员在进行性能测试前,需要根据当前的收集到的各种信息,预先做性能的评估,收集的内容主要包括带宽、请求包大小、并发用户数和当前web服务的带宽等
2. 测试准备阶段
在这个阶段,我们要了解以下内容:
a. 服务器的架构是什么样的,例如:web服务器是什么?是如何配置的?数据库用的是什么?服务用的是什么语言编写的?;
b. 服务端功能的内部逻辑实现;
c. 服务端与数据库是如何交互的,例如:数据库的表结构是什么样的?服务端功能是怎样操作数据库的?
d. 服务端与客户端之间是如何进行交互的,即接口定义;
通过收集以上信息,测试人员整理出服务器端各模块之间的交互图,客户端与服务端之间的交互图以及服务端内部功能逻辑实现的流程图。
e. 该服务上线后的用户量预估是多少,如果无法评估出用户量,那么可以通过设计测试执行的场景得出这个值;
f. 上线要部署到多少台机器上,每台机器的负载均衡是如何设计的,每台机器的配置什么样的,网络环境是什么样的。
g. 了解测试环境与线上环境的不同,例如网络环境、硬件配置等
h. 制定测试执行的策略,是需要验证需求中的指标能否达到,还是评估系统的最大处理能力。
i. 沟通上线的指标
通过收集以上信息,确定性能测试用例该如何设计,如何设计性能测试用例执行的场景,以及上线指标的评估。
3. 测试设计阶段
根据测试人员通过之前整理的交互图和流程图,设计相应的性能测试用例。性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数量测试,网络性能测试,服务器性能测试,具体编写的测试用例要更具实际情况进行裁减。
用例编写的步骤大致分为:
a. 通过脚本模拟单一用户是如何使用这个web服务的。这里模拟的可以是用户使用web服务的某一个动作或某几个动作,某一个功能或几个功能,也可以是使用web服务的整个过程。
b. 根据客户端的实际情况和服务器端的策略,通过将脚本中可变的数据进行参数化,来模拟多个用户的操作。
c. 验证参数化后脚本功能的正确性。
d. 添加检查点
e. 设计脚本执行的策略,如每个功能的执行次数,各个功能的执行顺序等
4. 测试执行阶段
根据客户端的产品行为设计web服务的测试执行场景及测试执行的过程,即测试执行期间发生的事儿。通过监控程序收集web服务的性能数据和web服务所在系统的性能数据。
在测试执行过程中,还要不断的关注以下内容:
a. web服务的连接速度如何?
b. 每秒的点击数如何?
c. Web服务能允许多少个用户同时在线?
d. 如果超过了这个数量,会出现什么现象?
e. Web服务能否处理大量用户对同一个页面的请求?
f. 如果web服务崩溃,是否会自动恢复?
g. 系统能否同一时间响应大量用户的请求?
h. 打压机的系统负载状态。
5. 测试分析阶段
将收集到的数据制成图表,查看各指标的性能变化曲线,结合之前确定的上线指标,对各项数据进行分析,已确定是否继续对web服务进行测试,结果是否达到了期望值。
6. 测试验证阶段
在开发针对发现的性能问题进行修复后,要再执行性能测试的用例对问题进行验证。这里需要关注的是开发在解决问题的同时可能无意中修改了某些功能,所以在验证性能的同时,也要关注原有功能是否受到了影响。
想看原文或者有测试其他相关的问题可以关注下 搜狗测试 微信公众号,我们上面有不少关于性能测试分享~

软件测试的流程是什么?


需求分析与架构设计:

做性能测试流程图是什么我们做的是某一移动公司内部使用的项目做性能测试流程图是什么,需求分析与架构全部由项目经理完成做性能测试流程图是什么,之后由项目经理给具体某个开发人员分配任务,具体对某个功能模块的实现。这个对项目经理的经验与技术要求很高,他既然担任了需求分析师,又担任架构师的角色。

程序员编码:

因为我们开发语言用的是JAVA 语言,IDE用MyEclipse中自带的CVS版本管理工具,开发人员完成代码后,提交到版本库中。

测试:

我入职后的第一个任务是搭建缺陷管理工具,禅道项目管理,通过推广对发现的问题进行跟踪。后来正明效果并不好,因为对于一个六七人的开发团队项目,开发人员更喜欢测试人员能当面反馈,这样更能提高效率。对一个小 bug 通过当面交流的方式就可以将问题修复。

对于当时的环境,并没有测试环境。开发人员在本机上将项目进行部署运行。测试人员通过局域网访问开发人员的机子进行测试。或在测试人员本机上进行部署测试。这也是一个致命的缺点。因为开发人员测试人员使用的电脑存在太多不稳定因素,这些都会造成问题的出现,有时候难以判定是系统问题还是环境问题。

上线:

经过测试人员测试通过后,开发人员部署上线。

A程序员流程

做性能测试流程图是什么你会发现在流程图中,A程序员是先发上线之后,再进行测试。这是我们一个面向大众用户的网站,上面给与测试人员的定位是测试兼用户体验,测试将发现的bug和体验问题提交到缺陷管理系统,由经理对问题进行分析,指派开发人员解决。定期对系统进行更新。

流程分析:

这个流程唯一的优点,就是能快速的发现并修复问题。

缺点就非常多了,相信许多小软件公司也有类似的流程。

这个流程中,项目经理是核心,项目经理也确实是有多年开发与项目经验的牛人,他喜欢不定期分享上些前沿的技术。

对于测试来说,需求很不明确,测试文档与用例也是可有可无的产物,没有需求文档,或非常简陋,根据需求文档根本无法编写用例。我只能收集一些通用的测试用例,如登录、文件上传下载、列表翻页、日期选择、输入框验证、搜索等有一些“通用型”用例,以便在测试过程中做参考。功能测试的多了,拿到一个功能,测试思路也就出来了。

关于做性能测试流程图是什么和功能测试流程图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 做性能测试流程图是什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于功能测试流程图、做性能测试流程图是什么的信息别忘了在本站进行查找喔。
上一篇:虚拟智能与群智能将是人工智能的发展趋势
下一篇:智能家居的最大刚需是“智能安防”,而非“智能家电”
相关文章

 发表评论

暂时没有评论,来抢沙发吧~