标签:
这是测试大师Elisabeth Hendrickson测试启发式问题。
一、一般启发式
这些启示法绝对适用于不论什么种类的接口和不论什么种类的系统。
抽象
剔除模型中的细节。忽略低层级的细枝末节,以此进行简化,让模型能够更少地关注详细细节,而很多其它地聚焦与概念层面。
比如,对于交互图来说,无需详尽地描写叙述一组通信,你也能够仅仅画一条线,再取个名字来描写叙述这些通信的核心交互就可以。
假设是在測试邮件client。那么在发送邮件时client可能要经历例如以下步骤:连接到server、鉴权、数据传输。与其在模型中记录全部步骤,你能够直接把clientserver端之间的这个完整交互过程标记为“发送邮件”,以此剔除细节、提升抽象层级。
绝不和始终
就是软件应该始终都要做(比如确保账目平衡)或绝不会做(比如毁坏用户数据)的那些事情。多找领域专家和业务干系人聊聊天。能够摸清系统有哪些“绝不”和“始终”。
開始、中间、结束
改变元素所处位置。
你能够改变某个特定序列中的元素。或者也能够针对某个特定位置的元素採取行动。如一下做法都是对此启示法的运用:
注意观察那些因位置改变而导致的迹象。相同也要留意不良行为。比如,附于结束位置的数据被删减。插于開始或中间位置的数据导致其它内容被删减。
集中一切
假设事物被散落至、细分为或编组成一个一个的独立块,那就把他们都放到同一个地方。比如:
改变模型
以一种不同的呈现形式来描绘你所測系统的模型。
状态图通常以圆圈和箭头来呈现其状态及转换,把它改成表格的形式。比如,状态用列来表示、事件用行来表示,然后用单元格数据来表示其结果状态。
把线性纲要改为思维导图,或是把思维导图改为线性纲要。
CRUD(增删改查)
创建(C)、读取(R)、更新(U)、删除(D)。
这些都是你能够针对系统内不论什么数据元素所运行的基本操作。连同其它启示法一起使用CRUD启示法。
比如:
分散一切
假设东西所有都在一个地方。那就把它们进行拆散、细分或是编组做成独立块。相同。也要跨越分布式系统建立连接。
比如
尾随数据
运行一系列数据相关的操作。每运行一步都要检查数据的完整性。此方法适合于用户能够对数据运行输入、搜索、报告、导入、导出、更新和查看等操作的不论什么系统。
在结合其它数据相关启示法使用的时候,尾随数据启示法的效果尤佳。
比如
金发女孩
太小、太大或是刚刚好。这适用于有固定大小范围的不论什么事物,比如日期范围、数字值。字串或文本长度,文件大小。等等。
须要留意其行为表现,包含例如以下一些:
干扰
想办法干扰关键进程。比方退出登录、关机、重新启动、杀操作系统进程、断网、强制休眠、致使会话超时、取消操作等。观察不良行为,比如:
逆向
掉头换个方向做事。
撤销一切。跳到结尾处。反向运行。比如:
部分、所有、全无
某个组套可能包括了一部分条目在内。也可能一个条目也没有。也可能包括了全部条目。跟“零、单、多”非常像,但更适合成组套出现的条目或属性。比方说权限、配置选项、标签、多选字段和复选框等。须要留意的行为表现包括例如以下一些:
挨饿
让程序挨饿,包含CPU、内存、网络带宽或磁盘空间在内的所需资源都不给它。注意观察一下响应:
过少
适用于能够统计数量的情况。
制造出数量低于预期的状况让软件处理,比如。植入列表的条目太少或发票排列项太少的情况。
过多
适用于能够统计数量的情况。
制造出数量超额的状况让软件处理,比如,活跃会话或连接过多的情况。
有效近似值
特别是在处理复杂领域的时候,差点儿不可能精确地推断出某个特定试验应该得到的结果。在那种情况下,你能够用一个近似值推断其精确度。你能够用该结果跟可能值范围进行比較。看看它是否在此范围内。你也能够检查结果所具备的特点。比如,计算值是增大了还是减小了。
违反数据格式规则
软件期待其所获数据是否符合规则的。
年龄不应该是负数。IP地址应该由4个0到255之间的数值组成。
电邮地址应该包括username和域名,有‘@’符号隔开。
自己定义的文件结构具有特定的结构。
尝试违反这些规则。看看软件怎样从容(或者不从容)地处理格式上存在严重问题的数据。
零
Cem Kanner的零法则是。仅仅要有0存在,就会有东西想要去除以它。通常意味着,假设软件期待的是一个集合,那么它往往都无法妥善地处理空集合(0元素)的情况。
零、单、多
零个事物、一个事物、多个事物。
可计数物可能包含搜索返回的结果、字符串里面的字符、数据流中的字节、层级结构中的子节点、一些文件、文件里的行、账目、日志里的活动,或者是不论什么领域特定对象的属性。注意观察其行为。包含例如以下一些:
变焦
注重详细细节,必要时收窄视野。
比如,在状态模型中,你能够先找出模型中的事件。然后再把软件的状态转换拆分为具体的步骤,以便从中发现子状态。
举个具体的样例,针对同意用户创建和更新条目的软件。你能够选择吧“保存”事件拆分为数据传输、验证数据和响应等步骤。
当中的每一步都由一个状态和触发其状态转换的事件所组成。
二、Web启示法
这些启示法特别适合针对基于web的应用程序使用。
后退、前进、历史
用户能够通过直接交互的形式使用web应用,也能够借助于浏览器的历史记录功能。包含后退、前进button以及历史记录。富web应用不是总能处理得当的。
留意例如以下情况:
存为书签
用户会将各种类型的网页保存为书签。当中包含一些没有被设计为可存为书签的网页。尤其要尝试将那些在操作流程中间出现的页面保存为书签。比如购买流程中的结算页面。须要注与意大利的问题观察“退却、前进、历史”喜欢。
版权声明:本文博主原创文章,博客,未经同意不得转载。
标签:
原文地址:http://www.cnblogs.com/gcczhongduan/p/4871207.html