软件测试的5个基本流程阶段是什么?软件测试从开始一个项目测试到结束,一般中间要经过五大基本环节,即单元测试、集成测试、确认测试、系统测试、验收测试。这些基本流程的每个阶段都可以详细展开来进行探讨,本文就为大家梳理一下软件测试的5个基本流程的各个阶段内容。
1、单元测试
(1)定义:单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。
(2)单元测试的内容:
a.模块接口测试:
应对通过所测模块的数据流进行测试。调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配。所测模块调用子模块时,输入子模块的参数与子模块的形式参数在个数、属性和顺序上是否匹配。输出给标准函数的参数的个数、属性和顺序是否正确。全局变量的定义在各个模块中是否一致。当模块通过外部设备进行输入/输出操作,文件属性是否正确、open和close语句是否正确,规定的I/O格式说明与I/O语句是否匹配;缓冲区容量是否与记录长度匹配,在读写之前是否打开了文件,读写之后是否关闭了文件,对I/O错误是否做了处理。
b.局部数据结构测试:
局部数据结构是最常见的错误来源;不一致的数据类型;不正确或不一致的数据说明;使用尚未赋值或尚未初始化的变量;错误的初始值或错误的缺省值。
c.路径测试:运算的优先次序、常见的比较和控制流。
d.错误处理测试:遇见出错的条件,并设置适当的出错处理。
e.边界测试:例如循环的次数,最大或最小值。
(3)单元测试步骤:
利用设计文档设计测试用例;
创建被测模块的桩模块或驱动模块;
利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试;
驱动模块:相当于所测模块的主程序,它接收测试数据,把这些数据传送给所测模块,最后再输出实际结果;
桩模块:用以代替所测模块调用的子模块。
2、集成测试
(1)定义:又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。在把各个模块连接起来的时候,穿越各个模块的接口的数据时候会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组装完成后,能否达到预期的父功能;全局数据结构是否有问题;单个模块产生的误差累计起来是否会放大;模块组装成系统的方式:一次性组装方式和增殖式组装方式。
a.一次性组装方式:先对模块分别进行测试,再把所有模块组装进行测试。缺点:发现错我不容易定位。
b.增值式组装测试:先对一个个模块进行模块测试,然后将这些模块逐步组装成系统,分为两种方式:自顶向下的增殖方式和自底向上的增殖方式。
(2)集成测试完成的标志:
a.成功执行了测试计划中规定的所有集成测试;
b.修改了所发现的错误;
c.测试结果通过专门小组的评审;
d.集成测试需要提交的测试报告;
e.集成测试计划、集成测试规格说明书以及集成测试分析报告.
3、确认测试
(1)定义:确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。
(2)进行有效性测试
现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。
(3)软件配置复查
保证软件配置的所有成分齐全,质量都符合要求。应该遵守用户手册和操作手册中的规定步骤。
4、系统测试
软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,目的在于与系统需求比较,发现问题。
5、验收测试
以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。不是对系统进行全覆盖测试,而是对核心业务流程进行测试。
以上就是软件测试的5个基本流程阶段。大家都弄清楚了吗?如果想系统学习软件测试的相关知识,可以在博学谷的官网报名在线培训课程,欢迎大家来试听体验。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试培训课程怎么样?主要学习什么内容?
软件测试是近几年在互联网领域比较热门的岗位之一,现在成为软件测试工程师的主要途径是通过自学,相关岗位转岗,或者通过参加培训。因为软件测试的主要工作内容非常复杂,因此自学的方式需要消耗非常漫长的时间成本,而转岗则是已经充分掌握软件开发或者某个技术,转行成本也相对较高。因此目前软件测试行业的新人大部分是通过集中培训,以及实践后具备相应的相应的工作技能。
4363
2019-08-06 18:49:14
软件测试缺陷包含哪些状态?缺陷生命周期分析
在软件测试中,缺陷生命周期常常是绕不开的话题。本文就来详细为大家讲讲,软件测试缺陷的八种状态,缺陷的等级、缺陷单应该包含的内容等等。对软件测试的基础理论知识感兴趣的小伙伴,现在就赶紧看下去吧!
8423
2019-10-22 14:45:34
软件测试方法和技术有哪些?
软件测试方法和技术有哪些?包括软件测试基础、软件测试方法、软件测试流程和规范、单元测试与集成测试、系统测试、验收测试、软件本地化测试、测试自动化及其框架、白盒测试和黑盒测试等。
2893
2020-07-07 11:12:47
Pytest快速入门使用说明手册
Pytest作为一个Python测试框架,不仅简单灵活,新手也可以快速入门,而且具有很多的第三方插件,功能十分强大。因此,Pytest可以说是测试行业从业者必学的工具。本文将为大家介绍Pytest的安装、基本操作、运行时设置,以及参数化,下面一起来拿看看Pytest快速入门使用说明手册吧!
2324
2020-07-15 11:04:09
初学软件测试必须会的知识有哪些?
一款软件产品从想法到开发完成再到正式上线之间伴随着软件测试的出现。学习软件测试需从计算机基础到功能测试,再到自动化测试,掌握测试工具使用、测试原理、自动化测试框架的实现等。
1256
2021-05-10 16:23:57
热门文章
- 狂野架构师学习效果好不好?互联网Java架构师前景怎么样?
- 博学谷狂野大数据学习效果好不好?课程怎么样?
- Redis持久化机制实现原理是什么?流程是什么?
- 万物互联是什么?会带来哪些改变?
- MySQL索引种类有哪些?底层实现原是什么
- 零基础转行IT互联网岗位月入过万需要多久?
- 从0搭建后端技术涉及到哪些知识点?
- 疫情下的医疗行业如何快速响应的?互联网技术功不可没
- 深度学习框架智能时代的操作系统是什么?
- 程序员第一次做项目是什么感受?需要注意什么? 查看更多
扫描二维码,了解更多信息
