欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机网络 > 基本路径测试技术研究

基本路径测试技术研究

日期:2023-01-24 阅读量:0 所属栏目:计算机网络


摘 要:白盒测试是一种以覆盖测试和路径测试为主,针对程序的内部结构进行测试的方法。其中,基本路径测试作为白盒测试中应用较为广泛的测试方法,通过对程序控制流图中节点间的连接关系进行分析,以检测程序的覆盖程度。本文从实际出发,详细探讨基本路径测试的思想理论,并运用环路复杂性原理进行计算,检验程序算法的有效性,以及程序测试的充分性。

关键词:白盒测试;基本路径测试;环路复杂性
1 引言
  随着信息化技术的发展,市场对软件质量的要求越来越高,软件测试技术也受到了更高的重视。通过软件测试技术,对测试方案中可能出现的问题进行分析和评估,从而检验软件系统是否能够满足规定的需求,以确保软件系统的质量。在软件测试中,白盒测试是依赖于被测试程序的内部细节结构,运用特定的条件和循环语句,对软件系统的逻辑路径进行覆盖测试。
  白盒测试的测试方法有很多,包括代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖等。其中,运用最为广泛的就是基本路径测试。
2 基本路径测试分析
  所谓基本路径测试,是指在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。一般情况下,在测试的过程中不能达到完全覆盖所有路径,所以,如果能够保证一段程序的每个独立路径被测试到,那么就认为程序中的每一个语句已经被验证,这也既是基本路径测试的思想所在。
2.1 基本路径测试的一般步骤
(1)根据程序内容,画出程序控制流图。
(2)计算程序的环路复杂性,分析基本路径集中独立路径的条目数量,并保证程序中每个可执行的程序语句至少执行一次。
(3)依据环路复杂性,导出基本路径集,确定独立路径。
(4)设计的是测试用例,确保基本路径集中的每一条路径可以执行。
2.2 绘制程序控制流图
  程序控制流图是由程序流程图映射而来。其中,程序流程图是程序控制结构的图形表示,通过框图的形式,使人们清晰明了地识别程序的处理过程和业务逻辑。而控制流图,则是在程序流程图的基础上,用圆和弧线的链接反映控制流的处理过程。不同语句形式的控制流图如下:

图1 基本语句控制流图
  在控制流图中,圆表示流节点,代表一个或多个程序语句。箭头线代表控制边,每条控制边必须终止于一个节点。节点和控制边组合的范围为区域,区域的计算既包括内区域,也包括外区域。一般情况下,控制流图都是连通图,即任何两个节点都是连通的,这为计算程序的环路复杂性提供了有效依据。
2.3 计算环路复杂性
  环路复杂性是一种为程序逻辑复杂性提供定量测试,用来衡量一个模块判定结构的复杂程度,在数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,确保所有语句至少执行一次测试。
  环路复杂性又称圈复杂度,其计算方法有如下几种方式:
(1)控制流图中平面区域的数量(包括内区域和外区域)等于圈复杂度;
(2)控制流图的圈复杂度V(G)= e – n + 2p,其中G表示图,e代表图的边,n是图的节点数,p为图中的连通部分,一般情况下该值为1,因为一般情况下,控制流图都是连通图;
(3)控制流图中圈复杂度V(G)= P + 1,其中P为判断节点的个数,且可认为该点的出度数大于等于2。
2.4 导出基本路径集
  基本路径集的导出以环路复杂性的计算结果为依据,从而确定独立路径的数目。所谓基本路径,就是指一条从源节点到汇节点最长的路径,并且此路径上有尽量多的出度大于等于2的节点 ,路径上节点间有明确的逻辑关系,那么将这样的路径便称为基本路径。而独立路径,就是在同其他独立路径相比较时,至少存在一个新执行语句或新的判断节点的路径。
3 基本路径测试的应用
  假设用户每天有5次机会可登录系统,且每次最多可输入密码3次(令三次输入的密码分别用first、second和third表示,flag为输入正确密码的标志,i则是循环次数),那么密码验证的程序伪代码如下:
1 for (i=1; i<=5; i++) {
2  scanf (“%d”, first);
3  if (first == password) { flag=1; break;}
4  else {
5  printf (“Error! Please check and input again.”);
6  scanf (“%d”, second);
7  if (second == password) {flag=1; break ;}
8  else {
9  printf (“Error! Please check and input again.”);
10  scanf (“%d”, third);
11  if (third == password) {flag=1; break ;}
12  else {
13    printf (“Sorry! Back.”);
14    if (i ==5) flag=0;
    }
  }
  }
 }
15 if (flag ==1) login ( );
16 else printf(“Sorry, today you can’t operate.”);
17 close ( );
  依据密码验证的程序伪代码,其对应的控制流图如下:

图2 控制流图
在控制流图中,虚线表示循环状态。而从节点14到节点1包含已流通路径,根据独立路径的定义所述,该部分的路径信息忽略不计。
  依据环路复杂性的计算方法,在密码验证实例中,首先控制流图中平面区域的数量为4,其中内部区域为3,外部区域为 1。其次,对于控制流图的圈复杂度V(G)= e – n + 2p = 19 - 17 + 2 = 4。另一方面,从判断节点的情况来考虑,图中3个判断节点,分别是节点2、节点6和节点10,因此控制流图中圈复杂度V(G)= P + 1 = 3 + 1 = 4。从以上的分析来看,利用环路复杂性原理进行计算,得出4条路径。
  首先通过观察图形,选取一条基本路径1->2->4->5->6->8->9->10->12->13->14->16->17,该路径的特点是路径最长,具有完整的业务逻辑结构,且路径上有尽量多的节点的出度数大于等于2。接下来,以此基本路径为基础,找到基本路径上节点大于等于2的节点,并以该节点为轴心进行翻转,并选取与该节点相连接的另一个孩子节点作为新路径的下一个节点,参考基本路径的选取方法,直到查找到汇集点,从而生成新路径。观察基本路径,可以看出节点2为第一个出度数大于等于2的节点,那么以节点2为轴心翻转,选取节点2的另一个孩子节点3作为新路径的下一个节点,继续向下查找,直到到达汇聚节点17,从而得到新的路径为1->2->3->15->17。按照这种方式,依此类推,分别选取节点6、节点10作为轴心对路径进行翻转,最终将得到路径1->2->4->5->6->7->15->17和路径1->2->4->5->6->8->9->10->11->15->17。综上分析,所得的路径如下:
    表1 基本路径表
操作路径初始路径1->2->4->5->6->8->9->10->12->13->14->16->17以节点2为轴心进行翻转1->2->3->15->17以节点6为轴心进行翻转1->2->4->5->6->7->15->17以节点10为轴心进行翻转1->2->4->5->6->8->9->10->11->15->17  通过对程序业务逻辑进行分析,映射程序对应的控制流图,并计算出程序的环路复杂性,得出独立路径的数目。同时,选取基本路径,且以基路径为基础,经过一系列的节点替换,最终查找到所有路径,达到了路径的全面覆盖。另一方面,由于程序没有较为复杂的逻辑结构,因此基路径数目恰好与全部路径的数目相等。而对于某些逻辑关系较为复杂的程序,由于涉及到很多循环判断结构,故存在较多的路径叠加现象,那么对于基路径的选取将不能完全与整个程序的路径数目相等。
4 结论
  基本路径测试,是白盒测试中应用较为广泛的方法,利用环路复杂性原理计算独立路径数目,能够保证测试的充分性和完整性。本文正是以此为基础,从实际应用出发,详细分析程序的业务逻辑结构,判断条件之间节点的关系,并对环路复杂性进行计算,找到所有独立路径,以使程序达到合理有效地覆盖测试。
参考文献:
[1] 肖自乾, 王弗雄, 陈经优. 基本路径测试方法之圈复杂度计算[J]. 软件导刊. 2010 (1): 10-12
[2] 贾晓强. 基于白盒测试的基本路径测试[J]. 渭南师范学院学报. 2008, 23 (2): 71-73
[3] 古乐, 史九林. 软件测试案例与实践教程[M] . 北京:清华大学出版社. 2007 (2) 本文链接:http://www.qk112.com/lwfw/jsjlw/jsjwl/238295.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学