• 0
  • 3
分享
  • 浅谈测试案例的设计方法
  • 恬恬圈 2020-07-01 13:09:25 字数 2156 阅读 8904 收藏 3

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软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在面试的时候,经常会遇到这样的问题:你做过UI自动化么?是怎么做的?  一般来说,我会这么回答:做过,我是用Python+Selenium+UnitTest+BeautifulReport采用POM模式来做的。  首先的话我会创建一个BasePage类把一些常用的方法重新封装下,比如元素定位,打开页面等等直接封装的简单些,例如self.driver.find_element_by_id直接封装成by_id就行了。  然后的话如果页面跑自动化的时候要登录,也把登录直接封装成一个函数,后面直接调用函数就可以了。  还有的话也会把封装读取配置文件函数,比如读取CSV配置文件,我们可以把所用到的一...
            0 0 646
            分享
          • 1、Blocker级别——中断缺陷客户端程序无响应,无法执行下一步操作。2、Critical级别――临界缺陷,包括:功能点缺失,客户端爆页。3、Major级别——较严重缺陷,包括:功能点没有满足需求。4、Normal级别――普通缺陷,包括:数值计算错误JavaScript错误。5、Minor级别—一次要缺陷,包括:界面错误与UI需求不符。打印内容、格式错误程序不健壮,操作未给出明确提示。6、Trivial级别——轻微缺陷,包括:辅助说明描述不清楚显示格式不规范,数字,日期等格式。长时间操作未给用户进度提示提示窗口文字未采用行业术语可输入区域和只读区域没有明显的区分标志必输项无提示,或者提示不规...
            0 0 5800
            分享
          •   对于软件测试行业的伙伴来说,性能测试是一项十分重要的非功能性测试。那么,性能测试的操作流程又是怎样的呢?下面,我和大家分享下自己的经验吧。  性能测试首先要做的是性能需求分析,最好是选择用户操作最频繁的功能并且难度系数不是很高的操作来做性能测试,比如:登陆,搜索等。接着就是来确定性能指标,比如:  事务通过率为100%,90%的事务响应时间不超过5秒,并发用户为1000人,CPU和内存的使用率为70%以下。这些参数指标是需要结合实际的生产环境而制定的。  需求分析做完后,就要开始制定性能测试计划,从而明确具体测试时间,通常在功能稳定后进行。要视具体的情况来选择第几轮回归测试后进行...
            0 0 911
            分享
          •   Confd和Consul是什么鬼?  Confd和Consul都是用于配置管理和服务发现的工具。  Confd  Confd是一个轻量级的工具,用于管理分布式系统中的配置文件。它通过将配置文件和模板分离来解决配置管理的挑战。Confd监视由Etcd、Zookeeper、Consul等后端存储的配置更改,然后根据定义的模板生成配置文件,并将其分发到系统中的所有节点。Confd还支持从命令行或环境变量中读取配置参数,并将其注入到模板中。  在实践中,Confd可以用于管理诸如Nginx、Apache等Web服务器的配置文件,以及运行在Docker或Kubernetes容器中的应用程序的配置文件...
            0 0 414
            分享
          •   最近行业里有个苦涩的笑话:公司扛过了之前的三年,没扛过摘下最近的一年,真是让人想笑又笑不出来。年前听说政策的变化,大家都满怀希望觉得年后行情一片大好,工作岗位激增,至少能有更多的机会拥抱未来。然而,事实远没有想象的美好。  年后迎来的,是各个大厂的裁员风波,加上前几年市场冗余的人员,又积压了一大批竞争者。再然后呢?GPT的问世,直接动摇了无数人本就端的不太稳的饭碗,如果用一个词形容,那就是“愁云惨淡”。  个人经历  所幸,笔者所在的科技公司在几波裁员潮后逐渐趋于平稳。但从个人发展和其他层面出发,跳槽成了一个很大必要但并非当下紧急的事。所以,笔者也抱着试一试的心态投入了找工作的大军。  今...
            0 0 1312
            分享
      • 51testing软件测试圈微信