如何提升测试用例设计水平?
一、定义
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
首先,测试需要保证以下两点:
程序做了它应该做的事情
程序没有做它不该做的事情
因此,作为测试实施依据的测试用例,必须要能完整覆盖测试需求,而不应针对单个Case去评判好坏。
二、如何设计测试用例
1、对被测版本足够了解
由粗略详细步骤来解读产品需求文档,如交互、功能流程、边界、约束等等。充分理解技术实现原理(实现的逻辑原理、架构及对其他平台的依赖、接口等)。深入理解用户群,分析用户使用场景、可能的使用方法及用户心理,完全从用户角度出发,来设计Case,同时对用户体验做出一定的判断。
2、设计Case优先级
一般BugFree或禅道工具中编写好Case后可以按优先级来筛选优先级,如果是用Excel文档来写可以来通过不同背景色来标识相应的优先级,无论评审还是执行,都可以按此来查阅。无论是冒烟测试用例还是功能测试用例,节省大量时间。
3、从粗到细分析需求
可以使用工具辅助,第一遍需求分析时,粗略画出测试需求框架;第二遍分析需求时,开始延伸每个出子测试点;细化测试点时,可参考或引用写好的公共Case, 也要考虑到被测版本中该功能的特性。另外需要考虑的就是测试点的颗粒度要把握好。
4、测试用例Update
需求分析阶段和开发阶段 ,都可能出现需求变更,这时对于我们前期粗略整理好的测试点就需要及时的同步更新了。另外在Case评审阶段,可能会出现Case冗余或遗漏,也需要在评审结束后在Case池里及时修整。如果项目中有使用需求工具之类的,可以利用工具去同步通知到每个节点的负责人,会大大 减少UPdate的时间。
三、新手如何快速提升设计Case能力
1、 非常熟悉业务
这是必备条件,因为所有Case都是从业务层开始入手的,而终端使用者也是以业务为出发点。
2、 培养用户思维
测试人员需要站在客户的角度分析用户需要什么、想要什么、不想要什么,这样有利于我们更好的挖掘隐含需求。所以设计场景时也同样是站在用户角度。
3、 勿限制测试思维
对于好的测试人员,都会有自己的一份通用测试用例表, 每次编写测试用例时,会将重复或公共的功能摘出来,去参照已有的通用Case。但若不能做到及时更新 ,随公司项目变更等,很可能在某些项目中固步自封,不能灵活地运用。所以通用Case总结更新是必不可少的,也可以分享出来让同行参谋 ,大家集思广益,也许其他人有更新奇的方法,这样会不断地开拓自己的测试思维 ,而不至于一直重复原有的经验。
4、 乐于分享,有计划地总结
给自己的学习过程制订一个详细的计划,量化到天,排好每天要学习的东西。同时最重要的是,一定要养成总结的习惯 ,每天总结 ,每个项目总结 ,总结测试方法,总结Bug原因,奇葩Bug等等,这些将会成为你日后工作的宝贵财富。同时主动总结久了, 你会发现自己有质的提升,而且对于当前的工作会更游刃有余,所以经验是靠日积月累的。