测试用例进阶篇(二)

目录

一、按照是否查看代码划分

1、黑盒测试

2、白盒测试

3、灰盒测试

二、按照开发阶段划分

1、单元测试阶段

2、集成测试

3、测试系统

回归测试

冒烟测试

4、验收测试

三、按照实施组织划分

1、α测试

2、β测试

α测试与β测试的区别

3、第三方测试

四、按照代码是否运行划分

1、静态测试

2、动态测试

五、按照是否手工划分

1、手工测试

2、自动化测试

六、按照地域划分

1、软件国际化测试

2、软件本地化测试


一、按照是否查看代码划分

1、黑盒测试

不关心代码内部的逻辑结构,不去查看代码,只关心软件的功能外部的输入和输出是否满足用户的需求,相当于把软件内部的实现屏蔽掉了。

黑盒测试的优点是

不去关心软件内部的实现,不用去看代码

站在用户的角度去设计测试用例,容易培养产品思维

设计测试用例是根据软件需求来设计的,不容易遗漏需求

黑盒测试的方法:等价类、边界值、场景法、因果图、错误猜测法、正交法

2、白盒测试

查看代码是否规范,风格是否和公司设计一致,分析代码的逻辑结构,对代码进行测试,看代码是否实现了需求

可以用单元测试来进行白盒测试

白盒测试测试方法:语句覆盖、路径覆盖、逻辑覆盖、判定覆盖、条件覆盖、判定组合覆盖、判定和组合覆盖、条件和条件组合

路径覆盖:if else   switch   case    try  catch   finally

循环覆盖:for  while  

等价类和边界值有时候会用到白盒测试中

3、灰盒测试

既关心软件功能的输入和输出,也关心软件内部程序的实现。

二、按照开发阶段划分

测试金字塔

金字塔共分为3层,从上到下第一层为界面,它是直接和用户进行交互的

第二层是业务层,它是一个功能模块的集成,同时做接口测试

第三层是单元测试,即代码层的测试

测试金字塔的特点为

越往底层走,测试效率越高

越往底层走,定位问题越容易

越往底层走,测试独立性越高,耦合性变低

按照开发阶段划分共分为四个阶段

1、单元测试阶段

对软件组成的最小的单元进行测试,查看测试单元的功能是否正常

测试阶段:测试前(TDD,Test-Dirven-Development),测试后

测试方法:白盒测试

测试人员:白盒测试工程师,开发人员

测试依据:详细设计文档

测试内容:接口测试,局部数据结构测试(局部变量测试),路径测试,边界测试(for,while),循环测试  ,错误处理测试(try,catch,finally)      

2、集成测试

按照一定的逻辑和策略把单元模块组合在一起,形成一个具有完整功能的大模块

测试阶段:单元测试之后

测试方法:灰盒测试

测试人员:黑盒测试工程师/白盒测试工程师

测试依据:概要设计文档

测试内容:模块功能的正确性,组成模块的单元之间的接口测试,全局数据结构测试,单个模块的功能缺陷对整个模块的影响

3、测试系统

对软件系统进行全面的功能和非功能测试

测试阶段:集成测试之后

测试对象:整个软件系统

测试方法:黑盒测试

测试人员:黑盒测试工程师

测试依据:需求设计文档

测试内容:系统的功能,界面,可靠性,容错性,易用性,可移植性,兼容性,安全性,性能,安装卸载(新软件)

回归测试

当系统引入了新代码(增加新功能的时候或者修改BUG的时候)的时候,测试人员往往需要验证新代码对旧的功能产生的影响,所做的测试就叫做回归测试

一般情况下回归测试的测试量很大,所以会把手工测试写为自动化测试

冒烟测试

在软件开发完成后,要对软件的基础功能和核心流程进行测试,测试通过后,才可以进入正式测试环境,如果测试不通过,测试人员有权利打回,让开发人员重新修改,直到冒烟成功

冒烟测试是测试或者开发人员进行的

冒烟测试是一个准入原则,如果冒烟测试都没有通过,其它的测试就没必要了。

4、验收测试

软件在上线前最后一次测试,所以也称之为交付测试

测试阶段:系统测试之后

测试对象:整个软件系统

测试依据:用户需求

测试人员:用户

测试方法:黑盒测试

测试内容:和系统测试一样,除了这个还要进行文档测试,如可用性分析文档,需求设计文档,软件设计文档,软件开发文档等等

三、按照实施组织划分

1、α测试

在β测试之前进行,是把用户或者非测试和开发的人员请到开发现场进行的测试

测试环境:开发现场

测试人员:用户或者非测试和开发的人

2、β测试

让实际用户在实际使用环境中进行测试,测试完成后对问题进行统一汇总反馈

α测试与β测试的区别

测试环境不同;测试时间集中程度不同;α测试优先于β测试        

3、第三方测试

是软件第三方测评机构,按照软件行业的标准规范对软件进行测试

四、按照代码是否运行划分

1、静态测试

不运行代码,仅检查代码的风格,看格式是否符合公司的规范标准,检查代码的逻辑结构是否满足需求要实现的功能。

主要看功能性、性能、兼容性、易用性、可靠性、安全、可维护性、可移植性

2、动态测试

运行代码,给程序响应的输入,看是否得到期望的输出

五、按照是否手工划分

1、手工测试

按照测试用例,手工去测试系统的功能

缺点:量大容易出错,效率低,有些极端情况无法测试到

优点:可以进行探索性测试,比较灵活

2、自动化测试

机器按照人为设定好的预设条件去运行,这些预设好的条件包括正常的和异常的,去检查软件系统有没有符合设定的条件

自动化测试把手工测试用例转化成脚本运行

这里要记住一点,不是所有的项目都适合自动化

六、按照地域划分

首先需要了解软件国际化,即进行软件设计和开发的时候,使用一种工程技术,使得软件在转化为不同的国家语言的时候,可以不用修改源码,适应不同的语言,不同国家人民的风俗习惯等        

1、软件国际化测试

外观上看界面功能有没有缺失,能不能正常使用

是否适应这个国家人的使用习惯,文字,日期,风俗习惯

度量单位,货币,重量单位

不同的分辨率下,软件的正常展示和使用

不同的硬件设备

2、软件本地化测试

这个就是具体到某一个国家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值