Selenium 学习(0.18)——软件测试之基本路径测试

        1、基本路径法测试的概念

        是一种白盒测试方法,它在程序控制流图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。

        要保证在测试中程序的每一个可执行语句至少执行一次
        【这和语句覆盖区别在哪里呢?

       
语句覆盖:基本思想:设计用例,使程序中的每个可执行语句至少执行一次。
       
Who can tell me, why?

        2、基本路径法测试的步骤

        1)画出控制流图

        首先要画出控制流图【是用于描述程序控制流的一种图示方法,程序控制流图中只有两种图形符号一一圆圈和箭头线】。

        圆圈:称为流图的一个节点代表一条或多条无分支的语句或源程序语句。

        箭头线:称为边或连接代表控制流。

        由边和节点所锁定的范围称为区域。

        几个结构的控制流图

        程序的控制流图突出了控制流结构,是流程图的简化。

        2)计算程序圈复杂度

        圈复杂度是环行复杂度,是一种为程序逻辑复杂度提供定量尺度的软件度量。它可以提供程序基本集的独立路径数量和确保所有语句至少执行一次的测试用例数量上界。

        计算圈复杂度的方法
        V(G) = 总的区域数 = 封闭区域数 + 开放区域数

        V(G)= E(Edge) - N(Node)+2 =  (边数-节点数+2)

        V(G)= P + 1 (判定节点数+1)

        3)导出独立路径

        独立路径指和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路,它必须至少包含一条在本次定义路径之前不曾用过的边。

        程序的圈复杂度V(G)值正好等于该程序基本路径集合中的独立路径的条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上限。

        4)准备测试用例

        确保基本路径集中的每一条路径的执行即一条独立路径对应产生一个测试用例

        实操

importjava.util.Scanner;
public class Test {public static void main(Stringl] args) {int a,b,c,max,min;Scanner input=new Scanner(System.in);System.outprintln("请输入三个整数:");a=input.nextInt0;b=input.nextInt0;c=input.nextInt0;System.out.println(a+"\t"+b+"\t"+c);if(a>b){max=a;min=b;}else{max=b;min=a;}if(max<c){max=c;}else if(min>c){min=c;}System.out.println("max="+max+"nmin="+min);}
}

       1、 画出控制流程图

        再转化为控制流图

        2、计算程序圈复杂度

        V(G)=总的区域数= 4

        V(G)= E-N+2 = (边数-节点数+2) = 10-8+2 = 4

        V(G)= (定节点数+1) = P+1 = 3+1 = 4

        3、导出独立路径

        由于圈复杂度是 4 ,所以独立路径也是4

        A、1 - 2 - 4 - 5 - 8
        B、1 - 3 - 4 - 5 - 8
        C、1 - 3 - 4 - 6 - 7 - 8
        D、1 - 3 - 4 - 6 - 8

        4、准备测试用例

        终于又把自己强迫了一下!(我有点很困了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336465.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能时代:自然语言生成SQL与知识图谱问答实战

语义解析 前言语义解析的应用场景总结概论语义解析和大模型的关系延伸阅读 前言 语义解析技术可以提高人机交互的效率和准确性&#xff0c;在自然语言处理、数据分析、智能客服、智能家居等领域都有广泛的应用前景。特别是在大数据时代&#xff0c;语义解析能够帮助企业更快速…

Backtrader 文档学习-Strategy(下)

Backtrader 文档学习-Strategy&#xff08;下&#xff09; 1. notify_cashvalue # 测试 #notify_cashvalue 方法特点 class Test_Strategy(bt.Strategy): # 策略通用初始参数params ((maperiod1, 5),(maperiod2, 20),(printlog, True), # 写入日志标志(logfilename, Test_…

Vue3:Axios配置及使用

Axios官方 一、安装&#xff1a; //使用 npm: $ npm install axios//使用 bower: $ bower install axios//使用 yarn: $ yarn add axios 在package-lock.json文件可以查看axios版本 二、配置&#xff1a; milliaAxios.js 配置axios import axios from axios // 创建一个 ax…

dubbo与seata集成

1.seata是什么? Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 2.seata的注解 GlobalTransactional&#xff1a;全局事务注解&#xff0c;添加了以后可实现分布式事务的回滚和提交&#xff0c;用法与spring…

小白兼职做抖店,一个月能做到5000利润吗?抖店现状问题解答

我是王路飞。 全职状态下做抖店的话&#xff0c;精细化操作的单店月利润保守数据在10000-30000&#xff08;该数据来自醒醒团队内部学员一般水平下月营收数据均值&#xff0c;仅供参考&#xff09; 但如果是新手小白&#xff08;没有电商经验&#xff09;&#xff0c;且是兼职…

公众号开发

需求&#xff0c;用户在小程序内识别公众号二维码。打卡公众号点击签到小程序内赠送对应金币。 首先需要在配置公众号基本配置。 对应后端代码 public function gzh(){//获取参数$get_data $this->request->request();$signature $get_data["signature"];$…

python_selenium零基础爬虫学习案例_知网文献信息

案例最终效果说明&#xff1a; 去做这个案例的话是因为看到那个博主的分享&#xff0c;最后通过努力&#xff0c;我基本实现了进行主题、关键词、更新时间的三个筛选条件去获取数据&#xff0c;并且遍历数据将其导出到一个CSV文件中&#xff0c;代码是很简单的&#xff0c;没有…

小红书违禁词判断标准,怎么看有没有敏感词

每个平台为了创造良好的社区环境&#xff0c;都会制定相应的社区管理准则&#xff0c;账号一旦出现违规行为&#xff0c;账号的相关内容会被限流&#xff0c;严重者&#xff0c;不给予展示或封禁。今天来马文化传媒和大家分享下小红书违禁词判断标准&#xff0c;怎么看有没有敏…

参数小,性能强!开源多模态模型—TinyGPT-V

安徽工程大学、南洋理工大学和理海大学的研究人员开源了多模态大模型——TinyGPT-V。 TinyGPT-V以微软开源的Phi-2作为基础大语言模型&#xff0c;同时使用了视觉模型EVA实现多模态能力。尽管TinyGPT-V只有28亿参数&#xff0c;但其性能可以媲美上百亿参数的模型。 此外&…

Element+vue3.0 tabel合并单元格span-method

Elementvue3.0 tabel合并单元格 span-method :span-method"objectSpanMethod"详解&#xff1a; 在 objectSpanMethod 方法中&#xff0c;rowspan 和 colspan 的值通常用来定义单元格的行跨度和列跨度。 一般来说&#xff0c;rowspan 和 colspan 的值应该是大于等于…

LeetCode 94. 二叉树的中序遍历

94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输入&…

入门实战丨Python小游戏经典案例

文章目录 写在前面判断与循环小游戏猜数游戏龙的世界 写在后面 写在前面 本期内容&#xff1a;两个个简单的Python小游戏入门案例。 实验需求&#xff1a;python 实验目标&#xff1a;掌握基本的判断与循环语句。 判断与循环 判断与循环是编程中非常重要的两个概念&#x…