自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 复习志——测试相关(篇二)

1.作业: 水杯的测试用例 2.回顾: 什么是软件测试 测试和研发的区别 为什么要做软件测试 3.软件测试的目的和原则 目的:验证软件有没有问题 原则:以客户的需求为中心,遵循软件测试的规范、流程、标准和要求(具体看不同公司的产品和运营) 4.什么是需求 满足用户的期望或规定的文档(合同、标准、规范)所需要的条件和权能(权限),包含用户需求和软件需求 用户需求(简略文字)的具体实现就是软件需求(具体功能实现,实现细节,一般是文档) eg: 用户需求:平台支持邮箱注册 软件需求:前置条件(注册无前置条件,登录

2020-11-19 17:00:21 263

原创 复习志——测试相关(篇一)

1.什么是软件测试 验证软件是否满足用户需求(用户需求就是标准) (是和否)正反两个方面 用户需求就是源头,软件需求是从用户需求转化而来的 测试贯穿整个软件开发生命周期,调试一般在开发阶段 测试是开发软件质量的保证 2.软件测试与研发的区别 (是否分清软件开发与测试) 1.测试与调试的区别 目的不同 测试的任务是发现程序中的缺陷(是否满足用户需求),调试的任务是定位并且解决程序中的问题(开发调试程序的功能) 参与角色不同 测试主要是由测试人员和开发人员执行,黑盒测试主要由测试人员完成,单元/集成测试主要是由

2020-11-18 18:01:35 249

原创 月亮可更换之测试概念小结

Q1:什么是软件测试? A1:验证软件的功能是否满足用户的需求,这里的需求就是标准,是对软件质量的度量。(使用人工/自动的手段,运行或测试某个系统的过程,检验它是否满足规定的需求/弄清预期与实际结果的差别) Q2:软件测试与研发的区别 A2:1.测试与调试的区别:         ①目的不同:测试的任务是发现程序中的缺陷,调试的任务是定位并且解决程序中的问题;      &nbs

2020-06-26 12:44:38 294 1

原创 月亮可更换之网易邮箱注册及登录测试用例

标题:单位用户注册成功 测试前提:系统运行正常,邮件服务器已开启 功能模块:注册登录 测试环境:CHROME IE10+ 重要性:重要 测试方式:手工 操作步骤(预期结果) 1.进入注册页面,选择注册(系统展现注册页面) 2.输入符合要求的单位名称,单位邮箱,密码,组织机构代码,验证码,并确认同意《用户注册协议》,提交注册信息(系统进入注册操作,发送激活邮件,注册成功后跳转到注册成功页面,并提示用户进行激活操作) 3.进入注册用的邮箱,进行激活操作(激活成功) 4.使用注册的邮箱和密码进行登录操作(登录成功

2020-06-23 13:17:40 2263 1

原创 月亮可更换之QQ登录测试用例

一、功能 (1)正常功能 1.正确的用户名和密码 2. QQ号码,密码最长 3. QQ号码,密码最短 4. 密码规则符合大小写 5. 异地登陆 6. 删除登陆历史 7. 二维码登录 8. 记住密码 9. 找回密码 10.注册账号 11.切换用户登录 12.设置 13.关闭 14.最小化 15.修改登陆状态 16.自动登录 (2)异常 1.QQ号码不正确 2.密码不正确 3.QQ号码和密码都不正确 4.网络异常 5.服务器异常 6.数据库异常 7.账号被禁用 8.账号被锁定 9.正在找回密码 10.更新中 1

2020-06-23 13:01:15 311

原创 月亮可更换之购物车的测试用例

一、界面测试 1.打开页面后,页面的布局是否合理,是否完整 ①标题、宝贝总数、右上角的管理 ②字体格式、字体大小 2.不同卖家的商品在不同的table区域显示,区分明显 ①每一个店铺区域有店铺名称,店铺里的商品正常展示 ②不可能没有商品,只展示一个店铺的名称 ③店铺icon大小和图形展示正确 ④可以领优惠券的店铺在店铺的右上角有“领券”字样 ⑤做活动的店铺,在底端会展示本店的优惠活动,同时在底端右下角展示“去凑单”字样 3.页面的功能按钮可以正常显示—勾选圈圈,编辑商品数量的编辑框,全选,结算 4.商品最下

2020-06-23 11:00:45 654

原创 月亮可更换之水杯的测试用例

一、功能 1.水倒规定的安全线,是否会漏水 2.水超过安全线,观察杯子是否变形 3.水倒满且流出来,看是否对杯子产生什么影响,比如是否变形 4.水杯的容量刻度与其他水杯一致,500ML=500ML 5.盖子拧紧水倒不出来 6.是否隔热 大于多少温度后会烫手 7.是否可以折叠 二、性能 1.使用最大次数或者时间限制(寿命) 2.掉在地上不易损坏 3.盖子拧到什么程度水倒不出来 4.保温时间长(如果是保温杯) 5.杯子的耐热性(大于多少温度) 6.杯子的耐寒性(低于多少度) 7.长时间放置水不会漏 8.杯子上放

2020-06-22 23:22:30 278

原创 赊了三串冰糖葫芦才写出来的小结

一、选择题 1.以下代码运行输出的是 public class Person{ private String name = "Person"; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(p.name); } } 正确答案 : 编译

2020-06-08 23:04:12 490

原创 保安日记之堆(优先级队列)

一、前言 二叉树完结后因为学校的事情太多一直没来得及更新关于数据结构的系列博客 , 今天就来介绍一种新的结构—堆 , 堆 , 也叫优先级队列 , 名字是队列 , 本质上是一种特殊的二叉树 二、二叉树的顺序存储 2.1 存储方式 前面我们在写一个普通的二叉树时 , 使用的左右孩子表示法 , 除此之外也可以使用数组来表示树 , 使用数组存储这个树的层序遍历结果(需要存储空节点) , 这种方式一般只适合表示完全二叉树,因为对于非完全二叉树来说会有空间的浪费 , 这种方式的主要用法就是堆 2.2 下标关系(很重要)

2020-06-08 17:14:00 418

原创 赊了两串冰糖葫芦才写出来的小结

一、选择题 1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明: A a0=new A(); A a1=new B(); A a2=new C(); 问以下哪个说法是正确的?() A 只有第一行能通过编译 B 第1、2行能通过编译,但第3行编译出错 C 第1、2、3行能通过编译,但第2、3行运行时出错 D 第1行,第2行和第3行的声明都是正确的 正确答案 : D 解析 : ① 继承的传递性 , B继承于A,C继承于B,所以A为B和C共同的父类 ; ② 父类引用指向子类对

2020-06-06 22:25:51 500

原创 赊了一串冰糖葫芦才写出来的小结

一、前言 关于这个板块我主要用来记述一些日常练习的选择题、编程题进行查缺补漏 ~(部分题没有学过就会被特殊标记一下的哦) 二、选择题 (未学)1.执行如下程序,输出结果是( ) class Test{ private int data; int result = 0; public void m(){ result += 2; data += 2; System.out.print(result + " " + data); } } class ThreadExample extends

2020-06-05 20:50:18 531

原创 保安日记之二叉树进阶面试题(下)

一、前言 关于二叉树的的基本操作以及初阶的面试题在前面的博客已经有所描述,这篇关于二叉树数据结构的最终篇博客就来简单介绍一下用非递归的方式来实现二叉树的前序、中序、后序遍历 二、二叉树的非递归实现先序遍历 2.1 实现原理 ① 一般非递归方式实现递归操作都需要用到栈 ② 先序遍历: 1)创造一个栈 初始情况下 把根节点入栈 2)进入循环      a)取栈顶元素(出栈)      b)访问该元素  

2020-06-03 19:03:00 411

原创 保安日记之二叉树进阶面试题(中)

一、前言 接着上条关于二叉树的进阶的面试题 , 这篇博客也继续用二叉树这种数据结构来解决复杂的编程问题 二、二叉树的最近公共祖先 2.1 题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1

2020-06-02 15:32:40 420

原创 保安日记之二叉树进阶面试题(上)

一、前言 关于二叉树的的基本操作以及初阶的面试题在前面的博客已经介绍完毕,这篇博客用二叉树这种数据结构来解决一些更加复杂的编程问题 二、二叉树的层序遍历 2.1 题目 给你一个二叉树,请你返回其按 层序遍历 得到的节点值(即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 2.2 实现原理 解决方法还是先序遍

2020-06-01 20:19:51 484

原创 保安日记之二叉树的基础面试题

在上一条博客中我们介绍了一些二叉树的基础操作,今天就来写一些与二叉树相关的基础面试题 : 以下代码中二叉树的节点都是如下的结构: class Node{ int val=0; TreeNode left=null; TreeNode right=null; public TreeNode(int val) { this.val = val; } } 1 . 将二叉树的前序遍历的结果放在一个List中返回 示例: 输入 : [1,null,2,3]

2020-05-31 11:37:02 370

原创 保安日记之二叉树的基础操作

一、前言 在上一篇博客中已经介绍了关于树的概念以及二叉树的特性,并且用代码构建树的节点并且构造一棵二叉树辅助我们进行前序、中序、后序遍历,这篇博客我们就来在上一篇的基础上来拓展关于二叉树的基础操作 这里附上构造二叉树节点的代码: static class Node{ public char val; public Node left; Node right; public Node(char val) {

2020-05-30 17:09:04 439

原创 保安日记之树与二叉树的基础遍历

一、前言 前面我们已经介绍了很多种线性的数据结构,今天就来介绍一种新的数据结构 — 树,树是一种非线性的数据结构,由 N 个有限结点组成一个具有层次关系的集合. 二、关于树的一些概念 节点的度 : 一个节点含有的子树的个数称为该节点的度 树的度 : 一棵树中最大的节点的度称为树的度 叶子节点/终端节点 : 度为0的节点就是叶子节点 双亲节点/父节点 : 一个节点含有子节点,则这个节点就是其子节点的父节点 孩子节点/子节点 : 一个节点含有的子树的根节点称为该节点的子节点 根节点 : 一棵树中没有双亲节点的节

2020-05-29 20:35:37 449

原创 保安日记之栈、队列的进阶操作

一、前言 关于自己实现栈,队列以及标准库中的栈和队列的基本操作在前面的博客已经介绍完毕,这篇博客用栈、队列来解决一些编程问题 二、有效的括号 2.1 题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出

2020-05-28 17:45:55 518

原创 保安日记之标准库中的栈及队列基本操作

一、前言 之前的两篇博客我们根据栈和队列后进先出、先进先出的特点对这两种数据结构用顺序表和链表分别进行了实现,也有了一定的了解,这篇我们就来介绍一下标准库中的栈和队列 二、栈 2.1 标准库中的栈 标准库中的Stack是一个class 2.2 栈的操作 public class Main { public static void main(String[] args) { Stack<Integer> stack=new Stack<>();

2020-05-27 23:43:24 445

原创 保安日记之队列(自己实现)

一、前言 1.1 队列的概念 通过之前的集合框架图示可以看到队列(Queue)是一个接口,只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,进行插入操作的一端称为队尾,进行删除操作的一端称为队头 1.2 队列的特点 队列具有先进先出的特点。 1.3 队列的操作 与上篇博客介绍的栈一样,队列相当于对线性表的功能进行了限制.基本操作就是以下三种: 1.入队列(从队尾插入元素) 2.出队列(删除队首的元素) 3.取队首元素(获取到队首位置的元素的值) 1.4 队列的变种 1.普通的队列:先出先进

2020-05-26 21:18:06 442

原创 保安日记之栈(自己实现)

一、前言 1.1 栈的概念 在之前的集合框架图示中栈(Stack)这个类是基于顺序表Vector来实现的,本质上是一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作,进行数据插入和操作的一端称为栈顶,另一端称为栈底,栈中的元素具有后进先出的特点。 1.2 栈的操作 线性表可以支持增删改查各种操作,栈相当于对线性表的功能进行了限制.基本操作就是以下三种: 1.入栈(把元素通过栈顶往下放) 2.出栈(把栈顶元素删除掉) 3.取栈顶元素(获取到最上面的元素) 接下来我们就来基于顺序表和链表两种方式来实现一

2020-05-25 17:26:11 473

原创 保安日记之List接口

这篇博客我们来介绍一下List接口: 这个接口继承自Collection接口,具有一定的关联关系,这里的List就是特指线性表这类的数据结构,它典型的实现就是ArrayList,Vector,LinkedList,在前面的三篇博客中介绍了关于我们自己创建链表和顺序表的操作, 接下来我们就看一下有关List接口的基本操作: 1.实例化一个接口 与之前的Collection接口类似,这里的List也是一个接口,不能直接new List. 关于这行代码,实际上进行了向上转型,实际new的是ArrayList,使用

2020-05-24 19:07:09 789 1

原创 保安日记之顺序表

集合框架中用ArrayList和Vector来实现顺序表这个数据结构,他们的底层都是基于数组来实现的线性表,这两顺序表的区别在于: Vector是一个老版本的顺序表 ArrayList是新版本的顺序表 Vector是线程安全的(效率比线程不安全版本低).ArrayList是线程安全的,不加锁的 现在不太推荐使用Vector.更建议使用JUC中的组件,优化的更好,性能更高 顺序表的特性就是知道我放了几个元素 并且不能跳着放 接下来我们就借助数组来实现一下顺序表 public class MyArrayLi

2020-05-23 10:51:15 498

原创 保安日记之单链表进阶操作(全是干货!!!建议收藏)

在上一条博客中我们已经介绍一些关于自己实现的单链表的基础操作,接下来我们基于上条博客的代码再写一些单链表的进阶的操作方法,全是干货!!!(建议收藏) 1.给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 : 输入: 1->1->2 输出: 1->2 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

2020-05-22 20:47:59 565

原创 保安日记之单链表

一、前言 之前在集合框架里面我们知道java.util包是Java的实用工具类库。在这个包中,Java提供了一些实用的方法和数据结构。例如就像我们今天所要了解的链表LinkedList,是JAVA自己实现的一个双向链表。我们今天就自己来实现一个单链表。 二、单链表 关于链表可以根据三个性质来组合成不同种的链表: 1.带(不带)头结点;2.循环(非循环);3.双向(单向)链表 单链表本身是一种类型,由一个一个的节点来构成的,节点又包含data域和next域,我们自定义一个单链表就要先定义节点:data域的类型

2020-05-21 18:01:06 383

原创 Tips关于泛型和包装类

一. 泛型 1.1 Object的实现操作 在我们没有接触到泛型这个概念的时候,如果说要自己实现一个顺序表,要求是里面不止可以存储int类型的数据,而是适用于不同数据类型,我们可以用Object来实现,Object是所有类的父类,具体代码操作如下: public class SeqList{ private Object[] data=new Object[10]; private int size; public void add(Object elem){ data[size]=elem;

2020-05-20 21:35:46 543

原创 保安日记之Collection接口&Map接口

上一条博客我们初始了有关集合框架的基础知识,这条博客先来介绍两个接口的相关操作: 1.首先来看一下包含基础增删改查操作的Collection接口相关操作: ①创建一个Collection实例     Collection是一个接口,不能直接new Collection.     关于这行代码,实际上进行了向上转型,实际new的是ArrayList,使用Collection类型的引用来保存了这个对象.   &n

2020-05-19 16:49:57 506

原创 保安日记之集合框架

越滞涩艰难的时候,越要相信踏实的力量,往深处扎根,默默拔节生长,不要自欺。我相信时运流转的时候,也格外偏爱踏实的人。

2020-05-18 18:16:05 715

原创 总结很多很多的区别(持续更新)3.深拷贝和浅拷贝

一、拷贝的初印象 首先我们先区分一下拷贝和赋值,拿数组来说,拷贝就会新开辟一块数组来存放和原始数组相同的数据,而赋值不同,只是在栈上,将原始数组名中引用的地址直接传给新的数组名,这样新的数组对数组内的数据进行更改是一定会影响原始数组的.总的来说赋值就是复制对象空间而不复制资源 在对Java的初始过程中,我们知道Java的数据类型分为基本数据类型和引用数据类型。在写代码的过程中进行赋值、传参或作为返...

2020-04-08 19:16:15 421

原创 总结很多很多的区别(持续更新)2.抽象类和接口的区别

一、抽象类 什么是抽象类呢?先放一段代码 abstract class Shape{ //可以添加普通数据成员 或者方法 public void func1(){ } public abstract void draw();//抽象方法:没有具体实现的方法 如果加{}会报错 } 抽象类顾名思义就是包含有抽象方法的类,他也有如下的注意事项: 1.要用关键字abstr...

2020-04-04 17:58:11 354

原创 总结很多很多的区别(持续更新)1.this和super关键字的区别

一、先说this 老规矩先上代码: class Student{ private String name; private int age; public Student(){ this("小花",18); //调用带有两个参数的构造方法 } public Student(String name,int age){ this.n...

2020-04-03 20:01:42 430

原创 数组和指针的一些问题及理解

首先我们先看这样一组程序 经过调试之后我们得到以下的结果 我们先来分析第六行和第七行 看如下程序 首先我们可以得知,数组名可以理解为指向一维数组首元素的指针常量,并且&a并不是a的地址,通过用%p来打印a以及&a可以发现 这两个在数值上其实是相等的,这和指针并没有什么关系,而是数组本身内部的属性,此时我们继续打印a+1和&a+1,由于指针类型和int类型都占4个字节...

2020-03-12 16:52:37 570

原创 java学习第一周学习小结

第一部分 JDK JRE JVM 一 概念 JDK : Java开发环境 JRE : Java运行环境 JVM : Java虚拟机 JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。 在JDK的安装目...

2020-03-01 16:50:23 405

原创 进制转换的简便方式

二进制转十进制 通用公式为: 通俗来讲就是二进制数从左到右,依次为高位到低位,每一位的数去乘以2的相应次方,小数点前的第一位为2 ^ 0,第二位为 2 ^1…依次类推,小数点后从高位到低位依次为2 ^ -1,2 ^ -2… 二进制转八进制 如图 三位一组来进行计算: 运算过程中要注意 高位不满三位就 补0进行计算 上图的结果为3166 二进制转十六进制 就像二进制转八进制一样 只不过这次我们将...

2020-02-28 17:04:18 1691

原创 对冯诺依曼体系结构的理解

概念 冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。 图例 特点 (1)以运算器为中心; (2)在存储器中,指令和数据同等对待;指令和数据一样可以参与运算; (3)将软件和硬件完全分离; (4)指令是顺序执行的; (5)指令由操作码和地址码组成; (6)指令和数据...

2020-02-27 15:16:32 2187

原创 写在前面

你好!一年后的我自己 今天是我第一次使用博客来记录学习语言的第一天,不知道一年后此刻的你是否已经拿到了心仪的offer,或者还在为了秋招实习四处奔走忙成狗,我相信你这个时候已经坚持学习和熟练掌握了一门甚至两门找工作的敲门砖 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下M...

2019-11-25 12:40:42 359

空空如也

空空如也

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

TA关注的人

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