目录
一、测试的分类
1. 按测试对象划分
2. 按照是否查看代码划分
3. 按照开发阶段划分
4. 按照测试实施组织划分
5. 按照是否运行划分
6. 按照是否手工划分
7. 按照地域划分
二、总结
一、测试的分类
1. 按测试对象划分
(1)界面测试
简称UI测试。包括页面上的按钮、文字、图片等的尺寸、颜色、形状、整体适配度、清晰度等等是否符合文档要求,以及是否合理美观。
(2)可靠性测试
可靠性 = 正常运行时间/(正常运行时间 + 非正常运行时间)* 100%
可靠性指标一般要求达到4个或5个“9”,即99.99%或99.999%。
(3)容错性测试
容错性测试是指系统能够处理异常,用户的错误操作不会对系统运行造成影响,不会使系统崩溃,从而能够提高系统的可用性。
可靠性测试 和 容错性测试 的区别:
以一架飞机举例子。一架飞机的一个轮子坏了,但是还是可以正常运行。
则 可以正常运行说明:容错性好;一个轮子坏了说明:可靠性差。
(4)文档测试
对编写的文档进行测试,看文档的术语是否正确,语言的严谨性、正确性、完整性、一致性等。
(5)兼容性测试
考虑软、硬件的兼容。如不同浏览器、不同操作系统、不同终端等。
(6)易用性测试
易用性包含7个要素:符合标准和规范、一致性、直观性、灵活性、舒适性、正确性、实用性。
(7)安装卸载测试
对于软件的安装和卸载进行测试。
- 软件的不同安装和卸载的方式;
- 应用是否可以在不同的操作系统、版本下进行安装;
- 安装和卸载的过程中是否可以暂停,暂停后的结果是什么样的;
- 安装空间不足的时候是否会有提示;
- 是否可以正常卸载、以及各种卸载方式......
(8)安全测试
安全性指信息安全,指计算机系统或网络保护用户数据隐私、完整,保护数据正常传输和抵御黑客、病毒的攻击的能力。(SQL注入、XSS漏洞、越权)
(9)性能测试
衡量一个系统的性能好坏,主要有:用户响应时间、事务平均响应时间、吞吐率、每秒点击次数、内存和CPU使用率等。(CPU、内存、网络、进程对比,采长补短)
(10)内存泄漏测试
如果内存泄漏了,并进行了长时间的积累,最后就可能会导致软件的执行越来越慢,最后停止响应。可能造成内存泄漏的情况:分配完内存后忘记回收、程序代码有问题造成没法回收内存、某些API函数的使用不正确,造成内存泄漏。
内存泄漏检查方式:
① 工具检查:静态代码扫描工具
② 人工检查
2. 按照是否查看代码划分
(1)黑盒测试
把程序代码当做一个黑盒子,不关心其内部结构和内部特性,只关心软件要实现的功能是否符合产品规格说明书的要求。(数据驱动测试/功能测试)
(2)白盒测试
通过分析程序内部代码实现、检查程序的运行状态是否符合预期。(结构测试/逻辑测试)
(3)灰盒测试
介于两者之间,既要关心内部结构和内部特性,还要关心功能是否符合要求。通常用在集成测试。
注意:为什么不直接使用灰盒测试?
灰盒测试没有白盒测试详细完整,也没有黑盒测试覆盖产品功能范围广。所以灰盒测试是不能取代黑盒测试和白盒测试。但黑盒测试可以取代灰盒测试,但不建议,因为需要消耗很大的代码,要设计非常非常多的测试用例。
3. 按照开发阶段划分
(1)单元测试
针对系统最小单元进行测试。(这里的最小单元是人为规定的)
(2)集成测试
完成单元测试后,将模块和模块之间进行集成,按照功能来进行测试。
(3)冒烟测试
冒烟测试是一个非常小的测试。由测试人员来进行测试,检查系统的主要功能和正常的流程是否正常,判定目前这个程序是否具备可测试的条件和标准。
(4)系统测试
集成测试完成后,测试人员准备项目环境,对这个项目程序进行系统的测试,保证系统功能符合产品规格说明书的要求。
(5)回归测试
对于历史版本、历史功能进行测试,保证每个版本都是符合产品规格说明书的。(随着功能迭代越来越多,版本也越来越多,回归测试的难度越来越大,因此要借助自动化测试来进行回归测试)
(6)验收测试
通常是指由用户进行验证测试,保证产品/程序符合用户的要求。实际上主要由产品部门的人来进行测试验收。
4. 按照测试实施组织划分
(1)α测试
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际环境下进行的测试。不能由开发人员或测试人员进行。
类似:手机出厂前的最后一次测试,开发和测试人员不参与。
(2)β测试
β测试是一种验收测试,由软件的最后用户们在一个或多个场景下进行测试。
类似:新手机买回来了,测试的人是购买者,测试环境不是手机厂商额环境场所了。
(3)第三方测试
由第三方人员(介于开发人员和用户)进行测试。
5. 按照是否运行划分
(1)静态测试
不运行程序。静态的检查程序代码、界面或文档中可能出现的错误。
(2)动态测试
将程序运行起来,输入相应的测试用例,检查实际的输出结果和预期结果是否一样。
6. 按照是否手工划分
(1)手工测试
由人一个一个的输入测试用例。
优点:自动化无法替代的探索性测试、发散性思维测试;
缺点:执行效率低,量大易错。
(2)自动化测试
把以人为驱动的测试行为转化成机器自动执行。
7. 按照地域划分
(1)国际化测试
软件使用有国际化时,要用到国际化测试。
(2)本地测试
二、总结