1、软件测试的分类
1.按开发阶段分:单元测试、集成测试、系统测试、验收测试
2. 按测试实施方式组织:α、β、第三方
3.按测试执行方式分:静态测试、动态测试
4. 按是否查看代码:黑盒测试、白盒测试、灰盒测试
5.按照是否手动执行分为:手动测试、自动化测试
6、按测试对象划分:性能测试、安全测试、兼容性测试、文档测试、可用性测试(用户体验测试)、业务测试、接口测试、安装测试
7.按测试区域划分:本地化测试、国际化测试
2、按发展阶段划分
1、UI界面层(用户界面测试):功能验证测试、兼容性和用户测试
2、业务逻辑层(API层):客户端模拟测试、内外接口测试、SDK接口测试(软件开发包一般指软件工程师特定软件包创建的开发工具集合)
3.数据处理层:单元测试
1)单元测试
单元测试是对软件组件的测试。其目的是验证软件基本组件的正确性。测试对象是软件设计的最小单元:模块,也称为模块测试。
测试阶段:编码后或编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发人员
测试依据:代码和注释+设计详细文档
测试方法:白盒测试
测试内容:模块接口测试、本地数据结构测试、路径测试、错误处理测试、边界测试
单元测试是白盒测试,但白盒测试不是单元测试
2)集成测试
集成测试(也称为联合测试、联合调试)和组装测试使用适当的集成策略来组装程序模块。
测试阶段:一般单元测试后进行
测试对象:模块之间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试模块+概要设计文档
测试方式:黑盒测试与白盒测试相结合
测试内容:模块间的数据传输、模块间的功能冲突、模块组装功能的正确性、全局数据结构、单个模块缺陷对系统的影响。
3)系统测试
将软件系统视为系统测试。这包括测试功能、性能以及软件运行的硬件和软件环境。大部分时间花在系统测试执行阶段,包括回归测试和冒烟测试。
测试阶段:集成测试后
测试对象:整个系统(软件和硬件)
测试人员:黑盒测试工程师
测试依据:需求规范文件
测试方式:黑盒测试
测试内容:功能、接口、可靠性、易用性、性能、兼容性、安全性等。
回归测试
回归测试是指修改旧代码后。重新测试以确认修改没有引入新的错误或导致其他代码错误。自动回归测试将显着降低系统测试、维护和升级等成本。
它在整个软件流程中占据很大比例的工作量,在软件开发的每个阶段都会运行多次回归测试。
冒烟测试(回归测试)
对硬件或硬件组件进行更改或维修后,直接给设备通电。如果没有冒烟,则认为该部件已通过测试。
冒烟测试的对象是每一个新编译的需要正式测试的软件版本。目的是确认软件基本功能正常,可以进行后续测试。冒烟测试的执行者是版本编译器。
冒烟测试一般是开发人员完成开发并发送给测试人员进行测试。测试人员必须先抽烟,以确保基本功能正确,并且不会妨碍后续测试。
4) 验收测试
验收测试是部署软件之前的最后一个测试操作。这是技术测试室的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照双方商定的项目合同、任务书和验收依据。文档,向软件购买者展示软件的原始要求。
预发布环:与生产环境相同。项目外部的研发和测试人员以及公司内部客户进行的测试不参与。项目外人员可以进行测试。
2)贝塔测试
Beta 测试:由软件的最终用户在一个或多个客户站点进行测试。
alpha 测试和 beta 测试的区别:
测试地点不同:alpha测试是邀请用户到开发者所在地进行的测试,beta测试是在一个或多个用户地点进行的测试。
alpha测试的测试环境由开发者控制,用户数量相对较少,时间也相对集中。 Beta 测试的测试站点不受开发者控制。相对来说,用户数量比较多,但时间不是很集中。
Alpha 测试之前是 Beta 测试。一般软件产品都需要大规模的beta测试。我觉得周期是比较长的。
第三方测试;
开发人员和用户之间的组织测试。
4.按照是否运行来划分
静态测试:
静态测试的价值不在于运行程序本身,而只是通过分析、检查源程序的语法、结构、流程、接口来检查程序的正确性。对需求规范、软件设计规范、流程图分析和符号执行进行故障排除。
5. 按是否进行手动作业
手工测试:由人一一输入测试用例,然后观察结果并与机器测试相对应。这是比较原始的。重大事件需要一步步检验。
自动化测试
在预设条件下运行系统或应用程序,评估运行结果,前提条件应包括正常条件和异常条件。简单来说,自动化测试就是将人类驱动的测试行为转化为机器执行的过程。
自动化测试如功能测试自动化、性能测试自动化、安全测试自动化
通常我们所说的自动化测试是指功能自动化测试
自动化测试按照测试对象来划分:分为界面测试、UI测试等。界面测试的ROI(输出输入比)高于UI测试。
实施自动化的步骤
6. 按是否查看代码
1) 黑盒测试
黑盒测试也称为功能测试。测试时,将被测软件视为一个黑盒子,不关心盒子的内部结构。是指关心软件的输入数据和输出数据。
2) 白盒测试
白盒测试也称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒子的价值在于打开盒子,研究里面的源代码和程序结果。
接口测试也是白盒测试的一种。
3)灰盒测试(White-box-Testing)
灰盒测试:是介于白盒测试和黑盒测试之间的测试,主要应用于集成测试阶段。不仅是概念朱输入和输出的正确性。还要注意程序内部发生的事情。
7、按地区划分
1)国际测试(白盒测试)
软件国际化和软件本地化是为全球不同地区的用户开发软件系统的两个过程。本地化测试和国际化测试就是针对此类软件产品进行的测试。由于软件在全球的普及。还有软外包行业的兴起。软件本地化和软件国际化已经成为软件测试的一个专门领域。
本地化和国际化软件测试的一些测试点。
1. 本地化软件的外观与原版存在一些差异。外观是否整齐、不规则?
2、界面元素是否已经本地化,包括对话框、菜单、工具栏、状态栏、提示信息(包括声音提示、日志等)。
3、不同分辨率界面下显示是否正常。
4、是否存在不同的字体大小,字体设置是否合适。
5、日期、数字格式、货币等是否能适应不同国家的文化习俗。例如年、月、日软件测试模块有几个,英语则是月、日、年。
6、排序方法是否考虑到不同语言的特点。
7、不同国家使用的计量单位不同,软件是否可以适配和换算。
8、软件能否在不同类型的硬件上正常运行。文本翻译是否正确、恰当,是否存在语法错误?
9、软件是否能够适应不同的操作系统平台。
10、在线帮助和文档是否已翻译,翻译后链接是否正常。文本翻译是否正确、恰当,是否存在语法错误?
本地化测试
我们之前测试的一切都是基于本地化。
测试对象划分
1)业务测试
测试人员将系统的各个模块串联起来运行,模拟实际的用户工作流程,测试所定义的功能是否满足可持续需求的过程。
2)接口测试
界面测试也变成了 UI 测试。测试用户界面的功能模块布局是否合理,整体风格是否一致,各个控件的放置是否符合客户的使用习惯。它还测试操作界面是否易于操作、易于理解以及页面元素的可用性。可用性,界面中的文字是否正确,命名是否统一软件测试模块有几个,页面是否美观,文字与图片的结合是否完美。
3)容错测试
容错测试:检查软件本身是否有异常情况下的防护措施或灾难恢复手段。
分为容错测试和非容错测试。
4)文档测试
暂无评论内容