当前位置: 首页>編程日記>正文

软测工具Testbed的使用以及动态测试实例

软测工具Testbed的使用以及动态测试实例

基于大连理工大学软件测试与质量保证实验

1,软件与环境安装

由于该版本的Testbed是测试版本,有一定的使用期限。所以最好是下载到虚拟机里面然后使用之前用快照还原状态。当然直接下载到电脑里可以,但注意在使用期限内完成实验。

下载如图所示的两个文件
在这里插入图片描述
地址:链接:https://pan.baidu.com/s/1YgQJjDlE5jBRkU-ZOA5ysw
提取码:1x4x

打开testbed工具安装包->LDRATS-CEE->setup.exe 进行安装,过程中一路next(安装路径可自定义)。这样就把软件安装好了。

随后配置环境路径,利用env中的文件(我的路径为:E:/testbed/env)。

我的电脑->属性->高级->环境变量->在path中添加 “E:/testbed/env/bin/amd64”

我们将会进行动态测试,所以还要在TBrun中进行环境配置(注意,每次新建Sequence时,这一步都需要重复配置)。这个后面再讲,先把需要配的东西贴上来。

compile command:
cl /MT /w /c /Tc "$(Name)" -I $(SourcedirQuoteUnEnv) $(IncludedirsLeadQuoteUnEnv) -I"E:\testbed\env\include"
link conmmand:
link "$(DHobjPaths)" /out:"$(Exe)" /libpath:"E:\testbed\env\amd64" /libpath:"E:\testbed\env\x64" libcmt.lib kernel32.lib

注意这里有三个地方的路径是需要根据自己的情况修改的(“E:\testbed\env\include”,“E:\testbed\env\amd64”,“E:\testbed\env\x64”)。

2,动态测试实例 Testrain.c

对于printtype函数的测试,其源码如下:

void printtype(int i,int j,int k,int match)
{if( match == 0 ) goto l1;elseif( match == 1 ) goto l2;elseif( match == 2 ) goto l3;elseif( match == 3 ) goto l4;goto equil;
l1:    if(i+j<=k) goto not_a_tri;if(j+k<=i) goto not_a_tri;if(i+k<=j) goto not_a_tri; else goto scalene;
l2:    if(i+j<=k ) goto l1; else goto isos;
l3:    if(i+k<=j ) goto not_a_tri; else goto isos;
l4:    if(j+k<=i ) goto not_a_tri;else goto isos;
equil:       printf(" equilateral");goto end;
isos:       printf(" isosceles");goto end;
not_a_tri:      printf(" not a triangle");goto end;
scalene:    printf(" scalene");
end:;
}

我们的目标是要达到语句覆盖100%,同时分支覆盖95%以上。

(1)导入要测试的文件

选择文件
在这里插入图片描述
这样选择即可。

(2)进行单元测试

在这里插入图片描述

(3)创建Sequence与test case

完成第(2)步后,将会进入一个新的窗口——TBrun窗口。

我们先来针对printtype函数创建一个序列(Sequence)。
上面工具栏Sequence->New …
调整code coverage 和 test environment,分别如下:
在这里插入图片描述
在这里插入图片描述
创建完序列之后,这里有很关键的一步是配置TBrun的compile和link,否则在序列build driver时是会报错的。
在上面工具栏选择如下:
在这里插入图片描述
选择compile&link方式构建,并且把之前说的路径配上来。

compile command:
cl /MT /w /c /Tc "$(Name)" -I $(SourcedirQuoteUnEnv) $(IncludedirsLeadQuoteUnEnv) -I"E:\testbed\env\include"
link conmmand:
link "$(DHobjPaths)" /out:"$(Exe)" /libpath:"E:\testbed\env\amd64" /libpath:"E:\testbed\env\x64" libcmt.lib kernel32.lib

在这里插入图片描述
创建完序列并且弄完TBrun环境之后,就可以在序列中创建测试用例了。我们针对printtype函数创建测试用例:
在这里插入图片描述
之后在该用例处,编辑输入值,与预期输出值,例如:
在这里插入图片描述
像这样共创建10个测试用例就可以达到100%的语句覆盖和100%的分支覆盖了。测试用例我就不写出来了,有困难的可以私聊。
在这里插入图片描述
下面是该函数动态测试的数据流图,绿色表示达到过,红色表示没有达到过。
在这里插入图片描述
可以看到对于printtype函数,已经达到了语句覆盖和分支覆盖100%


https://www.fengoutiyan.com/post/14286.html

相关文章:

  • 动态测量实例
  • php动态
  • 功能测试用什么测试工具
  • 动态图标 工具
  • 动态软件
  • 软件功能测试
  • php动态页面实例
  • 软件动态测试
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機