- 博客(36)
- 收藏
- 关注
原创 复习志——测试相关(篇二)
1.作业:水杯的测试用例2.回顾:什么是软件测试 测试和研发的区别 为什么要做软件测试3.软件测试的目的和原则目的:验证软件有没有问题原则:以客户的需求为中心,遵循软件测试的规范、流程、标准和要求(具体看不同公司的产品和运营)4.什么是需求满足用户的期望或规定的文档(合同、标准、规范)所需要的条件和权能(权限),包含用户需求和软件需求用户需求(简略文字)的具体实现就是软件需求(具体功能实现,实现细节,一般是文档)eg:用户需求:平台支持邮箱注册软件需求:前置条件(注册无前置条件,登录
2020-11-19 17:00:21
168
原创 复习志——测试相关(篇一)
1.什么是软件测试验证软件是否满足用户需求(用户需求就是标准)(是和否)正反两个方面用户需求就是源头,软件需求是从用户需求转化而来的测试贯穿整个软件开发生命周期,调试一般在开发阶段测试是开发软件质量的保证2.软件测试与研发的区别(是否分清软件开发与测试)1.测试与调试的区别目的不同测试的任务是发现程序中的缺陷(是否满足用户需求),调试的任务是定位并且解决程序中的问题(开发调试程序的功能)参与角色不同测试主要是由测试人员和开发人员执行,黑盒测试主要由测试人员完成,单元/集成测试主要是由
2020-11-18 18:01:35
155
原创 月亮可更换之测试概念小结
Q1:什么是软件测试?A1:验证软件的功能是否满足用户的需求,这里的需求就是标准,是对软件质量的度量。(使用人工/自动的手段,运行或测试某个系统的过程,检验它是否满足规定的需求/弄清预期与实际结果的差别)Q2:软件测试与研发的区别A2:1.测试与调试的区别: ①目的不同:测试的任务是发现程序中的缺陷,调试的任务是定位并且解决程序中的问题; &nbs
2020-06-26 12:44:38
195
1
原创 月亮可更换之网易邮箱注册及登录测试用例
标题:单位用户注册成功测试前提:系统运行正常,邮件服务器已开启功能模块:注册登录测试环境:CHROME IE10+重要性:重要测试方式:手工操作步骤(预期结果)1.进入注册页面,选择注册(系统展现注册页面)2.输入符合要求的单位名称,单位邮箱,密码,组织机构代码,验证码,并确认同意《用户注册协议》,提交注册信息(系统进入注册操作,发送激活邮件,注册成功后跳转到注册成功页面,并提示用户进行激活操作)3.进入注册用的邮箱,进行激活操作(激活成功)4.使用注册的邮箱和密码进行登录操作(登录成功
2020-06-23 13:17:40
1980
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
187
原创 月亮可更换之购物车的测试用例
一、界面测试1.打开页面后,页面的布局是否合理,是否完整①标题、宝贝总数、右上角的管理②字体格式、字体大小2.不同卖家的商品在不同的table区域显示,区分明显①每一个店铺区域有店铺名称,店铺里的商品正常展示②不可能没有商品,只展示一个店铺的名称③店铺icon大小和图形展示正确④可以领优惠券的店铺在店铺的右上角有“领券”字样⑤做活动的店铺,在底端会展示本店的优惠活动,同时在底端右下角展示“去凑单”字样3.页面的功能按钮可以正常显示—勾选圈圈,编辑商品数量的编辑框,全选,结算4.商品最下
2020-06-23 11:00:45
525
原创 月亮可更换之水杯的测试用例
一、功能1.水倒规定的安全线,是否会漏水2.水超过安全线,观察杯子是否变形3.水倒满且流出来,看是否对杯子产生什么影响,比如是否变形4.水杯的容量刻度与其他水杯一致,500ML=500ML5.盖子拧紧水倒不出来6.是否隔热 大于多少温度后会烫手7.是否可以折叠二、性能1.使用最大次数或者时间限制(寿命)2.掉在地上不易损坏3.盖子拧到什么程度水倒不出来4.保温时间长(如果是保温杯)5.杯子的耐热性(大于多少温度)6.杯子的耐寒性(低于多少度)7.长时间放置水不会漏8.杯子上放
2020-06-22 23:22:30
165
原创 赊了三串冰糖葫芦才写出来的小结
一、选择题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
400
原创 保安日记之堆(优先级队列)
一、前言二叉树完结后因为学校的事情太多一直没来得及更新关于数据结构的系列博客 , 今天就来介绍一种新的结构—堆 , 堆 , 也叫优先级队列 , 名字是队列 , 本质上是一种特殊的二叉树二、二叉树的顺序存储2.1 存储方式前面我们在写一个普通的二叉树时 , 使用的左右孩子表示法 , 除此之外也可以使用数组来表示树 , 使用数组存储这个树的层序遍历结果(需要存储空节点) , 这种方式一般只适合表示完全二叉树,因为对于非完全二叉树来说会有空间的浪费 , 这种方式的主要用法就是堆2.2 下标关系(很重要)
2020-06-08 17:14:00
342
原创 赊了两串冰糖葫芦才写出来的小结
一、选择题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
424
原创 赊了一串冰糖葫芦才写出来的小结
一、前言关于这个板块我主要用来记述一些日常练习的选择题、编程题进行查缺补漏 ~(部分题没有学过就会被特殊标记一下的哦)二、选择题(未学)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
442
原创 保安日记之二叉树进阶面试题(下)
一、前言关于二叉树的的基本操作以及初阶的面试题在前面的博客已经有所描述,这篇关于二叉树数据结构的最终篇博客就来简单介绍一下用非递归的方式来实现二叉树的前序、中序、后序遍历二、二叉树的非递归实现先序遍历2.1 实现原理① 一般非递归方式实现递归操作都需要用到栈② 先序遍历:1)创造一个栈 初始情况下 把根节点入栈2)进入循环 a)取栈顶元素(出栈) b)访问该元素
2020-06-03 19:03:00
340
原创 保安日记之二叉树进阶面试题(中)
一、前言接着上条关于二叉树的进阶的面试题 , 这篇博客也继续用二叉树这种数据结构来解决复杂的编程问题二、二叉树的最近公共祖先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
349
原创 保安日记之二叉树进阶面试题(上)
一、前言关于二叉树的的基本操作以及初阶的面试题在前面的博客已经介绍完毕,这篇博客用二叉树这种数据结构来解决一些更加复杂的编程问题二、二叉树的层序遍历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
419
原创 保安日记之二叉树的基础面试题
在上一条博客中我们介绍了一些二叉树的基础操作,今天就来写一些与二叉树相关的基础面试题 :以下代码中二叉树的节点都是如下的结构: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
307
原创 保安日记之二叉树的基础操作
一、前言在上一篇博客中已经介绍了关于树的概念以及二叉树的特性,并且用代码构建树的节点并且构造一棵二叉树辅助我们进行前序、中序、后序遍历,这篇博客我们就来在上一篇的基础上来拓展关于二叉树的基础操作这里附上构造二叉树节点的代码: static class Node{ public char val; public Node left; Node right; public Node(char val) {
2020-05-30 17:09:04
346
原创 保安日记之树与二叉树的基础遍历
一、前言前面我们已经介绍了很多种线性的数据结构,今天就来介绍一种新的数据结构 — 树,树是一种非线性的数据结构,由 N 个有限结点组成一个具有层次关系的集合.二、关于树的一些概念节点的度 : 一个节点含有的子树的个数称为该节点的度树的度 : 一棵树中最大的节点的度称为树的度叶子节点/终端节点 : 度为0的节点就是叶子节点双亲节点/父节点 : 一个节点含有子节点,则这个节点就是其子节点的父节点孩子节点/子节点 : 一个节点含有的子树的根节点称为该节点的子节点根节点 : 一棵树中没有双亲节点的节
2020-05-29 20:35:37
372
原创 保安日记之栈、队列的进阶操作
一、前言关于自己实现栈,队列以及标准库中的栈和队列的基本操作在前面的博客已经介绍完毕,这篇博客用栈、队列来解决一些编程问题二、有效的括号2.1 题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出
2020-05-28 17:45:55
426
原创 保安日记之标准库中的栈及队列基本操作
一、前言之前的两篇博客我们根据栈和队列后进先出、先进先出的特点对这两种数据结构用顺序表和链表分别进行了实现,也有了一定的了解,这篇我们就来介绍一下标准库中的栈和队列二、栈2.1 标准库中的栈标准库中的Stack是一个class2.2 栈的操作public class Main { public static void main(String[] args) { Stack<Integer> stack=new Stack<>();
2020-05-27 23:43:24
391
原创 保安日记之队列(自己实现)
一、前言1.1 队列的概念通过之前的集合框架图示可以看到队列(Queue)是一个接口,只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,进行插入操作的一端称为队尾,进行删除操作的一端称为队头1.2 队列的特点队列具有先进先出的特点。1.3 队列的操作与上篇博客介绍的栈一样,队列相当于对线性表的功能进行了限制.基本操作就是以下三种:1.入队列(从队尾插入元素)2.出队列(删除队首的元素)3.取队首元素(获取到队首位置的元素的值)1.4 队列的变种1.普通的队列:先出先进
2020-05-26 21:18:06
379
原创 保安日记之栈(自己实现)
一、前言1.1 栈的概念在之前的集合框架图示中栈(Stack)这个类是基于顺序表Vector来实现的,本质上是一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作,进行数据插入和操作的一端称为栈顶,另一端称为栈底,栈中的元素具有后进先出的特点。1.2 栈的操作线性表可以支持增删改查各种操作,栈相当于对线性表的功能进行了限制.基本操作就是以下三种:1.入栈(把元素通过栈顶往下放)2.出栈(把栈顶元素删除掉)3.取栈顶元素(获取到最上面的元素)接下来我们就来基于顺序表和链表两种方式来实现一
2020-05-25 17:26:11
396
原创 保安日记之List接口
这篇博客我们来介绍一下List接口:这个接口继承自Collection接口,具有一定的关联关系,这里的List就是特指线性表这类的数据结构,它典型的实现就是ArrayList,Vector,LinkedList,在前面的三篇博客中介绍了关于我们自己创建链表和顺序表的操作,接下来我们就看一下有关List接口的基本操作:1.实例化一个接口与之前的Collection接口类似,这里的List也是一个接口,不能直接new List.关于这行代码,实际上进行了向上转型,实际new的是ArrayList,使用
2020-05-24 19:07:09
666
1
原创 保安日记之顺序表
集合框架中用ArrayList和Vector来实现顺序表这个数据结构,他们的底层都是基于数组来实现的线性表,这两顺序表的区别在于:Vector是一个老版本的顺序表 ArrayList是新版本的顺序表Vector是线程安全的(效率比线程不安全版本低).ArrayList是线程安全的,不加锁的现在不太推荐使用Vector.更建议使用JUC中的组件,优化的更好,性能更高顺序表的特性就是知道我放了几个元素 并且不能跳着放接下来我们就借助数组来实现一下顺序表public class MyArrayLi
2020-05-23 10:51:15
427
原创 保安日记之单链表进阶操作(全是干货!!!建议收藏)
在上一条博客中我们已经介绍一些关于自己实现的单链表的基础操作,接下来我们基于上条博客的代码再写一些单链表的进阶的操作方法,全是干货!!!(建议收藏)1.给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 :输入: 1->1->2输出: 1->2/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *
2020-05-22 20:47:59
485
原创 保安日记之单链表
一、前言之前在集合框架里面我们知道java.util包是Java的实用工具类库。在这个包中,Java提供了一些实用的方法和数据结构。例如就像我们今天所要了解的链表LinkedList,是JAVA自己实现的一个双向链表。我们今天就自己来实现一个单链表。二、单链表关于链表可以根据三个性质来组合成不同种的链表:1.带(不带)头结点;2.循环(非循环);3.双向(单向)链表单链表本身是一种类型,由一个一个的节点来构成的,节点又包含data域和next域,我们自定义一个单链表就要先定义节点:data域的类型
2020-05-21 18:01:06
317
原创 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
460
原创 保安日记之Collection接口&Map接口
上一条博客我们初始了有关集合框架的基础知识,这条博客先来介绍两个接口的相关操作:1.首先来看一下包含基础增删改查操作的Collection接口相关操作:①创建一个Collection实例 Collection是一个接口,不能直接new Collection. 关于这行代码,实际上进行了向上转型,实际new的是ArrayList,使用Collection类型的引用来保存了这个对象. &n
2020-05-19 16:49:57
414
原创 总结很多很多的区别(持续更新)3.深拷贝和浅拷贝
一、拷贝的初印象首先我们先区分一下拷贝和赋值,拿数组来说,拷贝就会新开辟一块数组来存放和原始数组相同的数据,而赋值不同,只是在栈上,将原始数组名中引用的地址直接传给新的数组名,这样新的数组对数组内的数据进行更改是一定会影响原始数组的.总的来说赋值就是复制对象空间而不复制资源在对Java的初始过程中,我们知道Java的数据类型分为基本数据类型和引用数据类型。在写代码的过程中进行赋值、传参或作为返...
2020-04-08 19:16:15
339
原创 总结很多很多的区别(持续更新)2.抽象类和接口的区别
一、抽象类什么是抽象类呢?先放一段代码abstract class Shape{ //可以添加普通数据成员 或者方法 public void func1(){ } public abstract void draw();//抽象方法:没有具体实现的方法 如果加{}会报错}抽象类顾名思义就是包含有抽象方法的类,他也有如下的注意事项:1.要用关键字abstr...
2020-04-04 17:58:11
298
原创 总结很多很多的区别(持续更新)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
371
原创 数组和指针的一些问题及理解
首先我们先看这样一组程序经过调试之后我们得到以下的结果我们先来分析第六行和第七行 看如下程序首先我们可以得知,数组名可以理解为指向一维数组首元素的指针常量,并且&a并不是a的地址,通过用%p来打印a以及&a可以发现 这两个在数值上其实是相等的,这和指针并没有什么关系,而是数组本身内部的属性,此时我们继续打印a+1和&a+1,由于指针类型和int类型都占4个字节...
2020-03-12 16:52:37
475
原创 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
322
原创 进制转换的简便方式
二进制转十进制通用公式为:通俗来讲就是二进制数从左到右,依次为高位到低位,每一位的数去乘以2的相应次方,小数点前的第一位为2 ^ 0,第二位为 2 ^1…依次类推,小数点后从高位到低位依次为2 ^ -1,2 ^ -2…二进制转八进制如图 三位一组来进行计算:运算过程中要注意 高位不满三位就 补0进行计算 上图的结果为3166二进制转十六进制就像二进制转八进制一样 只不过这次我们将...
2020-02-28 17:04:18
1500
原创 对冯诺依曼体系结构的理解
概念冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。图例特点(1)以运算器为中心;(2)在存储器中,指令和数据同等对待;指令和数据一样可以参与运算;(3)将软件和硬件完全分离;(4)指令是顺序执行的;(5)指令由操作码和地址码组成;(6)指令和数据...
2020-02-27 15:16:32
1916
原创 写在前面
你好!一年后的我自己今天是我第一次使用博客来记录学习语言的第一天,不知道一年后此刻的你是否已经拿到了心仪的offer,或者还在为了秋招实习四处奔走忙成狗,我相信你这个时候已经坚持学习和熟练掌握了一门甚至两门找工作的敲门砖欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下M...
2019-11-25 12:40:42
304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人