测试的分类(按测试对象、是否查看代码、开发阶段、实施组织...... + 思维导图总结)

目录

一、测试的分类

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)本地测试 

二、总结

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值