常用的等价类划分、边界值分析、情景法等。不能涵盖所有要求。这里有一个不常使用但非常重要的测试用例编写方法。
因果图
应用场景:页面上有很多控件(输入),控件(输入)之间有不同的组合,不同的组合可以产生不同的输出结果。满足此条件的页面可以使用因果图。
通过应用场景,我们发现可以按照这个方法编写一个手机案例形状选择页面的用例。
让我们假设我们的手机品牌为品牌1和品牌2。品牌1有型 1和型 2,品牌2有型 3和型 4。我们所有的手机都有形状1和形状2,但是形状1只能被品牌1的手机使用,形状2只能被品牌2的手机使用。
除了固定选择之外,还有一些可选的定制项目,如手机挂绳、包边、标志处挖洞等。
手机挂绳可以用于所有形状的手机,包边只能用于形状2。让我们通过举例的方式更清楚地展示需求。
首先,我们需要找出所有的输入和所有的输出。
输入
1)品牌1
2)品牌2
3)型 1
4)型 2
5)型 3
6)型 4
7)外形1
8)外形2
9)手机挂绳
10)包边
输出
A 定制成功
B 错误提示
接下来,让我们看看输入和输出的组合。首先,我们必须确定那些不能组合的。。:
输入的组合
有一些必须组合的:
那么前六个输入条件共有4种可能的组合:
再将这四个跟后面四个输入进行组合,得出如下组合:
组合1:1)、3)、7)、9)。
组合2:1)、3)、7)、10)。
组合3:1)、3)、8)、9)。
组合4:1)、3)、8)、10)。
组合5:1)、4)、7)、9)。
组合6:1)、4)、7)、10)。
组合7:1)、4)、8)、9)。
组合8:1)、4)、8)、10)。
组合9:2)、5)、7)、9)。
组合10:2)、5)、7)、10)。
组合11:2)、5)、8)、9)。
组合12:2)、5)、8)、10)。
组合13:2)、6)、7)、9)。
组合14:2)、6)、7)、10)。
组合15:2)、6)、8)、9)。
组合16:2)、6)、8)、10)。
这样通过罗列所有的输入组合,可以提高用例的覆盖率,避免遗漏。
下面我们来分析输入的组合会产生什么样的输出结果:
组合1:品牌1+型 1+外形1+手机挂绳—定制成功。
组合2:品牌1+型 1+外形1+包边—提示错误。
组合3:品牌1+型 1+外形2+手机挂绳—定制成功。
组合4:品牌1+型 1+外形2+包边—定制成功。
组合5:品牌1+型 2+外形1+手机挂绳—定制成功。
组合6:品牌1+型 2+外形1+包边—提示错误。
组合7:品牌1+型 2+外形2+手机挂绳—定制成功。
组合8:品牌1+型 2+外形2+包边—定制成功。
组合9:品牌2+型 3+外形1+手机挂绳—提示错误。
组合10:品牌2+型 3+外形1+包边—提示错误。
组合11:品牌2+型 3+外形2+手机挂绳—定制成功。
组合12:品牌2+型 3+外形2+包边—定制成功。
组合13:品牌2+型 4+外形1+手机挂绳—提示错误。
组合14:品牌2+型 4+外形1+包边—提示错误。
组合15:品牌2+型 4+外形2+手机挂绳—定制成功。
组合16:品牌2+型 4+外形2+包边—定制成功。
经过分析,发现模型1和模型2、模型3和模型4的所有可用条件都是相同的,因此我们可以简化其中的一些条件。
黄色部分是重复的。当然,我们正在编写用例。模型1和模型2可以交替使用,模型3和模型4可以交替使用。
通过分析过程,我们发现使用因果图分析用例不仅可以覆盖更全面的用例,还可以去除一些重复的用例。
这样,我们可以根据所有输入和输出的逻辑来编写测试用例(这里只列出了一些用例,但不是全部)。
适用条件:比较适用控件输入条件少的情况,如是否按键、单选按钮、复选框或值少的下拉框。
这个例子很简单。我们发现,经过分析,我们不仅可以覆盖得更完整,还可以减少冗余用例,提高测试效率。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!