软件测试流程要求规范全面文档格式.docx
《软件测试流程要求规范全面文档格式.docx》由会员分享,可在线阅读,更多相关《软件测试流程要求规范全面文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
2.测试部参与人员由测试部经理指定,主要由测试组长、测试设计等人员组成(还应包括配置管理人员、质量保证人员)。
1.1.3测试工作启动
项目(产品)开发计划完成
1.项目/产品经理通知测试组长正式测试交接时间,测试规模预估等,同时提
交相关最新项目资料:
●项目需求及软件规格定义文档
●项目开发计划
●开发设计过程中提供概要设计、详细设计文档。
●其他相关资料
2.组建测试小组,确定小组成员
3.召开测试启动会议,开发团队提供需求规格说明书和开发计划,确认开发组与
测试组对需要交接的测试容、测试目标达成一致,统一项目组的目标和测试的工
作重点。
测试小组成立,双方对测试目标及容达成一致。
产品(项目)经理,测试组长
在正式测试任务下达前,开发团队应在项目(产品)开发计划完成后及时向测试团队下达预通知,告之较为确切的测试日期,提供当前最新的相关资料。
部门经理和测试组长组建测试小组,并视具体情况决定是否需要调整人力、时间安排、测试环境等其它资源。
测试小组成员可预先熟悉必要的项目(产品)资料。
1.1.4测试设计阶段
1.1.4.1设计测试计划
针对需求分析文档和项目开发计划文档测试完成后,测试组需要编写测试计划文档、制定测试测略及预估测试过程中的风险,并设计出合理的规避风险的策略,为后续的测试工作提供直接的指导。
项目需求文档建立,项目开发计划完成
根据项目的需求文档、设计文档,按照测试计划文档模板编写测试计划。
测试计划中
应该至少包括以下关键容:
●依据项目背景及要求,确定测试环境。
●测试需求——需要测试组测试的围,估算出测试所花费的人力资源和各个测试
需求的测试优先级
●测试策略——确定项目的测试计划容,整体测试的测试方法和每个测试需求的
测试方法,同时做好测试进度安排及人员调整。
●测试资源——本次测试所需要用到的人力、硬件、软件、技术的资源
●测试组角色——明确测试组各个成员的角色和相关责任
●可交付工件——在测试组的工作中必须向项目组提交的产物,包括测试计划、测试
报告等等
●风险管理——列举出测试工作所可能出现的风险
测试计划编写完毕后,必须提交给项目组全体成员,并由项目组组中各个角色组联合
评审。
●测试计划由项目组评审并通过.
●在项目开发过程中,要适时的对测试计划进行跟踪,以及评估此计划的
完整性、可行性,在项目结束时还要最后评估一下测试计划的质量
测试设计工程师
1.1.4.2设计测试用例
在需求分析文档确立基线以后,测试组需要针对项目的测试需求编写测试用例,在实际的测试中,测试用例将是唯一实施标准。
1.1.4.2.1设计测试用例的常用方法
a.等价划分法
有效等价类:
是指对于程序的规格说明来说是合理的有意义的输入数据构成的集合利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能
无效等价类:
与有效等价类的定义恰巧相反
b.边界值法:
Ø
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
通常情况下,软件测试所包含的边界检验有几种类型:
数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。
相应地,以上类型的边界值应该在:
最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。
边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值,记为:
min、min+、nom、max-、max考虑到健壮性测试,还可以加一个略大于最大值max+,以及一个略小于最小值min-的值。
举例说明:
例如要求0<
X<
5,在编写用例时需考虑到以下几种情况:
⏹x=0的情况
⏹x=5的情况
⏹x=-1的情况
⏹输入一个X大于5的值,例如输入X=6
c.错误推断法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
思路:
分析程序中最易出错的场景和情况,在此基础上有针对性的设计测试用例,需要完成的前提条件如下:
●深度熟悉被测系统的业务、需求。
●对被测系统或类似系统之前的缺陷分布情况进行过系统的分析。
包括功能缺陷,数据缺陷,接口缺陷和界面缺陷等等。
举例说明:
聊天窗口功能
}输入特殊字符(全角,半角)后,窗口是否能够正常显示
}输入空格,是否能够过滤,是否会算入长度计算
}输入html字符
}输入脚本语言函数
}在需要密码验证,或者需要二次输入确认的地方,通过复制粘贴第一次的输入容是否能够通过
1.1.4.2.2接口测试的方法
测试接口文档。
根据接口文档编写测试用例(用例编写方法完全可以按照黑盒测试的用例编写规则来编写,如:
边界值、等价划分等等设计方法)。
和数据库中执行测试,查看接口返回的接口数据是否正确,主要检查返回的接口是否和接口文档中定义的一样,还有要检查返回的数据是否的保持一致。
1.1.4.2.3安全性测试的方法
手工检测:
对于CSRF、越权访问、文件上传、修改密码等漏洞,难以实现自动化检测的效果,这是因为这些漏洞涉及系统逻辑或业务逻辑,有时候还需要人机交互参与页面流程,因此这类漏洞的检测更多的需要依靠手动测试完成。
手工检测URL、后台登陆是否具有SQL注入
◆举例说明:
关于上传:
上传文件是否有格式限制,是否可以上传exe文件;
上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;
通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;
是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
上传文件大小大于本地剩余空间大小,是否会出现异常错误。
关于上传是否成功的判断。
上传过程中,中断。
程序是否判断上传是否成功。
对于文件名中带有中文字符,特殊字符等的文件上传。
1.1.4.2.5兼容性测试的方法
操作系统/平台兼容
不同浏览器的兼容
不同分辨率间的兼容
1.1.4.2.4界面测试的方法
风格统一
重要的和常用的元素优先布局,且放置在醒目的位置
布局合理紧凑,疏密有致
明显区分只读区域与可编辑区域
使用红色的符号’*'
来标记必填项
语句流畅,表述清晰,没有错别字
字段名称通俗易懂、尽量使用专业术语
1.1.4.2.5易用性测试的方法
易理解
易学
易操作
吸引性
1.1.4.2.6APP兼容性测试
分辨率:
现在市场上分辨率是的各种各样的什么的分辨率都有了,所以需要在app在不同的分辨率设备上进行测试,显示UI的效果怎么样。
系统:
Android系统在不断升级,就会产生不同系统版本,对系统版本是不断进行兼容来对来符合的系统的版本。
而在市场上开发了不同的定制的版本,也需要进行兼容。
机型:
现在所涉及到厂商生产的出来的机器较多,所以需要使用不同厂商的不同分辨率来进行适配app的运行的情况
语言:
现在的很多的app已经支持较多的语言的,所以需要对语言方面进行测试,是app显示的语言国际化显示的效果
1.1.4.2.7测试用例的维护
存在以下几种情况,需对测试用例进行更新:
}先前的测试用例设计不全面或不准确
}部分严重的软件错误未在测试用例中覆盖
}新的版本有新功能的需求或改动
}编写的测试用例不规或者语句错误
}旧的测试用例不再适用
测试需求明确,测试计划明确
根据测试计划设计测试用例,设计参考原则:
●等价类划分
●边界值分析
●错误推测等
●业务知识及相关流程
●测试用例需要覆盖所有的测试需求
●测试用例集需进行评审并通过
●项目进行过程中,适时的根据需求变更来对测试用例进行维护
测试组成员
1.1.4.3设计容评审
测试计划及测试用例的设计工作完成后,需通知项目组相关成员召开评审会议。
在这之前需要将待评审的容发给相关人员熟悉和理解。
测试计划、测试用例集完成
评审测试计划容的正确性及合理性:
●测试环境、测试资源;
●测试需求围,各个测试需求的优先级;
●测试策略及风险管理等;
评审测试用例集:
●测试用例优先级
●测试用例集基于需求的覆盖程度
测试计划及测试用例集评审通过
同行测试组,项目经理,
1.2实施测试阶段
1.2.1测试交接
测试设计容评审完毕,开发团队编码工作完成,并已完成部测试;
1.开发组根据测试启动会上所规定的容,填写送测单,向测试组提交测试容。
2.测试小组检查提交部件的完整性和可测性:
●检查接收的测试容(按照测试启动会上所规定的交接容);
●检查程序是否有病毒;
●能否正确安装/卸载;
●检查送测的软件是否完整,能否进行测试;
提交部件经测试组检验通过
1.2.2实施测试
1.2.2.1实施测试
注:
实施测试用例将花费测试组大部分时间,这些工作都是建立在前期很多计划工作的基础上。
详细描述
测试组长于前一工作日定出当日的测试计划,确定可用的测试用例。
●测试工程师根据测试计划中分配给自己的测试任务和提供的测试用例,实施相应的
测试用例。
●记录实施用例的结果,提交当日测试纪录。
●提交缺陷。
测试用例中的所有任务被执行,结果被记录。
1.2.2.2提交阶段性测试报告
在约定的测试周期完成之后,测试组长需要总结此次测试的结果,编写阶段性测试报告。
测试组完成了预定周期的测试任务
测试组长根据此轮测试的结果,编写阶段性测试报告(参考测试阶段性报告模板),主要应包含以
下容:
●测试报告的版本
●测试的人员和时间
●测试所覆盖的缺陷——测试组在这轮测试中所有处理的缺陷,报告测试组长处理的
缺陷和实施工程师验证的缺陷。
不仅要写出覆盖缺陷的总数,还要写明这些缺陷的去向:
●测试新发现的缺陷数量
●上一版本活动缺陷的数量
●经过此轮测试,所有活动缺陷的数量及其状态分类
●测试评估——写明在这一版本中,那些功能被实现了,那些还没有
实现,这里只需写明和上一版本不同之处即可
●急待解决的问题——写明当前项目组中面临的最优先的问题,可以
重复提出
在每轮测试结束之后应尽快将符合标准的测试报告发给全项目组
测试组长
1.2.3回归测试
在每轮测试结束之后,由测试组重新针对修改后的最新版本,进行回归测试。
在每轮测试中,按照现有的测试用例没有新的缺陷被发现,测试报告中全部的
活动缺陷都被解决。
●测试组将按照测试计划中对于回归测试的策略对产品进行回归测试,回归
测试的用例属于测试用例的一部分或者是全部测试用例,但不能超出原先预定的测试用
例的围。
●记录用例实施结果,提交回归测试记录。
●回归测试所运行的用例全部通过
●缺陷经过验证
●所有缺陷都被指明处理方式
测试工程师
1.2.4同行审查
回归测试结束,所有缺陷都被关闭。
1.进行对测试组所测试项目或产品的测试审查工作.基本原则:
●不依据所设计测试用例,进行自由测试.
●测试时间保持在3个正常工作日以.
●如发现严重缺陷,则一轮测试结束后,更新版本,执行回归测试.
2.提交当日测试纪录.
3.编写同行审查总结报告(报告以简单为好).
同行审查没有新的缺陷或没有严重缺陷产生.
同行测试组
1.3总结阶段
1.3.1测试报告总结
在回归测试结束之后,测试组长将要编写测试总结报告,对测试进行总结,并且提交给全体项目组,为产品的后续工作提供重要的信息支持。
测试组完成了所有的测试实施工作,同行审查结束.
测试组长根据测试的结果,按照测试总结报告的文档模板编写测试报告,测试报告必须包含以下
重要容:
●测试资源概述——多少人、多长时间。
●测试结果摘要——分别描述各个测试需求的测试结果,产品实现了哪些功能点,
哪些还没有实现
●缺陷分析——按照缺陷的属性分类进行分析
●测试需求覆盖率——原先列举的测试需求的测试覆盖率,可能一部分测试需求因为
资源和优先级的因素没有进行测试,那么在这里要进行说明
●测试评估——从总体对项目质量进行评估
●测试组建议——从测试组的角度为项目组提出工作建议
测试组长完成了符合标准的测试报告,发送给全项目组。
1.3.2测试验收
测试验收工作是在以上工作全部结束后,对测试的过程,效果进行验收,宣布测试结束。
测试组完成了所有的测试实施工作,测试组长完成符合标准的测试总结
文档
由测启会上约定的验收组成员,对本次测试收进行验收,验收容包括:
●测试效果验收——测试是否达到预期目的
●测试文档验收——测试过程文档是否齐全,可信,符合标准
●测试评估——从总体对测试的质量进行评估
●测试建议——对本次测试工作指出不足,需要在以后工作
中改进的地方
●宣布测试结束——测试验收组成员签字宣布本次测试结束
测试验收通过,测试验收会议记录整理完毕
验收组人员,测试经理,测试组长,产品(项目)经理
1.3.3测试归档
测试归档是在测试验收结束宣布测试有效,结束测试后,对测试过程中涉及到各种标准文档进行归类,存档。
测试验收通过
归类、存档测试过程涉及到的文档,主要包括以下文档(必须)
●测试任务书
●测试计划书
●测试用例书
●阶段性测试报告
●测试总结报告
●测试验收会议记录
全部文档归类完毕,版本号封存
1.3.4测试工作总结
项目验收工作完成。
由测试组长召开项目测试工作总结会议,会议容主要为:
●测试组长对项目期间的整个测试组的工作情况进行总结,指出测试工作中存在
的问题,同时也对工作中表现好的地方给与肯定。
(具体包括整个测试情况、流程实施、人
员安排、测试方法等)
●参与本次项目测试工作的所有成员个人体会和建议。
●讨论测试工作中出现的问题,寻求更好的解决办法。
●宣布解散测试小组。
所提问题寻求到较好解决方式,测试小组解散
测试部所有成员
1.4测试工具
1.4.1BUG管理工具介绍
目前BUG管理工具有Bugzilla、QC(QualityCenter)、BugFree、EasyBUG、Mantis、jira,我自己使用过Bugzilla也就是禅道,觉得还是挺方便的
1.4.2自动化测试工具QTP
自动化测试的工具QTP:
1.使用前提是大部分功能已验证通过
2.主要用于进行回归测试、功能测试
1.4.3性能测试工具LoadRunner
性能测试工具:
Loadrunner主要用于进行系统性能测试也就是压力测试,例如登录界面并非测试、数据库性能测试、服务器性能测试,限制是免费版的并发用户最大数量只能是50个,
具体的操作详见LOADRUNNER操作手册
测试相关文档的解释说明:
需求分析文档需包含的容的规:
}无歧义性:
需对一些特殊术语要有相关的解释说明,存在歧义的地方需给予相关的说明
}完整性:
功能、性能、接口、约束
}可验证性:
需求中的每个功能点需要可以进行验证
}一致性:
不能存在前后矛盾的问题
需求分析文档需包含的容:
}流程图、功能点、输入输出要求、运行环境要求,最主要的是要说明:
是为哪个软件产品编写的,开发这个软件产品意义、作用、以及最终要达到的效果
概要设计文档也就是原型文件包含的容:
}菜单、按钮、文本框、单选框、复选框等等的存放位置,即整体页面的布局、排版
数据库设计文档:
}表名称、字段名称、中文描述、字段类型、字段大小、备注