软件测试技术包括哪些?
一、软件测试技术

1. 单元测试
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试。
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
2. 集成测试
集成测试也称联合(联调)测试、组装测试,将程序模块采用适当的集成策略组装起来,==对系统的接口及集成后的功能进行正确性检测的测试工作。==集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间的数据传输、模块之间的功能冲突、模块组装功能的正确性、全局数据结构、单元模块缺陷对系统的影响。
3. 系统测试
系统测试就是将已通过集成测试的软件系统,与计算机硬件,外设、数据库、网络等其他元素结合在一起,在实际运行环境下,进行一系列的系统测试工作。包括对功能、性能及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
4. 冒烟测试
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,对主干流程进行测试,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。
冒烟测试一般在开发人员开发完毕后送给测试人员来进行测试时,测试人员会先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。
5. 验收测试
验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。
测试阶段:系统测试通过之后
测试对象:整个系统(包括软硬件)。
测试人员:主要是最终用户或者需求方。
测试依据:用户需求、验收标准
测试方法:黑盒测试
测试内容:同系统测试(功能…各类文档等)
验收测试包括:α测试,β测试
延伸阅读:
二、软件测试的分类
1.黑盒测试
之所以被称为黑盒测试是因为可以将被测程序看成是一个无法打开的黑盒,而工作人员在不考虑任何程序内部结构和特性的条件下,根据需求规格说明书设计测试实例,并检查程序的功能是否能够按照规范说明准确无误的运行。其主要是对软件界面和软件功能进行测试。对于黑盒测试行为必须加以量化才能够有效的保证软件的质量。
2.白盒测试
其与黑盒测试不同,它主要是借助程序内部的逻辑和相关信息,通过检测内部动作是否按照设计规格说明书的设定进行,检查每一条通路能否正常工作。白盒测试是从程序结构方面出发对测试用例进行设计。其主要用于检查各个逻辑结构是否合理,对应的模块独立路径是否正常以及内部结构是否有效。常用的白盒测试法有控制流分析、数据流分析、路径分析、程序变异等,其中逻辑覆盖法是主要的测试方法。
3.灰盒测试
灰盒测试则介于黑盒测试和白盒测试之间。灰盒测试除了重视输出相对于出入的正确性,也看重其内部表现。但是它不可能像白盒测试那样详细和完整。它只是简单的靠一些象征性的现象或标志来判断其内部的运行情况,因此在内部结果出现错误,但输出结果正确的情况下可以采取灰盒测试方法。因为在此情况下灰盒比白盒高效,比黑盒适用性广的优势就凸显出来了。
以上就是关于软件测试的内容希望对大家有帮助。
相关推荐HOT
更多>>
栈和队列是操作受限线性表,操作限制降低了操作灵活性,为什么要加入这些限制?
一、栈和队列加入操作限制的原因栈和队列是操作受限线性表,所谓”操作受限”是指只能按照某种固定的规律进行插入和删除操作,无法随意地对其中...详情>>
2023-10-11 22:33:31
ASPICE1级和2级到底具体的区别是什么?
一、ASPICE1级和2级到底具体的区别Level 1意思是实施的过程,仅仅是实施了相关的过程,即可以展示一些WP以说明相关的活动已进行并有了相关的输...详情>>
2023-10-11 21:25:45
主席树和可持久化线段树有什么区别?
一、主席树和可持久化线段树主席树和可持久化线段树没有区别。主席树学名为可持久化线段树,可以用来解决线段树存储历史状态的问题。我们在进行...详情>>
2023-10-11 20:19:10
什么是结构化数据非结构化数据半结构化数据?
一、结构化数据、非结构化数据、半结构化数据结构化数据结构化的数据一般是指可以使用关系型数据库表示和存储,可以用二维表来逻辑表达实现的数...详情>>
2023-10-11 19:24:17热门推荐
为什么给定节点个数的二叉树个数为卡特兰数?
沸栈和队列是操作受限线性表,操作限制降低了操作灵活性,为什么要加入这些限制?
热数据结构sqlist和seqlist有什么区别?
热ASPICE1级和2级到底具体的区别是什么?
新数据结构与算法有哪些内容?
主席树和可持久化线段树有什么区别?
链表(linkedlist)这一数据结构具体有哪些实际应用?
什么是结构化数据非结构化数据半结构化数据?
OracleJDK 和 OpenJDK有哪些区别?
linux和windows的区别?
ldo和dcdc的区别?
thymeleaf和jsp的区别是什么?
计算机算法和语言有哪些区别?
JAVA的io流和nio有什么区别?
技术干货
京公网安备 11010802030320号