基于代码的测试(软件静态测试).doc

上传人:F****n 文档编号:98878438 上传时间:2019-09-15 格式:DOC 页数:10 大小:93.50KB
返回 下载 相关 举报
基于代码的测试(软件静态测试).doc_第1页
第1页 / 共10页
基于代码的测试(软件静态测试).doc_第2页
第2页 / 共10页
基于代码的测试(软件静态测试).doc_第3页
第3页 / 共10页
基于代码的测试(软件静态测试).doc_第4页
第4页 / 共10页
基于代码的测试(软件静态测试).doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于代码的测试(软件静态测试).doc》由会员分享,可在线阅读,更多相关《基于代码的测试(软件静态测试).doc(10页珍藏版)》请在金锄头文库上搜索。

1、成绩辽宁工程技术大学上机实验报告课程名称软件测试与评估实验题目基于代码的测试技术院系软件学院专业软件工程班级软件13-9班姓名王朝晖学号实验日期2016.5.12实验目的1.初步了解软件测试的基本知识。2.应用基本知识进行简单的测试。3.掌握代码测试技术的基本方法。4.针对案例,能够运用代码测试技术中的具体方法进行测试用例的设计。实验准备1.计算机一台,有 c与c+程序设计学习与实验系统的软件。2.了解至少一门程序设计语言,并能熟练应用。能够编写并运行有关实验的相关代码。3.了解程序数据流分析的方法并能应用方法分析程序。4.了解程序控制流分析的方法并能应用。 实验进度本次共有 1 个练习,完成

2、 1 个。实验内容1.根据三角形问题进行编程,分为等腰三角形,等边三角形,普通三角形以及不能构成三角形。2.对程序进行数据流分析。3.画出程序的控制流图。计算程序的环形复杂度,导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界;4.导出基本路径集,确定程序的独立路径;5.根据独立路径,设计测试用例的输入数据和预期输出。实验分析一实验步骤1.打开c与c+程序设计学习与实验系统平台,编写有关三角形问题的相关程序。2.对程序进行数据流分析。3. 对程序进行程序控制流分析。4.计算环形复杂度。5. 给出程序的独立路径集合。6. 进行用例设计。7.总结

3、归纳。二程序分析1.程序代码1)#include2)main()3)4)int A,B,C;5)printf(请输入三角形的三条边:);6)scanf(%d %d %d,&A,&B,&C);7)if(A0&B0&C0)&(A+B)C&(A+C)B&(B+C)A)8)9) if(A=B&A=C)10)printf(该三角形是等边三角形!n);11)else12)if(A=B&B!=C)|(B=C&B!=A)|(A=C&A!=B)13)printf(该三角形是等腰三角形!n);14)else15)printf(该三角形是普通三角形!n);16)17)else18)19) printf(ERROR!

4、n);20)return main();21)22)2.分析程序主要是根据三个整数a,b,c,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。要求输入的三个整数都是正数且a+bc,a+cb,b+ca,才能进行以后的判断。否则输出“ERROR!”,返回主程序,重新输入三个整数a,b,c。然后判断三角形的类型。如果a=b且a=c,输出“该三角形是等边三角形!”。如果a=b,b不等于c,或b=c,b不等于a,或a=c,a不等于b,输出“该三角形是等腰三角形!”。如果不是以上这两种情况,输出“该三角形是普通三角形!”。3 数据流分析数据流测试是以静态测试技术来发现

5、缺陷的手段与方法。数据流测试是关注变量的赋值与使用位置的结构性测试方法。定义du-path。如果路径集合中的某个路径,定义两个节点,分别为该路径的起始节点和该路径的终止节点,该路径就为定义-使用路径。定义dc-path,如果某个定义-使用路径,除了起始节点之外没有其他定义节点,则该路径有定义-清除路径。数据流覆盖指标层次结构图描述数据“定义-使用”对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度,就可作为衡量测试效果的分析参考。由代码可得出节点4为定义a,b,c。节点7,9,12为使用a,b,c。根据数据流测试数据流覆盖指标,拉普斯-韦约克层次结构图来描述程序的数据“定义-使

6、用”对,并找出所有变量的定义-使用路径,可得到程序图G(P),如图1。使用路径du-path与清除路径dc-path,定义/使用节点和定义/使用路径,如表1,表2。 12345678910111213141516171819202122图1 G(P)表1 定义/使用路径变量路径(开始、结束)节点是定义清除吗a4,74,94,12否否是b4,74,94,12否否是c4,74,94,12否否是表2 定义/使用节点变量定义节点使用1a47,9,12b47,9,12c47,9,12 四程序控制流分析1. 根据代码得出程序流程图 程序流程图是人们对解决问题的方法、思路或算法的一种描述。程序流程图有有采用

7、简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解的优点。开始791210161915132022结束 图2 程序流程图 2根据程序流程图,将程序流程图转换为控制流图:(1) 将程序流程图中的每个分支转换为一个独立的节点。(2) 在分支前的顺序块合并入节点。(3) 对所有的节点及程序控制的流向进行编号。如图3.9712151322101720 图3 程序控制图3. 计算环形复杂度V(G) 环形复杂度度量主要用于计算程序的基本独立路径数目,并以此来设计接下来的测试用例。主要根据程序的控制流图。(1) V(G)=控制流图中的封闭区域的数量+1=1+3=4(2) V(G)=流图中边的数

8、量-流图中节点的数量+2=11-9+2=4(3) V(G)=流图中判定节点的数量+1=3+1=4故此程序的控制流图的环形复杂度为45 独立路径集合根据上面的计算结果,可导出基本路径集,列出程序的独立路径(用代码给出的语句编号表示),可得出程序段的基本路径集中有四条独立路径,每条独立路径为一个独立的测试用例。路径如下。路径1:7-9-12-15-22路径2:7-9-12-13-22路径3:7-9-10-22路径4:7-17-206 设计测试用例根据第五步的独立路径,设计测试用例输入数据和预期输出。设计的测试用例如表3所示。表3 测试用例表用例名称输入数据预期输出测试用例1A=5,B=6,C=7该

9、三角形是普通三角形!测试用例2A=5,B=5,C=6该三角形是等腰三角形!测试用例3A=5,B=5,C=5该三角形是等边三角形!测试用例4A=3,B=4,C=7ERROR!7 测试用例截图1. 测试用例1 输入三边,a=5,b=6,c=7,能构成一个三角形。且任意两边不相等。构成一个普通三角形。输出结果为“该三角形是普通三角形!”。如图4。图4 测试用例12. 测试用例2输入三边,a=5,b=5,c=6,能构成一个三角形。且有两边相等。与第三边不相等。构成一个等腰三角形。输出结果为“该三角形是等腰三角形!”。如图5。图5 测试用例23. 测试用例3输入三边,a=5,b=5,c=5,能构成一个三

10、角形。且有任意两边相等。构成一个等边三角形。输出结果为“该三角形是等腰等边三角形!”。如图6。图6 测试用例34. 测试用例4 输入三边,a=3,b=4,c=7,不能构成一个三角形。输出结果为“ERROR!”。返回主函数,继续输入如图5。图7 测试用例4心得体会本次实验主要是掌握软件静态测试及其用例的设计。总结来说就是六个步骤。先是编写有关三角形问题的相关程序。在这个环节老师给我们一个参考程序。只要我们在老师给的程序的基础上进行改编。很快就能调试成功。这次用的程序相对简单,应用基础知识就能很好地完成。只要注意一些小细节,比如分号的书写,中括号的书写,变量是否定义。这一步完成的很顺利。对程序进行

11、数据流分析。数据流分析是我的难点。以前没有接触到,不是很熟悉。对其中的定义掌握的也不是很熟练。重点是数据流覆盖指标层次结构图,数据流覆盖指标层次结构图描述数据“定义-使用”对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度。这个地方用了很长时间理解消化。对程序进行程序控制流分析。对控制流的知识有一定的了解,应用起来更加熟练。首先先画程序流程图。由于都是简单的语句。得出流程图并不难。然后根据程序流程图,将程序流程图转换为控制流图:将程序流程图中的每个分支转换为一个独立的节点。在分支前的顺序块合并入节点。对所有的节点及程序控制的流向进行编号。根据步骤也能较快的完成。计算环形复杂度。

12、应用三种方法计算环形复杂度。得出相同的结果。证明实验没有出错。前面的步骤成功。根据控制流图得出四条独立路径。最后进行测试用例。根据四条独立路径,进行相应的测试用例。观察是否与预期的相同。这次的实验虽然简单容易,主要是自己的分析总结。实验可以很快的做完。但实验后的总结归纳才是最重要的的。通过这次实验。我对软件静态测试有了更加深刻的了解。能够更好的应用这方面的知识。能够独立自主的完成数据流的分析,画出数据流图。能够根据程序流程图画出控制流图。根据控制流图得到独立路径,计算环形复杂度。并进行测试用例。在做实验时我也有马虎的时候。在编写程序时会出现小的语法错误。能及时的改正。在画数据流图时,由于对知识点的了解不到位,所以出现了很大的问题。不知道该怎样画节点和边。浪费了很长时间。通过不断的理解,最后得到数据流图。并能分析出相关内容。以后的工作就相对简单了许多。这次的实验能够较好较快的完成。在以后的学习中,我会更加仔细认真。避免一些因为马虎的小错误。在做实验之前,先把应该理解的知识点弄懂弄会,避免在做实验的时候,发现不懂的地方。这样会浪费时间,影响效率。希望在下一次的实验中,能够更快更熟练地完成实验。使实验的目的发挥到最大。村民建房委员会应建立村级农房建设质量安全监督制度和巡查制度,选聘有责任心和具有一定施工技术常识的村民作为义务巡查监督员,开展经常性的巡查和督查。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号