浅谈手机软件测试用例的设计方法及技巧
2018-12-21黄平凤中兴通讯股份有限公司
黄平凤 中兴通讯股份有限公司
前言
对于测试工作,其在软件建立的整体工作中是不可或缺的一部分。宏观上来说,测试工作直接关系到产品功能,形态,质量等等。所以,软件测试工作的重要性不言而喻,也受到越来越多的关注。从根本上来看待软件测试工作,它就是用一个个有针对性的测试用例,对软件的功能以及系统稳定性进行系统的测试评估。它也是软件测试质量稳定的基本保证。因此,用例在整个测试工作中极其重要,用例的设计要有针对性,非常有讲究。本文详细介绍了针对功能和结构分别设计测试用例的方法和技巧。
1.软件测试的相关概念
对于具体的软件我们要有具体的测试目的,拟定测试计划。而测试用例简单来说就是数据的输入和结果的预期。测试用例设计最难的部分是在前者,也就是输入数据的设计,对于其设计要求是设计出能够试错的测试数据。由于其过程复杂,我们可以应用一些现有的已经开发出的测试数据技术。这是非常快速可靠的办法。目前,在测试用例设计中大量应用的技术有两种,其中一种是针对结构性测试,叫做白盒测试;另外一种是针对功能性测试,叫做黑盒测试,这两种技术手段的应用方法和技巧也很多,下文中会一一详述。简而言之,白盒测试如其名,可以看作是一个透明的盒子,程序中的执行状态一目了然,逻辑以及结构都能够直观的测试出来,要尽可能多的对所有路径进行测试;黑盒测试如其名,可以看作是一个黑盒子,不需要去了解程序内部的运行情况,以及执行路径,而是侧重于程序运行的结果,对驱动以及功能的形成的测试。
2.软件测试用例的基本要素
2.1 用例编号
测试用例编号具有特定的规则,例如系统测试用例编号:project1-xt-001,命名规则是项目名称+测试阶段类型+编号。定义测试用例编号可以快速查找测试用例,并可以轻松跟踪测试用例的执行过程。
2.2 测试题目
测试过程中测试用例题目的描述应该清楚地表达测试用例的目的。例如,“当用户在登录时输入错误的密码时,测试软件要如何响应。”
2.3 重要级别
定义测试用例的优先级,通常可分为“高”和“低”。一般情况下,如果软件要求的优先级为“高”,则测试用例优先级为这个要求也是“高”;反之亦然。
2.4 测试输入
在测试执行期间提供各种输入条件。基于需求的输入条件确定测试用例的输入。测试用例的输入高度依赖于软件需求。如果没有定义软件需求所要求的输入数据,则会对测试用例设计造成障碍。
2.5 步骤
提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入必须分为几个步骤。这些步骤会在操作步骤中详细描述。
2.6 预期结果
提供测试执行的预期结果,应根据软件要求的输出。如果实际测试中获得的实际测试结果与预期结果不一致,则测试不通过;反之,测试通过。
3 白盒测试技术中测试用例的设计方法研究
白盒测试方法的功能是:对所有单独走过的路径进行不小于一次的测试;对所有可能的逻辑决策运行“真”或“假”;并且在有操作边界的地方做循环体操作,在有循环边界的地方同理;测试程序中的数据结构的有效性。在实际数据测试中,如果程序中有许多嵌套循环,如果执行路径的数量不同,则可以使用5×20嵌套循环小程序和其他对象编号。因此,通常需要通过选择性地实施该过程中的可以应用的一些最具代表性的方法来创造一些替代方法。逻辑覆盖是很主要的技术手段,其中包含了几大块:语句覆盖,在程序中运行不少于一遍语句。其覆盖排除逻辑的覆盖率不考虑,侧重于对于程序中存在的种种表达式的运行结果,但是不对每个表达式进行一一详尽的测试。因此,在图文和语句中覆盖相应的点使得这种逻辑覆盖程式相对较弱;覆盖决策,也称为覆盖范围,由最初满足的条件陈述语句,对于每个可能出现的路径以及对应的结果的组合方式都进行不少于一遍的测试。换句话说,它将针对每个分支执行至少一次。确定逻辑程序的覆盖范围不是很高。在程序中,边缘路径是对应于主要路径来进行决策的;条件覆盖不单单意味着各个陈述运行不少于一遍,而且会采取多种可能的方式以得到最后产生的结果,条件覆盖范围可能不包括决策覆盖范围;判断条件覆盖,其需要有非常多的测试数据,这是必备的,有了这些之后对于判断条件的数据赋值,并且各个判断表达式获得不同的结果;在条件组合覆盖中,有必要拥有尽可能多的数据进行测试,以便对出现的每个判断公式的所有可能条件的进行至少一遍的组合。条件范围覆盖,这是众多覆盖中最为强大的;路径覆盖有必要拥有尽可能多的数据进行测试,以便运行时每个相关路径执行的次数不少于一次。测试系统的层级结构包含测试所需的条件,循环测试,基本通过测试,至少要确定范围。这种方法的运用,对复杂程度要进行预先的计算,并定义指针的基本执行路径。在实际用例的测试中发现,单一应用某种用例都不全面,需要结合多种覆盖方法进行测试。
4 黑盒测试技术中的测试用例设计方法研究
通过黑盒测试,我们可以测试功能是否缺失或不正确;主接口是否正确接收正确的输入和输出结果;是否存在外部信息访问错误或数据结构错误,运行时软件可以满足性能要求;软件初始化或退出时没有错误;使用黑盒测试也使得无法将所有可能的输入和输出条件应用于测试,因为测试用例的组合是天文数字。显然,您需要设计一个合理的解决方案来减少测试用例的数量。黑盒测试的主要测试用例设计方法如下:
4.1 等价类划分
等价划分是将程序的输入字段划分为多个数据类,然后相应地导出测试用例,因为同一类中的数据效果相同。等效性可分为有效等价和无效等价。有效等价类是指满足程序功能要求并包含有意义数据的数据类。无效等价类是不满足程序正确操作或预期结果的数据类集合。设计测试时在这些情况下,我们应该考虑有效等价类和无效等价类的设计。等价类的划分有其自己的原则。
设计一个新的测试计划,尽可能多地覆盖有效的等价类,重复这一步,直到它涵盖所有有效的等价类,新的覆盖未覆盖的等价类创建测试计划并重复此步骤,直到所有无效的等价类都被淹没。
4.2 边界值分析
通常,等价类边界的输入/输出结果根据等价类划分并确定边界值选择,但由于测试数据小于边界值或大于边界值,因此需要边界值分析使用方法。而不是将等价类的内部数据作为测试用例。
4.3 错误推测法
错误推测方法主要依靠直觉和经验,需要一些开发大规模软件工程的经验。基本思想是列举程序中容易出错的可能错误和特殊情况,并根据这些条件选择测试方案。
5 结束语
编写测试用例是测试人员的必备条件。但有效的设计和熟练的操作是一项非常复杂的技术,要求测试人员在业务和功能方面清楚地掌握整个软件。测试人员总结实践经验并将其与测试理论结合,进行更有效的测试用例设计。