• 0
  • 0
分享
  • 测试用例设计工具—BenderRBT
  • 饭团🍙 2020-08-28 10:09:10 字数 2544 阅读 4063 收藏 0

  黑盒测试用例的设计方法包括边界值法,等价类法,正交组合对法(OrthogonalPairs)和因果图法(CauseEfffect,类似于决策树软件测试法)等等,其中组合对法和因果图法由于涉及到输入条件与输出结果直接的组合与逻辑关系比较复杂,不适合用人工的方式计算。

  BenderRBT是基于需求的功能测试用例设计工具,具有组合对法(OrthogonalPairs)和因果图(CauseEffect)两种功能模块,通过对被测应用的需求进一步清晰化整理,进而设计出最小数目的测试用例实现最大的功能覆盖率。

  BenderRBT深入地分析应用的需求规格说明找出其中存在的错误和逻辑冲突,软件开发团队使用BenderRBT可以在软件开发的早期尽早地优化并且验证需求。在软件生命周期中越早发现并纠正错误,所付出的开销和时间就会越少。

  工具对软件测试活动的支持可以分为下面这些阶段:

  · 定义软件测试完成的准则;

  · 设计测试用例;

  · 建立测试用例;

  · 执行软件测试;

  · 确认软件测试结果;

  · 确认软件测试覆盖率;

  · 管理软件测试库。

图1.jpg

图1BenderRBT

  BenderRBT包含了两个完全独立的测试用例设计引擎:

  1.RBT:因果图测试用例设计模块;

  2.QuickDesign:基于正交组合对测试用例设计模块。

  11.1.1 RBT

  11.1.1.1 优化需求

  系统的需求必须是明确的没有歧义的才能够使得开发的系统是正确的,并且是可软件测试的。

  通过因果图可以对需求中的输入和输出之间的关系和约束进行全面的了解,RBT提供的多种形式的报告可以让开发单位和用户单位对所开发系统需求的统一认识,尽早发现需求中存在的问题。

  11.1.1.2 因果图设计

  因果图是成熟的技术,在工程中常用来需求验证和测试用例设计,因果图法实际上是把文本的需求规格说明转化为图形的一种方法,需求规格说明中的功能之间的关系通过因果图清晰的表示出来,每个输入和其他输入的关系,和输出直接的关系,还包括条件制约,节点的可观测性在这个阶段都需要指定,软件工程师在这个过程中可以充分的理解需求发现需求中存在的错误、不一致、不够详细或者模糊的描述等问题,这些问题通常只有到集成测试时才能发现。

  RBTg是因果图编辑工具,提供了一个简单快捷的因果图编辑环境,直接从绘图工具里面选择现成的节点,逻辑关系符号、制约条件加上连线就构成一个因果图。RBT所生成的测试用例或者格式化的需求报告可以用来作为开发单位和用户之间评审交流的基本资料,RBT提供的软件测试脚本包含了软件测试过程中每一步的输入和输出。

  图2.jpg

图2利用RBTg工具进行因果图设计

  11.1.1.3 最少的测试用例实现最大的功能覆盖

  如果软件测试工程师完全按照自己的经验或者感觉来设计测试用例,很难保证100%覆盖系统的所有的功能,研究报告表明一般来讲只能覆盖30-40%,BenderRBT采用的是严格的数学逻辑算法推导出最小数目的测试用例,并实现最大的功能覆盖率,实际上如果一个系统有37个输入,如果穷举软件测试的话需要1300亿测试用例,BenderRBT在1秒的时间内算出只需要22个测试用例就可以满足文档中描述的所有的功能需求覆盖。BenderRBT也提供功能和测试用例的对应关系表。

  图3.jpg

图3最少的测试用例实现最大的功能覆盖

  11.1.2 QuickDesign的主要功能

  11.1.2.1 基于正交组合对法设计测试用例

  QuickDesign提供了变量输入和变量状态的输入功能,用户需要按照需求规格说明找出系统的输入,和输入的各个状态,比如对于GUI软件测试,每个输入的下拉框选项对应的就是输入的各个状态,当GUI比较复杂,选项、菜单、按钮很多的时候,人工组合软件测试就很难保证完全,在QuickDesign中输入变量和状态以及约束条件。

  图4.jpg

图4基于正交组合对法设计测试用例

  QuickDesign基于正交组合对法进行严格的数学计算,得出组合对报告和软件测试脚本。

图5.jpg

图5得出组合对报告和软件测试脚本

  可以基于两种算法生成测试用例:正交对和优化对,正交对测试每一对组合的次数等于测试用例的数目,优化对每个组合最少需要一次软件测试,我们建议配置测试使用正交对法,功能测试使用优化对法。

  11.1.2.2集成性

  Bender-RBT可以集成测试管理工具TestDirector,生成的测试用例可以导出到TestDirector保证软件测试团队完成必要的测试用例,BenderRBT集成了很多录制回放工具,比如IBMRationalRobot和HPSegue的SilkTest等,当测试用例用到这些测试工具的时候,测试团队就可以使用这些自动化测试工具进行测试工作了。

  11.1.2.3主要特点

  高度优化的算法得出测试用例:

  ·同时支持因果图和组合对法设计测试用例;

  ·可以支持逻辑中敏感路径分析进而设计出测试用例使得用户得到最优化的测试用例;

  ·所生成的测试用例包括输入和输出,可以用来作为开发单位和用户单位评审的依据;

  ·所产生的测试用例数量最小,达到的功能覆盖最大,同时能够使得代码覆盖率较高;

  自然语言测试用例独立于目标平台:

  ·由于需求是自然语言的,所生成的测试用例也是用自然语言描述的;

  ·测试用例不依赖与任何目标系统,是平台独立的。

  支持需求中存在的约束情况:

  ·RBT支持现实世界的系统各种约束,比如互斥,包含,屏蔽等;

  ·通过加入现实情况下的约束条件减少无效测试用例;

  ·通过约束情况也可以发现需求逻辑中存在的不一致的错误。

  覆盖率分析:

  ·提供功能覆盖率分析,提供强覆盖和弱覆盖;

  ·可以支持把已经存在的测试用例集加入进来参与覆盖率分析。

  生成功能规格说明:

  ·通过因果图的输入,RBT会自动生成整理过的需求规格说明书,条理更清晰可以作为评审的依据;

  ·可以生成美军标498标准格式的需求规格说明。

  11.1.2.4 平台支持

  Pentium;

  128M内存;

  程序安装需要100M硬盘空间。


作者:顾翔   

来源:51Testing软件测试网原创

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   近日,一名上海网友在滴滴小程序发现了一条2017年的未支付信息。订单详情为 2 公里左右的行程, 7 分钟的时长,却显示付款 1414 元。  此次事件在滴滴客服回复“正常,支付就行”后,发酵到了热搜上,对滴滴平台的信誉造成了很大的影响。  随后,滴滴出行官微做出了回应:初步判断是当时司机误输入 2 遍导致。  虽然这可能只是一场人为的Bug,但仍然可以给软件测试工程师提供了一个学习的机会。以下是从这一事件中提炼出的几点启示:  1. 重视测试的全面性  软件测试工程师在进行系统测试时,必须确保测试覆盖了所有可能的使用场景,包括极端和异常情况。滴滴事件可能是由于系统在处理非常规行程时出现了...
            0 0 613
            分享
          • android app自动化测试框架Appium资料整理1 自动化测试1.1 自动化测试简介自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。从广义上来讲,一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化测试。从狭义上来讲,自动化测试就是通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。1.2 自动化测试的优点提高效率:通过运行自动化测试脚本,就可以在夜间、午休等时间进行测试用例回归,实现无人值守测试,大大提高了测试效率。避免重复工作:每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全...
            11 11 1765
            分享
          •   现在的宜家,越来越像美食UP主了。  大家对宜家最早的印象,无外乎是小红书千篇一律的极简风东欧性冷淡式家具,和特别适合拍照的线下门店。但在最近几年里,市场上来自宜家的声音越来越弱。  今年7月,“IKEA宜家风味屋”的抖音账号正式上线,该账号的认证主体为(宜家)中国投资有限公司,发布的视频以肉丸、牛排、松饼、各类蛋糕美食为主。IKEA宜家风味屋后续还尝试了直播带货,销量最高的是宜家瑞典风味餐厅的经典肉丸单人套餐,售价36.99元,目前已经迈出了3094份。  作为在中国布局多年的家居品牌来说,尝试美食视频可谓是破天荒的第一次,但也能看出宜家的窘迫处境。作为国际家居巨头,也需要通过线上的美食...
            0 0 809
            分享
          • 一、系统监控1、free命令free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存语法:free [param]param可以为:-b:以Byte为单位显示内存使用情况;-k:以KB为单位显示内存使用情况;-m:以MB为单位显示内存使用情况;-o:不显示缓冲区调节列;-s<间隔秒数>:持续观察内存使用状况;-t:显示内存总和列;-V:显示版本信息。Mem:表示物理内存统计total:表示物理内存总数(total=used+free)used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)free:表示未分配的物...
            2 4 3998
            分享
      • 51testing软件测试圈微信