软件测试的概括及流程

article/2025/10/19 23:11:00

一、什么是软件测试?

        软甲测试就是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求,软件测试就是在软件投入运行前,对软件进行需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。


软件测试是为了发现错误而执行程序的过程

二、软甲测试分类

三、按测试阶段划分

1)单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元

的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元

指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的

被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在

与程序的其他部分相隔离的情况下进行测试。

2)集成测试

集成测试的含义非常简单- 将单元测试模块逐个集成/组合,并将行为测试为组合单元。

该测试的主要功能或目标是测试单元/模块之间的接口。  

我们通常在“单元测试”之后进行集成测试。一旦创建并测试了所有单个单元,我们就开始组合这些“单元测试”模块并开始进行集成测试。

该测试的主要功能或目标是测试单元/模块之间的接口。

首先单独测试各个模块。模块经过单元测试后,逐个集成,直到所有模块都集成在一起,检查组合行为,验证需求是否正确实现。

在这里我们应该理解,集成测试不会在周期结束时发生,而是与开发同时进行。因此,在大多数情

况下,所有模块实际上都无法测试,这就是测试不存在的东西的挑战!

3)系统测试

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时

间大部分在系统测试执行阶段,包括回归测试和冒烟测试。将经过测试的子系统装配成一个完整系

统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个

系统的运行以及与其他软件的兼容性。

4)验收测试

验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。

验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件

购买者展示该软件系统满足原始需求。

四、按是否覆盖源代码

1)黑盒测试

黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试

方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放

在发现程序不按其规范正确运行的条件。
 

2)白盒测试

白盒测试(white-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部过程,可通过

测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检

验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻

辑驱动,基路测试等,主要用于软件验证。

3)灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

五、按是否运行

1)静态测试(static testing)

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

包括对代码测试、界面测试和文档测试三个方面:

    对于代码测试,主要测试代码是否符合相应的标准和规范。

    对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。

    对于文档测试,主要测试用户手册和需求说明是否符合用户的实际需求。

2)动态测试(dynamic testing)

动态测试就是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。

黑盒测试有可能是动态测试(运行程序,看输入输出), 也有可能是静态测试(不运行,只看界面) 

白盒测试有可能是动态测试(运行程序并分析代码结构), 也有可能是静态测试(不运行程序 , 只静态察看代码)

动态测试有可能是黑盒测试(运行 , 只看输入输出), 也有可能是白盒测试 (运行并分析代码结构)

    静态测试有可能是黑盒测试(不运行,只察看界面), 也有可能是白盒测试(不运行 , 只察看代码)

六、按是否自动化

1)人工测试

人工测试能通过人为的逻辑判断效验当前的步骤是否正确,同时用例的执行具有一定步骤跳跃性,能够清楚知道逻辑,细致定位问题。

如果修改bug所需时间稍长,那么想将人工测试应用于回归测试将变得异常困难。这是因为需要测试的测试用例太多,所以需要引入自动化测试。

2)自动化测试

执行的对象是脚本,能通过人为的逻辑判断效验当前的步骤是否正确实现,用例步骤之间关联性强,不像手工测试用例那么跳跃。另外也是用来保证产品主体功能正确和完整,让测试人员从繁重的工作中解脱出来。

可以更好的利用资源。在夜间执行自动测试用例。测试具有移植性和可重复性。好的测试脚本往往具有较好的平台移植性。可以更快地将软件推向市场。因为自动测试节省了大量的时间。但是自动化测试要求的先期投入比较大,而且要求人员必须经过严格的培训。

七、更多

1)冒烟测试

冒烟测试,是对软件的基本功能进行测试,测试对象是每一个新编译的需要正式测试的软件版本,

目的是确认软件的基本功能正常,保证软件系统能正常跑起来,可以进行后续的正常测试工作的进

行,如果最基本的测试都有问题了,就直接打回开发部了,所以正式交付的测试版本,必须先通过

冒烟测试的考验

2)回归测试

回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新

版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现,并确认曾经通

过的功能不会出现问题。

3)随机测试

随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过

程。 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有

覆盖到的部分。在测试中,测试数据是随机产生的。

4)探索测试

探索式测试(Exploratory Testing)是一种自由的软件测试风格,强调测试人员同时展开测试学

习、测试设计、测试执行和测试结果评估等活动,以持续优化测试工作。

测试专家Cem Kaner博士在1983年提出的。

测试需要探索,而探索需要大量的思考。积极思考的探索式测试是具有挑战性的智力过程,常常需

要在不确定的顺序反复实施钻研、尝试、迂回、调整、评估等活动。好的探索式测试不会使测试更

简单,但是它会使测试更有效,从而在测试速度和缺陷发现上获得更多的汇报。
 

工作流程

 


http://chatgpt.dhexx.cn/article/8wt5wpZw.shtml

相关文章

软件测试的几种方法

1、从是否关心内部结构来看 (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 (2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒…

软件测试的流程

测试需求:需求分析,以软件开发需求为基础,形成可以测试的内容 测试计划:安排时间,人员,测试工具,手法,测试范围 测试设计:测试用例 执行阶段:根据用例去测…

软件测试的几个关键步骤,你需要知道

记得2年前刚毕业的时候听说了软件测试这个行业,当时也去百度仔细进行了一番搜索,评价基本千篇一律的看好。 看好的原因在于,专家认为未来的互联网市场用户体验至上,而产品质量与用户体验有紧密的联系,自从近年产品经理…

软件测试的工作流程是什么?只需5个步骤

前言 不同类型的软件产品测试的方式和重点不一样,测试流程也会不一样。同样类型的软件产品,不同的公司所制定的测试流程也会不一样。虽然不同软件的详细测试步骤不同,但它们所遵循的最基本的测试流程是一样的。 分析测试需求 测试人员在制…

自动化软件测试流程的七个步骤和内容

前言 自动化测试一般是指软件测试的自动化技术,自动化 软件测试流程 是把以人为驱动的测试行为转化为机器语言执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实…

软件测试基本流程

前言 “尽早的介入测试,遇到问题的解决成本就越低” 随着软件测试技术的发展,测试工作由原来单一的寻找缺陷逐渐发展成为预防缺陷,探索测试,破坏程序的过程,测试活动贯穿于整个软件生命周期中,故称为全程软…

软件测试流程详解

1.软件测试的定义: 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 百度百科定义:软件测试(英语:Software Testing)&#xff0…

超详细一文到底!软件测试基本流程

前言: 采用通用的测试流程,能高效、高质量的完成软件测试工作,有助于减少沟通成本,对各阶段产出有明确认知等等。最终目标:实现软件测试规范化、标准化。以下为非通用标准,仅供大家参考 一、软件测试流程图…

软件测试的完整流程

前言:测试的过程并不是固定的,要灵活的变化 其实测试的过程并不是固定的,它只是一种规范,也可以把它当作一种指导。但是真实的产品测试和项目测试中,一定是要灵活运用的,甚至是在不断的根据实际情况变化。…

软件测试的流程是什么?软件测试的基本流程

软件测试的基本流程 软件测试培训班的老师经常向学员强调测试的基本流程,因为软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化&#xff0c…

pl oracle导出数据,利用PL/SQL从Oracle数据库导出和导入数据

转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数据: 方式一:工具—>导出用户对象—>导出.sql文件 注:这种方式导出的是建表语句和存储过程语句 方式二:工具—…

导出Oracle数据库字典

在创建数据库表时,对应的表列信息存储于一下几个表中,通过以下几个表信息可以导出数据字典。 1 USER_TABLES 用户表信息 2 USER_TAB_COMMENTS 用户表备注信息 3 USER_TAB_COLUMNS 用户表列信息 4 USER_COL_COMMENTS 用户表列备注信息 CREATE OR REPLACE…

Oracle导出表结构和表数据

导出文件 找到oracle安装目录ORACLE_HOME,进入bin目录,找到 exp.exe exp 用户名/密码数据库连接 filedmp文件导出路径 log日志文件输出路径 例子: exp username/password127.0.0.1:1521/orcl filef:\123.dmp logf:\456.log 可能出现的错误 …

Oracle中的数据导出(4)

目录 法一:使用SQL plus命令脚本 法二:使用PLSQL Developer工具 前几篇文章描述了如何将Oracle中的数据导出到库外,但是导出的数据结果都是文本文档,这样页面查看不和谐,编辑又略显麻烦。因此这篇文章将描述如何将Or…

ORACLE之数据泵导出

ORACLE之数据泵导出 导出数据泵(expdp):执行导出时,expdp先创建MT表,并将对象的信息插入MT表,开始执行实际的导出任务,当所有的对象都导出以后,将MT表也一起导出到转储文件中&#…

ORACLE 导出数据csv文件,数字显示科学计数法

场景 ORACLE 查询数据,使用PLSQL导出csv数据,发现导出的数据字段,如果长度超过了12或者15,用excel打开,会自动显示成科学计数法,如下 解决方案 把oracle查询出来字段显示成 "字段",发现这样导出的…

从Oracle导出数据到TXT文件从TXT文件导入数据到Oracle

如果是txt文件的数据导入oracle中,数据量大的话用pl/sql会卡死,那么就要用到sqlload命令。 前两天在做一个不算任务的任务,用shell脚本将数据库中的数据导出到文件,在万能的百度上找了一些资料,自己亲手实践了一番&am…

oracle导出到hive,从Oracle导出数据并导入到Hive

1、配置源和目标的数据连接 源(oracle): 目标(Hive 2.1.1),需要事先将hive的驱动程序导入HHDI的lib目录中。 Hive2.1.1需要的jar包如下:可根据自身情况更换hadoop和hive的jar包。 hadoop-common-2.6.0.jar hive-common-2.1.0.jar hive-jdbc-2…

Oracle导出数据字典

由于项目是不断迭代更新,数据库表也是根据需求不断更改,导致现在数据库50多张表数据字典都没有整理,现在领导突然需要数据字典,一时很难弄出来,于是就想通过一个快捷的办法生成数据字典,具体的步骤如下&…

Oracle数据表导入导出_数据迁移用

0.背景:突然接到居家办公的通知,工作用数据全部在内网,需要全部拷出带走,最大的单个表3.7G左右。根据往常经验将Oracle库中表导出为xlsx(方便与同事沟通使用),发现效率太低,且受制于…