自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 接口模块

接口管理解决的问题:实现对异构架构下各类接口的管理,主要包括物理接口管理和各类逻辑接口的增删查改。通过统一各种接口的实现,对上层模块提供统一的使用方法和操作接口,为后续模块开发提供底层功能支持。需要给上层业务提供支撑点,很多业务需要去接口上操作,体现出来就是业务配置直接部署在接口上。一、接口类型物理接口:直接对应设备上存在的通信接口。逻辑接口:软件层面根据业务逻辑创建的虚拟接口,主要有:bond、vlan、tag子接口、mac子接口、veth、lo等二、接口属性从TCP/IP的层

2020-11-18 14:53:24 2934

原创 智力题:一个木箱中有100块晶体,现有10个木箱,已知其中一个木箱中的100块晶体都有等量的磨损,现有一个称且只能称一次,请你找出装有磨损晶体的木箱。

智力题:一个木箱中有等量的100块晶体,现有10个木箱,已知其中一个木箱中的100块晶体都有等量的磨损,现有一个称且只能称一次,请你找出装有磨损晶体的木箱。这个题当时想了很久,想到借助沙地等方法查看凹陷,被告知只能借助称。私下又想了想,才想到如何作答。假设木箱中的每个未磨损晶体为10g,已磨损晶体为9g。我们可将10个木箱分别编上1-10的号码,然后依次从1号木箱中取出一个晶体,从2号木箱中取出两个晶体……以此类推,直到从10号木箱中取出十个晶体。假设所有晶体未磨损,则取出所有晶体的总重量则为:1

2020-09-21 14:40:30 208

原创 直播网课的测试用例

直播网课的测试用例我们可以从以下几个角度来进行分析。界面测试界面是否完整,是否简洁、美观是否能清晰播放画面播放框大小是否合理是否能正常点击按钮功能测试是否能正常播放网课视频是否可以快进,倍速,拖拽进行播放在播放过程中是否可以进入播放过程中声音是否与视频同步是否可以在对话框中向老师提问,问题是否能同步发送是否可以调节直播视频的音量进入直播后无意退出,再点击进入直播间,是否还能正常播放观看直播网课时是否可以切屏播放过程中切换麦克风或者切换视频是否会卡顿播放过程中与老师互动是

2020-09-12 23:09:52 6546 1

原创 Web测试和App测试的异同

单纯从功能测试的层面上来讲的话,App测试和Web测试在流程和功能上是没有区别的。相同点:无论是Web测试还是App测试,都离不开测试的基础知识。根据用户的需求和产品的功能来撰写测试用例。测试的流程是相同的。需要检查界面的布局,界面是否简洁美观、完整且没有错别字。测试系统各个功能的稳定性。不同点:性能方面:Web测试:需要检测响应时间、CPU、MemoryApp测试:需要检测响应时间、CPU、Memory、流量、电量、内存兼容方面:Web测试:不同的浏览器(如Chrome、F

2020-09-06 11:46:27 352

原创 Windows对文件的复制粘帖功能的测试用例

界面测试文件是否完整、没有错别字。图标是否简洁明了,是否能正常显示。功能测试文件是否能用Ctrl+C和Ctrl+V复制粘贴。文件是否能用右键点击拖动的方式复制粘贴。文件是否能从一个文件夹复制到另一个文件夹。文件是否能从一个硬盘复制粘贴到另一个硬盘。文件是否能复制粘贴到U盘中。文件是否能复制粘贴到聊天对话框。不同类型的文件(txt,pdf,doc等)是否能成功复制。复制粘贴后的文件内容是否有所改变。目标地点有重名文件是否还能够复制粘贴过去。复制粘贴的过程中是否可以执行文件。

2020-09-05 16:49:53 2363

原创 电梯的测试用例

设计测试用例的规则应该是根据需求分析文档设计测试用例。我们设计测试用例应从以下几个方面进行分析:功能测试、性能测试、界面测试、兼容性测试、安全性测试、可用性测试等角度来分析。需求测试查看电梯使用说明书、安全说明书等。使用手册是否对电梯的使用,限制有描述。如果没有说明书,则需要考虑全面用户的需求。界面测试查看电梯的外观是否合理。电梯的按钮是否便于理解。电梯的说明书是否有错别字。按下按钮后是否会有区别于其他按钮的颜色。功能测试电梯中楼层和开关门的按钮是否可以正常使用。电梯中的

2020-09-04 23:18:09 669

原创 书侣FM-测试报告

界面:界面的排版是否合理。界面是否完整、是否有错别字。界面是否简洁、美观,文字是否斜体。点击链接之后,链接颜色是否会发生改变。功能:注册功能:用户名和密码是否可以输入汉字,英文,表情,以及其他特殊字符。用户名和密码的长度是否有限制,超过限制长度是否会有提示。注册失败是否会有提示,是否会提示失败原因。注册成功后是否会有提示。注册成功后是否能跳转回主界面。注册成功后是否能正常登陆。登陆功能:输入正确的用户名和密码,是否能够登陆成功。输入错误的用户名或者密码,点击登

2020-09-03 09:43:33 195

原创 Java:引用和对象

引用: 引用相当于一个“别名”,也可以理解成一个指针,把它指向哪个对象,它就代表哪个对象。创建一个引用只是相当于创建了一个很小的变量,这个变量保存了一个整数,这个整数表示内存中的一个地址总结: 所谓的“引用”本质上只是存了一个地址,java将数组设定成引用类型,这样的话后续进行数组参数传参,其实只是将数组的地址传入到函数形参中。这样可以避免对这个数组的拷贝(数组可能比较长,那么拷贝开销就会很大。null在java中表示“空引用”,也就是一个无效的引用。局部变量和引用保存在栈上,new出的对象保存在

2020-08-19 22:55:51 296

原创 高阶多线程

常见的锁策略1.乐观锁与悲观锁乐观锁乐观锁假设认为数据一般不会产生并发冲突,所以在数据进行提交的时候,才会正式对数据是否产生并发冲突进行检测,如果发生并发冲突了,就返回错误信息,让程序员决定怎么去做。换言之:保持乐观心态,认为在大多数情况下,同一个时间点,只有一个线程执行修改操作。但并不能解决所有问题,所以会引入一定的系统复杂度。乐观锁一般适用于写比较少的场景(多读场景)乐观锁一般是使用版本号机制或者CAS算法实现。悲观锁悲观锁总是设想最坏的情况,每次去拿数据的时候都认为别人会修改,

2020-08-13 23:29:04 141

原创 微信发红包的测试用例

微信发红包的测试用例可以从以下几个方面来进行考虑。功能测试在红包金额和红包个数的输入框中只能输入数字。红包里最多可输入的金额为200元,最小可输入的金额为0.01元。拼手气红包最多可以发100个。在输入框输入的数字超过最大拼手气红包的个数是否会有提示。当红包金额超过最大范围是否会有提示。当发送的红包个数超过最大范围是否会有提示。当余额不足时,红包发送失败。在红包描述里是否可以输入汉字,英文,符号等。红包描述中最多能输入10个字符。红包描述、金额、红包个数的输入框中是否支持复制粘贴操作

2020-08-10 22:02:59 1198

原创 淘宝购物车的测试用例

关于淘宝购物车的测试用例可以从以下几个方面来进行考虑。1.界面测试打开淘宝购物车页面后,页面的布局是否合理,是否完整。不同卖家的商品在不同的table区域显示,区分明显。页面的功能按钮可以正常显示。商品的最下方显示失效宝贝。页面的最低端显示“你可能喜欢”向下滑动页面,在购物车顶端展示“购物车”。购物车中如果存在有商品降价、库存不足、限购件数等,在商品详情的下面,会有对应的字体展示。2.基本功能购物车页面的所有连接是否正常。从商品信息页面添加的商品能显示在购物车中。若未登录,点击

2020-08-10 21:40:19 15203

原创 水杯的测试用例

从界面,安全,兼容,震动,易用性,功能和性能七个角度来考虑,编写测试用例:需求:500ml的塑料水杯功能测试:具备容量(500ml)用来装水盛放半杯水是否漏水超过水杯规定的安全线是否漏水盛放一整杯水是否会溢出拧紧盖子,摇晃是否漏水盛放热水是否烫手水倒在杯子里不满(检查底部、杯身是否有裂痕)性能测试:是否耐热是否耐冻能够使用的最大次数(水杯的寿命)盖子拧多紧才不会漏水掉在地上是否容易摔坏长时间放置是否漏水是否有异味是否能承受暴晒界面测试:杯子外观是否简单、美观杯子设计

2020-08-02 12:16:27 509

原创 软件测试的分类。

一、测试金字塔与业务测试分析由测试金字塔可以看出,投入相同的人力和物力,从下到上,投入产出比越来越小。从下到上的测试, 成本越来越高从下到上的测试, 效率越来越低从下到上的测试, 定位问题越来越难注意: SDK一般是指软件工程师特定的软件包建立的开发工具集合。二、软件测试的分类1、按照开发阶段划分(1)单元测试单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试。测试阶段:编码后或者编码前(TDD)测试对象

2020-08-02 11:53:00 260

原创 关于软件测试的基础知识。

什么是测试用例?为了实施测试向被测试系统发起的一组集合。测试环境,测试步骤,测试数据,预期结果。(标题,功能模块,重要性,执行方式等)如何描述一个BUG?BUG中所包含的的内容:测试版本,测试环境,操作步骤,测试数据,预期结果,实际结果,附加(错误日志,错误截图…)BUG的等级:崩溃,严重,一般,次要BUG的生命周期从BUG的创建到关闭,BUG所经历的状态:new —— open —— fixed —— 测试人员回归BUG通过 —— closednew —— open —— fixed

2020-07-23 17:18:35 141

原创 我的简易博客系统。

一、需求分析:1、用户可以进行用户注册,成为系统的合法用户,并且保持登录状态。2、用户可以进行用户登录,成为登录状态。3、用户可以发表文章,为了发表文章。4、用户可以查看系统中已有的文章列表,为了选择其中的文章进行具体的阅读。5、用户可以选择一篇具体的文章,查看该文章的详细内容。二、系统设计阶段:由于系统主要围绕数据为中心而构建,所以很重要的一项工具就是抽离除数据的设计(数据结构)实体(Entity)实体: 用户,文章围绕实体,进行功能的边界约束用户(用户名,昵称,密码):用户名用于登录

2020-07-23 16:12:32 175

原创 HTTP响应状态。

状态码状态码是一个3位的数字1XX: 2XX: 主要表示成功(200OK)3XX: 跳转 OR 缓存 (304 Not Modified)4XX: 针对本次HTTP请求来说,是客户端传递的请求中有错误(404 Not Found)5XX: 服务端处理本次请求时发生了错误(500 Internal Server Error)404的原因:服务端上:1、Tomcat根据URL,找不到对应的资源2、Tomcat根据URL,找到了一个动态资源,但资源中,通过setStatus,设置40

2020-07-23 11:48:57 226

原创 HTTP和HTTPS的区别以及加密协议。

一、HTTP 和 HTTPS 的基本概念HTTP: 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。它可以使浏览器更加高效。HTTP 协议是以明文方式发送信息的,如果黑客截取了 Web 浏览器和服务器之间的传输报文,就可以直接获得其中的信息。HTTP 原理:① 客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过 TCP 来完成的,一般 TCP 连接

2020-07-19 22:37:00 847

原创 关于Cookie和Session的区别及使用。

HTTP是一种无状态的协议,为了分辨链接是谁发起的,需自己去解决这个问题。不然有些情况下即使是同一个网站每打开一个页面也都要登录一下。而Session和Cookie就是为解决这个问题而提出来的两个机制。应用场景1)登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是Cookie。2)Session一个场景是购物车,添加了商品之后客户端处可以知道添加了哪些商品,而服务器端如何判别呢,所以也需要存储一些信息就用到了Session。1、Session1.由于H

2020-07-19 21:56:39 158

原创 HTTP协议中Post与Get的区别。

一、HTTP中的请求方法HTTP 定义了与服务器交互的不同方法,最常用的有4种:Put(增),Delete(删),Post(改),Get(查),即增删改查。1)Get: 它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的。而Post是可以修改数据的,所以这也是两者差别之一。2) Post: 它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。3)Delete

2020-07-19 21:27:39 153

原创 TCP与UDP协议。

一、TCP和UDP的概念传输层上有两大协议:1、UDP(User Datagarm Protocol):用户报文协议特点:不可靠,无连接,面向数据报文传输2、TCP(Transmission Contro; Protocl):传输控制协议特点:可靠,有连接,面向字节流传输二、UDP应用层将数据交给UDP,让其传输。UDP所打的包头含有:固定长度,包头里带长度,特殊字符。发送方(封装)负责为数据添加上这部分包头。接收方(解包和分用):接收方根据哪些信息,可以做解包操作(去掉包头)——固定长度

2020-07-18 22:11:32 237

原创 网络基本原理。

网络的基本原理1、网络的主要目的: 计算机之间进行数据交换。2、局域网LAN(1)交换机(switch)、路由器(Router)路由器是连接因特网中各局域网、广域网的设备。交换机也叫交换式集线器,是一种工作在OSI第二层(数据链路层)上的,基于MAC识别,能完成封装转发数据包功能的网络设备。(2)为什么需要区分LAN和通过LAN组成的WAN(广域网)?WAN:接外部IP地址用,通常指的是出口,转发来自内部zhiWAN接口的IP数据包。LAN:接内部IP地址用,LAN内部是交换机,目前市面的路

2020-06-27 22:28:48 7521

原创 多线程:Synchronized-volatile关键字

Synchronized关键字1、关于Synchronized的语法public class SynchronizedSyntaxDemo { /** * 修饰方法:同步方法 */ //普通方式 public synchronized void method() { } //等同于 普通方法() { sync(this) {} } //静态方法 public static synchronized void static

2020-06-27 16:32:33 95

原创 线程的状态转换和安全。

一、线程状态状态: 表示线程所处的一个情况。为什么需要状态: 管理线程,就需要先了解线程所处的状态。1、线程中的状态:JDK中通过枚举来描述(enum)线程状态共分为:NEW,RUNNABLE,BLOCKED,TIMED_WAITING,WEITING和TERMANITED2、线程状态转换图:由线程状态转换图可知,线程中的 isAlive()方法,可以认为是处于不是 NEW 和 TERMINITED 的状态都是活着的。二、线程安全1、线程不安全public class ThreadUn

2020-06-27 16:24:14 108

原创 进程与线程。

进程对于操作系统来说,一个任务就是一个进程。课本概念:程序的一个执行实例,正在执行的程序等。内核观点:担当分配系统资源(CPU时间,内存)的实体。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序、数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块(Program

2020-06-14 17:19:34 452

原创 topK问题。

topK问题给定一批数,如n个, 然后从中找出k个最大(小)的数。具体一个场景,比如给出1000w个数,找出最大的100个。topK思路在求解 TopK 问题时, 使用堆是最佳方法。思路:先把数组前K个元素建立一个堆,后面每拿到一个元素就和堆顶元素进行比较。前k个最大的建立小堆,前K个最小的建立大堆。topK实现public class TopK { public static Integer[] topK(int[] array,int k){ MyCompar

2020-05-27 17:34:38 152

原创 七大排序算法。

常见的排序算法有七种,分别是:插入排序: 直接插入排序,希尔排序选择排序: 选择排序,堆排序交换排序: 冒泡排序,快速排序归并排序: 归并排序直接插入排序原理: 每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。时间复杂度:最坏情况是:O(n^2) 最好情况(有序的情况)是:O(n)空间复杂度: O(1)稳定性: 稳定关于稳定性: 如果一个排序是稳定的排序,那么他就可以变为不稳定的排序。但是如果一个排序本身就是不稳定

2020-05-26 22:04:03 296

原创 Java:堆(优先级队列)

一、堆的概念如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<= K2i+2 (Ki >= K2i+1 且 Ki >= K2i+2) i = 0,1,2…,则称为 小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。...

2020-05-22 13:22:33 154

原创 Java:关于二叉树。

一、树的相关概念节点的度: 一个节点含有的子树的个数称为该节点的度。树的度: 一棵树中,最大的节点的度称为树的度。叶子节点或终端节点: 度为0的节点称为叶节点。双亲节点或父节点: 若一个节点含有子节点,则这个节点称为其子节点的父节点。孩子节点或子节点: 一个节点含有的子树的根节点称为该节点的子节点。根结点: 一棵树中,没有双亲结点的结点;如上图:A节点的层次: 从根开始定义起,根为第1层,根的子节点为第2层,以此类推。树的高度或深度: 树中节点的最大层次。非终端节点或分支节点: 度不为0的

2020-05-20 17:40:53 121

原创 Java:栈和队列。

一、栈1、栈: 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守先进后出原则。2、常用方法:建一个栈:Stack<Character> stack = new Stack<Character>();push(E item):入栈。将项目推送到此堆栈的顶部。empty():测试此堆栈是否为空。peek():栈顶元素。查看此堆栈顶部的元素,而不从堆栈中删除它。pop():出栈。删除

2020-05-14 15:32:55 109

原创 Java:关于异常。

一、什么是异常?所谓异常指的就是程序在运行时出现错误时通知调用者的一种机制。程序错误分为三种:1、编译错误: 编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。2、运行时错误: 运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。3、逻辑错误: 逻辑错误是因为程序没有按照预期的逻辑顺序执行。异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。二、Java异常体系Throwable: 有两

2020-05-11 17:46:49 136

原创 Java中常见的区别。

this与super的区别:thissuper当前对象的引用父类对象的引用this( ): 调用当前类中其他的构造方法(必须放在第一行)super( ); 调用父类的构造方法(必须放在第一行)this.data:调用当前类中的属性super.data: 访问父类的属性this.func: 调用当前类中的成员方法super.func: 调用父类的成员方法抽象类和接口的区别:抽象类中除了抽象方法以外,可以包含普通的属性和方法,这些普通的属性和方法可以被子类

2020-05-11 10:48:34 215

原创 Java:关于字符串。

一、关于String类String实际上与System类和Scanner类一样,都是Java库中一个预定义的类,String类是final的,不可被继承的。String类不是基本数据类型,而是引用类型。String类是通过char数组来保存字符串的,所以String一旦创建也是不可改变的。char类型只能表示一个字符。字符串是一种不可变对象,它的内容不可改变。String类的内部实现也是基于 char[] 来实现的,但是 String 类并没有提供 set 方法之类的来修改内部的字符数组。那么如果

2020-05-10 23:17:16 99

原创 Java:封装,继承,多态。

一、封装封装的本质就是让类的调用者不必太多的了解类的实现者是如何实现类的, 只要知道如何使用类就行了。1. private实现封装private/ public 这两个关键字表示 “访问权限控制”被 public 修饰的成员变量或者成员方法,可以直接被类的调用者使用。被 private 修饰的成员变量或者成员方法,不能被类的调用者使用。2.getter和setter方法二、继承继承就是子类继承父类的一种行为,以此达到代码的复用效果。1.语法规则class 子类 extends 父类 {

2020-05-07 21:26:25 149

原创 初识java:类和对象。

1. 类与对象的初步认知JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。2. 类和类的实例化类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。声明一个类就是创建一个新的数据类型,而...

2020-04-19 16:34:15 171

原创 java:数组的4种拷贝方式。

数组有4种拷贝方式:forArrays.copyOfSystem.arraycopy:速度最快。clone():产生了这个对象的一个副本,这个方法是Object的克隆方法。Object是所有类是父类。以上四种方法本质上来讲都是浅拷贝。1、用for实现拷贝的代码如下:public static int[] copyArray(int[] array){ int[] re...

2020-04-15 19:39:48 163

原创 猜数字游戏(java)

1.题目:猜数字游戏(1-100)2.代码实现如下所示:import java.util.Random; import java.util.Scanner;; class Test { public static void main(String[] args) { Random random = new Random(); Scanner sc = new Scanne...

2020-04-11 18:10:39 138

原创 Java初步学习。

有关类体注意:1.一个java文件当中只能有一个public的类。2.且类名需要和文件名是相同的。3.编程规范建议,左括号是紧跟着当前行的。4.类名 一定要采用大驼峰的形式命名。5.注意:字节码文件-class文件,一个类对应一个字节码文件。JDK Java开发工具JRE Java运行环境JVM Java虚拟机一个类会生成一个字节码文件。为了方便使用,如果需要HelloWorl...

2020-04-09 14:33:27 181

原创 C语言初步小结。

经过一段时间的学习,我已对C语言的有了基本的了解。数据类型char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数变量与常量变量的分类:局...

2020-04-06 12:17:02 138

原创 打印菱形。

题目:用C语言打印菱形。环境:VS2013代码实现如下:#include<stdio.h>int main(){ int x = 7; for (int i = 0; i < 7; i++) { for (int j = x; j > 0; j--) { printf(" "); } x--; for (int m = 0; ...

2020-04-02 14:20:49 103

原创 扫雷(C语言)

为了用C语言实现扫雷。首先我们创建三个文件,如下图:(代码执行环境为VS2013)我们在头文件game.h中声明各种函数:#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2#define EASY_COUNT 10#include <stdio.h>#include <stdlib...

2020-03-28 16:37:43 179

空空如也

空空如也

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

TA关注的人

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