1.层次性
黑盒理论:输入->处理->输出
设计应用:测试步骤与预期结果对应
举例:
测试步骤1--预期结果1
测试步骤2--预期结果2
2.完整性
黑盒理论:输入->处理->输出
设计应用:对输出物进行完整的检验
举例:
数据导出,如图
测试思想-测试设计 <wbr>史上最详细测试用例设计实践总结 <wbr>Part2
点击导出--弹出导出确认框
确认导出--可在导出目录下看到导出文件
---------------以下对步骤往往被忽略-----------------
打开导出文件--导出记录数正确,内容完整,准确
3.可测性
黑盒理论:预期结果 vs 实际结果 ->验证是否缺陷
设计应用:预期结果必须可测
举例:
数据查询
选择目标状态全部,输入注册时间,点击查询--列出注册时间范围内的的所有学员记录,数据正确,完整
分析:
情形一:列表的数据不是你自己造的,且测试不接触后台数据库,即数据源不知
这种情况下,预期结果的“列出所有的”,”数据正确“,”完整“,从何验证,这样的预期结果没实际意义
情形二:列表的数据是自己造的或者可通过后台查询,即数据源可知
这种情况下,预期结果的“列出所有的”,”数据正确“,”完整“是可验证的,有实际意义。
所以这里要根据实际情况来写预期结果,以情形一为例:
选择目标状态全部,输入注册时间,点击查询--列出学员记录的注册时间在给定注册时间查询范围内
4.可读性
1.数据和逻辑独立性,详见上面
2.语言描述:尽量精炼,用词恰当等
3.规范(我个人不是很赞同)
对用例中用到的元素,输入数据和非输入数据如按钮,控件等,添加标识规范,如输入数据用{},类似按钮控件,链接等非输入数据用【】
例子:
在密码框中输入{密码},点击【登录】按钮
关于这点我不是很赞成的,有待讨论,因为需求什么都在变,可能这个版本写“登录”,下个版本写“确认”,但是同一个意思,登录系统,所以我个人比较建议用自然语言描述,比如输入密码和用户名,登录系统,这样大大提高用例可复用性。再说了,稍微有点电脑基础的人,一看界面也应该大致知道类似删除,登录,修改之类的元素吧。