W模型
W模型由Evolutif公司公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动 。如图1-2所示,W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系 。
W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的 。W模型有利于尽早地全面的发现问题 。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在 。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度 。
但W模型也存在局限性 。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作 。这样就无法支持迭代的开发模型 。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑 。
图1-2 软件测试W模型
5. 如何写测试策略 ” 。
你要在测试策略中很明确的提出你进行测试时所使用的方法和步骤 。我看到过很多公司严格地按照一些测试策略模板来写 。
但是,其实不用模板,你也可以并且更高效地写测试策略 。下面是一些简单的写测试策略的技巧,1)在测试策略中要包括产品的背景信息 。
在测试策略文档的第一段回答- stakeholder(项目利益相关者)为什么要开发这个产品?回答这个问题会帮助你更好更快地理解项目,并为所做的事情优先级排序 。2)测试环境,它应该包括你在那个操作系统平台上做测试,系统是基于那些补丁和安全更新 。
例如,一个测试环境可能必须包含Window XP SP2 3)列出你将要测试的所有重要特征 。如果你认为有些特征不属于本次发布的一部分,那么就标注“不会被测试的特征” 。
4)写下在此项目测试中将应用到的测试方法 。清楚的列出你将以那些类型的测试作为测试引导 。
例如:功能测试,用户交互界面测试,集成测试,压力测试,安全测试等等 。5)回答以下问题:你如何进行功能测试?手动还是自动化?测试工具是什么?你将执行在测试管理工具中的所有测试用例吗? 6)用什么作为测试错误报告跟踪工具?当测试人员发现一个新的bug之后,流程应该是什么? 7)测试进入和结束的标准分别是什么? 8)如何去跟踪测试进度?什么度量可以用来记录测试结束? 9)任务分布 – 定义每个组员的角色和职责,包括测试组长,测试员,项目经理等 。
测试战略将由开发人员review,确保测试的覆盖率全面且没有重叠处 。测试经理和部门经理都要同意测试策略之后,测试工作才能展开 。
测试小组的划分及分工 。10)有哪些风险会阻碍测试的完成?例如,代码的依赖性,测试工具的局限性等等 。
要提前想到风险发生的解决办法 。11)测试日程表- 每个测试计划都应该包含一个预估时间来估计完成测试所需要的时间 。
这需要几个阶段:一,测试人员必须至少完成一次的执行全部用例 。二,如果一个错误被测试人员发现,开发人员将修复此错误 。
测试员重新测试此用例,直到其功能正确为止 。最后,但很重要的一点是测试员必须对修改过的地方执行回归测试以保证开发人员在修复一个错误的时候没有引入另外的代码错误 。
测试日程表要包含每个测试部分涉及的测试人员 。时间往往很难估计,因为测试中有很多不确定性的事情发生 。