![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
测试
文章平均质量分 77
大猪猪吃虎虎
暨南大学在读Java领域开发者,擅长构建系统平台框架
横向对测试/前端等领域都有涉及。
展开
-
白盒测试之循环语句覆盖法
简单循环的测试重点是验证循环结构的有效性,主要考虑循环的边界和运行界限执行循环体的情况。对于最多为 n 次的简单循环,一般需要设计跳过循环、循环 1 次、2 次,m 次(2<m<n-1)、n - 1 次、n 次、n + 1 次的测试用例,重点测试循环变量的初值、最大值、增量以及退出循环的情况。如果循环的最大循环次数不确定,一般设计跳过循环、循环 1 次、2 次,m 次的测试用例即可。嵌套循环是指一个循环语句的循环体内含有其他的循环语句的语法结构,while、for 等循环语句都可以进行嵌套。原创 2024-04-17 10:09:25 · 1477 阅读 · 0 评论 -
白盒测试之条件组合覆盖
条件组合覆盖可以使程序所有判断语句中的条件组合都被覆盖,但是仍然不能保证覆盖所有路径,需要再补充用例进行路径覆盖。另外,如果程序中的条件和分支比较多,需要设计的测试用例数量会很庞大。原创 2024-04-17 10:06:19 · 1680 阅读 · 0 评论 -
白盒测试之路径覆盖与基本路径覆盖
路径覆盖可以保证程序中的所有路径都被覆盖到,但对于包含多且复杂的判断语句、循环语句的程序来说,要覆盖每一条路径将会非常困难,需要花费极大的人力物力。路径覆盖可以使程序中的路径都被测试到,但是,要对程序中的路径做到完全覆盖经常是无法实现的。为了解决这一难题,我们需要在保证测试质量的前提下把测试的路径数量压缩到一定的范围内,基础路径覆盖法正好可以解决该问题。基本路径覆盖法是在程序控制流图的基础上,通过分析控制结构的圈复杂度,导出基本可执行的路径集合设计测试用例,运行被测程序,使程序的基本路径都得到覆盖。原创 2024-04-16 12:37:52 · 3321 阅读 · 0 评论 -
白盒测试之分支-条件覆盖
分支-条件覆盖可以使程序中的判断语句以及判断语句中的条件的真、假分支都得到覆盖,但是分支-条件覆盖达到 100% 仍然强度不够,程序中的某些逻辑运算等错误仍然可能不会被发现。原创 2024-04-16 10:55:08 · 795 阅读 · 0 评论 -
白盒测试之条件覆盖
条件覆盖法可以使程序中判断语句的每个条件都至少被覆盖一次,但满足了条件覆盖却不一定会满足分支(判定)覆盖,对于有些程序判定的错误仍无法发现。原创 2024-04-16 09:35:30 · 1153 阅读 · 0 评论 -
白盒测试之语句覆盖与分支(判定)覆盖
语句覆盖可以使程序中的语句都被测试到,但是它也是覆盖最弱的一种逻辑覆盖方法,无法发现程序中的很多逻辑错误,需要和别的覆盖方法结合起来使用才能保证覆盖更为全面。分支覆盖,也叫判定覆盖,是指运行代码进行测试时,程序中的所有判定语句的真、假分支至少都被执行过一次。分支覆盖率的计算方法为:测试时覆盖到的判定语句真、假分支的总数 / 程序中判定语句真、假分支的总数。原创 2024-04-15 15:52:21 · 1632 阅读 · 0 评论 -
单元测试四大过程
在单元测试总结阶段,测试人员应根据被测软件的设计文档、单元测试计划、测试记录、缺陷报告等内容对测试工作进行总结,完成单元测试报告。测试范围总结:总结本次单元测试的具体范围。如果测试过程中有未能被测试活动充分覆盖的范围,需在报告中说明未测试到的范围及原因;测试过程分析:测试报告中需对测试过程中的进度、资源、测试用例执行等情况进行总结分析;缺陷分析:与系统测试类似,单元测试报告中需对缺陷的类别、严重程度、解决情况等进行分析;遗留问题:如果测试过程中有遗留问题,需在报告中记录这些问题及未解决的原因;原创 2024-04-15 13:36:16 · 1861 阅读 · 3 评论 -
Junit4测试执行
在 JUnit 4 中可以将多个测试类组织在一起创建测试套件,批量运行多个测试类。JUnit 4 测试套件中不仅可以包含基本的测试类,还可以包含其它的测试套件,能非常方便地对不同模块的单元测试代码进行分层管理。如果存在多个测试套件,需要注意测试套件之间不能有循环包含关系,否则会出现死循环的情况。在使用 JUnit 执行测试用例时,有些测试用例需要按一定的顺序来执行。那么。JUnit 中的测试方法是按照什么顺序来执行的呢?原创 2024-04-12 13:20:23 · 1560 阅读 · 0 评论 -
【软件测试之因果图法】
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。因果图(Cause-Effect-Graphing)提供了把规则转化为判定表的系统化方法,其中“原因”是表示输入条件,“结果”是输入条件经过一系列计算后得到的输出。因果图实际上是一种数字逻辑电路(一个组合的逻辑网络),但没有使用标准的电子学符号,而是使用了稍微简单点的符号。当然,读者不必要掌握电子学方面的知识,只需要了解逻辑运算符“与”、“或”、“非”即可。原创 2024-04-12 09:45:00 · 1444 阅读 · 0 评论 -
【软件测试之判定表法】
判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达的既具体又明确,因此在程序设计发展的初期,判定表就经常被当作编写程序的辅助工具。判定表通常由 4 个部分组成:条件桩(Condition Stub):指所有条件的名称,列出的条件的先后次序无关紧要。动作桩(Action Stub):指所有可能采取的操作,顺序没有约束。条件项(Condition Entry):条件桩中的条件所有可能的取值。原创 2024-04-11 19:15:00 · 1104 阅读 · 0 评论 -
【软件测试之边界值法】
边界值分析法(Boundary Value Analysis,BVA)的测试用例来自于等价类的边界,是等价类划分法的补充。根据边界值划分法,等价类分析法中的测试数据不是选取等价类中的典型值或任意值,而是应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据。使用边界值分析法设计测试用例,首先应该确定它的边界。对于 int 类型的整数而言,-2 的 15 次方 和 2 的 15 次方 -1 是它的边界,也就是 -32768 和 32767 是边界;原创 2024-04-11 12:45:00 · 1463 阅读 · 0 评论 -
【软件测试之等价类划分法概述】
等价类划分法是最常用的黑盒功能测试方法之一,根据程序对数据的要求,把程序的输入域划分成若干个部分,列出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例的数据。注意:在测试用例中,可以先测试全部输入条件的有效等价类组合,再每次只测试一个输入条件的无效等价类情况。在等价类划分法中,每一类的代表性数据(也就是被选为测试用例的测试数据),在测试中的作用等价于这一类中的其他值,如案例 1 中的密码“test_123”和“abcd_123”就是等效的,他们都属于有效的密码数据。原创 2024-04-11 09:30:00 · 2258 阅读 · 0 评论 -
【如何设计测试用例】(蓝桥课学习笔记)
从未有足够的时间做所有我们需要做的事情,这是在软件项目中,尤其是测试环节中的一个普遍的现象。当应用程序发布时,总会有些遗漏的缺陷没有被发现,这是无法避免的一件事情。对于测试人员而言,如何在有限的时间内,把测试工作做到最好是我们需要考虑的事情,设计测试用例就是为了让测试过程在一定程度上变得可控。所谓的软件测试用例设计就是将执行软件测试的行为活动作一个科学化的组织归纳,通过对每个测试需求进行进一步实例化,来指导软件测试的实施过程。原创 2024-04-11 13:45:00 · 892 阅读 · 0 评论 -
软件测试流程
了解了软件的需求之后,软件测试人员会讨论开发这个版本的目的是什么、要包括什么功能、功能的范围是什么样的、有哪些可以参考的文档、用什么测试策略和工具来执行软件测试工作,然后快速地进行风险分析,并据此制定风险应对方案,还要确定测试资源,还需要确立几个里程碑事件……编写测试用例也是一个 PDCA,选择好测试用例的编写方法,开始设计测试用例,然后通过评审来发现更多问题,或者通过执行测试用例来发现 bug,再根据执行的情况和 bug 的情况来分析测试用例的有效性,把这些总结出来的经验用于指导下一次的测试用例设计。原创 2024-04-09 14:39:11 · 824 阅读 · 0 评论 -
V模型的测试级别
经过 α 测试的版本被称为 β 版本,同 α 测试一样都是由潜在的客户进行测试,而不是由产品的开发者进行测试,不同的是,β 测试开发者通常不在现场。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分隔离的情况下进行测试。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。原创 2024-04-10 10:30:00 · 770 阅读 · 0 评论 -
软件测试与QA的区别
软件测试是软件质量保证(Software Quality Assurance,SQA)的一部分,有助于提高软件的质量,但不是软件质量保证的全部。在这里需要注意的是,不管是单纯的测试人员还是赋予了部分SQA的角色的测试人员,都不要以一种管理者的姿态出现在开发人员面前,应该始终保持一种帮助开发人员纠正错误、保证产品质量的服务态度。软件质量保证目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”和“产品质量”,从而实现持续地改进质量,是一种有计划的、贯穿于整个产品生命周期的质量管理方法。原创 2024-04-09 13:49:26 · 240 阅读 · 1 评论 -
【Square】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案
【代码】【Square】2023全国大学生软件测试大赛开发者测试省赛覆盖率高分答案。原创 2023-11-21 21:11:32 · 228 阅读 · 0 评论 -
【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例
今天笔者在测试有关二叉树的测试用例时,发现一点一点给节点添加孩子操作十分繁琐,于是写了一个自动生成二叉树测试用例函数,供大家参考。原创 2023-11-10 21:45:17 · 391 阅读 · 0 评论 -
如何正确在循环中使用Rondom构建测试用例
我们都知道,在测试代码时候,可以暴力使用Random函数产生大量值构建测试用例,但我最近在循环中使用这个函数时,遇到一个坑,希望大家了解一下避免跟我犯同样的错误。提示:以下是本篇文章正文内容,下面案例可供参考。原创 2023-10-31 09:47:45 · 29 阅读 · 0 评论 -
Java反射获取私有内部类实例
今天笔者在获取一个类中的私有内部类实例的时候,用(获取外部类->获取内部类->构建内部类构造器->内部类构造器实例化)思路时,发现行不通,最后发现解决办法是在获取内部类的构造器时(无论有参或无参)都要在参数列表中加上外部类.class ,下面我用错误与正确例子对比加深大家的理解提示:以下是本篇文章正文内容,下面案例可供参考由于成员内部类的对象的创建依赖于外部类对象,持有指向外部类对象的引用,所有在反射构造成员内部类的时候一定要获取构造器再调用构造器的newInstance方法,原创 2023-10-30 19:49:48 · 134 阅读 · 0 评论 -
2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)
【代码】2023全国大学生软件测试大赛开发者测试练习题99分答案(ScapegoatTree2023)原创 2023-10-12 23:04:48 · 2979 阅读 · 1 评论 -
2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)
【代码】2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)原创 2023-10-11 21:58:44 · 2217 阅读 · 9 评论 -
JUnit测试进阶(Mock测试)
Mock测试在对程序模块进行测试时,通过替换与待测方法协作的对象,来实现待测代码与其他代码的隔离。值得注意的是,Mock只为测试提供服务,因此替换模块并不需要实现任何程序逻辑,只提供一个用于模仿被替换方法的空客。原创 2023-09-17 17:57:49 · 593 阅读 · 1 评论 -
Junit单元测试异常处理方法
开发者在进行Java编程时会对程序中的异常进行处理。一般的,可以发生异常的方法内添加 try/catch/finally 等处理语句,在方法内部解决异常;也可以使用throw / throws 语句交由方法上一层进行解决。因此,在单元测试也应当考虑方法抛出异常的情况,对异常的处理也应当纳入单元测试框架中。JUnit提供了多种异常处理的机制,以帮助测试者验证需要处理的异常代码,本篇文章我们主要来探讨一下JUnit处理异常的方法。原创 2023-09-16 19:06:22 · 1421 阅读 · 1 评论 -
软件测试中最坏与一般健壮性测试用例区别
那么为什么是6n+1呢,6n因为我们假设有n-1个点的测试用例都是最标准的中心测试用例,而剩余的一个点除了中心测试用例其他都有可能出现,因此有6种情况,因为有n个变量,因此有6n种情况,但这还没完,最后还有一种就是n个变量都是取得中心测试用例得情况,因此总得测试用例为6n+1。总的测试用例=7的n次方,因为在最坏的情况下,n个变量每个变量的所有测试用例都要测试,因此是7*7*7* ... = 7的n次方。2.如果有一个n变量函数的被测程序,健壮性测试会产生多少个测试用例。总的测试用例=6n+1。原创 2023-09-13 22:28:33 · 323 阅读 · 1 评论 -
JAVA高级技术入门(单元测试,反射,注解,动态代理)
public @interface 注解名称 {public 属性类型 属性名() default 默认值;特殊属性名:value如果注解中只有一个value属性,使用注解时,value名称可以不写!!注意序号1和序号2作用相同就是判断类上,方法上,成员变量上是否存在注解,并把注解里的内容解析出来代理类通常会持有一个委托类对象,代理类不会自己实现真正服务,而是通过调用委托类对象的相关方法,来提供服务,所以其实我们调用的还是委托类的服务,但是中间隔了一个代理类。原创 2023-09-10 00:04:28 · 404 阅读 · 2 评论 -
IDEA中Debug测试的基本使用
Debug是用来追踪代码,通常在程序运行中出现异常的时候启动debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化,通常我们也可以启动Debug模式来跟踪代码的运行流程去学习三方框架的源码。原创 2023-09-09 11:55:18 · 755 阅读 · 2 评论 -
关于Java类名首个字母命名的规范
IDEA中测试类中无法找到需要的类的解决方案原创 2023-09-08 17:17:08 · 395 阅读 · 2 评论 -
JUnit单元测试详解
JUnit适用于编写可复用测试集的简单框架JUnit测试是程序员测试,即白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么功能。原创 2023-09-07 10:00:56 · 419 阅读 · 2 评论