前言:测试流程的建立应该根据公司项目情况和测试团队的现状来分析组建,不能只模仿不创新,要不然测试的流程很难往下继续推进,或者会大大影响工作效率,起不到测试的本质作用。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、传统的测试流程 (此测试流程适合于测试团队较成熟的情况)
计划阶段:
1. 制定测试方案(前提:开发组需提供需求文档、设计文档以及开发周期和版本发布周期),测试方案制定好之后需要项目负责人参与评审,确认测试方案是否可执行。
测试阶段:
2. 测试用例(两种情况:可根据详细设计文档进行编写,如果没有设计文档,可以后期根据系统进行编写)
3. 单元测试:单元测试一般由开发人员执行(包括进行冒烟测试),然后根据测试的结果由测试人员编写单元测试报告。( Vu 单元测试工具) Visual Unit
单元测试 Vu 的使用说明: http://wenku.baidu.com/view/49191d262f60ddccda38a04b.html
4. 集成测试:(测试人员需要重点学习)编写集成测试报告 (集成测试工具 httpUnit )
5. 系统测试:包括功能测试(手工和自动化)、性能测试(压力、容量、负载等)、兼容性测试、回归测试、数据库测试、文档测试等等。(需要测试的模块要根据项目的需求在测试方案中定义出来)编写系统测试报告。
测试人员的工作内容以及大概时间安排
1. 熟悉项目的需求、设计、周期等等,然后编写测试方案。(一周)
2. 文档齐全的情况下,需要开始编写测试用例。(两周 - 初稿)
3. 根据单元测试的结果,编写单元测试报告(两天)
4. 根据集成测试结果,编写集成测试报告(两天)
5. 功能测试、性能测试、兼容性测试等等(四周)
6. 编写系统测试报告(三天)
7. 回归测试,进行下一轮测试。(两周)
8. 用户手册。(一周 - 初稿)
9. 联机帮助。(两周)
10. 测试用例、用户手册以及测试工作,需根据项目的进度持续更新。
二、适合本部门的测试流程:(项目多,测试人员只有两人,针对这种现状,个人建议的测试流程如下)
1. 测试大纲: 测试开始之前需要测试大纲、测试每一个版本需要一个可执行的测试计划。
2. 测试用例: 以业务流程和功能点为主,暂时不需要非常详细的用例,编写功能清单(一方面可以方便提供给开发人员作为验收文档的一部分,一方面方便测试人员节约时间并且提高可用性)
3. 系统测试: 首先是功能测试,然后根据项目需求进行其他性能测试、兼容性测试、安装卸载测试等等。系统测试完成后需要提供测试报告,反馈给开发人员。
4. 回归测试: 项目发布下一版本后,需要进行回归测试,并测试新增功能点,以及和该功能关联的模块。(时间充沛,项目需要不断回归测试的情况下,可以逐步推进自动化回归测试)
5. 测试报告: beta 版本测试完成后,需要提供 beta 版测试报告。
6. 用户手册: 编写用户手册。(测试过程中编写用户手册)。
测试人员需要完成的工作任务(时间为大概预计周期):
1. 熟悉项目的需求、设计、周期等等,然后编写测试方案。(三天)
2. 文档齐全的情况下,需要开始编写测试用例。(三天)
3. 功能测试、性能测试、兼容性测试等等(五天)
4. 编写简洁版测试报告提供给开发人员(一天)
5. 回归测试,进行下一轮测试。(四天)
6. 系统测试报告(完整型的)(三天)
7. 用户手册。(五天 - 初稿)
8. 联机帮助。(十天)
9. 测试用例、用户手册以及测试工作,需根据项目的进度持续更新。测试工作也需要根据发布的版本进行多次回归测试。
总结:按照正常的流程来走,大概完成一次测试和回归需要 19 个工作日。用户手册和联机帮助制作的时间可以穿插在测试过程中。
示例 ( XXXX 保障服务系统):
1. 需要提供 XX 项目的设计需求、设计、周期文档,测试人员通过文档去制定测试大纲;
2. 提供详细设计文档或者系统,测试人员开始编写测试用例;
3. 系统较稳定后,开始进行功能测试和性能测试,测试完成,需提交测试报告;
4. 开发人员解决完 jira 中的 bug 后,发布新版本,测试人员开始回归测试以及下一轮的测试,测试完成提交测试报告;
5. 待系统版本稳定后,编写详细的测试报告。
6. 然后开始编写用户手册,参与项目打包,以及安装卸载测试。
三、建立测试知识库
1. 将学习计划纳入到工作计划中,定义好时间段,以及总结学习之后的成果,并将学习成果存放到协作交流平台中。好处是:平时利用多余的时间积累好测试知识,便于后期有相关的测试需求时,能够更快的进行相关的测试。
2. 目前我收集的测试需掌握的技能:
web 测试: selenium 自动化工具、 AppScan 安全测试、 Xenu 链接测试等等
脚本语言: python 、 VBScript 、 C# 、 C
数据库: Access 、 SqlServer 、 Oracle
操作平台: Linux
常用的测试工具: QTP 、 Loadrunner
测试技术:功能测试、性能测试、文档测试、压力测试、兼容性测试、安全测试、可靠性测试、病毒测试、安装卸载测试、
其他: QC 、网络知识、 bugfree 、 TeamCity 、 Visual Unit(Vu) 、 HttpUnit (集成测试工具)
四、一些标准:
1. 测试类型:功能测试为主(首先保证功能的正确性),性能测试(除非比较强调或想验证具体的性能指标是否达到时再去执行性能测试),安装测试,界面测试,稳定性测试,可靠性测试。
2. 测试大纲:要求每个测试的项目编写测试大纲,客户有要求的按客户要求,客户无要求的,按内部精简的模版来写(测试范围、功能清单、测试时间、人员安排、测试环境),单独建一个文档形成规范。
3. 测试报告:要求同测试大纲;小版本的测试结果可以直接通过邮件发送给相关人员;最后综合报告建议在项目要提出进行验收时出具,可按较正式的格式来编写。
4. 测试时长:每个项目至少集中测试 2 轮(第一次测试 + 回归测试),要保证至少在验收两周前开始进行;每次集中测试时间不超过一周(含熟悉系统需求和编写简单的测试大纲、测试用例);
5. 用户手册:必须要编写的文档;用户手册建议做一下交叉测试;(避免严重明显低级的错误)