测试方法(个人学习笔记20170305)

测试方法(个人学习笔记20170305

测试方法:

按对象分类:黑盒,灰盒,白盒

按是否执行程序分类:静态,动态

按手段分类:手工,自动化

黑盒

1.依据:需求规格说明书(SRS)

2.测试对象:整个软件产品

3.目的

理论目的:检查软件功能实现是否符合SRS

实际目的:尽早验收或售卖

4.评估标准:需求覆盖率100%(最低标准)

需求覆盖率=被测需求数/总需求数

5.介入时间:系统测试阶段(ST)(已开发完成,可操作执行)

6.优点:简单

7.缺点:介入时间晚,修复成本高,无法测试内部逻辑和代码实现

8.适用:任何情况下

灰盒

1.依据:概要设计(HLD)

2.测试对象:系统内部接口(系统,模块,功能之间)

3.目的

理论目的:验证接口实现与概要设计是否一致

实际目的:准确定位缺陷

4.评估标准:接口覆盖率(视具体要求而定)

5.介入时间:集成测试阶段(IT)

6.优点:可以准确定位BUG

7.缺点:复杂度高,对测试人员要求较高

8.适用:经常出现难以定位的错误的接口,接口实现复杂的,接口调用参数多的

白盒

1.依据:详细设计(LLD)

2.测试对象:代码,函数

3.目的

理论目的:检查代码是否符合详细设计要求

实际目的:在代码阶段发现BUG,减少修复成本和风险

4.评估标准:逻辑覆盖率

逻辑覆盖率包括多种,如语句覆盖率,条件覆盖率,分支覆盖率,条件分支覆盖率,路径覆盖率等

5.介入时间:单元测试(UT)

6.优点:介入时间早,发现缺陷早

7.缺点:工作量大,技术要求高,主要测试代码,函数内部逻辑的实现,对于用户角度的操作流程,易用性等功能和非功能没有涉及

8.适用:新研发的功能,模块,复杂度高,自测不充分的

静态

特点:检查开发,需求文档中的错误

分类:正规检视 最严 SRS阶段

技术评审 严格 HLD阶段

同行评审 不严 LLD阶段

优点:介入时间早,发现缺陷早,修复成本,风险低

缺点:技术难度大,需要提前了解业务

适用:可选,效果不一定明显

动态

特点:通过执行程序发现系统中的缺陷

分类:黑,白,灰盒

优点:简单

缺点:介入时间晚于静态

适用:任何情况

手工

优点:主动发现缺陷

缺点:人工操作,重复性大,易疲倦,效果受操作人员主观因素影响

适用:必选,任何情况

自动化(功能,性能)

优点:脚本重复适用的情况下效率高,成本低

缺点:不能主动发现缺陷

适用:需求稳定,功能基本实现,手工测试已经通过的

缺陷管理

缺陷状态

new -> 新发现

open -> 指派

fix -> 修复

close -> 关闭

duplicate -> 重复

postpone -> 延期

reject -> 拒绝

reopen -> 再打开

abandon -> 丢弃

 

缺陷迁移

一般而言有以下迁移状态

new -> open,abandon,duplicate,postpone

open -> fixed,reject

fix -> reopen,close

reject -> abandon,fix

postpone -> fix,open

缺陷报告

缺陷报告一般包括以下几项

1.编号

2.标题

3.重现步骤

4.严重级别

5.优先级

6.状态

7.执行人

8.提交人

9.附件

缺陷报告质量的提升

1.明确测试时的数据,步骤,前置条件

2.标题简明扼要

3.明确预期效果,写清问题和建议,防止多次修复

时间: 2024-08-09 10:30:52

测试方法(个人学习笔记20170305)的相关文章

【转】jmeter学习笔记——一种简单的数据库性能测试方法

前提条件:一个数据库:test   数据库下面有一张表:user   表中有两个字段:username.passworld . 要求:往数据库内大批量插入数据,1000/s 其实和之前的方法一样,为了简单,我还是把截图贴出来吧. 1.创建一个测试计划,将我们所使用的数据库驱动包导入. 2.添加一个线程组,并设置我们的虚拟用户数.启动时间.和循环次数 3.创建一个线程,并在线程下面,创建一个JDBC Connection Configuration ,设置相关信息. 4.创建一个JDBC Requ

[原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Android自动化测试之Monkeyrunner学习笔记(一)【转】

因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工具的差别 4.运行Monkeyrunner 5.实例 6.学习笔记

软件测试学习笔记-week 1

阅读软件测试相关文章了解到软件测试的一些学习步骤如下: 1. 了解软件测试的定义 2. 确定测试的目标 3. 明确测试过程 同时,测试内容又有一下几点 1. 测试方法 2. 详细分类 3. 测试流程 4. 测试阶段 5. 测试模型 以及了解一些测试工具,如 1. 引入缺陷分析模型 2. 利用理论框架分析 3. 建立测试跟踪关系 4. 使用TestPlatform 老师课程ppt上,对于软件测试的定义如下 Software testing is any activity aimed at eval

C++内存管理学习笔记(6)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:[email protected] /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9120635 /************************

SQLite介绍、学习笔记、性能测试

SQLite介绍.学习笔记.性能测试 哪些人,哪些公司或软件在用SQLite: Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFox可见SQLite的稳定性及性能是不会有什么问题的,详细列表请参见:http://www.sqlite.org/famous.html. 网上关于SQLite的介绍一抓一大把,总结起来,他有如下特点: SQLite优点及适应场合: 轻量级绿色组件单一文件跨平台查询效率极高使用事务插入速度极快支持limi

软件测试基础学习笔记

LR学习笔记 I.         软件测试基础 1.     软件的概念:程序与文档的结合. 2.     软件缺陷的概念:指计算机的硬件.软件系统或应用软件出现的错误,即为BUG. 1)     硬件错误原因:设计错误和硬件部件老化失效 2)     软件错误原因:软件开发企业设计错误引发 3.     软件生命周期的概念:从软件需求的定义.产生直到被废弃的生命周期. II.         软件测试的定义 1.     测试:包含硬件测试和软件测试 2.     测试用例:针对需求规格说明

JUnit4学习笔记(四):利用Rule扩展JUnit

一.Rule简介 Rule是JUnit4中的新特性,它让我们可以扩展JUnit的功能,灵活地改变测试方法的行为.JUnit中用@Rule和@ClassRule两个注解来实现Rule扩展,这两个注解需要放在实现了TestRule借口的成员变量(@Rule)或者静态变量(@ClassRule)上.@Rule和@ClassRule的不同点是,@Rule是方法级别的,每个测试方法执行时都会调用被注解的Rule,而@ClassRule是类级别的,在执行一个测试类的时候只会调用一次被注解的Rule 二.JU