性能测试总结(2)

合集下载

性能测试报告总结

性能测试报告总结

性能测试报告总结引言性能测试是评估系统在不同负载下的性能表现的过程。

通过性能测试,我们可以得到系统的吞吐量、响应时间、并发性等指标,从而找到系统的瓶颈并优化性能。

本报告总结了我们对某系统进行的性能测试的结果与分析。

测试环境•测试系统:某系统版本X.Y.Z•测试环境:云服务器,配置为4核8G内存•测试工具:Apache JMeter测试目标1.测试系统能够在预期负载下正常工作,不出现严重性能问题。

2.测试系统的最大吞吐量,找到系统的瓶颈。

3.测试系统的响应时间,保证用户在合理时间内获得响应。

4.测试系统的并发性能,验证系统的稳定性。

测试方案1. 场景设计我们根据实际情况设计了以下场景: 1. 登录场景:模拟用户登录系统,收集登录请求的吞吐量和响应时间。

2. 浏览场景:模拟用户浏览系统中的内容,收集浏览请求的吞吐量和响应时间。

3. 数据操作场景:模拟用户进行数据操作,如创建、更新、删除操作,收集操作请求的吞吐量和响应时间。

2. 负载设置我们根据实际用户数量以及用户的行为模式设置了以下负载模型: 1. 登录负载:并发用户数逐渐增加,达到预期用户量,并保持一定时间。

2. 浏览负载:并发用户数维持在预期用户量,并保持一定时间。

3. 数据操作负载:并发用户数维持在预期用户量,并保持一定时间。

3. 测试指标我们主要关注以下测试指标:- 吞吐量:每秒钟处理的请求数量。

- 响应时间:从发出请求到收到响应的时间。

- 错误率:请求失败的数量占总请求数的比例。

测试结果与分析1. 登录场景在登录场景下,吞吐量随着并发用户数的增加而增加,但增长逐渐趋缓。

当并发用户数达到200时,吞吐量达到峰值,之后增长较慢。

响应时间在并发用户数较低时保持稳定,当并发用户数增加到一定数量时,响应时间逐渐增加。

2. 浏览场景在浏览场景下,吞吐量与并发用户数呈现线性关系,当并发用户数增加时,吞吐量逐渐增加。

响应时间在并发用户数较低时保持稳定,当并发用户数增加到一定数量时,响应时间逐渐增加。

性能测试结果分析

性能测试结果分析

性能测试结果分析性能测试是一种评估软件系统运行效率和稳定性的方法,通过模拟真实的使用场景和负载条件,对系统进行压力测试和负载测试,并对测试数据进行分析,以评估系统的性能。

性能测试的结果是评估系统的关键指标,并提供了进一步优化系统性能的依据。

在进行性能测试后,我们需要对测试结果进行分析,以获取系统的性能数据并解读这些数据。

以下是对性能测试结果的分析和解读的一般步骤:1.确定关键指标:首先,我们需要确定关键指标,这些指标与系统性能有关。

这些指标可以包括响应时间、吞吐量、并发用户数、资源利用率等。

根据系统的性质和要求,选择适当的指标。

2. 数据整理和清洗:对测试结果进行整理和清洗,去除异常数据和噪声数据,确保分析结果准确可靠。

这一步骤通常涉及使用数据分析工具,如Excel、Python等。

3.统计指标分析:使用合适的统计方法对指标进行分析。

对于持续型变量,可以计算平均值、中位数、最大值、最小值等。

对于分类型变量,可以计算百分比、频数等。

统计分析可以帮助我们了解系统的性能状况,如平均响应时间、最大并发用户数等。

4.与标准值比较:将得到的性能指标与预先设定的标准值进行对比。

标准值可以是已经存在的相似系统的性能指标,也可以是业务需求和用户期望的指标。

通过与标准值比较,可以判断系统性能是否符合预期,并找出存在的性能问题。

5.瓶颈分析:根据测试结果,找出系统的性能瓶颈点。

性能瓶颈是指限制系统性能提升的原因,可能是硬件资源受限、软件设计问题、数据库访问延迟等。

通过分析性能瓶颈,可以确定问题的根源并优化系统性能。

6.建议和优化措施:根据测试结果和瓶颈分析,提出相应的改进建议和优化措施。

这些建议和措施可以包括硬件升级、软件优化、网络优化等。

通过实施这些改进措施,可以提高系统的性能和稳定性。

总之,在性能测试结果分析中,我们需要将测试数据整理和清洗,并使用统计方法对指标进行分析。

通过与标准值比较,找出系统的性能瓶颈并提出改进建议。

性能测试指标TPS(TransactionperSecond)总结

性能测试指标TPS(TransactionperSecond)总结

性能测试指标TPS(TransactionperSecond)总结性能测试指标TPS(Transaction per Second)总结TPS(Transaction per Second)定义: tps是Transaction per Second的缩写,也就是事物数/秒。

它是软件测试结果的测量单位,⼀个事物是指⼀个客户机向服务器发送请求饭后服务器做出反应的过程。

客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使⽤时间和完成的事物数,最终利⽤这些信息来估计得分。

TPS(Transaction per Second)作⽤: 反映了系统在同⼀时间内处理业务的最⼤能⼒,这个数据越⾼,说明处理能⼒越强,描述(看到系统的TPS随着时间的变化逐渐变⼤,⽽在不到多少分钟的时候系统 每秒可以处理多少个事物。

这⾥的最⾼值并不⼀定代表系统的最⼤处理能⼒,TPS会受到负载的影响,也会随着负载增加⽽逐渐增加,当系统进⼊繁忙期后,TPS会有所下降。

) ⽽在⼏分钟以后开始出现少量的失败事物)TPS(Transaction per Second)局限性: 1、tps是从客户端⾓度审视服务器处理能⼒,并不是说TPS可以达到什么程度就能⽀持多少并发(例如:⼀个业务100个交易,另⼀个业务10个交易)。

2、TPS = 脚本运⾏期间所有事物总数 / 脚本运⾏时长,如果使⽤集合点策略,在脚本执⾏前的等待时间过程中,服务器没有处理事务,那么这个时候的TPS和理想中的结果不⼀致。

3、限制TPS的原因:服务器本⾝性能、代码结构、客户端施加的压⼒以及⽹卡等。

TPS(Transaction per Second)与响应时间的关系: 1、TPS和响应时间在理想状态下的额定值。

如果20个⼊⼝,并发数只有10的时候,TPS就是10,⽽响应时间始终都是1,说明并发不够,需要增加并发数达到TPS的峰值。

2、如果增加到100并发,则造成了线程等待,引起平均响应时间从 1 秒变成 3 秒,TPS也从20下降到9;TPS和响应时间都是单独计算出来的,两者不是互相计算出来的。

性能测试总结

性能测试总结

性能测试总结引言在软件开发的过程中,性能往往是一个至关重要的指标。

一款优秀的软件应当能够在大量用户同时访问的情况下,仍然能够保持良好的响应速度和稳定性。

为了确保软件在真实环境下能够满足用户的需求,性能测试成为了不可或缺的一环。

本文将对性能测试的目的、常用方法和一些实际案例进行总结和分析。

性能测试的目的性能测试旨在评估软件在正常和峰值负载下的性能,以便检测潜在的瓶颈以及为后续优化提供数据支持。

通过性能测试,我们可以了解到系统的吞吐量、响应时间、并发用户数等关键性能指标,进而得出系统是否能够满足用户的需求以及在何种情况下可能会出现性能问题的结论。

性能测试的方法1. 负载测试负载测试旨在通过模拟多种用户并发访问系统的情况,来评估系统在不同负载下的性能表现。

负载测试时,可以通过逐渐增加并发用户数、延长持续时间等方式,逐步加大系统的压力,确保系统稳定和可靠性的评估。

举例来说,一个电子商务网站可以通过负载测试来验证在大量用户同时购物、结算的情况下,系统的响应时间是否合理,以及是否能够支持某一时间段内的高并发访问。

2. 压力测试压力测试着重于评估系统在超负荷的情况下的表现。

通过逐渐增加负载压力,压力测试可以帮助我们确定系统可能在何种情况下出现性能瓶颈或崩溃。

举例来说,一个即时通讯应用可以通过压力测试来验证在大量用户同时发送消息和连接服务器的情况下,系统是否能够保持流畅和稳定。

3. 容量测试容量测试旨在确定系统能够处理的最大负载量。

通过逐步增加负载和观察系统的表现,容量测试帮助我们找到系统能够处理多少用户或多少事务的极限。

举例来说,一个在线视频平台可以通过容量测试来评估在同时有大量用户播放高清视频的情况下,系统是否能够保持稳定、视频加载速度是否可接受。

性能测试实例1. 社交媒体平台一个社交媒体平台进行性能测试,目的是验证在大量用户同时发布信息、点赞和评论的情况下,平台是否能够保持良好的用户体验。

通过负载测试,可以确定在哪一时刻平台的性能可能会受到挑战,进而制定相应的优化策略。

Oracle的性能测试经验总结

Oracle的性能测试经验总结

前段时间,在阿里妈妈新机房压力测试过程中用到了LR测试ORACLE,跟DBA一起在杭州网通新机房进行1000用户的压力模拟测试。

整个压力测试耗时两天。

以下是一些经验:1)压力测试过程中发现一些SQL脚本执行非常慢,进行了优化。

2)最好并发测试,否则服务基本上没有什么压力。

3)先从100用户开始,再慢慢向上加,直到CPU的承载达到90%以上。

查看系统的性能情况,包括TPS,响应时间,和内存等。

还包括oracle服务器的I/O流量和交易数。

这个方案是参考了淘宝的机房性能测试方案,下面是性能测试的具体步骤:oracle的性能测试主要是模拟大量的sql语句操作,来对数据库服务器进行加压。

在测试前,需要准备以下要模拟的sql语句,测试脚本,并将测试控制机、测试加压机、被测数据库服务器准备妥当。

脚本协议选择oracle(2-Tier),将所有要模拟的sql语句放在一个sql文件内,使用sql-plus 来操作数据库载入,使用loadrunner来录制。

录制好之后就是修改脚本了,首先在vdf.h文件中定义变量(static void FAR * OraBind1;),定义参数(static LRD_VAR_DESC UID ={LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_ORACLE, {1, 1, 0},DT_SF_STRIPPED_SPACES};)。

为什么要在这里定义而不直接只用参数化呢?因为那样会对加压机造成很大的压力,不利于测试。

这里需要根据你的脚本来变化,你在脚本中使用了多少变量,多少参数,那么你就在要这里定义多少。

接下来修改脚本的,将一次性的登陆登出放在init和end中,使用lrd_assign和lrd_ora8_bind_placeholder命令替代参数,如lrd_ora8_stmt(OraStm6, "SELECT COUNT(*) as counter FROM ***** WHERE ***_id="":U and ( status = 0 or ""status is null)", 1, 0, 0);lrd_assign(&UID , "{UID}", "", 0, 0);lrd_ora8_bind_placeholder(OraStm6, &OraBind1, "U", &UID , 0, 0, 0);这样,脚本就差不多大功告成了。

性能测试问题总结

性能测试问题总结

性能测试问题总结在软件开发和系统优化的过程中,性能测试是至关重要的环节。

通过性能测试,我们可以发现系统在处理大量用户请求、高并发场景以及复杂业务逻辑时可能出现的性能瓶颈和问题。

然而,在进行性能测试的过程中,往往会遇到各种各样的挑战和问题。

接下来,我将对常见的性能测试问题进行总结和分析。

一、测试环境问题1、硬件配置不一致在性能测试中,如果测试环境的硬件配置与生产环境存在较大差异,那么测试结果的参考价值就会大打折扣。

例如,生产环境使用的是高性能服务器,而测试环境使用的是配置较低的服务器,可能导致测试结果显示系统性能良好,但在实际生产环境中却出现性能瓶颈。

2、网络环境差异网络环境的不同也会对性能测试结果产生影响。

测试环境中的网络带宽、延迟和丢包率等参数可能与生产环境不同,从而导致测试结果无法真实反映系统在实际网络环境中的性能表现。

3、软件版本不一致测试环境中使用的软件版本与生产环境不一致,可能会引入一些未知的差异。

例如,数据库版本、中间件版本的不同,可能会导致性能表现的差异。

二、测试脚本问题1、脚本逻辑错误性能测试脚本的逻辑如果存在错误,可能会导致测试结果不准确。

例如,没有正确模拟用户的操作流程,或者在脚本中存在重复请求、遗漏关键步骤等问题。

2、参数化不合理在性能测试中,常常需要对一些数据进行参数化,以模拟真实的用户场景。

如果参数化不合理,例如参数取值范围不合理、参数分布不均匀等,可能会导致测试结果无法反映真实的系统性能。

3、关联和断言设置不当脚本中的关联和断言设置不当,可能会导致测试失败或者测试结果不准确。

例如,关联没有正确获取到动态数据,断言设置过于严格或宽松。

三、测试数据问题1、数据量不足如果测试数据量不足,无法模拟真实的业务场景,可能会导致系统在处理大量数据时出现性能问题。

2、数据分布不合理测试数据的分布如果不合理,例如某些数据类型出现的频率过高或过低,可能会影响测试结果的准确性。

3、数据质量问题测试数据中存在错误、重复或不完整的数据,可能会导致系统在处理数据时出现异常,从而影响性能测试结果。

性能测试方案和性能测试报告小结

性能测试方案和性能测试报告小结

性能测试⽅案和性能测试报告⼩结1、性能测试⽅案 性能测试⽅案应该详尽地描述如何进⾏性能测试,其中应该⾄少包括:测试背景、测试⽬的、测试范围、测试进⼊条件、测试退出条件、测试指标要求、测试策略、测试时间、测试风险和测试资源。

其中测试范围、测试进⼊条件、测试退出条件、测试策略、测试风险、测试资源尤其重要。

1)测试进⼊条件 (1)不遗留L1的缺陷。

(2)性能测试数据准备完毕。

(3)系统功能测试已结束。

2)测试退出条件 (1)各场景执⾏时间达到测试场景要求。

(2)系统出现⼤量错误,暂停执⾏性能测试。

3)测试通过标准 (1)平均响应时长满⾜测试指标要求。

(2)90%响应时长满⾜测试指标要求。

(3)2⼩时压⼒测试中脚本没有报错。

4) 测试策略 (1)测试发起策略 压⼒发起点 Loadrunner压⼒产⽣-->后台服务器。

本次性能测试使⽤HP公司的Loadrunner 11.0 ⼯具发起压⼒,加压策略为5vuser/5秒到指定虚拟⽤户数,执⾏完成后所有⽤户同时停⽌运⾏。

测试执⾏过程中,各交易⽆迭代等待时间。

(2)测试执⾏策略 基准测试——单交易负载测试——综合交易负载测试——稳定性测试 (3)测试监控策略 本次测试环境中Web服务器主机资源监控采⽤nmon进⾏监控。

监控详细信息如下:监控⼯具监控指标nmon CPUCPU-User%:User占CPU百分⽐CPU-Sys%:Sys占CPU百分⽐CPU-Wait%:CPU 等待IO时间百分⽐CPU-Idle%:CPU空闲时间百分⽐MemoryMemory-%Used:内存占⽤率Memory-%Free:内存空闲率DiskDisk-Busy:磁盘IO繁忙度Disk-Read:磁盘读速度Disk-Write:磁盘写速度2、性能测试报告 ⼀份性能测试报告,⾄少应该包含如下内容: (1)测试基本信息:包含测试⽬的、报告⽬标读者、术语定义、参考资料。

软件测试报告性能测试总结与修复方案

软件测试报告性能测试总结与修复方案

软件测试报告性能测试总结与修复方案软件测试报告性能测试总结与修复方案一、背景介绍近年来,随着软件开发的快速发展,越来越多的软件需要在大规模用户的情况下运行。

为了确保软件的高性能和稳定性,性能测试成为一项关键的测试工作。

本报告旨在总结本次软件性能测试的结果,并提出相应的修复方案,以保证软件在各种不同负载情况下的正常运行。

二、测试概述1. 测试目标本次性能测试的主要目标是评估软件在高负载和大并发用户情况下的性能表现。

同时,也需要测试软件在不同硬件配置和网络环境下的可扩展性。

2. 测试内容本次性能测试主要包含以下几个方面的测试内容:- 响应时间:测试软件在各个功能模块下的响应时间,以评估其在用户操作时的实时性。

- 吞吐量:测试软件在单位时间内能够处理的请求数量,以评估其对并发用户的支持能力。

- 并发用户数:测试软件在负载较高情况下能够同时支持的用户数量,以评估其在高并发环境下的稳定性。

- 资源利用率:测试软件在运行过程中所占用的系统资源情况,以评估其对硬件资源的消耗情况。

三、测试结果经过一系列测试,我们获得了以下性能测试结果:1. 响应时间不同功能模块的平均响应时间如下:- 模块A:平均响应时间为X毫秒- 模块B:平均响应时间为X毫秒- 模块C:平均响应时间为X毫秒2. 吞吐量在不同负载下,软件的吞吐量如下:- 负载1:吞吐量为X请求数/秒- 负载2:吞吐量为X请求数/秒- 负载3:吞吐量为X请求数/秒3. 并发用户数在高并发情况下,软件能够支持的最大并发用户数为X个。

4. 资源利用率在运行过程中,软件对系统资源的平均占用情况如下:- CPU利用率:平均占用X%- 内存利用率:平均占用X%- 网络带宽:平均占用X Mbps四、问题分析根据以上测试结果,我们发现软件在一些方面存在性能问题,主要表现在以下几个方面:1. 响应时间过长:部分功能模块的平均响应时间超过了预期要求,用户体验受到了影响。

2. 吞吐量下降:在高负载情况下,软件的吞吐量明显下降,不能满足大量同时请求的需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

性能测试总结第一章测试背景1. 项目背景2. 测试环境3. 入场水平性能测试理论:了解完整的性能测试流程,对每个流程的具体工作有认识,但内容并不十分深刻,不能够根据项目的不同灵活变化。

对性能测试名词的意义有明确的认识,包括广义的和狭义的。

LR使用:只能够熟练的安装LR的各个版本,熟练使用LR是在项目中学习的,更不知道各版本间的区别。

对协议的选择停留在http上,能够做简单的关联和参数化,对复杂脚本调试比较困难。

对场景的设置和结果分析没有明确的概念,可以看懂简单的监控曲线,对复杂的曲线没有分析经验。

测试基础:对测试基础理论有些思考。

在后边的了解系统业务逻辑时对和其他人员沟通起到了很大的作用。

自动化测试基础:掌握winbatch和autoit的基本应用,通过别人帮助能写出简单脚本,对后期测试起到很大帮助。

第二章测试过程1. 熟悉系统1)过程熟悉系统的过程大概使用两个月的时间,从最初拿到测试需求的时候就给自己很大的压力。

测试需求足足有500M以上的word文档,计算了一下,大概有12000页,怎么能够看得完,然而不看完又如何整理测试需求。

不过进场不久就想到了新的方法来熟悉系统,参与功能测试,于是开始参加各种功能测试的会议。

在会议中他们都会讨论业务逻辑,在讨论中就会熟悉一个一个的单点,然后逐渐将单点连接在一起。

在这个时候有一个人对我熟悉系统起到了很大的作用,FM。

她做了一个142步的集成测试用例,基本上是一个最小的专利审批流程,而且不厌其烦的给我讲了三遍以上(具体几遍已经记不清楚了,因为经常还会有单点请教她),从这开始,我基本对系统有了一个整体的掌握,了解十九个子系统之间的关系,了解各自的重要程度和覆盖的业务。

对后期整理需求起到了很大的帮助作用。

2)经验在熟悉系统的过程中,性能测试人员没有必要完全熟悉所有的功能,但要了解和性能测试相关的业务,并且对整个系统有整体把握。

这里总结出一条经验,要对比较大的系统进行把握,最好的办法是找到一个能够贯穿整个系统的路线,自己实际的去操作几次。

看到数据在系统中流动,自然的就会有感觉了。

然后在把自己操作的路线的各个点有目的地展开,在操作和展开的过程中去熟悉系统特有的一些名词,往往把比较陌生的名词都了解了,对系统也就基本掌握了,只要了解到大概就可以进行下一步,性能测试需求的调研工作。

2. 需求调研1)过程在需求调研阶段,三个同事都已经入场,接口人JJ也已经入场。

在我已经比较熟悉系统的情况下,和他们四个并不熟悉系统的搭档,开始了艰难的需求调研。

因为这事情主要由JJ来负责,所以开始的时候我们只告诉她应该同时考虑开发和用户的意见。

因为不熟悉项目,不认识周围的人,她一开始的时候只注意到开发的意见,而开发从开发的角度上去考虑问题造成很多歧义。

提出好多他们所关心的,但没有多少用户去用的功能,还有好多批处理的功能,甚至有些开发几乎想让我们把他们所做的所有功能全部测过。

但在这种艰难的情况下,JJ仍然写出了她的第一版性能测试需求。

这个时候因为互相不熟悉不理解,我们产生了很多的矛盾,她的很多做法给我带来了很多麻烦,我的一些话和一些做法也给了她很大的压力和困难。

后来因为她自己之力实在推动这个事情十分困难,头提出由我们出头去找用户进行一次详细的需求调研再由JJ整理成具体文档。

大概一周到两周的时间走访了几乎所有子系统的用户,但这里边又出现了一个问题,有些子系统的用户并不是很明白性能测试代表什么,而几乎是把所有的功能都说了一遍。

有些当我们解释过之后他们会放弃测试这些点的想法,有些则坚持让我们测试,当时JJ因为刚刚入职,自己并不是很敢做决定去掉哪些测试点。

结果就出现了一份具有100个点的测试需求,其中有些点还包括很多子功能点。

而后来在若干次的评审中,很多开发和用户都站在自己的角度上提了很多的问题出来,有很多是很难解决的。

尤其很多开发,不明白第三方的职责而提出很多他们的性能隐患,在若干次的需求评审过后这个事情基本定下来,但还没有得到最终的签字版。

最后整理之后发现竟然有30个以上的版本。

最后一版需求除了还没有开发完成的点以外其他点十分详细,详细到如何操作,操作后需要验证什么操作的什么指标。

在这个阶段大家都吃了不少的苦,尤其是JJ,能忍过这一段真的很不容易,在这为我自己在这一段给她添加的困难道歉。

2)经验在调研性能测试需求的时候,要尊重开发和用户的意见,但是一定要保留自己作为需求调研者的权力。

除非用户或者开发提供十分详细且已经成型的测试需求,不然一定在调研的时候表明他们的意见只能做为参考。

如果不这样很可能出现需求过多做不完的情况,本此测试就出现这种情况,虽然最后以优先级的方式解决了,但不是每个项目都可以通过这种方式解决的。

另外在需求调研的时候,还要凭借经验来判断对需求点测试的可行性,性能测试要求技术比较深,有些时候可能会有技术瓶颈,如果测试时间不充裕,尽量避免瓶颈的出现,以避免项目延期或者难以向用户或上级领导交代。

性能测试需求尽量不要写的特别详细,不然会让自己陷在这详细的需求中不能灵活掌握项目进度和操作方式。

3. 测试方案1)过程因为需求写的十分详细,所以方案也十分详细。

在这期间还专门写了一个针对脚本名称、事物名称、场景名称、结果名称的命名规范。

事实证明这个命名规范对后来的测试数据整理起到了巨大的作用。

在书写方案的过程中体现了模板的重要性,我建立了一个模板,然后大家都按照我的模板来写,这个阶段虽然漫长但也倒还算是轻松。

只是对几个专有名词的概念做了一下统一,其中比较明显的就是“并发”这个词。

为了给用户系统负载比较大的感觉,我们将并发的单位变成了每分钟多少用户,这样做实际是不正确的,给后期测试带来的了很大麻烦,经常要考虑实际并发用户到底是多少,应该如何换算。

其实“并发”这个词并不是一个时间段的概念,而是瞬间的概念,衡量一个时间点上用户数的多少。

另外,在整合的时候还出现了一些小问题,在文档写作的细节习惯上并不能完全的统一,造成我在把所有别人的方案拿过来的时候还要花很多时间调整格式和内容以达到文档的统一和美观。

进行两次方案的评审,评审进行的还算顺利。

2)经验命名文档十分重要,对后边的数据整理起到了巨大的作用。

在比较大的工程里,最好几个人要经过研究共同制订一个命名规则,这样大家都遵循这个规则去命名,可以在同伴不在的时候很容易明白他的某一个脚本或者结果的用途。

测试方案可以写的尽量详细,当然要在用户或者领导不检查是否完全按照方案执行的情况下。

本次测试中方案写的十分详细,脚本详细到每一个操作,需要监控的事务都标注的很清楚,场景详细到多少用户、执行时间、并发用户数和集合点,有些还加上备注说明,写清楚为什么添加这个场景,在何种情况下会出现此场景的情况。

这使我们在后边做执行的时候很容易了解到当时写这方案时的思想,有些东西可以直接拿来用而不用再思考一遍。

在书写方案的时候,如果几个人一起书写的话,一定要事先尽量统一书写的格式和方式,不然在整合的时候会十分的麻烦,要调整很多的格式。

另外整合的人要十分认真,按照我的经验至少要来回看文档三遍。

第一遍看整合的格式是否一致,是否有漏掉的不一致的地方,包括各个标题的格式、内容的格式、字体、字号等。

第二遍看错别字,在自己的能力范围之内尽量找出文档中的错别字,这种低级错误有时候会影响看文档人对写文档人的印象。

第三遍看标点符号,要统一文中各个位置的标点,尤其是表格等,填写的时候是否有标点。

三遍都看完之后,还要叫来大家一起来重新看文档,提意见,然后进行修改,互相之间看文档的时候还会发现一些问题或者突然提出不同的建议,可以使文档更完美。

这样的过程再进行两遍,我认为这样的文档才具备可以提交给相关部门的条件。

大家不要怕麻烦,文档是一个测试人员入手的项目的第一件工作,是脸面,一定要做好。

如果有能力的话,最好在书写测试方案时同步进行脚本可行性分析和数据需求的整理。

脚本可行性分析可以不用录制脚本,不过尽量操作几次录制脚本的流程,观察是否还存在功能问题影响脚本录制,看是否存在技术瓶颈或测试困难,提早进行技术的补充或者想想绕过困难的方法,是否有可替代的方案。

这里面尤其注意到很多宏观的问题,比如当前所拥有的测试资源,测试机的数量,是否可以运行如此多的用户,是否有带宽瓶颈,如果有如何处理等等。

还有对可以预见的数据尽早提给开发让开发准备,对后期的工作会有很大的帮助,不用到录制脚本时再提数据准备,开发再准备几天,这样会影响测试进度,给开发短时间制作数据的压力,也会影响和开发的关系。

在做方案的同时,同步制定可行的测试计划,如果时间充裕最好准备两份,一份是充分测试所需要的时间,一份是在项目紧急的情况下所需要的时间。

这里可以不要写出具体执行的时间段,因为这是测试人员自己不可控的,只要写出所哪一项工作具体需要的时间就可以。

这样做的目的是便于后边工作量的计算。

计算出工作量,就可以更好的控制项目的进度不至于因为某一个困难耽误了整个项目的进度。

在测试执行开始之前,测试方案最好根据需求的更新进行同步更新,在执行开始之后,如果没有时间可以暂时放下。

因为本人有记日记的习惯,所以一般一项目下来哪里是如何做的都有记录,如果最后要一个真实的方案也能拿出来。

用户一般在评审后就不会要求文档同步更新,而且一直维护一个或者多个文档会耗费大量的工作量,不建议在测试执行时还进行文档的维护。

方案是对测试起到指导的作用,如果执行时还要对方案进行更改就有点形式主义的意思了,不是吗?不过在有重大变故的时候,比如某一个大的模块都进行了更改或者删减增加,最好做好记录或者简单的更改方案,方便以后查阅。

4. 测试执行测试执行分四个阶段大概用了两个半月的时间,四个阶段为三个阶段对三种优先级的测试点进行测试,最后一个阶段进行回归测试和大型综合场景测试。

分别阐述。

1)第一阶段(测试优先级为极高的测试点)第一阶段对测试优先级为极高的进行测试。

对极高的点的定义为在整个系统中几乎每个子系统都要用到的通用代码和比较重要的审查流程中所涉及到的点。

最主要的就是审查流程中Y的审查和X的审查及通知书,在这里不过多阐述,只描述测试过程遇到的问题及解决方法。

首先在测试X时发生一个这样的情况,在测试的过程中要从网络上下载下来一个文件,这个文件最终由IE调取word的控件打开。

我测试的时候,我找到这个文件的数据被从网络上下载到本地的证据,因为这里流量十分重要。

但我始终找不到被下载下来的日志,打开详细日志也没有找到,然后找开发进行沟通,未果。

这时候JJ说的一句话提醒了我,她说这个应该是FTP下载,我马上想到FTP是不包含在http协议中的。

然后用他们两个组合的多协议方式进行脚本的录制,确实在脚本中找到FTP下载的请求和响应,并且被下载文件也已经下载到了本地。

相关文档
最新文档