测试项目背景和实施情况工作流在某公司软件产品线中占有重要地位。
Workflow项目是5系列中的一个小版本,主要增加了任务代办、任务代理、以及任务交接等功能,同时还修复了一些易用性和功能性的Bug。下面,我们大概介绍一下这个项目的实施情况:
● 项目规模与测试人员配置:
○ 项目代码行数:5万行
○ 开发人员配置:开发人员5名、实习生1名
○ 测试人员配置:测试设计人员1名、测试执行人员2名、实习生1名
● 项目测试时的系统部署情况:
● 测试预期与测试执行情况整个测试项目是比较成功的,项目的时间执行情况和预期的测试指标度量都比较接近。发现Bug总数和缺陷密度都达到了要求的标准。当然,测试周期的实际值比计划值晚了两周,原?因是在系统测试后期,为了满足PSO部门提出的定时器需求造成了一定的延期。回顾整个项目的测试过程,我有几点小小的感悟,愿在此和大家一起分享。
测试如何尽早介入
基于以前的测试经验,我们也越来越认识到测试人员应该尽早介入项目的重要性。简单地沿用测试V模型往往出现很多问题,特别是在项目进度拖延的情况下更是如此。如果测试人员一味固执地被要求严格按照V模型定义的标准来开展测试工作的话,则结果往往是在项目初期测试人员工作量极度不饱和(很多测试人员无所事事),而到了项目后期,一旦项目经理决定压缩测试时间,测试人员就不得不加班加点地工作。但是,不少朋友实践“测试人员尽早介入”的效果并不理想,例如:
● 测试人员参加项目前期的各种会议,会被当作“专职的”会议记录员。
● 测试人员参加代码评审,又不甚了解程序开发语言,浪费了时间其丢失了自信。那么,在这个XXX5.2 Workflow项目中我们是怎么做的呢?实际上,在项目开发初期,测试人员可以开展很多有价值的工作,例如:
● 评审需求文档的正确性和可测试性;根据需求文档整理和分析测试需求,清晰明确的测试需求是测试设计的基础。
● 在开发设计过程中,根据需求文档和设计文档进行测试设计,测试设计方案是测试用例的保证。
● 和项目团队中的集成组和开发组协?商软件版本的编译方式和编译进度以及测试人员提取版本的方式和进度。
● 开发人员每天下午4:30之前提交所有可编译的代码,每天晚上进行日编译;
● 开发经理根据版本稳定情况,每周提交测试申请单。
● 测试人员根据测试进度需要,提取测试版本。
● 提前准备测试环境,包括数据库环境,操作系统和web应用服务器,以及复杂集群环境。
● 如果项目需要,还可以在此阶段研究一下自动测试工具,包括一些准备外包测试的工作。根据产品的成熟度调整测试策略开发测试一盘棋。测试经理应该有大局观,保持测试策略总与开发的进展相一致,保证最终的软件成果最佳(而不是测试部发现Bug数最多)。在这个XXX5.2 Workflow项目过程中,我们合理制定了不同阶段的测试策略,收到了很好的效果。
产品开发期同情的测试
要忍!要在这个能够发现大批Bug的黄金时段学会做减法。就现实而言,这个阶段的产品,大多难以满足系统测试的条件。如果进行穷兵黩武式的测试,无疑会加重开发人员的焦虑心情,甚至对测试产生逆反心理。另一方面,测试工作不应停滞,特别是不少测试人员对产品的了解还流于皮毛,抓紧时间进行“测试练兵”非常有必要。因此,“产品开发期”的测试切忌生硬。其实,此时程序人员也知道产品还不成熟,所以要告诉测试执行人员:
● 这个阶段不要提交界面简单错误和易用性方面的Bug(可以先记录下来到项目末期提交),否则会使开发人员质疑测试人员只会发现简单的Bug。
● 换位思考,了解此时开发人员最关心的是功能是否能正确运行,多对基本功能进行测试。