测试的策略有哪些?
测试的策略有哪些?
「已注销」
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
按开发阶段划分
1,单元测试 (Unit Testing)
又称模块测试。对软件的组成单位进行测试,其目的是检验软件
基本组成单位的正确性。测试的对象的是软件测试的最小单位:模块。
2,集成测试 (Integration Testing)
集成测试也称联合测试(联调)、组装测试:将程序模块采用适
当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检
测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
3,系统测试 (System Testing)
系统测试:将软件系统看成是一个系统的测试。包括对功能、性能以
及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶
段,包括回归测试和冒烟测试。
4,验收测试 (Acceptance Testing)
是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,
也称为交付测试。向软件购买者展示该软件系统满足原始需求。
按是否手工执行划分
1,手工测试 (manualTesting)
手工测试是由人一个一个的输入用例,然后观察结果,和机器测
试相对应,属于比较原始但是必须的一种。
2,自动化测试 (automationTesting)
所谓自动化测试,就是在预设条件下运行系统或应用程序,评估
运行结果。(预先条件包括:正常条件和异常条件)。简单来说,
自动化测试就是是把人为驱动的测试行为,
转化为机器执行的一种过程。
按是否查看代码划分
1,黑盒测试 (Black-Box Testing)
黑盒测试也是功能测试,测试中把被测的软件当成一个黑盒子,
不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据。
2,白盒测试 (White-Box Testing)
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测
试。白盒测试是指打开盒子,去研究里面的源代码和程序结果。
3,灰盒测试 (Gray-Box Testing)
灰盒测试是介于白盒测试和黑盒测试之间的一种,灰盒测试多用于集
成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的
情况。
按是否运行划分
1,静态测试 (Static Testing)
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的
语法、结构、过程、接口等来检查程序的正确性,对需求规格说
明书、软件设计说明书、源程序做结构分析、流程图分析、符号
执行来找错。
2,动态测试 (Dynamic Testing)
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异
按测试对象划分
一、非功能测试
1,性能测试 (Performance Testing)
检查系统是否满足需求规格说明书中规定的性能。
通常表现在以下几个方面:
稳定性
响应时间
吞吐量(TPS)
2,安全测试 (Safety Testing)
安全测试是一个相对独立的领域,需要更多的专业知识。如:
WEB的安全测试、需要熟悉各种网络协议、防火墙、CDN、
熟悉各种操作系统的漏洞、熟悉路由器等。
3,兼容性测试 (Campatibility Testing)
兼容性测试主要是指,软件之间能否很好的运作,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会影响导致系统的崩溃。
平台测试
浏览器测试
软件本身能否向前或向后兼容
测试软件能否与其它相关软件兼容
数据兼容性测试
4,文档测试 (Document Testing)
开发文件:可行性研究报告、软件需求说明书、数据要求说明书、
概要设计说明书、详细设计说明书、数据库设计说明书、模块开发卷
宗。
用户文件:用户手册、操作手册,用户文档的作用:改善易安装性;
改善软件的易学性与易用性;改善软件可靠性;降低技术支持成本。
管理文件:项目开发计划、测试计划、测试分析报告、开发进度月报
、项目开发总结报告。
在实际的测试中,最常见的就是用户文件的测试,例如:用户操作
说明书等。
4,文档测试 (Document Testing)
文档测试关注的点:
文档的术语
文档的正确性
文档的完整性
文档的一致性
文档的易用性
5,易用性(用户体验性测试) (User ability testing)
易用性是交互的适应性、功能性和有效性的集中体现。又叫用户
体验测试。
6,界面测试 (user interface Testing)
界面测试(简称UI测试),测试用户界面的功能模块的布局是否合
理、整体风格是否一致、各个控件的放置位置是否符合客户使用
习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元
素的可用性,界面中文字是否正确,命名是否统一,页面是否美
观,文字、图片组合是否完美等。
7,安装测试 (installation Testing)
安装测试是指:测试程序的安装、卸载。最典型的就是APP的安
装、卸载。
二、功能测试 (functional testing)
按测试实施的组织划分
1,α测试 (Alpha Testing)
2,β测试 (Beta Testing)
α测试与Beta测试的区别:
(1)测试的场所不同:Alpha测试是指把用户请到开发方的场所
来测试,beta测试是指在一个或多个用户的场所进行的测试。
(2)Alpha测试的环境是受开发方控制的,用户的数量相对比较少,
时间比较集中。beta测试的环境是不受开发方控制的,用户数量相
对比较多,时间不集中。
(3)alpha测试先于beta测试执行。通用的软件产品需要较大规
模的beta测试,测试周期比较长。
3,第三方测试 (Third-patry Testing)
介于开发方和用户方之间的组织测试。
按测试地域划分
1,国际化化测试 (International Testing)
软件的国际化和软件的本地化是开发面向全球不同地区用户使用
的软件系统的两个过程。而本地化测试和国际化测试则是针对这
类软件产品进行的测试。由于软件的全球化普及,还有软件外包
行业的兴起,软件的本地化和国际化测试俨然成为了一个独特的
测试专门领域。
2,本地化测试 (localization Testing)
之前我们一起学习的测试都是本地化测试。