admin管理员组

文章数量:1130349

这里写目录标题

  • 测试分类
    • 按照测试对象划分
      • 1.界面测试
      • 2.可靠性测试
        • 如何进行软件的可靠性测试?
      • 3.容错性测试
      • 4.文档测试
      • 5.兼容性测试
      • 6.易用性测试
      • 7.安装卸载测试
      • 8.安全性测试
      • 9.性能测试
      • 10.内存泄漏测试
    • 按照是否查看代码划分
      • 黑盒测试
        • 常用方法
      • 白盒测试
        • 常用方法
      • 灰盒测试
    • 按照开发阶段划分
      • 单元
      • 集成
      • 系统
      • 验收
    • 按照实时组织划分
      • α测试
      • β测试
      • 第三方测试
    • 按照是否运行划分
      • 静态测试
      • 动态测试
    • 按照是否手工划分
      • 手工测试
      • 自动化测试
    • 按照测试地域划分
      • 国际化测试
      • 本地化测试

测试分类

按照测试对象划分

1.界面测试

界面直接和用户交互,界面设计的好坏决定了用户使用软件的直观感受。
UI测试
保证界面和UI设计稿一致性、正确性。
测试界面的每一个功能的正确性(从上到下 从左到右)
界面的布局排版合理(字体大小 斜体 图片布局排版 清晰程度)
界面的控件功能是否正常(滚动条、按钮、checkbox,文本框)
界面的不同分辨率的测试
同一个web页面不同页面的大小测试:
页面从小到大变化过程中衔接丝滑,让用户可接受
页面的字体不模糊不消失,不重影
页面的图片不消失,排版布局合理
页面的功能可以正常使用

2.可靠性测试

可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)
一般软件 可靠性要求99.99% 一年时间 软件出现故障的时间52min 非实时性软件 邮件系统
特殊软件 例如军事系统 可靠性要求99.999% 一年时间出现故障的时间 5min

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

软件可靠性影响因素:软件本身、外界因素(电、网络、硬件设备、软件系统)

3.容错性测试

什么是容错性:因为自身或者外部一些异常的操作使得系统发生异常,系统能够自我处理这种错误或异常的能力。
数据级别: 5月32日 0.009元 36时62分
校验级别:输入账号 6~16位 17位则不能输入成功
大小写校验 空格校验 前后信息一致性校验
界面级别: 一些复杂的操作或者危险性较高的操作,会给用户提示
危险的按钮 直接屏蔽 禁用
环境级别:断网、断电、硬件设备出问题、是否可以无缝切换 让用户无感知
到备用服务器
灾难恢复性测试: 人为让系统发生故障,测试系统是否能够很快恢复稳定,数据恢复,不丢用户的信息。

4.文档测试

整个开发过程中产生的各种文档,需求文档、设计文档、功能文档、用户使用手册进行测试。
文档的正确性、一致性、专业术语、完整性。

5.兼容性测试

平台的兼容性(web网页:各种浏览器 操作系统的兼容性;APP:不同系统 IOS/Android,不同品牌,不同系统版本)
软件本身兼容性:软件对本身功能前后的兼容性 例如开发的新功能不能对之前的功能有影响 也不能对后续的功能有影响
软件对用户数据的兼容性:数据库中某一张表增加字段 不影响用户之前存储的数据
软件对第三方软件的兼容:不能影响其他软件的使用 如果和第三方软件有交互,数据要有兼容性

6.易用性测试

用户使用软件的体验,用户体验测试
(1)符合标准和规范
例如严重错误警告图标为红色 警示为黄色等
(2)直观性
让用户直接看到自己期望的操作 或者预期的结果
(3)灵活性
用户可以根据自己的习惯选择适合自己的操作方式
手机上的键盘 九宫格 全键盘 手写 五笔
灵活性 == 复杂性 找寻一个平衡点 让开发过程不是非常复杂的同时做到 灵活性
(4)舒适性
让用户对自己进行的操作有感知 不产生焦虑情绪
舒适性的应用体现:安装一个软件 进度条

7.安装卸载测试

正常的安装和卸载功能
软件更新
安装软件时断网、断电、死机等异常情况下、软件的响应
安装团建内存不足是否有提示
卸载软件暂停,是否可以继续卸载
卸载软件到一半 取消卸载 看软件是否可以正常使用
写在过程中异常情况的测试(断网、断电、死机等)
卸载后软件的数据文件信息是否清理干净

8.安全性测试

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

9.性能测试

内存泄漏
资源瓶颈
系统运行速度越来越慢
系统运行受外界影响越来越大
死锁
查询 加载信息速度很慢

10.内存泄漏测试

会导致系统运行越来越慢
导致原因:
内存分配后,没有回收
API函数使用不正确,无法回收
内存分配方式有问题,无法回收

按照是否查看代码划分

黑盒测试

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果,满足规范需求。
所以,黑盒测试又称之为数据驱动测试,只注重软件的功能
黑盒测试的优点:
不需要了解程序内部的代码以及实现,不关注软件内部的实现。
从用户角度出发设计测试用例
测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能。
黑盒测试的缺点是不可能覆盖所有代码。

常用方法

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

白盒测试

白盒测试又称为结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。

常用方法

主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

按照开发阶段划分

单元

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

验收

按照实时组织划分

α测试

把用户请到公司内部进行测试

β测试

用户在一个或者多个 用户场所 进行的测试

第三方测试

按照是否运行划分

静态测试

不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。

动态测试

实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

按照是否手工划分

手工测试

手动一个个输入测试用例

自动化测试

自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。
自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。
自动化实施步骤:
1.完成功能测试,版本基本稳定
2.根据项目特性,选择适合项目的自动化工具,并搭建环境
3.提取手工测试的测试用例转化为自动化测试的用例
4.通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
5.生成自动测试报告
6.持续改进,脚本优化。

按照测试地域划分

国际化测试

1、本地化后的软件在外观上与原来版本是否存在很大的差异,外观是否墼齐、不走样。
2、是否对所有界面元素都进行了本地化处理,包括对话框、菜单、工具栏、状态栏、提示信息(包括声音的提示)、日志等。
3、在不同的屏幕分辨率下界面是否正常显示。
4、是否存在不同的字体大小,字体设置是否恰当。
5、日期、数字格式、货币等是否能适应不同国家的文化习俗。例如,中文是年月日,而英文是月日年。
6、排序的方式是否考虑了不同语言的特点。例如,中文按照第一个字的汉语拼音顺序排序,而英文按照首字母排序。
7、在不同的国家采用不同的度量单位,软件是否能自适应和转换。
8、软件是否能在不同类型的硬件上正常运行,特别是在当地市场上销售的流行硬件上。
9、软件是否能在Windows或者其他操作系统的当地版本上正常运行。
10、联机帮助和文档是否已经翻译,翻译后的链接是否正常。正文翻译是否正确、恰当, 是否有语法错误。

本地化测试

这里写目录标题

  • 测试分类
    • 按照测试对象划分
      • 1.界面测试
      • 2.可靠性测试
        • 如何进行软件的可靠性测试?
      • 3.容错性测试
      • 4.文档测试
      • 5.兼容性测试
      • 6.易用性测试
      • 7.安装卸载测试
      • 8.安全性测试
      • 9.性能测试
      • 10.内存泄漏测试
    • 按照是否查看代码划分
      • 黑盒测试
        • 常用方法
      • 白盒测试
        • 常用方法
      • 灰盒测试
    • 按照开发阶段划分
      • 单元
      • 集成
      • 系统
      • 验收
    • 按照实时组织划分
      • α测试
      • β测试
      • 第三方测试
    • 按照是否运行划分
      • 静态测试
      • 动态测试
    • 按照是否手工划分
      • 手工测试
      • 自动化测试
    • 按照测试地域划分
      • 国际化测试
      • 本地化测试

测试分类

按照测试对象划分

1.界面测试

界面直接和用户交互,界面设计的好坏决定了用户使用软件的直观感受。
UI测试
保证界面和UI设计稿一致性、正确性。
测试界面的每一个功能的正确性(从上到下 从左到右)
界面的布局排版合理(字体大小 斜体 图片布局排版 清晰程度)
界面的控件功能是否正常(滚动条、按钮、checkbox,文本框)
界面的不同分辨率的测试
同一个web页面不同页面的大小测试:
页面从小到大变化过程中衔接丝滑,让用户可接受
页面的字体不模糊不消失,不重影
页面的图片不消失,排版布局合理
页面的功能可以正常使用

2.可靠性测试

可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)
一般软件 可靠性要求99.99% 一年时间 软件出现故障的时间52min 非实时性软件 邮件系统
特殊软件 例如军事系统 可靠性要求99.999% 一年时间出现故障的时间 5min

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

软件可靠性影响因素:软件本身、外界因素(电、网络、硬件设备、软件系统)

3.容错性测试

什么是容错性:因为自身或者外部一些异常的操作使得系统发生异常,系统能够自我处理这种错误或异常的能力。
数据级别: 5月32日 0.009元 36时62分
校验级别:输入账号 6~16位 17位则不能输入成功
大小写校验 空格校验 前后信息一致性校验
界面级别: 一些复杂的操作或者危险性较高的操作,会给用户提示
危险的按钮 直接屏蔽 禁用
环境级别:断网、断电、硬件设备出问题、是否可以无缝切换 让用户无感知
到备用服务器
灾难恢复性测试: 人为让系统发生故障,测试系统是否能够很快恢复稳定,数据恢复,不丢用户的信息。

4.文档测试

整个开发过程中产生的各种文档,需求文档、设计文档、功能文档、用户使用手册进行测试。
文档的正确性、一致性、专业术语、完整性。

5.兼容性测试

平台的兼容性(web网页:各种浏览器 操作系统的兼容性;APP:不同系统 IOS/Android,不同品牌,不同系统版本)
软件本身兼容性:软件对本身功能前后的兼容性 例如开发的新功能不能对之前的功能有影响 也不能对后续的功能有影响
软件对用户数据的兼容性:数据库中某一张表增加字段 不影响用户之前存储的数据
软件对第三方软件的兼容:不能影响其他软件的使用 如果和第三方软件有交互,数据要有兼容性

6.易用性测试

用户使用软件的体验,用户体验测试
(1)符合标准和规范
例如严重错误警告图标为红色 警示为黄色等
(2)直观性
让用户直接看到自己期望的操作 或者预期的结果
(3)灵活性
用户可以根据自己的习惯选择适合自己的操作方式
手机上的键盘 九宫格 全键盘 手写 五笔
灵活性 == 复杂性 找寻一个平衡点 让开发过程不是非常复杂的同时做到 灵活性
(4)舒适性
让用户对自己进行的操作有感知 不产生焦虑情绪
舒适性的应用体现:安装一个软件 进度条

7.安装卸载测试

正常的安装和卸载功能
软件更新
安装软件时断网、断电、死机等异常情况下、软件的响应
安装团建内存不足是否有提示
卸载软件暂停,是否可以继续卸载
卸载软件到一半 取消卸载 看软件是否可以正常使用
写在过程中异常情况的测试(断网、断电、死机等)
卸载后软件的数据文件信息是否清理干净

8.安全性测试

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

9.性能测试

内存泄漏
资源瓶颈
系统运行速度越来越慢
系统运行受外界影响越来越大
死锁
查询 加载信息速度很慢

10.内存泄漏测试

会导致系统运行越来越慢
导致原因:
内存分配后,没有回收
API函数使用不正确,无法回收
内存分配方式有问题,无法回收

按照是否查看代码划分

黑盒测试

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果,满足规范需求。
所以,黑盒测试又称之为数据驱动测试,只注重软件的功能
黑盒测试的优点:
不需要了解程序内部的代码以及实现,不关注软件内部的实现。
从用户角度出发设计测试用例
测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能。
黑盒测试的缺点是不可能覆盖所有代码。

常用方法

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

白盒测试

白盒测试又称为结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。

常用方法

主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

按照开发阶段划分

单元

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

验收

按照实时组织划分

α测试

把用户请到公司内部进行测试

β测试

用户在一个或者多个 用户场所 进行的测试

第三方测试

按照是否运行划分

静态测试

不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。

动态测试

实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

按照是否手工划分

手工测试

手动一个个输入测试用例

自动化测试

自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。
自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。
自动化实施步骤:
1.完成功能测试,版本基本稳定
2.根据项目特性,选择适合项目的自动化工具,并搭建环境
3.提取手工测试的测试用例转化为自动化测试的用例
4.通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
5.生成自动测试报告
6.持续改进,脚本优化。

按照测试地域划分

国际化测试

1、本地化后的软件在外观上与原来版本是否存在很大的差异,外观是否墼齐、不走样。
2、是否对所有界面元素都进行了本地化处理,包括对话框、菜单、工具栏、状态栏、提示信息(包括声音的提示)、日志等。
3、在不同的屏幕分辨率下界面是否正常显示。
4、是否存在不同的字体大小,字体设置是否恰当。
5、日期、数字格式、货币等是否能适应不同国家的文化习俗。例如,中文是年月日,而英文是月日年。
6、排序的方式是否考虑了不同语言的特点。例如,中文按照第一个字的汉语拼音顺序排序,而英文按照首字母排序。
7、在不同的国家采用不同的度量单位,软件是否能自适应和转换。
8、软件是否能在不同类型的硬件上正常运行,特别是在当地市场上销售的流行硬件上。
9、软件是否能在Windows或者其他操作系统的当地版本上正常运行。
10、联机帮助和文档是否已经翻译,翻译后的链接是否正常。正文翻译是否正确、恰当, 是否有语法错误。

本地化测试

本文标签: 测试内容