电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

10页
  • 卖家[上传人]:M****1
  • 文档编号:486155548
  • 上传时间:2022-10-05
  • 文档格式:DOC
  • 文档大小:103.06KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、成绩辽宁工程技术大学上机实验报告课程名称软件测试与评估实验题目基于代码的测试技术院系软件学院专业软件工程班级软件13-9班姓名王朝晖学号1320010920实验日期2016.5.12实验目的1.初步了解软件测试的基本知识。2.应用基本知识进行简单的测试。3.掌握代码测试技术的基本方法。4.针对案例,能够运用代码测试技术中的具体方法进行测试用例的设计。实验准备1.计算机一台,有 c与c+程序设计学习与实验系统的软件。2.了解至少一门程序设计语言,并能熟练应用。能够编写并运行有关实验的相关代码。3.了解程序数据流分析的方法并能应用方法分析程序。4.了解程序控制流分析的方法并能应用。 实验进度本次共有 1 个练习,完成 1 个。实验内容1.根据三角形问题进行编程,分为等腰三角形,等边三角形,普通三角形以及不能构成三角形。2.对程序进行数据流分析。3.画出程序的控制流图。计算程序的环形复杂度,导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界;4.导出基本路径集,确定程序的独立路径;5.根据独立路径,设计测试用例的输入数据和预期输出。实验分析

      2、一实验步骤1.打开c与c+程序设计学习与实验系统平台,编写有关三角形问题的相关程序。2.对程序进行数据流分析。3. 对程序进行程序控制流分析。4.计算环形复杂度。5. 给出程序的独立路径集合。6. 进行用例设计。7.总结归纳。二程序分析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!n);20)return main();21)22)2.分析程序主要是根据三个整数a,b,c,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

      3、要求输入的三个整数都是正数且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,输出“该三角形是等腰三角形!”。如果不是以上这两种情况,输出“该三角形是普通三角形!”。三 数据流分析数据流测试是以静态测试技术来发现缺陷的手段与方法。数据流测试是关注变量的赋值与使用位置的结构性测试方法。定义du-path。如果路径集合中的某个路径,定义两个节点,分别为该路径的起始节点和该路径的终止节点,该路径就为定义-使用路径。定义dc-path,如果某个定义-使用路径,除了起始节点之外没有其他定义节点,则该路径有定义-清除路径。数据流覆盖指标层次结构图描述数据“定义-使用”对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度,就可作为衡量测试效果的分析参考。由代码可得出节点4为定义a,b,c。节点7,9,12为使用a,b,c。根据数据流测试数据流覆盖指标,拉普斯-韦约克层次结构图来描述

      4、程序的数据“定义-使用”对,并找出所有变量的定义-使用路径,可得到程序图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. 根据代码得出程序流程图 程序流程图是人们对解决问题的方法、思路或算法的一种描述。程序流程图有有采用简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解的优点。开始791210161915132022结束 图2 程序流程图 2根据程序流程图,将程序流程图转换为控制流图:(1) 将程序流程图中的每个分支转换为一个独立的节点。(2) 在分支前的顺序块合并入节点。(3) 对所有的节点及程序控制的流向进行编号。如图3.9712151322101720 图3 程序控制图3.

      5、 计算环形复杂度V(G) 环形复杂度度量主要用于计算程序的基本独立路径数目,并以此来设计接下来的测试用例。主要根据程序的控制流图。(1) V(G)=控制流图中的封闭区域的数量+1=1+3=4(2) V(G)=流图中边的数量-流图中节点的数量+2=11-9+2=4(3) V(G)=流图中判定节点的数量+1=3+1=4故此程序的控制流图的环形复杂度为4五 独立路径集合根据上面的计算结果,可导出基本路径集,列出程序的独立路径(用代码给出的语句编号表示),可得出程序段的基本路径集中有四条独立路径,每条独立路径为一个独立的测试用例。路径如下。路径1:7-9-12-15-22路径2:7-9-12-13-22路径3:7-9-10-22路径4:7-17-20六 设计测试用例根据第五步的独立路径,设计测试用例输入数据和预期输出。设计的测试用例如表3所示。表3 测试用例表用例名称输入数据预期输出测试用例1A=5,B=6,C=7该三角形是普通三角形!测试用例2A=5,B=5,C=6该三角形是等腰三角形!测试用例3A=5,B=5,C=5该三角形是等边三角形!测试用例4A=3,B=4,C=7ERROR!七 测试

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

      7、的很顺利。对程序进行数据流分析。数据流分析是我的难点。以前没有接触到,不是很熟悉。对其中的定义掌握的也不是很熟练。重点是数据流覆盖指标层次结构图,数据流覆盖指标层次结构图描述数据“定义-使用”对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度。这个地方用了很长时间理解消化。对程序进行程序控制流分析。对控制流的知识有一定的了解,应用起来更加熟练。首先先画程序流程图。由于都是简单的语句。得出流程图并不难。然后根据程序流程图,将程序流程图转换为控制流图:将程序流程图中的每个分支转换为一个独立的节点。在分支前的顺序块合并入节点。对所有的节点及程序控制的流向进行编号。根据步骤也能较快的完成。计算环形复杂度。应用三种方法计算环形复杂度。得出相同的结果。证明实验没有出错。前面的步骤成功。根据控制流图得出四条独立路径。最后进行测试用例。根据四条独立路径,进行相应的测试用例。观察是否与预期的相同。这次的实验虽然简单容易,主要是自己的分析总结。实验可以很快的做完。但实验后的总结归纳才是最重要的的。通过这次实验。我对软件静态测试有了更加深刻的了解。能够更好的应用这方面的知识。能够独立自主的完成数据流的分析,画出数据流图。能够根据程序流程图画出控制流图。根据控制流图得到独立路径,计算环形复杂度。并进行测试用例。在做实验时我也有马虎的时候。在编写程序时会出现小的语法错误。能及时的改正。在画数据流图时,由于对知识点的了解不到位,所以出现了很大的问题。不知道该怎样画节点和边。浪费了很长时间。通过不断的理解,最后得到数据流图。并能分析出相关内容。以后的工作就相对简单了许多。这次的实验能够较好较快的完成。在以后的学习中,我会更加仔细认真。避免一些因为马虎的小错误。在做实验之前,先把应该理解的知识点弄懂弄会,避免在做实验的时候,发现不懂的地方。这样会浪费时间,影响效率。希望在下一次的实验中,能够更快更熟练地完成实验。使实验的目的发挥到最大。

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

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.