- 引言:
?
编号 | 确定项目 | 描述 |
1 | 确定范围 | 确定被测项目中功能模块,子功能模块等需要测试的范围。 |
2 | 确定需求 | 确定每个功能结果定义,确定此功能是否存在缺陷。 |
3 | 确定策略 | 确定对项目做哪些测试。如:功能测试,性能测试等。 |
4 | 确定方法 | 确定对每个策略是用哪些方法。如:边界值,等价类等。 |
5 | 确定工具 | 如: 功能测试使用Seleium,性能测试使用Jmeter等。 |
6 | 确定资源 | |
7 | 交付文档 | 确定测试工作中生成哪些文档,可提交文档有哪些。 |
?
- 测试项目:
项目名称 | XX项目 |
使用背景 | // 用户 协会分会负责人、期刊客户 |
开发者 | XX集团 |
项目简介 | ?学术专著出版平台” 定位是一家图书产品联合创建、销售、返利的平台;平台联合各专业协会、学会、出版社等机构,组织大批专家人才建立“专家指导委员会”,为图书进行策划、上报、审校、出版、运营等服务;主要业务情景是:策划人寻求参编人,共同创建图书及销售,参编人支付参编图书的预购款,该笔资金作为公司运营图书的成本,等待图书出版后,让消费者以个人名片或链接的形式进行购买图书,参编人员不仅可以通过图书评职称、扩大知名度、传播学术价值,另外让参编人通过销售,实现“0”元出书并且获得额外收入;策划人在发展参编和策划人同时,获得相应奖励。 |
?
- 测试目的:
编号 | 目的 |
1 | 软件测试是为了发现错误而执行程序的过程。 |
2 | 测试是为了证明程序有错,而不是证明程序无错。 |
3 | 一个好的测试用例在于它发现至今未发现的错误。 |
4 | 一个成功的测试是发现了至今未发现的错误的测试。 |
?
- 文档受众:
编号 | 人员 | 原因 |
1 | 产品设计人员 | 明确说明测试范围,方法,工作周期信息。 |
2 | 产品研发人员 | 明确说明测试范围,方法,工作周期信息。 |
3 | 产品测试人员 | 明确说明测试范围,方法,任务分工,预计完成时间。 |
4 | 备注 | 此为内部开发文档,不做外部参考。 |
?
?
?
?
- 测试参考文档
编号 | 文档名称 | 作用 |
1 | 需求文档 | 确定项目功能模块,功能运行结果。 |
2 | 技术文档 | 确定项目中使用开发语言,数据库数据限制。 |
3 | 项目模型文档 | 初步了解项目页面内容,方便编写用例。 |
?
- 测试提交文档:
?
编号 | 文档名称 | 作用 |
1 | 测试计划 | 明确说明测试范围,方法,工作周期信息。 |
2 | 测试用例 | 明确说明测试工作的细节测试工作。 |
3 | 缺陷报告 | 明确说明项目中的缺陷描述,与修复情况。 |
4 | 测试报告 | 明确说明测试结果,测试模块,缺陷分布情况等等信息。 |
?
?
- 术语定义:
?
- 项目术语:
编号 | 缩写、术语 | 解释 |
1 | ? | ? |
2 | ? | ? |
?
- 测试专业术语:
编号 | 术语 | 解释 |
1 | 单元测试 | 开发者编写的一小段代码,检验被测代码的一个很小的、很明确的功能是否正确。 |
2 | 集成测试 | 开发者编写的多个段代码单元,组合到一起形成集成测试,检查多个单元组合功能是否正确。 |
3 | 冒烟测试 | 针对产品的基本功能进行测试。 |
4 | 功能测试 | 又称正确性测试,它检查软件的功能是否符合规格说明。 |
5 | 可靠性测试 | 对服务器施加一定压力,测试服务器是否可以长期稳定运行。 |
6 | 压力测试 | 对服务器施加一定压力后进行功能测试,测试服务器在一定压力下是够可以正常计算。 |
7 | 负载测试 | 对服务器施加压力,测试服务器可以容纳多少人访问,多少人访问后出现BUG。 |
8 | 易用性测试 | 主要从使用的合理性和方便性等角度对软件系统进行检查。用户来测。 |
9 | 兼容性测试 | 测试Web页面是否支持所有浏览器,访问后页面所有功能无异常。 |
10 | 安全测试 | 服务器数据安全性,用户数据安全性,用户操作安全性,用户财产安全性、公司财产安全性。 |
11 | 数据完整性测试 | 对数据及数据库能否正常运行访问的测试。 |
12 | 回归测试 | 开发修改后的BUG在测试一遍。 |
13 | ? | ? |
14 | ? | ? |
?
- 缺陷优先级:
级别 | 描述 |
P0 | 严重级别比较高的,影响测试进行或者系统无法继续操作,立即修复,1天。 |
P1 | 基本功能没有实现,对系统操作有影响,2-3天。 |
P2 | 一般性功能,页面缺陷,4-5天。 |
P3 | 准备在下一轮测试前修改完毕,准备在下一版本中修改。 |
?
- 严重程度定义:
级别 | 严重程度描述 |
S0 | 数据丢失,数据计算错误、数据传递错误、对数据库造成破坏,造成操作系统或其他支撑系统崩溃、非正常关闭和非正常死机。 |
S1 | 应用系统崩溃、非正常关闭和无响应,但没有造成数据丢失。系统的主要功能不能正确实现或不完整。 |
S2 | 规定的非主要功能没有实现或不完整、影响系统的运行;设计不合理造成性能低下。 |
S3 | 不影响业务运行的功能问题。 |
S4 | 软件设计和功能实现等不完全合理之处提出建议。 |
?
- 用例优先级定义:
级别 | 优先级描述 |
P0 | 确保系统基本功能及主要功能的测试用例 |
P1 | 确保系统功能的完善方面的测试用例 |
P2 | 关于用户体验,输入输出的验证;较少使用或辅助功能的测试用例。 |
?
- 测试策略:
1、单元测试
? | 单元测试 |
测试目标 | 开发者编写的一小段代码,检验被测代码的一个很小的、很明确的功能是否正确。 |
测试范围 | 测试整个项目中的每一行代码进行测试。 |
完成标准 | 代码的一个很小的、很明确的功能都正确。 |
需要考虑的特殊事项 | // |
使用工具 | Python + Selenium + unittest |
?
?
?
?
?
?
2、集成测试:
?
? | 集成测试 |
测试目标 | 开发者编写的多个段代码单元,组合到一起形成集成测试,检查多个单元组合功能是否正确。 |
测试范围 | 开发者编写的多个段代码单元,组合到一起形成的集合。 |
完成标准 | 多个单元组合功能正确。 |
需要考虑的特殊事项 | // |
使用工具 | ? |
?
3、冒烟测试:
? | 冒烟测试 |
测试目标 | 版本是否值得系统测试 |
测试范围 | 1、返测上一版本提交的测试报告。 |
完成标准 | 基本功能通过,并继续测试。 |
需要考虑的特殊事项 | 此阶段不超过1天。 |
?
4、功能测试:
? | 功能测试 |
测试目标 | 确保测试计划中所列出的测试范围,保证其功能正常。 |
测试范围 | 1、按照测试计划所规定的测试范围。 |
完成标准 | 按照测试计划的测试通过标准,完成测试。 |
需要考虑的特殊事项 | 确定或说明那些将对功能测试的实施和执行造成影响的事项或因素。(内部的或外部的) |
使用工具 | Seleium + python + 谷歌 |
?
- 易用性测试:
? | 易用性测试 |
测试目标 | 模拟真实用户,无经验用户,测试系统的易用性 |
测试范围 | 前台 |
完成标准 | 成功地核实出前台各个网页符合可接受易用性标准。 |
需要考虑的特殊事项 | 无 |
?
?
?
?
?
?
7、兼容测试:
? | 兼容测试 |
测试目标 | 测试Web页面是否支持所有浏览器,访问后页面所有功能无异常 |
测试范围 | 前台 |
完成标准 | 使用多个不同浏览器访问后界面无异常即为通过。 |
需要考虑的特殊事项 | 浏览器版本;浏览器类型是否都测到。 |
?
8、可靠性测试:
? | 可靠性测试 |
测试目标 | 使用LR模拟真实用户对服务器施加一定压力 |
测试范围 | 项目服务器。 |
完成标准 | 持续运行特定时间不出现问题。 |
需要考虑的特殊事项 | 测试机是否满足需求。 |
?
9、压力测试:
? | 压力测试 |
测试目标 | 使用LR模拟真实用户对服务器施加压力。 |
测试范围 | 项目服务器。 |
完成标准 | 直到服务器卡死。获得服务器资源,最大与链接数等数据。 |
需要考虑的特殊事项 | 测试机是否满足需求。 |
使用工具 | Jmeter + fiddler + 火狐 |
?
10、负载测试:
? | 负载测试 |
测试目标 | 使用LR模拟真实用户对服务器施加一定压力,对服务器进行主要功能测试。 |
测试范围 | 项目服务器&前台界面 |
完成标准 | 对服务器施加一定压力后前台功能正常,访问时间3-8之内。 |
需要考虑的特殊事项 | 测试机是否满足需求。 |
使用工具 | Jmeter + fiddler + 火狐 |
?
11、数据完整性测试:
? | 数据完整性测试 |
测试目标 | 确保数据库设计完整性。 |
测试范围 | 数据库及表结构 |
完成标准 | 数据库约束、完整性等设置达到需求标准。 |
需要考虑的特殊事项 | 数据遭到破坏,易恢复性。 |
?
?
?
?
?
?
12、回归测试:
? | 回归测试 |
测试目标 | 确保BUG修复的完整性。 |
测试范围 | 项目中出BUG 的部分 |
完成标准 | 项目中出现的BUG完成修复,并将缺陷保存下来。 |
需要考虑的特殊事项 | 出BUG的功能和BUG相关的功能都需要回测。 |
?
13、功能测试范围:
模块 | 功能 | 应用策略 | 备注 |
? | ? | ? | ? |
? | ? | ? | ? |
?
四、测试规则:
1、准入规则
编号 | 测试策略 | 进入准则 |
1 | 单元测试 | 项目编码阶段,开发人员每编写完一个单元时进入测试 |
2 | 集成测试 | 项目编码阶段,开发人员每编写完多个单元时进入测试 |
3 | 功能测试 | 项目系统测试阶段,开发人员根据需求开发完成时,进入测试。 |
4 | 易用测试 | 功能测试完成后进入测试。 |
5 | 兼容测试 | ? |
6 | 可靠测试 | 功能测试完成后进入测试。 |
7 | 压力测试 | ? |
8 | 负载测试 | ? |
9 | 数据完整性 | 性能测试完成后进入测试。 |
10 | 回归测试 | 提交的缺陷报告修改后。 |
?
2、暂停/退出规则
?
编号 | ? |
1 | 软件系统在进行单元、集成、确认、系统、安装、验收测试时,发现缺陷达到一定数量或出现重大错误导致无法测试时,暂停测试返回开发。 |
2 | 发生其他未知因素需要暂停时,测试应随之暂停,并备份暂停点数据。 |
?
- 测试资源:
?
- 硬件资源
编号 | CPU | 内存 | 硬盘 | 系统 | 软件 |
1 | 2.5 | 4+ | 100+ | Win7 | Jmeter,seleium,AppScan |
?
?
?
?
- 测试人力资源:
编号 | 角色 | 人员 | 具体职责 |
1 | 确认需求 | ? | 明确需求 |
2 | 制定计划 | ? | 决定测试策略,人员分工,测试周期 |
3 | 准备测试环境 | ? | 测试工作开始前准备工作 |
4 | 执行测试工作 | ? | 编写用例,执行用例,提交缺陷报告,回测等。 |
5 | 编写测试报告 | ? | 编写项目的测试结果。 |
?
?
- 测试工作进度:
编号 | 任务 | 范围 | 人员 | 时间 |
1 | 确认需求 | ? | ? | ? |
2 | 定制测试计划 | ? | ? | ? |
3 | 准备测试环境 | ? | ? | ? |
4 | 单元测试 | ? | ? | ? |
5 | 集成测试 | ? | ? | ? |
6 | 冒烟测试 功能测试 兼容测试 易用性测试 | ? | ? | ? |
7 | 可靠性测试 压力测试 负载测试 | ? | ? | ? |
8 | 安全测试 | ? | ? | ? |
9 | 数据完整性测试 | ? | ? | ? |
10 | 回归测试 | ? | ? | ? |
11 | 编写测试报告 | ? | ? | ? |
?
- 系统风险
1、系统风险:
(1)、计划的测试时间,不能满足测试组的要求,主要是功能冻结后的系统测试的时间可能不够。
(2)、测试资源的及时到位(设备和人员)。
(3)、需求不明确可能导致开发的产品与目标不一致。
(4)、测试人员对测试工具的使用熟悉程序不够;
(5)、被测试产品存在重大错误,以至于测试无法继续,需要开发组进行额外的调试和修改才能继续;
(6)、硬件、软件或网络环境出现故障等
2、应急措施:
(1)、如果上述潜在的可能事件发生,则通过适当加班来保证计划的按时完成。
(2)、如果是由于被测试产品存在重大错误而严重影响测试进度,则考虑按照测试暂停标准来暂停该测试。
(3)、如遇到功能需求不明确,需要沟通协商解决。
(4)、人员不足,则加班、或者进行不同组人员调动,按照测试进度完成测试任务。
测试的完成标准
?
- 完成标准
- 单元测试完成标准:
(1)、按照单元测试计划完成了所有规定单元的测试
(2)、达到了测试计划中关于单元测试所规定的覆盖率的要求
(3)、软件单元功能与设计一致
(4)、在单元测试中发现的错误已经得到修改,各级缺陷修复率达到标准
2、集成测试完成标准
(1)、按照集成构件计划及增量集成策略完成了整个系统的集成测试
(2)、达到了测试计划中关于集成测试所规定的覆盖率的要求
(3)、被测试的集成工作版本每千行代码必须发现至少2个错误(不含优化级别错误)
(4)、集成工作版本满足设计定义的各项功能、性能要求
(5)、在集成测试中发现的错误已经得到修改,各级缺陷修复率达到标准
3、功能/易用测试完成标准
(1)、功能测试用例设计已经通过评审
(2)、按照功能测试计划完成了功能测试
(3)、达到了功能测试计划中关于功能测试所规定的覆盖率的要求
(4)、系统达到详细设计定义的各项功能,性能
(5)、在功能测试中发现的错误已经得到修改,各级缺陷修复率达到标准
4、兼容测试完成标准
(1)、兼容测试用例设计已经通过评审
(2)、按照兼容测试计划完成了兼容测试
(3)、达到了兼容测试计划中关于兼容测试所规定的浏览器的要求
(4)、在兼容测试中发现的错误已经得到修改,各级缺陷修复率达到标准
5、系统测试完成标准
(1)、系统测试用例设计已经通过评审
(2)、按照系统测试计划完成了系统测试
(3)、达到了测试计划中关于系统测试所规定的覆盖率的要求
(4)、被测试的系统每千行代码必须发现至少1个错误(不含五级错误)
(5)、系统满足需求规格说明书的要求
(6)、在系统测试中发现的错误已经得到修改,各级缺陷修复率达到标准
6、验收测试完成标准
(1)、软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
(2)、在验收测试中发现的错误已经得到修改,各级缺陷修复率达到标准
(3)、所有测试项没有残余紧急、严重级别错误。
(4)、需求分析文档、设计文档和编码实现一致。
(5)、验收测试工件齐全(测试计划、测试用例、测试日志、测试通知单、测试分析)
7、可靠/压力/负载测试完成标准
(1)、性能测试用例设计已经通过评审
(2)、按照性能测试计划完成了性能测试
(3)、达到了性能测试计划中关于性能测试所规定要求
(4)、在性能测试中不通过的用例已经得到修改,性能达到预计标准
8、缺陷修复率标准
(1)、紧急、严重级别错误修复率应达到100%
(2)、普通级别错误修复率应达到95%以上
(3)、优化级别错误修复率应达到60%以上
注:项目紧急时,普通级别错误修复率达60%以上;优化级别错误修复率达20%即可。
9、覆盖率标准
(1)、测试用例执行覆盖率应达到100%(功能测试用例均已执行)
(2)、测试需求执行覆盖率应达到100%(业务测试用例均已执行)