- 博客(95)
- 收藏
- 关注
原创 Shell编程
Shell是一个命令行解释器,用于接收应用程序/用户命令,然后调用操作系统内核。Linux是一个功能强大的编程语言,易编写、易测试、灵活性较强。定义变量:变量名=变量值,=号前不能有空格;撤销变量:unset 变量名;全局变量:export 变量名;声明静态变量(只读变量):readonly变量,注意,不能unset变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写;等号两侧不能有空格;
2024-05-29 15:23:29
849
原创 软件测试-接口测试
接口:泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。使用接口就会涉及到两个角色:接口提供者和接口使用者。目的:为了共享信息,数据交互。人和程序之间的接口:GUI界面,对于这个接口就需要进行系统测试来测试整个软件的使用,其依据是需求文档、开发文档以及设计文档,方法可以是黑盒测试、白盒测试和灰盒测试(手工测试或者自动化测试)。模块与模块之间的接口:即一般的函数接口。提供者:定义函数模块(函数名);
2024-03-01 14:59:35
428
原创 网页版五子棋设计实现自动化测试
由于该页面需要两个用户匹配成功后才能进入,自动化测试实现相对复杂,就设计出测试用例进行了手工测试,且测试通过。首先定义start()方法和close()方法,分别测试用例之前和之后执行。首先定义好start()方法和close()方法。首先定义start()方法和close()方法。在执行测试之前首先获取到驱动。
2023-07-18 08:08:44
915
1
原创 竞赛管理系统实现自动化测试
定义start()和close()方法确保测试之前和测试之后都执行一次这两个方法。输入框为空、时间格式不符合以及按钮测试与上述页面类似,就不再赘述。此处的输入框为空的逻辑与注册用户的逻辑基本一致,便不再赘述。定义驱动为全局变量,在测试之前,需要获取到驱动。的定义start()和close()方法。定义start()和close()方法。
2023-07-17 08:12:48
222
原创 对战五子棋——网页版
实现一个网页版的五子棋对战程序,用户可以进行注册,注册完成后登录进入游戏大厅,会显示用户的天梯分数记录以及比赛场次的记录,会根据用户的天梯分数实现匹配机制,实现两个玩家在网页端进行五子棋的对战。@Data@Data@Data// 胜利玩家的 userId。
2023-07-16 15:11:52
4966
1
原创 竞赛信息管理系统——SSM
竞赛信息管理系统,针对竞赛信息管理的需求,面向对竞赛管理的管理员用户,基于B/S体系架构,后端采用SpringBoot技术,前端使用BootStrap框架,实现对竞赛信息进行增删改查功能,管理员也具有注册、登录以及注销功能。根据session会话信息来判断用户是否登录,用户访问页面时如果不是登录状态,就会将用户跳转到登录页面,让用户登录之后在进行操作。@Component/*true:已将登录状态false:未登录状态*/@Overrideif(session!
2023-07-16 11:04:43
549
原创 Spring 事务
事务:就是将一组操作封装成为一个整体执行单元,要么全部执行,要么都不执行。假如事务执行了一半发生了错误就会对已经执行的部分进行回滚操作。常见的应用场景就是转账事务,转账过程中发生错误就会全部回滚到事务最初的状态。
2023-04-15 22:00:00
541
2
原创 利用AOP实现统一功能处理
重写HandlerInterceptor接口中的preHandler方法,先获取到session对象,判断对象是否为空来判断登录状态,若未登录则自动跳转到登录页面。@Component@Override//先得到session对象,传入参数为false,表示Session为空时不会自动创建,传入参数为true则反之。if(session!= null){//表示登录成功//表示未登录,则请求重定向到登录页面将自定义的拦截器添加到框架的配置中,并且设置拦截的规则。
2023-04-10 23:30:00
783
原创 Spring AOP
APO指的是面向切面编程,与OOP(面向对象)类似,是对某一类事情的集中处理。那么Spring AOP就是这个思想的具体实现。例如对用户的登录权限进行校验,在没有AOP之前就需要在判断用户是否是登录状态的页面都需要实现或者调用验证用户登录的方法,但是在使用AOP之后,就只需要在某一处进行配置,所有判断用户是否是登录状态的页面就全都可以实现用户登录验证了。定义切面时就需要创建一个类,添加@Aspect注解表示该类是一个切面。@Aspect //表示当前类是一个切面@Component。
2023-04-09 22:00:00
339
原创 利用MyBatis框架操作数据库
MyBatis是一个持久化框架,支持自定义SQL、存储过程以及高级映射,是一个优秀的ORM(对象关系映射)的框架。MyBatis框架的特点就是比较灵活。
2023-04-01 21:30:00
1777
2
原创 利用Spring MVC开发程序
Spring MVC是基于Servlet和MVC设计模式下实现的web项目,同时也是Spring框架中的web模块,Spring MVC是随着Spring产生而存在的一个框架。那么什么又是MVC设计模式?在idea中创建一个Spring MVC的项目的步骤如下:1、点击新建一个项目:2、选择版本号和添加相关依赖点击Finish后项目创建完成。
2023-03-24 10:39:16
403
原创 简介SpringBoot
SpringBoot是在Spring的基础上引入的,引入SpringBoot就是为了简化Spring的开发,SpringBoot的开发效率相比Spring也是达到了质的提升,目前SpringBoot也是主流的框架。快速集成框架;内置了运行容器,无需再配置Tomcat等Web容器,可以直接运行和部署程序;快速部署项目,无需外部容器即可启动并运行项目;使用注解和配置的方式进行开发,完全抛弃繁琐的XML;支持更多的的指标,可以更好了解项目的运行情况;所谓日志文件就是记录程序运行时的信息。
2023-03-20 17:17:10
422
5
原创 Spring简介
那么,什么又是ioc容器呢?ioc容器是控制翻转的意思。例如在传统的程序开发中构建一个小汽车:这样轮胎的属性值发生改变之后,依赖其的底盘、车身和汽车都需要发生修改,代码开销大。但是控制翻转的思想是注入传递的方式,将轮胎对象逐级向上传入,这样底层代码发生改变时,整个调用链无需改变,使代码之间解耦,程序设计更加灵活。
2023-03-18 21:00:00
481
1
原创 Junit测试框架
Junit框架是一个开源的Java语言单元测试框架,Java方向使用最广泛的单元测试框架,使用Java开发者都应该学习Junit并能掌握单元测试的编写。对于Junit和Selenium的关系:通俗点来说Selenium如果比喻为灯泡,那么Junit就是电源。
2023-03-05 15:28:41
734
2
原创 自动化测试selenium
驱动:对于汽车,驱动可以使汽车跑起来,计算机中驱动可以使程序运行,那么对于自动化测试来说,代码无法直接打来浏览器就需要借助驱动来打开浏览器完成自动化测试。驱动的工作原理:在自动化测试中,驱动相当于服务器,能够接收利用selenium发送过来的请求,并进行解析请求。
2023-02-25 20:01:55
843
3
原创 设计测试用例
假设在用户登录页面中提示用户名的长度为8~16位,于是就利用穷举法来设计测试用例,若测试用例能够全部通过就符合需求的要求,但是如果需求中的数据量大,例如用户名的长度是6~500位,利用穷举法就难以进行设计。例如有一个需求:订单提交之后,订单合计金额大于300或者订单使用了优惠券,就认为订单属于有优惠的订单否则就属于没有优惠的订单。当输入为:订单金额大于300或者使用优惠券,并且订单提交了之后就输出:该订单是有优惠的订单,否则就输出该订单是没有优惠的订单。无效类:针对需求无效并且无意义的数组构成的集合。
2023-02-23 21:18:30
5338
原创 简介JVM
对象新创建出来的时候先放在伊甸园,当伊甸园中的对象熬过一轮GC扫描,利用复制算法就会被拷贝到幸存区,在后序的几轮GC中幸存区的对象还是利用复制算法在幸存区之间来回拷贝,每一轮又会进行淘汰,在持续若干次之后,对象就会进入老年代,对象越老,继续存活的可能性就越大,老年的扫描频率低,并且老年代使用标记整理的方式进行回收。就是给对象再开辟一块区域用于引入计数器,当调用这个对象时,计数器就会加1,当引用失效的时候,计数器就会-1,如果计数器为0,该对象就会变为“垃圾”,进行回收。类似于顺序表删除元素。
2023-02-18 18:04:10
312
2
原创 网络编程基础知识
网络通信经过所有的网络设备都必须遵守的约定,简单来说就是收发双方定义的通信规则,只有彼此遵守这个约定,通信才能进行,网络协议三要素:语法、语义、时序。:用于定位主机的网络地址,IP地址由4个字节组成,常用点分十进制来进行表示,每个字节用十进制数表示,四个字节之间用.分隔,例如:126.2.34.9。特殊的IP地址:127.*(第一个字节为127的IP地址),主要用于本机回环测试,即本机到本机之间网络通信测试。从物理层开始接收数据,到物理层又逐一封装起来,相当于是封装的逆过程。:用于定位主机中的进程。
2023-01-27 18:55:07
4931
2
原创 详解Map和Set
二叉搜索树上的每一个结点其左子树的值小于根结点的值并且右子树的值大于根结点的值,对二叉搜索树进行中序遍历就能得到一个有序序列,所以二叉搜索树又称二叉排序树。Map是一个接口,但并没有继承Collection类,存放的是Key-Value键值对。Key都有与之对应的Value,Map中Key是惟一的,但Value并不唯一。Map.Entey是Map用于来存放键值对映射关系的内部类。该类主要提供有getKey()、getValue()、setValue()方法,并没有setKey的方法。
2023-01-21 14:29:35
2533
3
原创 一文带你秒懂十大排序
排序就是将一组乱序的数据集合变得有序内部排序:数据全部存放在内存中进行排序。外部排序:数据太多而不能全部存放在内存,整个排序·过程需要在内外存之间多次交换数据才能进行。根据排序的策略分为:插入排序、选择排序、交换排序和归并排序。时间复杂度。空间复杂度。稳定性:就是排序前后两个相同元素的相对位置保持不变。一个稳定的算法可以变得不稳定,但是一个不稳定的算法不能变得稳定。排序在我们日常生活中有很多的应用,例如在购物页面可以选择价格从低到高排序,导航时路程可以根据预测花费时间进行排序。
2023-01-16 18:23:30
2781
11
原创 反射&&枚举
在Java的反射机制指的是在运行状态下对于任意一个类都能获取到它的属性和方法,对于任何任意一个对象能调用它的所有属性和方法。对于拿到的信息也可以进行修改,这种动态获取信息以及动态调用对象方法的功能就是反射机制。将一组常量组织起来创建出个类。
2023-01-14 20:40:08
448
9
原创 堆与优先级队列
堆也是一种数据结构,将一组数据集合按照完全二叉树的方式存储起来,堆分为大根堆和小根堆,如果根结点总是大于孩子结点就是大根堆,如果根结点总是小于孩子结点就是小根堆。优先级队列也是一种队列,普通队列具有先进先出的特点,优先级队列中存放的元素带有优先级,是优先级高的元素先出队。优先级队列主要分为PriorityQueue和PriorityBlockingQueue,前者是线程不安全的,后者是线程安全的,本文主要讲解前者。优先级队列底层是利用堆来实现。
2023-01-13 01:39:50
384
2
原创 二叉树常见题目
前序遍历的顺序是根-左-右,中序遍历的顺序是左-根-右,就可以创建一个递归函数,参数为前序遍历数组和中序遍历的数组以及开始点ib和结束点ie,当ib>ie是就退出递归,此时已经越界,否则就将i所指的元素包装为根结点,可以定义一个变量i从0开始对前序遍历的序列进行遍历,得到i对应的元素k,k就为根结点,然后在中序遍历中查找k对应的下标index,那么左子树的范围就是0~index-1,右子树的范围是index+1~len,len表示数组长度,然后逐步递归,最后返回root。
2023-01-12 19:24:10
729
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人