自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅谈bug(二)——bug的生命周期、bug状态转换图

当我们发现一个bug的时候,应该怎么理清他们之间的关系呢?一个bug 从open到close的所有状态 都是我们测试人员需要注意的。一、bug的状态新建(New)新发现的bug,未经评审决定是否指派给开发人员进行修改。确认(Open)确认是bug,并且认为需要进行修改,指派给相应的开发人员。已修复(Fixed)开发人员进行修改后标识成修改状态,由待测试人员的回归...

2019-08-26 14:25:09 2209

原创 浅谈bug(一)——如何描述一个bug、等级

1. 认识bug  软件的bug,狭义指软件程序的漏洞或缺陷,广义指测试工程师或用户提出软件可改进的细节,或与需求文档存在差异的功能实现等。对应了三个测试目的:为了发现程序的代码或业务逻辑错误为了检查产品是否符合用户需求为了提高用户的体验2. 如何描述一个bug?发现问题的版本问题出现的环境环境分为硬件环境和软件环境。如果是web项目,需要描述浏览器版本、客户机操作系统...

2019-08-26 13:34:32 2778

原创 测试用例设计——边界值的三点分析法

在做题时遇到这个题,特此学习理解整理。一、什么是边界值分析法?设计测试用例时我们常会使用边界值分析法,我们来总结一下:  边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析法是对等价类划分法的补充;在这种理解下,测试用例来自于等价类的边界,所以我们通常总结来说:边界值分析法是对等价类划分法做补充的一种黑盒测试设计方法。二、边界点的定义上点: 边界上的点,闭内开...

2019-08-26 10:19:13 4806

转载 软件测试题库

1.为什么要做软件测试 ?本道题为开放型题目,根据自己的情况进行解答。2.测试结束的标准?我认为测试结束并不是一定要将%100的bug全部修改,在项目即将上线时对于一些难复现的bug但是这些bug不影响用户使用时为保证任务顺利完成我们可以适当的放宽政策,选择上线。测试的过程为:单元测试-集成测试-系统测试-验收测试,在测试人员验收测试后,递交给用户做验收测试,在用户点头之后,测试也可以结...

2019-08-25 15:42:40 2934

原创 软件测试的分类(七)重点——按测试对象划分

8. 按测试对象划分8.1 业务测试测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。业务测试关注需求和用户。8.2 界面测试界面测试(简称UI测试)测试用户界面的功能模块是否布局合理、整体风格是否一致、各个控件放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂,页面元素的可用性,界面中文字是否正确,命名是否统一,...

2019-08-25 15:31:45 2678

原创 软件测试的分类(六)——按是否查看代码划分、按测试地域划分

6. 按是否查看代码划分6.1 黑盒测试黑盒测试也称功能测试,只关心它的功能,不关心它内部实现的逻辑代码。  黑盒测试包括:等价类、因果图、边界值、猜错法、随机数法、测试用例覆盖、输入覆盖、输出覆盖。6.2 白盒测试白盒测试也称结构测试,只关心它的代码实现逻辑,不关心它的功能。接口测试也是白盒测试的一种。  白盒测试包括:语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、组合...

2019-08-25 14:41:21 2803

原创 软件测试的分类(五)——按是否手工划分

4. 按是否手工划分  大家对于“手工”这个词很熟悉吧,手工就是由人自己一个一个去实现的步骤。4.1 手工测试手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始,但是是必须的一个步骤。优点: 自动化无法替代探索性测试、发散思维结果的测试。缺点: 执行效率慢,量大易错。4.2 自动化测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常...

2019-08-25 14:28:39 402

原创 软件测试的分类(四)——按是否运行划分

3. 按是否运行划分3.1 静态测试  不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。分析如下:检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册。静态质量:度量所依据的标准是ISO9126,。在该标准中,软件质量用以下几个方面...

2019-08-25 10:24:03 3038

原创 软件测试的分类(三)——按实施组织

2. 按实施组织2.1 α测试(Alpha Testing)α测试是由一个用户在开发环境下进行测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。目的: 评价软件产品的FLURPS(即功能、局域性、可使用性、可靠性、性能和支持)人员: 用户环境: 开发环境、模拟实际操作环境2.2 β测试(Beta Testing)β测试是一种验收测试。β测试由最终用户们在一个或多个场所进行...

2019-08-25 10:23:07 785

原创 软件测试分类(二)——按测试阶段

1. 按测试阶段1.1 单元测试  单元测试是开发者编写的一小段代码,用于检测被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件 (或场景)下某个特定函数的行为。简单来说,单元测试对软件组成单元进行测试(对代码进行测试)。目的检验软件基本组成单位的正确性。对象软件设计的最小单位:模块,所以又称为模块测试。阶段编码后...

2019-08-25 10:22:07 1216

原创 软件测试的分类(一)——总篇

文章目录1. 按测试阶段1.1 单元测试1. 按测试阶段1.1 单元测试  对软件组成单元进行测试(对代码进行测试)。目的: 检验软件基本组成单位的正确性。测试对象: 软件设计的最小单位:模块,所以又称为模块测试。...

2019-08-25 10:19:51 217

原创 软件测试的定义、目的、原则、对象、测试与调试的区别

1. 软件测试的定义  软件测试是指有特定的目的、有方法的,并且需要提交缺陷-跟踪解决的一个过程。其目的在于检验软件是否满足或弄清预期结果与实际结果之间的差别。即为了发现程序中的错误而使用热工或自动化手段执行程序或测试某个系统的过程。2. 软件测试的目的发现程序存在代码或者业务逻辑错误。即通过输出预期结果和实际结果,再结合需求判断程序是否有BUG。验证软件的功能是否满足用户的需求。提交...

2019-08-24 10:40:49 6821

原创 ArrayList、Vevtor和LinkedList的联系和区别

联系:ArrayList、Vector、LinkedList类均在java.util包中,都为List接口的子类。区别:结构上:ArrayList、Vector基于数组实现,LinkedList基于双向链表实现。ArrayListVector初始化策略采用懒加载策略,第一次add时才初始化内部数组,默认初始化大小为10。产生对象时就初始化内部数组,默认大小为...

2019-08-09 20:58:23 422

原创 软件开发模型总结归纳(瀑布模型、螺旋模型、迭代模型、增量模型、敏捷模型)

文章目录0. 软件的生命周期1. 瀑布模型2. 螺旋模型3. 迭代模型4. 增量模型5. 敏捷模型0. 软件的生命周期  软件的生命周期是指从软件产品的设想开始到软件不在使用而结束的时间。  软件的生命周期分为6个阶段,即需求分析、计划、设计、编码、测试、运行维护。1. 瀑布模型  瀑布模型是最早出现的软件开发模型,是所有其他软件开发模型的基础框架。与软件的生命周期不同的是,它缺少了软...

2019-08-04 00:18:18 38193 5

原创 美妙的约会

牛客网刷题地址题目描述  牛牛和妞妞在一天晚上决定一起去看一场情人节演唱会,可是由于这场演唱会实在太出名了,有很多情侣都来观看,牛牛和妞妞不小心被人流冲散了!维持秩序的人决定,让大家排成一列,相邻两个进去的人(2k-1和2k,k为正整数)坐在相邻座位。但是现在的队伍乱糟糟的,有很多情侣都不在相邻位置。维持秩序的人同意让情侣们跟相邻的人交换位置,直到所有情侣都在2k-1和2k位置上为止。  ...

2019-07-24 17:40:25 384

原创 gray-code

牛客网刷题链接题目描述  The gray code is a binary numeral system where two successive values differ in only one bit.  Given a non-negative integer n representing the total number of bits in the code, print th...

2019-07-23 17:58:30 93

原创 机器人走方格I

题目描述  有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。  给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。测试样例:x、y:2 2return:2解题思路:  我们解题之前必须弄懂题目想要让我们求什么?需要注意什么?在这道提上,我认为最需要注意的话是只能走格点,...

2019-07-23 15:18:45 154

原创 Java设计模式之模板设计模式

模板设计模式: 定义一个操作中算法的骨架,而是将一些步骤延迟到子类中实现,模板方法使得子类可以不改变算法的某些特定的步骤。我的理解就是: 模板类设定一个实现的步骤,子类实现步骤中的做法。例如:做菜:备料–>做菜–>上菜但是做西红柿炒蛋和土豆丝的实现步骤一样,但是他的具体里面的方法是不同的。西红柿炒蛋:切西红柿、打蛋(备料)–>将鸡蛋倒进锅里炒,然后在将西红柿倒进锅里炒(炒...

2019-07-12 11:23:34 101

原创 Java设计模式之单例设计模式

文章目录1. 饿汉式单例模式2. 懒汉式单例模式3. 懒汉式单例模式:Double-Check单例设计模式是一个确保一个类只有一个实例对象,它保证了全局对象的唯一性。特点:一个类只有一个实例。一个类自己创建自己的实例。一个类需给其他类提供这一个实例(提供的这个类的方法必须是静态的)。单例模式分为懒汉式和恶汉式两种。恶汉式: 在程序启动或单例模式类被加载的时候,单例模式实例就已经被...

2019-07-12 10:18:53 102

原创 跳台阶

题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意: 给定 n 是一个正整数。示例1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 ...

2019-07-09 11:23:40 136

原创 小项目---桌面搜索小工具everything

1. 项目简介  这次的小项目运用了JavaSE的知识,巩固了JavaSE的基础知识,同时也练习了如何将现实问题分析、汇总、抽象、设计,到最终代码实现。  本次的项目是仿照everything桌面小工具,实现的基于Java语言开发的跨平台的桌面搜索小工具。2. 项目使用2.1 项目启动  在此之前,我们必须自己的电脑由java运行时环境,我们才能成功运行此项目,我们的桌面小工具之所以跨平...

2019-07-07 23:57:55 1175

原创 最长回文子串

题目描述  给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例1:输入:“babad”输出:“bab”注意:“aba” 也是一个有效答案。示例2:输入:“bcbbd”输出:“bb”解题思路思路一:取出所有子串,在子串中找最长回文子串  回文字符串:正读和倒读都是一样的顺序的字符串就是回文字符串。那如何判断最长回文子串呢?我们可...

2019-06-25 20:37:11 116

原创 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题思路  本道题的解题核心是“层序遍历”。我们借助队列来实现层序遍历。具体的过程:根节点入队列。根节点出队列,执行打印等操作;再将左右孩子依次入队列。重复1、2操作,直到二叉树全部遍历结束为止。代码public class Solution { public ArrayList<Integer&gt...

2019-06-24 22:55:12 86

原创 树的子结构

题目描述  输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路解析先在A树中找B树的根节点。找到A树或B树的末尾,没找到,直接返回false找到了,进入isRoot1HaveRoot2方法中判断整个B树去左右子树分别去寻找代码public class Solution { public boolean HasSubtree(T...

2019-06-23 22:38:31 94

原创 二叉树的下一个结点

题目描述  给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路解析本道题是求所传节点中序遍历的下一个结点,我们就需要直到中序遍历的规则“左子树—>根节点—>右子树”,我们先看一个二叉树的中序遍历。由上图我们可以知道,根据中序遍历我们想要知道所传节点的下一个节点的情况有两种:所传节点有右...

2019-06-23 16:36:02 89

原创 删除链表中重复的结点

牛客网做题链接:https://www.nowcoder.com/questionTerminal/fc533c45b73a41b0b44ccba763f866ef  在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。请注意...

2019-06-23 10:45:28 94

原创 链表中环的入口结点

题目描述  给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路描述  链表中容易出现的题目就是这种的习题,链表带环的相关习题。首先我们需要寻找环的相遇点。 这里我们采用的是快慢指针的做法,快指针fast每次走两步,慢指针slow每次走一步,这样他们都从链表的头结点出发,当慢指针slow走了s步时,快指针fast走了2s步。当他们都走到环中去,最后会相遇,当f...

2019-06-21 19:44:16 170

原创 链表分割

牛客网做题链接:https://www.nowcoder.com/questionTerminal/0e27e0b064de4eacac178676ef9c9d70题目描述  编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前  给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。...

2019-06-21 17:11:09 246

原创 微信红包

牛客网做题链接:https://www.nowcoder.com/questionTerminal/fbcf95ed620f42a88be24eb2cd57ec54题目描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。输入输出描述给定一个红包的金额数...

2019-06-20 20:17:21 252

原创 eclipse安装Lombok插件

  在我们书写代码的时候,我们的属性的访问类型都设置为private,这就导致我们需要给它们设置getter和setter方法。但是如果一个类中有许多属性,这就会导致,我们不书写其他的方法,就会有许多的方法,造成代码的冗长,不易阅读,所以为了少写繁琐代码, 提升写代码的体验而诞生的Lombok插件。  在这里我们讲述一下,给eclipse安装Lombok插件。1. 下载Lombok的jar包...

2019-05-22 23:53:21 165

原创 深入理解Java虚拟机(六)volatile关键字

关键字volatile是JVM提供的最轻量级的同步机制,但是他不容易被正确理解和使用。JVM内存模型对volatile转么定义了一些特殊的访问规则。一旦一个共享变量被volatile修饰之后,那么它就具有了两层含义:保证此变量对所有线程的可见性: “可见性” 指的是:当一条线程修改了这个变量的值,新值对于其他线程来说可以立即得知的。禁止进行指令重排序volatile的可见性  我们可...

2019-04-14 14:49:35 227

原创 深入理解Java虚拟机(五)Java内存模型

文章目录1. 主内存与工作内存注意:Java内存模型和Java运行时数据区域是属于不同层次的概念,请不要混淆。  Java虚拟机中定义了一种内存模型(即为Java Memory Model,简称JMM)。Java内存模型用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,C/C++直接使用物理硬件和操作系统的内存模型,因此,会由于不...

2019-04-14 09:53:21 172

原创 深入理解Java虚拟机(四)垃圾收集器

文章目录0. 基本概念1. 新生代收集器1.1 Serial收集器(串行GC)1.2 ParNew收集器(并行GC)如果垃圾回收算法时内存回收的方法论,那么垃圾收集器就是内存回收的具体体现。Java规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数根据用户自己的应用特点和要求组合出各个年代所使用的收集器。下...

2019-04-13 14:53:11 164

原创 已知前序和中序遍历,重建二叉树

想在牛客网上写此题目,请点击此处题目描述:  输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:前序遍历:根节点 -> 左子树 -> 右子树中序遍历:左子树 -> 根节点 -&gt...

2019-04-11 21:45:44 2583 3

原创 Magic Coupon

牛客网题目,请点击此处想直接看题目分析,请点击此处The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, meaning that when you use this coupon with a product, you may get N times ...

2019-04-10 19:47:18 195

原创 深入理解Java虚拟机(三)垃圾回收算法

  在我们知道了如何判断对象已“死”? 之后我们就要去回收内存空间,垃圾回收算法主要有一下几种:标记-清除算法复制算法标记整理算法分代收集算法1. 标记-清除算法  “标记-清除”算法是最基础的收集算法。算法分为 “标记” 和 “清除” 两个阶段:标记: 遍历堆,标记出所有需要回收的对象(此处采用的是可达性分析算法进行标记)清除: 标记结束后,再次遍历堆,统一回收所以被标记...

2019-04-09 21:52:20 219

原创 深入理解Java虚拟机(二)如何判断对象已“死”、回收方法区

1. 如何判断对象已死?1.1 引用计数法1.2 可达性分析算法1.3 认识引用2. 回收方法2.1 判断一个类是无用类

2019-04-08 22:05:21 295

原创 大整数排序

想看代码直接点击此处!对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。输入:3...

2019-04-06 22:19:23 787

原创 奇偶校验

想直接看代码的点击此处哦!  输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。输入描述:输入包括一个字符串,字符串长度不超过100。输出描述:可能有多组测试数据,对于每组数据,对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。输入:33a输出:101100111011001...

2019-04-06 21:27:30 33266 5

原创 深入理解Java虚拟机(一)Java内存区域与内存溢出异常

前言1.Java代码为什么可以跨平台?  因为Java程序编译之后的代码不是能被计算系统直接运行的代码,而是一种“中间码”-----字节码。这种字节码不是纯二进制的字节码,而是基于Unicode的字节码,它不依赖于特定的计算机硬件架构而存在。然后不同的硬件系统装有不同的Java虚拟机(JVM),有JVM把字节码“翻译”成所对应硬件平台能够执行的代码。总的来说,Java之所以能跨平台运行,是因为...

2019-04-06 17:52:49 195

空空如也

空空如也

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

TA关注的人

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