测试所用的技术(黑盒、白盒测试等)

目录

1. 🔍按测试对象划分测试

1.1 🎈界面测试

1.2 🎈可靠性测试

1.3 🎈容错性测试

1.4 🎈文档测试

1.5 🎈兼容性测试

1.6 🎈易用性测试

1.7 🎈安装卸载测试

1.8 🎈安全测试(了解)

1.9 🎈性能测试(了解)

1.10 🎈内存泄漏测试(了解)

2. 🔍按是否查看代码划分

2.1  🎈黑盒测试

2.2 🎈白盒测试

2.3 🎈灰盒测试

3. 🔍按开发阶段划分(和软件测试V模型结合在一起)

3.1 🎈 单元测试

3.2 🎈集成测试

3.3 🎈系统测试

3.4 🎈验收测试

3.5  🎈回归测试

3.6 🎈冒烟测试

4. 🔍按测试实施组织划分

4.1 🎈 α 测试

4.2 🎈 β 测试

4.3  🎈 第三方测试

5. 🔍按是否运行划分

5.1  🎈静态测试

5.2 🎈动态测试

6. 🔍按是否手工划分

6.1 🎈手工测试

6.2  🎈自动化测试

7. 🔍按测试地域划分

7.1 🎈软件国际化测试

7.2 🎈软件本地化测试​​​​​​​


1. 🔍按测试对象划分测试

1.1 🎈界面测试

界面测试就是UI测试。软件与用户的信息交流就是通过界面来进行的,界面设计的好坏决定了用户使用软件的直观感受。

我们对软件界面所展示的全部内容进行测试和检查,一般包括:

✨ 1. 保证界面界面设计稿的一致性、正确性

✨ 2. 测试界面的每一个功能的正确性(从上到下,从左到右

✨ 3. 界面布局合理(字体大小,是否斜体,图片布局排版,清晰度)

✨ 4. 界面控件功能是否正常(滚动条,按钮,文本框)

✨ 5. 进行界面不同分辨率的测试

1.2 🎈可靠性测试

可靠性 = 软件正常使用时间  /  (正常运行时间 + 非正常运行时间)

一般软件对可靠性要求达到99.99%,特殊软件,如军事系统要求达到99.999%

如何进行软件可靠性测试?(MS)

让软件运行一段时间,计算它的正常运行时间、非正常运行时间,求可靠性

软件可靠性影响因素:

✨ 1. 软件本身

✨ 2. 外界因素(网络、电、硬件设备)

如果硬件原因导致故障使软件系统无法正常运行,这个时间也要算到软件可能性里。

1.3 🎈容错性测试

什么是容错性

因为自身或者外部一些异常的操作使得系统发生异常,系统能够自我处理这种错误操作或者异常的能力。

✨ 1. 数据级别容错性:25时30分

✨ 2. 效验级别容错性:密码大小写 检验,前后密码一致性检验,输入账号长度检验

✨ 3. 界面级别容错性:一些复杂操作或危险性较高的操作,会给出提示信息

✨ 4. 环境级别容错性:断电,断网,硬件设备出问题是否让用户无感知到备用服务

✨ 5. 灾难恢复性测试:人为让系统发生故障,测试系统能否很快恢复数据,不丢失用户信息

1.4 🎈文档测试

整个开发过程中产生的各种文档,要求文档,设计文档,功能文档,用户使用手册进行测试。 

文档测试关注点:

✨1. 文档的术语

✨2. 文档的正确性

✨3. 文档的完整性

✨4. 文档的一致性

✨5. 文档的易用性

1.5 🎈兼容性测试

 兼容性测试需求是指明确测试的兼容环境,考虑软件,硬件的兼容。

✨ 1. 平台兼容性:Web网页(各种浏览器,操作系统的兼容性)App(Android,IOS,不同品牌,不同系统版本)

✨ 2. 软件本身的兼容性:软件对功能前后的兼容性(比如开大的新功能不能影响老功能,也不能影响后续功能的开发)

✨ 3. 软件对用户数据的兼容性:(比如数据库中的某一张表增加字段,不影响用户之前的数据存储)

✨ 4.  软件对第三方软件的兼容性:不能影响其他软件的使用,如果与第三方软有交互,数据要有兼容性

1.6 🎈易用性测试

用户使用软件的体验。软件产品应始终关注用户体验,让用户获得舒适,易用的体验,针对软件着方面的测试称之为易用性测试。 

易用性包含几个要素:

✨1. 符合标准性和规范性(多数用户已经习惯的操作功能,不进行更改)

✨2. 直观性(让用户直接看到自己期望的操作)

✨3. 灵活性(用户可以根据自己的习惯选择自己的操作方式,比如输入法,有九宫格,手写,五笔等)

✨4. 舒适性(让用户对自己的操作有感知,不产生焦虑情绪,比如安装软件时,有进度条显示进度) 

1.7 🎈安装卸载测试

主要考虑一下方面:

✨1. 软件可以正常安装和卸载

✨2.  软件更新

✨3. 安装软件时,断电,断网,死机的情况下软件的响应

✨4. 安装软件时,内存不足是否有提示

✨5. 卸载软件过程中暂停是否可以继续卸载

✨6. 卸载软件到一半取消卸载,软件是否可以正常使用

✨7. 卸载软件过程中断电,断网,死机

✨8. 卸载软件后,数据文件信息是否清理干净

1.8 🎈安全测试(了解)

防病毒,防黑客攻击,防爬虫 

1.9 🎈性能测试(了解)

✨1. 内存泄露(会导致系统运行越来越慢)

✨2. 资源瓶颈

✨3. 系统运行越来越慢

✨4. 系统运行受外界影响越来越大

✨5. 死锁

✨6. 查询,加载信息速度很慢

1.10 🎈内存泄漏测试(了解)

内存泄漏会导致系统运行越来越慢。

导致原因:

✨1. 内存分配后没有回收

✨2. API函数使用不正确,无法回收

✨3. 内存分配方式有问题,无法回收


 界面常见错误:

✨ 1. 不适合的快捷键

✨ 2. 文字的截断

✨ 3. 文字没有对齐

✨ 4. 文字自动换行

✨ 5. 文字重叠

✨ 6. 重复的快捷键


2. 🔍按是否查看代码划分

2.1  🎈黑盒测试

 黑盒测试就是不关心软件内部代码实现,不关心代码的逻辑结构,只关心输入输出是否符合预期。

所以,黑盒测试只注重软件的功能。

黑盒测试的优点:

✨ 1. 不用看代码;

✨ 2. 黑盒测试测试系统的功能,从用户角度出发去设计测试用例,有利于培养用户思维

✨ 3. 黑盒测试是基于软件需求开发文档不容易遗漏需求

黑盒测试的测试用例的方法有哪些?

等价类,边界值,因果图,错误猜测法,场景法,正交法 

2.2 🎈白盒测试

 白盒测试是针对代码进行的测试,分析和测试代码的逻辑和结构,实现的功能。看是否符合用户的需求。

在程序不同的地方设立检查建,检查程序的状态,以确定实际运行状态与预期状态是否一致。

 白盒测试的六种测试方法:

语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖

2.3 🎈灰盒测试

 灰盒测试,是介于白盒测试和黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段。

不仅关注输出,输入的正确性,同时也关注程序内部的情况

3. 🔍按开发阶段划分(和软件测试V模型结合在一起)

3.1 🎈 单元测试

 单元测试是针对软件组成最小的单元模块进行测试。

检验软件基本组成单位的正确性。

测试阶段: 编码后或者  编码前(测试人员先写测试代码,空跑,开发人员根据异常写代码,直到测试用例代码通过)

测试对象:组成软件的最小模块​​​​​​​

测试方法:白盒测试(白盒测试如何测试一个单元模块?用Junit 框架)

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

测试依据:代码和注释 + 详细设计文档(软件V模型测试)

测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试、异常测试

3.2 🎈集成测试

按照一定的策略单元模块组合起来形成一个大的功能模块,对这个功能模块进行的测试叫做集成测试。 

测试阶段: 一般单元测试之后进行

测试对象:模块间的接口 ​​​​​​​

测试方法:白盒测试(白盒测试如何测试一个单元模块?用Junit 框架)

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

测试依据:概要设计文档(软件V模型测试)

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

3.3 🎈系统测试

当软件开发完成时,系统全面的对软件功能进行测试

 测试阶段: 集成测试通过之后

测试对象:整个系统 ​​​​​​​

测试方法:黑盒测试

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

测试依据:需求规格说明文档 

测试内容:系统的功能、界面、可靠性、易用性、性能、兼容性、安全性等

3.4 🎈验收测试

软件上线前的最后一道测试,有用户或者产品经理发起的。

 ✨测试阶段: 系统测试通过之后

测试对象:整个系统 ​​​​​​​

测试方法:黑盒测试

测试人员:主要是最终用户或者需求方。

测试依据:用户需求、验收标准 

测试内容:系统的功能、界面、可靠性、易用性、性能、兼容性、安全性等

3.5  🎈回归测试

回归测试是当系统引入了新的代码的时候,要查看新的代码是否影响了旧的功能,才进行回归测试。

迭代,修改Bug需要回归测试 

3.6 🎈冒烟测试

冒烟测试 是正式测试之前,对软件系统的基本流程和核心功能进行测试,如果测试通过,才同意正式测试。

4. 🔍按测试实施组织划分

4.1 🎈 α 测试

 α 测试指的是让用户除了开发和测试人员以外的公司内部人员 到开发现场去 进行测试。

测试环境:开发环境

α 测试 优先于 β 测试

4.2 🎈 β 测试

 β 测试 是实际用户在实际使用环境下进行测试,不限时间,不限地点。

(小红书邀请内侧属于β 测试​​​​​​​

α 测试 与 β 测试的区别:测试环境不同时间集中程度不同

4.3  🎈 第三方测试

第三方测试是 第三方软件测评机构对软件进行测试。

5. 🔍按是否运行划分

5.1  🎈静态测试

 静态测试就是 不运行代码分析代码的风格是否符合公司的标准规范,分析代码的逻辑,结构,算法,方法的实现是否满足用户的需求。

5.2 🎈动态测试

 动态测试是 运行代码,执行测试用例进行测试,检查实际输出结果预期结果是否相同。

6. 🔍按是否手工划分

6.1 🎈手工测试

 手工测试就是 手工执行测试用例,由人去一个一个的输入用例,然后观察结果。

优点:不可替代的,无法被自动化测试替代,手工测试的过程人为可以控制,有利于探索性测试。

缺点:量大容易出错,效率低​​​​​​​ 

6.2  🎈自动化测试

自动化测试就是  机器按照预先设计好条件的去执行测试,这些条件包括正常和异常的方面。

自动化测试脚本:UI自动化,接口自动化,性能自动化 

7. 🔍按测试地域划分

7.1 🎈软件国际化测试

 开发软件的时候,使用了一种工程技术,使得软件在适用不同国家的语言、风俗习惯的时候,不用去改变软件的源码就可以做到。

Windows 操作系统,苹果手机

7.2 🎈软件本地化测试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值