自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 白盒测试之循环语句覆盖法

简单循环的测试重点是验证循环结构的有效性,主要考虑循环的边界和运行界限执行循环体的情况。对于最多为 n 次的简单循环,一般需要设计跳过循环、循环 1 次、2 次,m 次(2<m<n-1)、n - 1 次、n 次、n + 1 次的测试用例,重点测试循环变量的初值、最大值、增量以及退出循环的情况。如果循环的最大循环次数不确定,一般设计跳过循环、循环 1 次、2 次,m 次的测试用例即可。嵌套循环是指一个循环语句的循环体内含有其他的循环语句的语法结构,while、for 等循环语句都可以进行嵌套。

2024-04-17 10:09:25 1096

原创 白盒测试之条件组合覆盖

条件组合覆盖可以使程序所有判断语句中的条件组合都被覆盖,但是仍然不能保证覆盖所有路径,需要再补充用例进行路径覆盖。另外,如果程序中的条件和分支比较多,需要设计的测试用例数量会很庞大。

2024-04-17 10:06:19 901

原创 白盒测试之路径覆盖与基本路径覆盖

路径覆盖可以保证程序中的所有路径都被覆盖到,但对于包含多且复杂的判断语句、循环语句的程序来说,要覆盖每一条路径将会非常困难,需要花费极大的人力物力。路径覆盖可以使程序中的路径都被测试到,但是,要对程序中的路径做到完全覆盖经常是无法实现的。为了解决这一难题,我们需要在保证测试质量的前提下把测试的路径数量压缩到一定的范围内,基础路径覆盖法正好可以解决该问题。基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的圈复杂度,导出基本可执行的路径集合设计测试用例,运行被测程序,使程序的基本路径都得到覆盖。

2024-04-16 12:37:52 882

原创 白盒测试之分支-条件覆盖

分支-条件覆盖可以使程序中的判断语句以及判断语句中的条件的真、假分支都得到覆盖,但是分支-条件覆盖达到 100% 仍然强度不够,程序中的某些逻辑运算等错误仍然可能不会被发现。

2024-04-16 10:55:08 553

原创 白盒测试之条件覆盖

条件覆盖法可以使程序中判断语句的每个条件都至少被覆盖一次,但满足了条件覆盖却不一定会满足分支(判定)覆盖,对于有些程序判定的错误仍无法发现。

2024-04-16 09:35:30 929

原创 白盒测试之语句覆盖与分支(判定)覆盖

语句覆盖可以使程序中的语句都被测试到,但是它也是覆盖最弱的一种逻辑覆盖方法,无法发现程序中的很多逻辑错误,需要和别的覆盖方法结合起来使用才能保证覆盖更为全面。分支覆盖,也叫判定覆盖,是指运行代码进行测试时,程序中的所有判定语句的真、假分支至少都被执行过一次。分支覆盖率的计算方法为:测试时覆盖到的判定语句真、假分支的总数 / 程序中判定语句真、假分支的总数。

2024-04-15 15:52:21 827

原创 单元测试四大过程

在单元测试总结阶段,测试人员应根据被测软件的设计文档、单元测试计划、测试记录、缺陷报告等内容对测试工作进行总结,完成单元测试报告。测试范围总结:总结本次单元测试的具体范围。如果测试过程中有未能被测试活动充分覆盖的范围,需在报告中说明未测试到的范围及原因;测试过程分析:测试报告中需对测试过程中的进度、资源、测试用例执行等情况进行总结分析;缺陷分析:与系统测试类似,单元测试报告中需对缺陷的类别、严重程度、解决情况等进行分析;遗留问题:如果测试过程中有遗留问题,需在报告中记录这些问题及未解决的原因;

2024-04-15 13:36:16 1713 2

原创 Junit4测试执行

在 JUnit 4 中可以将多个测试类组织在一起创建测试套件,批量运行多个测试类。JUnit 4 测试套件中不仅可以包含基本的测试类,还可以包含其它的测试套件,能非常方便地对不同模块的单元测试代码进行分层管理。如果存在多个测试套件,需要注意测试套件之间不能有循环包含关系,否则会出现死循环的情况。在使用 JUnit 执行测试用例时,有些测试用例需要按一定的顺序来执行。那么。JUnit 中的测试方法是按照什么顺序来执行的呢?

2024-04-12 13:20:23 1309

原创 【软件测试之因果图法】

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。因果图(Cause-Effect-Graphing)提供了把规则转化为判定表的系统化方法,其中“原因”是表示输入条件,“结果”是输入条件经过一系列计算后得到的输出。因果图实际上是一种数字逻辑电路(一个组合的逻辑网络),但没有使用标准的电子学符号,而是使用了稍微简单点的符号。当然,读者不必要掌握电子学方面的知识,只需要了解逻辑运算符“与”、“或”、“非”即可。

2024-04-12 09:45:00 860

原创 【软件测试之判定表法】

判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确,因此在程序设计发展的初期,判定表就经常被当作编写程序的辅助工具。判定表通常由 4 个部分组成:条件桩(Condition Stub):指所有条件的名称,列出的条件的先后次序无关紧要。动作桩(Action Stub):指所有可能采取的操作,顺序没有约束。条件项(Condition Entry):条件桩中的条件所有可能的取值。

2024-04-11 19:15:00 859

原创 【如何设计测试用例】(蓝桥课学习笔记)

从未有足够的时间做所有我们需要做的事情,这是在软件项目中,尤其是测试环节中的一个普遍的现象。当应用程序发布时,总会有些遗漏的缺陷没有被发现,这是无法避免的一件事情。对于测试人员而言,如何在有限的时间内,把测试工作做到最好是我们需要考虑的事情,设计测试用例就是为了让测试过程在一定程度上变得可控。所谓的软件测试用例设计就是将执行软件测试的行为活动作一个科学化的组织归纳,通过对每个测试需求进行进一步实例化,来指导软件测试的实施过程。

2024-04-11 13:45:00 874

原创 【软件测试之边界值法】

边界值分析法(Boundary Value Analysis,BVA)的测试用例来自于等价类的边界,是等价类划分法的补充。根据边界值划分法,等价类分析法中的测试数据不是选取等价类中的典型值或任意值,而是应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。使用边界值分析法设计测试用例,首先应该确定它的边界。对于 int 类型的整数而言,-2 的 15 次方 和 2 的 15 次方 -1 是它的边界,也就是 -32768 和 32767 是边界;

2024-04-11 12:45:00 1045

原创 【软件测试之等价类划分法概述】

等价类划分法是最常用的黑盒功能测试方法之一,根据程序对数据的要求,把程序的输入域划分成若干个部分,列出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例的数据。注意:在测试用例中,可以先测试全部输入条件的有效等价类组合,再每次只测试一个输入条件的无效等价类情况。在等价类划分法中,每一类的代表性数据(也就是被选为测试用例的测试数据),在测试中的作用等价于这一类中的其他值,如案例 1 中的密码“test_123”和“abcd_123”就是等效的,他们都属于有效的密码数据。

2024-04-11 09:30:00 1474

原创 V模型的测试级别

经过 α 测试的版本被称为 β 版本,同 α 测试一样都是由潜在的客户进行测试,而不是由产品的开发者进行测试,不同的是,β 测试开发者通常不在现场。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分隔离的情况下进行测试。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。

2024-04-10 10:30:00 725

原创 软件测试流程

了解了软件的需求之后,软件测试人员会讨论开发这个版本的目的是什么、要包括什么功能、功能的范围是什么样的、有哪些可以参考的文档、用什么测试策略和工具来执行软件测试工作,然后快速地进行风险分析,并据此制定风险应对方案,还要确定测试资源,还需要确立几个里程碑事件……编写测试用例也是一个 PDCA,选择好测试用例的编写方法,开始设计测试用例,然后通过评审来发现更多问题,或者通过执行测试用例来发现 bug,再根据执行的情况和 bug 的情况来分析测试用例的有效性,把这些总结出来的经验用于指导下一次的测试用例设计。

2024-04-09 14:39:11 811

原创 软件测试与QA的区别

软件测试是软件质量保证(Software Quality Assurance,SQA)的一部分,有助于提高软件的质量,但不是软件质量保证的全部。在这里需要注意的是,不管是单纯的测试人员还是赋予了部分SQA的角色的测试人员,都不要以一种管理者的姿态出现在开发人员面前,应该始终保持一种帮助开发人员纠正错误、保证产品质量的服务态度。软件质量保证目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”和“产品质量”,从而实现持续地改进质量,是一种有计划的、贯穿于整个产品生命周期的质量管理方法。

2024-04-09 13:49:26 166

原创 【Square】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案

【代码】【Square】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案。

2023-11-21 21:11:32 154

原创 【UnrolledLinkedList2023】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案

【代码】【UnrolledLinkedList2023】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案。

2023-11-21 21:07:47 129

原创 【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例

今天笔者在测试有关二叉树的测试用例时,发现一点一点给节点添加孩子操作十分繁琐,于是写了一个自动生成二叉树测试用例函数,供大家参考。

2023-11-10 21:45:17 331

原创 Java关于由子类构造器生成的父类对象的反射问题

Java中由子类构造器生成的父类的getclass.getName不是父类的类名而是子类的类名,

2023-11-09 16:01:34 122

原创 Java语言级别8不支持本地枚举和语言级别 ‘8‘ 不支持 内部类中的 static 声明

在JDK1.8中,enum枚举类中不能在@Test注解下的方法中创建,也不能在类中类中创建,只能在类中创建(包括测试类)。

2023-11-08 15:37:39 610 1

原创 invoke方法传参String数组问题——wrong number of arguments

今天笔者在使用invoke方法的时候,发现报了一个这样一个错:“wrong number of arguments”,在网上冲浪寻找答案后才发现,是传递Sring[]准备了一个Tan类,其中创建了一个方法fun,需要传入String[]数组参数。

2023-11-05 15:16:03 334

原创 Win11新电脑启动无无线网络连接解决办法

今天笔者在使用学校实验室分配的新电脑时候,发现在新激活的时候需要让我连接到无线网络,但不管鼠标怎么点都操作不了,于是在卡在这里了,唯一的办法就是跳过此页面,那么怎么跳过这个页面呢?下面是解决办法。

2023-11-05 09:19:00 1206

原创 java.io.FileNotFoundException: D:\桌面\file3 (拒绝访问。)

今天笔者使用FileInputStream输入流的时候,向里面添加了(new File(“D://桌面//file3”)的File文件参数),最后不管怎样运行都会出现报错信息。修改为new File(“D:\桌面\file3\c.txt”)即可。FileInputStream只能读取的文件而不是文件夹。即把new File(“D:\桌面\file3”)创建文件File即可解决问题。

2023-11-04 13:36:01 245

原创 如何为一个Type类赋值

今天我在写代码的时候遇到一个神奇的类——Type,虽然说我们都心知肚明这个类代表着什么(字面意思嘛,很好理解),但是实操起来却无从下手,就如何对Type类进行赋值,我也是一头雾水,好在我专门了解了一下,下面是简单的对Type类赋值的语句。

2023-11-04 12:56:40 130

原创 listFiles()为null原因

今天笔者在对File文件进行listFiles方法调用时,发现报错返回空指针异常,下面是列举的可能出现的错误的原因。

2023-11-02 20:58:16 599 1

原创 Javassist讲解1(介绍,读写字节码)

javassist 使Java字节码操作变得简单,它是一个用于在Java中编辑字节码的类库;它使Java程序能够在运行时定义一个新类,并在JVM加载类文件时对其进行修改与其他类似的字节码编辑器不同,javassist提供了两个级别的API:源代码级别和字节码级别如果用户使用源级API,他们可以在不了解Java字节码规范的情况下编辑类文件。整个API仅使用Java语言的词汇设计,甚至可以以源代码的形式指定插入的字节码,Javassist会即时的进行编译。

2023-11-01 20:36:12 163 1

原创 如何正确在循环中使用Rondom构建测试用例

我们都知道,在测试代码时候,可以暴力使用Random函数产生大量值构建测试用例,但我最近在循环中使用这个函数时,遇到一个坑,希望大家了解一下避免跟我犯同样的错误。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-10-31 09:47:45 24

原创 Java反射获取私有内部类实例

今天笔者在获取一个类中的私有内部类实例的时候,用(获取外部类->获取内部类->构建内部类构造器->内部类构造器实例化)思路时,发现行不通,最后发现解决办法是在获取内部类的构造器时(无论有参或无参)都要在参数列表中加上外部类.class ,下面我用错误与正确例子对比加深大家的理解提示:以下是本篇文章正文内容,下面案例可供参考由于成员内部类的对象的创建依赖于外部类对象,持有指向外部类对象的引用,所有在反射构造成员内部类的时候一定要获取构造器再调用构造器的newInstance方法,

2023-10-30 19:49:48 88

原创 如何将Mysql数据库的表导出并导入到另外的架构

【代码】如何将Mysql数据库的表导出并导入到另外的架构。

2023-10-26 22:48:20 801 1

原创 如何将Linux上部署的5.7MySql数据库编码修改utf8(最新版)

前言`提示:这里可以添加本文要记录的大概内容:`今天笔者在将Springboot与vue前后端分离项目部署在服务器上成功后,却发现在服务器的MySql数据库编码出现了问题,即不能存储中文数据,后来查数据库的编码方式(show variables like ‘character%’;)才发现第3行和第6行出现了问题,编码为latin1而不是utf8,如下图,

2023-10-25 16:37:52 643 1

原创 Java反射获取内部类方法

Java 通过反射可以获得内部类,包括内部类属性信息和方法。创建了一个类Yest,其中有成员内部类A,A中有方法fun。由图可知抽象类中调用反射可以获取到私有方法。

2023-10-24 23:10:16 749 1

原创 Java每日笔试题错题分析(7)

5. HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性。成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区。成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区。HashTable线程安全。HashTable线程安全。

2023-10-20 20:33:12 151 1

原创 Java集合框架继承关系图(Collection)

下图展示了集合框架中各个类的继承情况

2023-10-20 18:50:06 94 1

原创 Random与random的区别

Rondom和raodom都可以表示随机数,下面是详细讲解提示:以下是本篇文章正文内容,下面案例可供参考。

2023-10-20 10:47:18 169 1

原创 Opengauss数据类型强转

问题:统计各类图书的平均价格,其中在图书表中price字段为money型(非数值类型)。使用cast(需要转换的字段 as 转换后的类型) 函数进行强转。

2023-10-19 11:33:03 156 1

原创 全国大学生软件测试大赛学习笔记

有参构造函数:参数为一个随机long型数字,带入参数后,每次生成的随机数相同。无参构造函数:无参数,每次生成的随机数不同。

2023-10-17 13:48:02 48

原创 Java每日笔试题错题分析(6)

题目中"admin"指向堆内存字符串常量池里admin的地址,而String类的方法都是通过创建新的对象也就是new String()的方式返回的,因此userId.toLowerCase()指向的是这个字符串对象在堆内存中的地址。,输出结果将变为true。本题考查==的含义,对于两个引用变量,只有他们指向同一个引用时,==才会返回true。本题考查==的含义,对于两个引用变量,只有他们指向同一个引用时,==才会返回true。

2023-10-16 20:31:28 66 1

原创 Java每日笔试题错题分析(5)

题中父类可以调用子类重写的方法,但不能调用子类新增的方法,因此语句b.bark()出错,由于b中无bark方法,因此会报编译错误。静态初始化:int array[]=new int[]{element1,element2…静态初始化:int array[]=new int[]{element1,element2…或int array[]={element1,element2}或int array[]={element1,element2}4.初始化子类的普通成员变量和代码块,再执行子类的构造方法。

2023-10-15 18:10:52 106 1

原创 2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)

【代码】2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)

2023-10-12 23:04:48 2705 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除