自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于分层架构质量特性的测试

一般软件的架构分为四层,分别是表示层、服务层、业务逻辑层、数据层。表示层可以理解为软件展示给用户看的界面,服务层提供接口服务,业务逻辑层用来实现软件的功能点和业务逻辑,数据层提供数据支持。再简洁一些就是:表示层-界面、服务层-接口、业务逻辑层-代码、数据层-数据库。这四个层级要实现高内聚低耦合的关系,因此在测试的过程中,可以对某一个层级进行测试,也可以放在一个整体进行测试。不同层级有不同的测试重点和测试方法,以下是针对各层级的质量特性进行测试的详细说明。

2025-04-03 15:17:16 885

原创 软件缺陷属性规范

类缺陷可能导致部分功能无法测试或开发工作停滞,如关键模块的功能异常,使得相。这类问题虽不影响软件整体运行,但会对用户的。在特定条件下才会触发。操作步骤明确,但可能受到一些不稳定因素的影响,导致偶尔无法复现。缺陷影响软件主要功能的正常使用,但不会导致软件崩溃或数据丢失,对软件功能有一定影响,但不影响当前版本的发布和主要业务使用,对软件功能和用户体验影响较小,在时间和资源允许的情况下进行修。:软件功能的实际实现与需求规格说明书不一致,产生错误的结果。:软件中存在一些不必要的功能,增加了软件的复杂度和维护成本。

2025-03-26 17:39:46 779

原创 【练习17】数组中的最长连续子序列

排序后,判断是否连续:后一个数-前一个数=1。排序后,判断是否重复:后一个数-前一个数=0。

2024-10-21 12:18:52 181

原创 【练习16】求最小公倍数

要求最小公倍数,要先用辗转相除法求最大公约数。最大公约数 = (b, a % b),直到b为0。最小公倍数=a*b / a和b的最大公约数。

2024-09-22 17:05:52 268 1

原创 【练习15】拼三角

因为已经排好序了,如果第一行a+b<c,后面所有的c都比第一行的大,所以只要考虑四组数据就好了。

2024-09-21 15:03:16 385

原创 【练习14】岛屿数量

【代码】【练习14】岛屿数量。

2024-09-20 11:10:36 303

原创 【练习13】字符串中找连续最长的数字串

因为BufferedReader 内部维护了一个字符缓冲区,调用readLine()方法时,它可以一次性从底层的InputStreamReader读取多个字符到缓冲区,逐个字符返回。这样的好处就算提高了读取效率。为什么用到BufferedReader 和 InputStreamReader组合输入字符?注意:读取过程中可能会抛出异常,必须显示处理异常。

2024-09-19 16:41:53 309

原创 【练习12】转换成小写字母

定义一个方法isUpper()来判断输入的字符是否为大写,且大写字母的ASCII值比小写字母小32。

2024-09-18 16:07:51 267

原创 【练习11】大数乘法

2.可以采用模拟列竖式做乘法的方式,先无进位相乘再相加,最后处理进位。因为读入的数字太大,而字符串没有固定的大小限制。1.为什么以字符串的形式输入?

2024-09-18 12:58:06 465

原创 【练习10】链表相加

逆序的原因是为了实现从低位(个位)开始相加。算法原理是逆序+高精度算法。

2024-09-13 16:51:28 257

原创 【练习9】大数加法

【代码】【练习9】大数加法。

2024-09-12 12:08:20 268

原创 【练习8】杨辉三角

创建一个二维数组来实现杨辉三角,因为当前元素的值是上一行的当前列与前一列的和,所以创建数组的时候要实现n+1,相当于罩子一样的东西。

2024-09-09 19:23:33 184

原创 【练习7】Fibonacci数列

当n为15的时候,可以用Math.min(c-n,n-b)来判断哪个是变成斐波那契数的最小步数。

2024-09-06 14:21:12 225

原创 【练习6】除2!

想获得最大的偶数,可以创建一个大根堆,将偶数放进去,从最大的开始除2,除完再放回去。输入5个数,选择三个最大的偶数除2,求这些数的和。

2024-09-05 19:27:00 284

原创 【练习5】简写单词

1.用到in.charAt(i)方法,可以实现读取下一个由空白字符分隔的输入字符串,并返回这个字符串的第一个字符。2.ch-32可以实现小写字母转大写字母。

2024-09-04 18:02:53 216

原创 【练习4】牛牛的快递

其中Math.ceil(num)可以实现超出部分不足1kg按1kg计算。先判断是否超出1kg,再判断是否加急。

2024-09-02 17:47:19 178

原创 【练习3】点击消除

消除的是“相邻且相等”的数,可以考虑用栈。这里使用StringBuilder来代替栈,好处是StringBuilder可以实现尾插和尾删的操作。

2024-09-01 18:54:45 225

原创 【练习2】两个数组的交集

如果被标记过,说明这个元素是两个数组的公共元素,放在ret中。重复的元素标记为false,防止重复添加。是在求两个数组的交集元素,并且这个元素不能重复,用到哈希数组。3.遍历nums2,判断nums2中的元素是否已经被标记过。2.遍历nums1,遍历到的元素用true标记。1.创建布尔类型的hash数组。

2024-08-31 18:53:50 297

原创 【练习1】数字统计

枚举法+数字拆分(tmp % 10,tmp / 10)

2024-08-30 19:45:56 257

原创 【Linux】

思考1:命令的基本组成说明:command:命令options:命令选项paramter:命令的操作对象[]:表示可选思考2:查阅命令帮助信息思考3.基础的命令有哪些查看当前路径:pwd查看当前路径下的文件:ls创建文件夹:mkdir创建文件:touch切换目录:cd,切换到上一级目录:cd.. , 切换到上次所在的目录: cd - , 切换到当前主目录:cd对文件或目录进行移动/重命名:mv复制:cp删除:rm,最好带有交互性rm -i,删除整个目录:rm -ir。

2024-08-14 10:53:29 607

原创 【PyCharm怎么同时打开多个项目】

file->settings->appearance->system settings->project->选择ask。之前点击了“don't ask again”,再也不能同时打开两个或多个项目了。

2024-08-12 10:12:54 1252

原创 【Web自动化测试】

是一种纯文本格式,后缀.json是一种轻量级数据交换格式由键值对组成花括号包含键值对,中括号包含数组,键值对直接用逗号分隔,键与值用冒号分隔。

2024-08-12 07:45:35 927

原创 【Postman工具】

接口是系统之间数据交互的通道。拿小红到沙县点餐为例:小红想吃鸭腿饭。她要用什么语言来表达?跟谁表达?通过什么表达?按照生活习惯应该是:小红根据菜单对服务员用中文表达她想要一份鸭腿饭。这里中文作为小红和服务员的共同语言标准,菜单作为一个规范。迁移到浏览器和服务器上:浏览器和服务器通过http协议(中文)进行通信,通过接口规范文档(菜单)发送符合规定的报文才能得到响应服务。

2024-08-10 17:56:58 1456

原创 【Fiddler工具】

作用:UI自动化测试的元素定位①绝对路径://*[@id="db-nav-movie"]/div[1]/div/div[2]/form/fieldset/div[2]/input 这种方法不太方便②相对路径://input[@value="搜索"] (推荐)工具:selenium--八大元素定位方法(id、name、xpath...)相同点:都能对http和https请求进行抓包不同点:fiddler可以抓手机app端的请求,且可以在请求前后修改数据。

2024-08-10 08:27:16 1092

原创 【网络基础二】网络编程基础

在生活中,我们可以通过网络获取丰富多彩的网络资源。比如,我们在B站上看到的各种视频,实质都是通过网络获取到的资源。而所有的网络资源,都是通过网络编程来进行数据传输的。

2023-10-17 19:12:16 152

原创 【JavaSE】核心API

预先定义的接口供开发人员使用。JDK中以包的形式提供了丰富的API接口。java.lang包:是所有类库的基础,支持Java程序运行。lang包已经被嵌入到JVM虚拟机中并创建为对象,因此在使用时不需要导入。以下所有类都是在java.lang包中的导包:java.lang.*

2023-10-16 22:12:11 148

原创 【数据结构】Map和Set

问题描述:旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请列出肯定坏掉的那些键。可以使元素的存储位置与关键码之间建立一一映射的关系,在查找中可以很快的找到该元素。给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。如果不同的单词有相同出现频率,Map存储的是Key-value键值对,Set存储Key。代表石头中宝石的类型,另有一个字符串。1.直接遍历,元素多的时候速率慢。

2023-10-13 22:23:29 85

原创 【数据结构】排序

就是使一串记录按照某个关键字的大小进行递增或递减的排列操作。

2023-10-12 16:06:24 60

原创 【数据结构】优先级队列(堆)

优先级队列类似于普通队列,但元素的出队顺序是根据优先级决定的,优先级高的元素先出队,优先级低的元素后出队。1.堆是完全二叉树2.堆的节点具有堆序性:大根堆的父节点值大于等于子节点,小根堆的父节点的值小于等于子节点JDK1.8中PriorityQueue底层使用了堆这种数据结构,而堆是在二叉树的基础上进行的调整。

2023-10-06 09:25:17 72

原创 【网络基础一】网络初识

网络是由多台计算机和其他网络设备相互连接而成的。通过通信协议将不同的计算机、服务器、路由器、交换机等设备连接起来,使它们可以相互交换数据和共享资源。交换机:组建局域网(不能跨局域网)路由器:将两个局域网连接起来。(WiFi本质上就是无线路由器)1.电信号(网线):低电平表示1,高电平表示02.光信号(光纤,电磁波):高频光表示1,低频广表示0光纤:传播信号的介质✍️表示网络传输的基本单位:包packet、报datagram、帧frame、段segment...

2023-10-02 21:33:12 81

原创 【数据结构】 - 二叉树

二叉树的概念一棵二叉树由根节点加上左子树和右子树组成,二叉树不存在度大于2的节点,子树有左右之分,次序不能颠倒。特殊二叉树一棵二叉树的每层节点都达到最大值,也就是说满二叉树的层数为k,节点个数为。完全二叉树是由满二叉树引出来的。对于深度为k、有n个节点的二叉树,当且仅当每一个节点都与深度为k的满二叉树中编号为0-n-1的节点对应,称为完全二叉树。(从上到下,从左到右)二叉树的性质1.若根节点层数为1,则一棵非空二叉树的第 i 层最多有个节点2.深度为k的二叉树的最大节点数为(k>=0)

2023-10-02 15:44:22 208

原创 【文件操作】IO

1.狭义的文件指的是硬盘上的文件和目录(文件夹)。2.广义的文件泛指计算机中很多的软硬件资源。操作系统中把很多的硬件设备和软件资源抽象成了文件,按照文件的方式来统一管理。3.文件的类型存的是文本、字符串存的是二进制数据,不一定是字符串了4.路径以C: 、D:盘符开头的路径以当前所在的目录(工作目录)为基准,以 . 或 .. 开头找到指定路径。

2023-09-30 16:13:25 92 1

原创 【数据结构】栈和队列

栈和队列

2023-09-29 20:42:52 85

原创 【测试】性能测试工具-LoadRunner

检查点:相当于"断言",主要检查服务器压力较大时,是否能够准确返回指定的测试对象,一般放在页面请求之前。函数:web_reg_find("Text=想要匹配的关键词",LAST);lr_start_transaction("事务名称"):参数为事务名称。lr_ens_transaction("开始事务时取的名称",注意:最好使用IE/360浏览器,使用Windows操作系统。1.录制的测试脚本达不到预期的测试目的-❤️为什么要进行脚本的增强?2.无法体现自动化测试的目的。3.具备丰富的报告功能。

2023-09-26 19:58:37 276

原创 【测试】性能测试基础

验证系统在处于极限负载状态下或者某指标已经处于饱和状态下的系统性能的表现(往往会把系统搞崩溃)指测试人员借助性能测试工具对软件、系统或网络进行测试,以评估其在不同条件下的性能表现。如何衡量性能好坏:通过数据来进行展示,借助工具所监控和收集的各项指标来分析系统的性能。:单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。验证系统在连续运行的状态下,查看系统的各项指标是否存在异常。指每秒系统能够处理的事务数,是衡量系统处理能力的重要指标。验证系统在一定压力下的运行时间,知道系统性能出现"拐点"

2023-09-25 20:37:50 165 1

原创 【测试】Junit单元测试框架

我们仍热可以使用Junit里提供的方法来手动设置用例的执行顺序。Junit是一个开源的Java语言的单元测试框架,使用Java开发者都应当学习Junit并掌握单元测试的编写。❤️@BeforeAll:被注解的方法必须定义为static,在其他方法执行前只要执行一遍。❤️@AfterAll:被注解的方法必须定义为static,在其他方法执行后只要执行一遍。❤️@BeforeEach:被注解的方法在其他方法执行前都要执行一遍。❤️@AfterEach:被注解的方法在其他方法执行后都要执行一遍。

2023-09-24 22:24:34 262 1

原创 【测试】Web自动化-selenium

自动化测试能够代替一部分手工测试并且能够提高测试效率。随着功能的增加,版本越来越多,版本回归的压力越来越大,仅仅通过人工测试来回归所有的版本是不现实的,所以我们需要借助自动化工具来进行回归。计算机里的驱动程序,可以驱动计算机和设备工作起来。在人工测试的情况下,是人工手动打开浏览器,而自动化测试中需要借助驱动程序来协助打开浏览器。

2023-09-24 15:11:51 150 1

原创 【测试】概念篇

满足用户期望或 规定文档所具有的条件,包含用户需求和软件需求。一句话。可以理解为甲方的需求,一般比较简略。一个文档。会详细描述开发人员必须实现的软件功能,开发人员和测试人员的直接依据。测试用例(Test Case)是为被测试系统提供的一组集合,包括测试环境,操作步骤,测试数据,预测结果。在进行测试用例的时候,要考虑这几方面因素测试用例=功能测试+界面测试+性能测试+安全测试+易用性测试+兼容性测试1.Blocker(崩溃):阻碍开发或测试工作;造成系统崩溃,导致数据库数据丢失等。

2023-09-21 14:27:08 138

原创 【多线程初阶】线程安全问题

synchronized保证原子性,volatile保证内存可见性。

2023-09-19 14:56:44 69

原创 【多线程初阶】认识线程

通过实现Runnable接口,并在run方法中实现具体的任务,将线程与任务分离,可以在需要执行该任务的地方创建一个线程,并将任务传入线程中执行。所以创建线程的时候,不需要再重新申请资源了,直接复用之前已经分配给进程的资源,创建效率就更高了。使用Thread类中的join()方法明确等待线程结束,当有新线程加入时,主线程会进入等待状态,一直到新线程执行结束为止。但不立即中止线程执行,而是设置了一个中断标志,当线程在阻塞状态时检查这个标志,并根据需要中止执行。阿红家的工厂想扩大生产规模,多增加一条生产线。

2023-09-18 19:39:27 63

空空如也

空空如也

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

TA关注的人

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