软件测试<进阶篇-->测试分类>

<重点讲述如何具体分析需求>

一、按照测试对象划分

总体上,按照测试对象划分

在这里插入图片描述

1. 界面测试

界面测试:其实就是UI测试;
测试点
(1)保证界面与UI设计稿的一致性、正确性;
(2)测试界面的每一个功能的正确性;
(3)界面的布局排版是否合理;
(4)界面的控件功能是否能正常使用;
(5)不同分辨率下,界面的正确性(在界面从小变大过程中,页面是否衔接丝滑,用户是否可以接受,是否字体合理,不消失、不重影等)

界面常见的错误

  • 快捷键设置不合理(键盘上打不出来的字符);
  • 文字丢失;
  • 文字截断(显示不清楚有遮挡);
  • 没有对齐;
  • 一行没有写完就自动换行;
  • 文字重叠;
  • 快捷键重复设置;

2. 可靠性测试

可靠性测试:用来衡量软件的可靠性;
可靠性 = 软件正常运行时间 /(正常运行时间+非正常运行时间)
一般软件:可靠性要求 99.99%
军事软件:可靠性要求:99.999%
非实时性软件:可靠性要求低;
软件可靠性的影响因素:软件本身 或 外界因素(电,硬件设备,网络情况等)

如何进行软件的可靠性测试?

由于软件的可靠性与输入用例无关,与时间紧密相关;
因此,只需要让软件运行一段时间,然后查看在这段时间内,软件正常运行的时间及软件非正常运行的时间,就可以得到可靠性;

3. 容错性测试

容错性:指系统因自身或外部的一些异常操作使得系统发生异常,但系统能够自我处理这种错误操作或异常的能力;

测试点

  • 数据级别:为了规避,可以提前设计好,用户只需要进行选择即可;
  • 界面级别:一些复杂操作给用户进行相应的提示信息;
  • 校验级别:按照要求进行输入,否则报错;
  • 环境级别:断电、断网、硬件设备出问题,是否可以无缝衔接并且用户无感知;
  • 灾难恢复性测试:认为制造故障,测试系统是否能够快速恢复稳定;

4. 兼容性测试

测试点

  • 软件自身的兼容性:新开发的功能不能影响原来的功能,也不能影响后续功能的开发
  • 平台的兼容性:(APPweb网页)浏览器及不同操作系统操作性;
  • 软件对用户数据的兼容性:数据库中某张表增加字段,不能影响到用户之前的数据;
  • 软件对第三方软件的兼容性:不能影响其他软件的使用;

5. 文档测试

对开发阶段产生的各种文档(如需求文档、设计文档、功能文档及最后的用户说明书),进行相应的测试,测试文档的正确性、专业性、完整性及易用性(易读易懂);

6. 易用性测试

易用性测试:也叫用户体验测试
测试点
(1)符合标准和规范;
(2)直观性:用户可以直接看到预期结果的操作;
(3)灵活性:用户可以根据自己的使用习惯去选择操作方式,如手机聊天打字方式(九宫格、全键盘、手写等);
(4)舒适性:用户进行操作有感知,如下载软件的进度条设计;

7. 安装卸载测试

测试点

  • 软件可以正常安装与卸载;
  • 软件在不卸载的前提下,能够进行更新操作;
  • 内存不够时,安装是否有提示;
  • 卸载暂停,是否可以继续卸载;
  • 卸载一半,取消卸载是否可以正常使用;
  • 安装时,断电断网死机等异常情况下,软件的响应;
  • 卸载后,软件的数据是否删除干净;

8. 性能测试

测试点

  • 系统运行速度越来越慢;
  • 系统受外界影响越来越大;
  • 死锁;
  • 查询/加载信息速度越来越慢;
  • 内存泄露(产生原因:内存分配但没有及时回收)

9. 安全测试

测试点

  • 防病毒
  • 防黑客攻击
  • 防爬虫
  • SQL注入

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

总体上,按照是否查看代码划分

在这里插入图片描述

1. 黑盒测试

黑盒测试:指不关心代码内部的逻辑结构及实现方式,只注重输入输出是否符合预期;
优点:站在用户的角度考虑,不易遗漏需求;
黑盒测试用例设计方法
(1)等价类
(2)边界值
(3)因果图
(4)错误猜测
(5)场景法
(6)正交法

2. 白盒测试

白盒测试:对软件实现的代码进行测试,分析和测试代码的逻辑结构,实现的功能是否符合用户的需求;
白盒测试用例设计方法
(1)语句覆盖
(2)路径覆盖
(3)判定覆盖
(4)条件覆盖
(5)判定组合覆盖
(6)条件组合覆盖
(7)判定和条件组合覆盖

3. 灰盒测试

介于白盒与黑盒之间的测试

三、按照开发阶段划分

总体上,按照开发阶段划分
在这里插入图片描述

1. 单元测试

单元测试:针对软件组成的最小单元模块进行的测试;包含内容有:

单元测试涉及的内容
测试对象组成软件的最小单元模块
测试方法白盒测试
测试人员白盒测试人员/研发人员
测试依据软件详细设计文档
测试内容模块的接口、局部数据的测试、边界测试、路径测试以及异常测试

2. 集成测试

集成测试:按照一定的策略将单元模块组织起来行成一个大的功能模块,对这个功能模块进行的测试;

集成测试涉及的内容
测试阶段单元测试后
测试对象集成模块
测试方法灰盒测试
测试人员黑盒测试人员/研发人员
测试依据软件概要设计文档
测试内容该功能模块的正确性、单元模块之间接口的正确性、全局数据结构测试、单元模块的缺陷对整个功能模块的影响以及模块之间功能的冲突测试

3. 系统测试

系统测试:系统开发完成后,对系统进行全面的功能测试;

系统测试涉及的内容
测试阶段集成测试后
测试对象整个系统
测试方法黑盒测试
测试人员黑盒测试人员/研发人员
测试依据软件需求设计文档
测试内容系统的所有功能、软件的易用性、兼容性、可靠性、容错性、可移植性以及安全性等

系统测试中包含

  • 回归测试:当系统引入新的代码后,就需要查看新代码的功能是否影响旧的功能,这时就需要进行回归测试;
  • 冒烟测试:正式测试之前,对软件系统的基本流程及核心功能进行的测试,当测试通过时才能够进行正式测试;

4. 验收测试

验收测试:软件上线前的最后一道测试,由用户或产品经理发起;

验收测试涉及的内容
测试阶段系统测试后
测试方法黑盒测试
测试人员用户/产品方
测试依据用户需求
测试内容文档测试及系统的所有功能、软件的易用性、兼容性、可靠性、容错性、可移植性以及安全性等

四、按照实施组织划分

总体上,按照实施组织划分

在这里插入图片描述

1. α 测试

α 测试:指让用户或除开发人员以及测试人员外的公司其他内部人员去开发现场进行的测试;该测试一般先于β测试
测试环境:开发环境

2. β 测试

β 测试:指实际用户在实际使用环境下进行的测试,不限时间与地点;

3. 第三方测试

第三方测试:第三方机构对软件进行的测试,往往是业界的标准和规范;

五、按照是否运行划分

总体上,按照是否运行划分
在这里插入图片描述

1. 静态测试

静态测试:指不运行代码,通过分析代码的风格是否符合公司的标准规范,分析代码的结构和逻辑以及实现是否满足用户的需求;

2. 动态测试

动态测试:指运行代码及测试用例;

六、按照是否手工划分

总体上,按照是否手工划分
在这里插入图片描述

1. 手工测试

手工测试:手工进行测试用例的执行并查看结果;
优点:测试过程中可以人为控制,无法被自动化测试替代的,有利于做探索性测试;
缺点:量大易错,效率不高;

2. 自动化测试

自动化测试:系统按照预先设计好的条件去执行测试,包含正常及异常的情况;
优点:解放双手,节约人力资源;能够精确测试;
缺点:不适合频繁变动的项目功能;


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值