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