


单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,黑盒测试用例设计,场景法,内容提纲,复习,场景法的思想,场景法的步骤,举例,复习,黑盒测试用例设计方法有哪些?,场景法基本原理,现在的软件几乎都是用事件触发来控制流程的,象,GUI,软件、游戏等事件触发时的情景并形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流这种在软件设计方面的思想可以引入到软件测试中,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行用例场景的定义,用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流,.,基本概念,1.,基本流,和,备选流,在测试一个软件的时候,在场景法中,测试流程是软件功能按照正确的事件流实现的一条,正确流程,,那么我们把这个称为该软件的基本流;,出现故障或缺陷的过程,就用,备选流,加以标注,这样,备选流就可以是从基本流来的,或是由备选流中引出的分析,图中经过用例的每条路径都用基本流和备选流来表示,,直黑线表示基本流,,是经过用例的最简单的路径备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流,1,和,3,);也可能起源于另一个备选流(如备选流,2,),或者终止用例而不再重新加入到某个流(如备选流,2,和,4,)。
场景,场景,1,基本流,场景,2,基本流 备选流,1,场景,3,基本流 备选流,1,备选流,2,场景,4,基本流 备选流,3,场景,5,基本流 备选流,3,备选流,1,场景,6,基本流 备选流,3,备选流,1,备选流,2,场景,7,基本流 备选流,4,场景,8,基本流 备选流,3,备选流,4,场景法设计测试用例的步骤,根据说明,描述出程序的基本流及各项备选流,.,根据基本流和各项备选流生成不同的场景,.,对每一个场景生成相应的测试用例,.,对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值,.,例题:,在线购物系统,在当当网网上书店都订购过书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束确定基本流和备选流,基本流,用户到网站,书籍的选择,进行订购,把所需图书放进购物车,等进行结帐的时候,登录自己的帐号,登录成功后,生成订单,备选流,1,帐号不存在,备选流,2,帐号错误,备选流,3,密码错误,备选流,4,无选购书籍,备选流,x,退出系统,确定场景,场景,1-,购物成功,基本流,场景,2-,帐号不存在,基本流,备选流,1,场景,3-,帐号错误,基本流,备选流,2,场景,4-,密码错误,基本流,备选流,3,场景,5-,无选购书籍,基本流,备选流,4,确定测试用例,对于每一个场景都需要确定测试用例。
可以采用矩阵或决策表来确定和管理测试用例对于每个测试用例,存在一个测试用例,ID,、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果在下面的矩阵中,,V,表示有效数据元素,,I,表示无效数据元素,,n/a,表示不适用,例如场景,1,表示“成功购书”基本流请按上述规定为其它应用场景设计用例矩阵测试用例,ID,场景,/,条件,帐号,密码,选购书籍,预期结果,1,场景,1,:,购物成功,V,V,V,成功购书,2,场景,2,:,帐号不存在,I,n/a,n/a,提示帐号不存在,3,场景,3,:,帐号错误,I,V,n/a,提示帐号错误,,返回基本流步骤,2,4,场景,4,:,密码错误,V,I,n/a,提示密码错误,,返回基本流步骤,3,5,场景,5,:,无选购书籍,V,V,I,提示选购书籍,,返回基本流步骤,5,ID,场景,/,条件,帐号,密码,选购书籍,预期结果,1,场景,1,:,购物成功,xu,123456,软件测试艺术,成功购物,2,场景,2,:,帐号不存在,li,n/a,n/a,提示帐号不存在,3,场景,3,:,帐号错误,li,123456,n/a,提示帐号错误,,返回基本流步骤,2,4,场景,4,:,密码错误,xu,123$%,n/a,提示密码错误,,返回基本流步骤,3,5,场景,5,:,无选购书籍,xu,123456,空,提示选购书籍,,返回基本流步骤,5,课堂练习,:,ATM,例子,测试用例,:,生成每个场景的测试用例是通过某个特定条件来完成的,这个特定条件将导致特定用例场景的执行,.,七,.,错误,推测法,错误推测法的概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例例如:,在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结还有,输入数据和输出数据为,0,的情况、输入表格为空格或输入表格只有一行等这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例总结:测试,方法的选择,通常,在确定测试方法时,应遵循以下原则:,根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点认真选择测试策略,以便能尽可能少的使用测试用例,发现尽可能多的程序错误因为一次完整的软件测试过后,如果程序中遗留的错误过多并且严重,则表明该次测试是不足的,而测试不足则意味着让用户承担隐藏错误带来的危险,但测试过度又会带来资源的浪费因此测试需要找到一个平衡点,测试方法的选择,(续),首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法在任何情况下都必须采用边界值分析法这种方法设计出的测试用例发现程序错误的能力最强用错误推断法再追加测试用例,这需要测试工程师的智慧和经验,.,对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当再补充更多的测试用例如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法和判定表驱动法对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳组合。