1.概述
软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。测试案例作为测试执行的依据在软件测试工程中发挥着重要的作用。
本文从测试案例的设计意义出发,剖析了测试案例的设计策略、原则和分类,帮助测试人员在进行测试案例设计时,找到案例的设计方向和方法。
2.什么是测试案例设计
测试案例的设计简单说的就是设计一个测试场景,通过这个测试场景中的输入、执行条件和输出,来判断应用系统是否存在系统缺陷和不足;即通过执行测试案例,来判断系统是否能够正常运行并且达到程序所设计的执行结果。
根据测试案例的性质划分,测试案例在设计上可以分为正向测试案例和反向测试案例。
正向测试案例:是指系统功能正常运行的测试用例,验证系统是否能够完成它应该完成的操作。主要依据需求规格说明书,详细设计文档等完成正向测试的设计。反向测试案例:是指相对正案例而言,设计异常场景的测试案例,验证系统是否对不该完成的操作做出正确的控制。主要依赖测试人员的逆向思维和测试经验。
3.测试案例设计的综合策略
测试案例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法,功能图法等。应该说,这些方法是比较实用的,但采用什么方法,在使用时自然要针对开发项目的特点对方法加以适当的选择。
每种类型的软件有各自的特点,每种测试案例设计的方法也有各自的特点,针对不同软件如何利用这些案例设计方法是非常重要的,它能极大地提高测试效率和测试覆盖度,认真掌握这些方法的原理,有效提高测试水平,积累更多的测试经验,这是测试人员最宝贵的财富。
而测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常重要的,在实际测试中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖度。这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平。
以下是各种测试方法选择的综合策路,可供读者在实际应用过程中参考。
①首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。
②在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
③可以用错误推测法追加一些侧试用例,这需要依靠测试工程师的智慧和经验。
④对照程序逻辑,检查己设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
⑤如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。
⑥对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
⑦功能图法也是很好的测试用例设计方法,可以通过不同时期条件的有效性设计不同的测试数据。
⑧对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。
根据不同测试场景,选择不同的测试策略;在选择好我们案例设计的策略和方法后,就可以展开思路进行测试案例的设计。
4.测试案例设计的思路与原则
我们在设计测试案例时,通常包含正向测试案例和反向测试案例,反向测试案例通常是指,系统不支持的输入或者状态。根据常规测试案例的设计方法,测试用例设计时通过反向思维进行设计,能更快的发现缺陷或更有可能发现潜在缺陷,提高测试效率。
4.1设计思路
设计测试用例时,要寻求系统设计、功能设计的弱点。
设计正面的测试用例。
设计反面的、异常的测试用例。
4.2设计原则
功能测试案例的编制总原则是:根据测试范围,设计足够的测试案例,要求每一条测试功能都必须被测试案例所覆盖。对于测试场景,要求对基本事件流达到百分之百覆盖。对于备选事件、异常事件、逆向验证等,针对输入数据、业务规则等进行分析,设计足够的测试案例。要综合选取、灵活运用多种测试案例设计方法:等价类划分法、错误推测法等。
4.2.1测试用例的代表性
能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。
4.2.2测试结果的可判定性
即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
4.2.3测试结果的可再现性
即对同样的测试用例,系统的执行结果应当是相同的。
5.测试案例设计分类
笔者依据以上测试案例的设计策略和原则,通过多年的测试案例设计实践,可将常用的测试案例的设计总结分为以下类型:
5.1基本要素类验证
5.2权限类验证
5.3数据类验证
5.4业务规则类验证
5.5报表类验证
6.总结
测试案例的设计质量对于测试执行的结果至关重要,有效的测试案例设计方法能帮助测试人员提高测试工作的准备和执行效率;通过对以上测试案例设计的分析笔者总结出了一套测试案例设计的有效方法,意在帮助测试人员在测试实践中取文中精华,灵活解决测试案例设计上的问题,做到测试案例设计的高效率和高质量工作呈现。
版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。