- 博客(146)
- 资源 (1)
- 收藏
- 关注
原创 双指针的运用
双指针常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。1.1 对撞指针:⼀般⽤于顺序结构中,也称左右指针。•对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼近。•对撞指针的终⽌条件⼀般是两个指针相遇或者错开(也可能在循环内部找到结果直接跳出循环),也就是:◦(两个指针指向同⼀个位置)◦(两个指针错开)1.2 快慢指针:⼜称为⻳兔赛跑算法,其基本思想就是使⽤两个移动速度不同的指针在数组或链表等序列结构上移动。
2024-09-09 15:35:51
1093
原创 软件测试 - 性能测试 (实战 - 基于场景的性能测试-博客系统)(⼯具 - JMeter )
在列表页点击不同的文章就会进入详情页,不同的详情页取决于唯一的 blogid也就是说,blogid是会变化的,并且如果删除掉一篇文章后,这个blogid也就失效了,无法请求成功。于是就需要对详情页的请求参数进行设置。由于列表页的响应数据就是所有的博客,从而可以把列表响应的blogid提取出来,作为详情页的参数值。于是乎,使用json提取器 和 http请求头设置但有一个问题,假设,这里有很多个页面,每个页面都要测试。
2024-09-09 10:49:47
1843
原创 软件测试 - 性能测试 (概念)(并发数、吞吐量、响应时间、TPS、QPS、基准测试、并发测试、负载测试、压力测试、稳定性测试)
目标:能够对个人编写的项目进行接口的性能测试。一般是功能测试完成之后,最后做性能测试。性能测试是一个很大的范围,在学习过程中很难直观感受到性能。以购物软件为例:1)购物过程中⻚⾯突然⽆法打开,刷新后可以重新打开2)双⼗⼀期间⽆法进⼊商品⻚⾯3)⻚⾯加载时间过⻓,需要消耗⽤⼾⼤量的等待时间......常⻅的性能问题:查询数据时间过⻓,⽹速很慢,服务器⽆响应,查询数据很⻓时间才显⽰列表。
2024-09-01 13:30:50
5709
7
原创 Selenium自动化测试 -实战篇(Java)- 博客系统
能实现登录、查看列表、查看详情页、编辑内容自动化测试,检查各个页面独立的功能,以及整体各个页面之间的跳转。
2024-08-30 15:59:33
1258
原创 selenium启动总报错 WebDriverManager总是异常
我的环境用这个自动管理驱动的工具 WebDriverManager 总是报错。尝试过很多方法都没有,只好手动指定浏览器的位置。
2024-08-28 20:47:20
689
2
原创 使用xshell远程访问linux服务器总显示$
在root下,修改 /etc/passwd 对应用户后面的 sh 为 bash。方法1:每次在$后面输入 bash 回车。
2024-08-28 15:08:51
328
原创 selenium自动化测试 报错合集( NoSuchElement 的解决思路)
1.2 是否编写自动化脚本的时候,findElement(By.cssSelector (“”)) 和 findElement(By.xpath(“”)) 敲错了。也不要把 cssSelector的内容放进xpath,或者xpath的内容放到cssSelector里了。3.1 是否有打开新的页面,导致driver还指向旧的页面,找不到新页面的元素。3.2 代码执行速度比页面渲染速度快,页面还没渲染出来,程序就开始找元素了。解决办法:先定位 动态元素上一级标签,通过上一级标签定位 该动态元素。
2024-08-27 20:17:56
388
原创 软件测试 - ⾃动化测试常⽤函数
一、元素定位一、元素定位web⾃动化测试的操作核⼼是能够找到⻚⾯对应的元素,然后才能对元素进⾏具体的操作。常⻅的元素定位⽅式⾮常多,如id,classname,tagname,xpath,cssSelector常⽤的主要由cssSelector和xpath这两种,建议使用cssSelector选择器的功能:选中⻚⾯中指定的选择器的种类分为基础选择器和复合选择器,常⻅的元素定位⽅式可以通过id选择器和⼦类选择器来 进⾏定位在网页开发者工具这里,选中代码右键,复制selector。
2024-08-22 10:41:53
1038
原创 软件测试 - 自动化测试(概念)(Java)(自动化测试分类、web自动化测试、驱动、selenium自动化测试工具的安装)
⾃动洒⽔机,主要通上⽔就可以⾃动化洒⽔并且可以⾃动的旋转。⾃动洗⼿液,免去了⼿动挤压可以⾃动感应出洗⼿液超市⾃动闸⻔,不需要⼿动的开⻔关⻔⽣活中的⾃动化案例有效的减少了⼈⼒的消耗,同时也提⾼了⽣活的质量。软件中的⾃动化测试也是如此,通过⾃动化测试的同时也。自动化测试需要测试人员编写自动化测试脚本。新增加功能也需要测试人员同步增加相应的自动化脚本。自动化测试报错也需要维护并解决自动化脚本问题。*为什么还说自动化⾃动化的主要⽬的就是⽤来进⾏1.1回归测试。
2024-08-20 14:47:13
677
原创 软件测试 - 测试分类(静态测试、动态测试、白盒测试、黑盒测试、灰盒测试、单元测试、集成测试、系统测试、验收测试等)
•⽩盒测试主要应⽤于单元测试阶段•先执⾏静态设计⽤例的⽅法,再执⾏动态设计测试⽤例的⽅法•设计⽤例⼀般使⽤路径测试,重点模块追加使⽤逻辑覆盖⽅法1.冒烟测试(Smoke Testing):◦阶段: 通常在软件开发的早期阶段进⾏,主要⽤于验证基本功能是否正常⼯作。◦⽬的: 确保软件的主要功能能够基本运⾏,以便在后续的详细测试阶段发现更深层次的问题。2.回归测试(Regression Testing):◦阶段: 在软件开发的后期,通常在每次代码修改或新增功能后执⾏。◦。
2024-08-19 10:44:41
9011
2
原创 软件测试 - 测试用例(设计测试用例的思路、万能公式、测试用例设计的方法)
系统兼容性(pc(Windows 、MacOS、Linux)、移动端(IOS、安卓))、浏览器兼容性(谷歌、ie、火狐等 xxx.xx.xx版本)、数据兼容性(新增功能,是否影响以前功能)等。如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以⽤较少的测试⽤例达到尽量多的 功能覆盖,解决了不能穷举测试的问题。场景主要包括4种主要的类型:正常的⽤例场景,备选的⽤例场 景,异常的⽤例场景,假定推测的场景。备用流:商业街 -> 这个服装店关门了-> 去其他服装店 -> 挑选衣服 -> 购买衣服。
2024-08-17 18:10:38
5592
2
原创 软件测试 - 基础(软件测试的生命周期、测试报告、bug的级别、与开发人员产生争执的调解方式)
有多个bug时,有些bug会直接影响到接下来的测试工作,急于处理,这类bug就属于优先级较高的bug,得优先修复。而有的bug,可能并不直接影响,可以排在后面。例如一个网站:1) 登录密码展示位置错位2) 背景图颜色不对3) 登录功能有问题...从这几个bug中,优先级最高的就是 3 了,因为登录功能有问题的话,登都登不了,根本没办法继续测试网页里面的其他内容了。bug定级描述文档拿出来,然后将bug的表现和bug定级描述文档进行匹配,说服程序员。
2024-08-16 17:31:24
1242
原创 DANCE TO MUSIC 共享空间音乐器 测试报告
(覆盖了多少个页面、用例是否全部执行通过、发现了多少个bug、bug出现的原因、涉及到的页面)功能测试:功能基本完善。界面测试:UI设计整体风格匹配,但是部分文字不清晰易用性测试:整体易用性不强,很多功能不太人性化。没有用户的个人界面。整体交互感欠缺。缺少注销功能。兼容性:屏幕小的设备,显示上会存在不居中的问题安全性:上传文件格式没有进行限制,导致图片等其他非音乐格式的文件也能上传。sql注入。没有安全退出的功能。
2024-08-15 18:17:34
249
原创 软件测试 - 概念
例如,买房,客户就会有一些需求,包括 地理位置、楼层、房屋面积、采光等而房地产商会提供一些户型供用户选择,或者中介会帮用户去找他们所需要的符合他们要求的房子。测试用例(Test Case)是为了实施测试而向 被测试的系统 提供的一组集合测试环境、操作步骤、测试数据、预期结果等要素。例如:一些写OJ题的平台测试环境:牛客、力扣等提供的平台操作步骤:写代码、提交代码、观察测试用例通过率测试数据:平台提供的测试数据预期结果:通过率期望是100%
2024-07-27 15:40:04
792
原创 Spring IoC控制反转思想 & DI依赖注入(五大注解+一个方法注解)
一个类下,可能有多个 @Bean,就需要用 Bean名称+类型 去获取了,否则就会异常报错修改获取 Bean 的方式获取成功。
2024-07-26 16:31:46
827
原创 Spring MVC 应用分层
一、为什么应用分层1.类名使⽤⼤驼峰⻛格,但以下情形例外:DO/BO/DTO/VO/AO2.⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格3.包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词.常⻅命名命名⻛格介绍⼤驼峰: 所有单词⾸字⺟都需要⼤写, ⼜叫帕斯卡命名法, ⽐如: UserController比特就业课⼩驼峰: 除了第⼀个单词,其他单词⾸字⺟⼤写,⽐如: userController。
2024-07-23 15:09:19
474
原创 spring MVC 简单案例(3)我的书架管理系统
客户端:1.我需要什么服务2.我能提供什么参数,是否有这个参数3.对方提供给我的信息,是否满足我的需求服务器:1.提供什么服务2.需要什么参数3.处理之后,需要给客户端响应什么数据。
2024-07-22 14:31:02
613
原创 spring MVC 简单案例(3)留言板
messagewall.html输入了谁对谁说什么,点击提交后,会在下面显示刚才输入的信息3.1引用Lombok依赖包,使用 @Data注解 ,自动完成get、set等方法 3.2 更快引入依赖的插件 EditStarters3.3完成后端代码3.4测试后端代码 当用户点击提交按钮后,对数据进行校验,然后将数据传递给后端 测试
2024-07-20 16:58:20
1131
原创 Spring Web MVC(常用的注解@RequestMapping,@RequestParam,@RequestBody等)
在代码最前面写上,将方法返回的结果直接作为响应内容发送到客户端。(只返回数据,不返回页面)@RequestMapping("/路径名")通过URL进行路由映射。既是类注解,又是方法注解。访问的URL路径 = 类路径+方法路径指定请求方式:@RequestMapping(value = “/路径名”,method = RequestMethod.方法名)@RequestParam(“重命名参数”)和绑定(“绑定集合类型对象比如List”)请求Json格式数据请求URL 中的变量上传文件。
2024-07-17 19:54:48
1437
原创 创建第一个Springboot项目(环境准备、环境存在的问题、启动时存在的问题、启动的方式)
这几个文件是没有用的,删掉都行.idea : 无论什么文件只要是idea里的都有 这个文件启动成功会有这样的类似颜文字表情一样的 spring的图标虽然启动了,但是这个项目里啥也没有。
2024-06-19 14:07:23
1097
原创 Maven 项目的创建(导入依赖、仓库、maven的配置、配置国内源、以及可能遇到的问题)
在dependencies 标签里,可以有很多 dependency标签 ,每个dependency标签就是一个依赖。本地仓库,随着时间越来越长,项目越来越大,里面的jar包只会越来越多,占用的硬盘只会越来越大。在项目开发中需要用到的额外的外部资源,需要引入使用。找到这个settings.xml文件(这个文件的路径不要设置中文,不然会有其他问题出现)需要点击maven这个图标(每次对pom.xml文件进行修改时,这个图标就会出现)如果卡死,在下放任务栏,点击右键,在任务管理器里,把idea的进程结束掉。
2024-06-15 13:37:08
3760
1
原创 Java虚拟机 - JVM(类加载器、类加载的过程、双亲委派模型、GC垃圾回收)
本地方法栈:里面保存的是native 关键字的方法,不是用Java写的,而是jvm内部用c++实现的。**每个线程。如果一个 JVM 进程 中有 10个 线程,那么就会存在 10份 程序计数器 和 虚拟机栈。**是整个进程!!!所以有这样的说法 : 在jvm里,每个线程都有自己私有的栈空间。
2024-06-11 20:15:54
1102
原创 将写的项目部署到Linux服务器上
例如:腾讯云,阿里云等(经常会有学生优惠)这个腾讯云,新用户82元可以使用一年,还是可以的(如果觉得贵,可以和同学一起拼一个~~)
2024-06-05 11:21:57
1405
原创 【小项目】简单实现博客系统(一)(前后端结合)
1)实现博客列表页让页面从服务器拿到博客数据(数据库)2)实现博客详情页点击博客的时候,可以从服务器拿到博客的完整数据3)实现登录功能(跟之前写的登录页面逻辑一致)4)实现强制要求登录当前处于未登陆状态下,其他的页面,博客列表,博客详情页,博客编辑 会强制跳转到登录页要求用户登录之后才能使用。5)实现显示用户信息从服务器获取到博客列表页,拿到的是当前登录的用户的信息。博客详情页,拿到的是该用户(文章作者)的信息。6)实现退出登录7)发布博客。
2024-05-14 16:14:39
1661
原创 HTTP请求中的cookie与session(servlet实现登录页面的表单验证)
注意文件的路径 在webapp路径下打开smart tomcat 登录网址。
2024-04-19 11:01:49
469
原创 简单的网站-表白墙(前后端交互)
提交信息后,就得到了下面的一行话但是存在一些问题在一个网站中,服务器起到的最主要的效果,就是 “存储数据”因此服务器这边往往也就需要能够提供两种风格的接口。存数据 、取数据。
2024-04-17 11:04:55
1385
原创 servlet的三个重要的类(httpServlet 、httpServletRequst、 httpServletResponse)
1.query string ( 使用 getParameter这个方法)2.form表单 ( 使用 getParameter这个方法)3.json(实际常用,导入json 的库 jackson,使用objectMapper对象和json方法)
2024-04-15 10:53:54
1782
原创 使用tomcat里的API - Servlet
(tomcat专属的压缩包 是 war 包,里面不仅有 .class文件,还有一些tomcat要求的配置文件web.xml等,还有一些代码html,css,js)首次创建maven项目的时候,会自动从maven网站上下载一些依赖组件(这个过程需要保证网络稳定,否则后续打包一些操作会出现一些问题)在Java目录中创建一个类,继承HttpServlet这个父类(该类就是前面安装的jar包里的类,不是jdk自带的)当tomcat收到一个GET请求的时候,有可能会执行到子类这个方法中,这个方法的两个参数分别是。
2024-04-07 11:50:37
1409
原创 网络编程(1)写一个简单的UDP网络通信程序【回显服务器】,并且实现一个简单的翻译功能
显服务器 * 写一个简单的UDP的客户端/服务器 通信的程序 * 这个程序没有啥业务逻辑,只是单纯的调用socket api * 让客户端给服务器发送一个请求,从控制台输入的字符串 * 服务器收到字符串后,会把这个字符串原封不动的返回给客户端,客户端再显示出来
2024-03-26 09:50:57
629
原创 JavaSE【 String 类】(2)(
StringBuffer 的append方法 被synchronized所修饰了,这个保证了线程安全,而StringBuilder 没有线程安全。而StringBuffer、StringBuilder 直接在该字符串的位置后拼接对象,返回的这个字符串的地址。根据汇编码,发现String在拼接字符串的时候创建了StringBuilder这个对象。String每次循环都在创建对象、 拼接对象、 销毁对象,无形之中消耗了大量时间。自身的值不能改变,即不能引用其它字符数组,但是其引用空间中 的内容可以修改。
2023-09-09 11:25:14
275
原创 Java小项目【图书馆系统】
Java是一个面向对象的语言,在编写代码的之前,我们要先确定有哪些对象图书馆,首先有很多书,还有书架来放置这些书。然后是对书进行操作的人,比如普通用户和管理员。最后是对关于书的各种操作,例如:对于普通用户,借书、还书等等。对于管理员,添加书籍、查找书籍等等。大致结构如图。
2023-08-31 14:00:59
969
c语言 dowhile和while的解析我有点不理解
2022-10-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人