软件测试按照所做工作的不同,可以分为很多种
发表时间:2023-08-29 16:02:21
文章来源:炫佑科技
浏览次数:155
菏泽炫佑科技
软件测试按照所做工作的不同,可以分为很多种
目录
软件测试根据所做的工作可以分为多种类型。 我们根据上面的思维导图一一解释一下。
1.根据开发阶段1、单元测试(Unit)
定义:单元测试,也称为模块测试。 测试软件构成单元的目的是验证软件基本构成单元的正确性,例如特定功能在特定条件或场景下的行为。
注意:白盒测试不是单元测试,单元测试才是白盒测试
2. 集成测试( )
定义:集成测试也称为联合测试(联合调试)和组装测试。 它是单元测试的逻辑扩展。 它采用适当的集成策略组装程序模块,并测试系统接口和集成功能的正确性。 。 集成的主要目的是检查软件单元之间的接口是否正确。
注意:单元测试是模块内的测试,集成测试是模块之间的测试(至少两个)
3、系统测试( )
定义: 系统测试:将软件系统作为一个系统进行测试。 这包括测试功能、性能以及软件运行的硬件和软件环境。 大部分时间花在系统测试执行阶段,包括回归测试和冒烟测试。 它是测试系统是否确实能够提供系统解决方案规范中规定的功能的有效方法。
测试策略:
性能测试、负载测试、强度测试、可用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分发测试、可用性测试
注:系统测试是从完整的角度、广泛的角度看问题,不再看模块
先抽烟,然后系统,然后返回。
4、验收测试( )
定义:是部署软件之前的*后一个测试操作。 这是技术测试的*后阶段,也称为交付测试。 验收测试的目的是确保软件准备就绪,并按照双方商定的项目合同、任务说明书和验收基础文件,向软件购买者证明软件系统满足原始要求。
阿尔法测试(Alpha)
定义:用户在开发环境中进行的测试,或者内部用户在模拟运行环境中进行的测试
目的:评估软件产品(即功能、本地化、可用性、可靠性、性能和支持)。
Beta 测试(Beta)
定义:Beta 测试是验收测试的一种。 Beta 测试由软件的*终用户在一个或多个客房位置进行。
alpha 测试和 beta 测试的区别:
测试地点不同:Alpha测试是指邀请用户到开发者站点进行测试,Beta测试是指在一个或多个用户站点进行测试。 Alpha测试的环境由开发者控制,用户数量相对较少,时间集中。 Beta测试环境不受开发者控制,用户数量比较多,时间不集中。 Alpha测试先于Beta测试进行。通用软件产品需要大规模的Beta测试,测试周期相对较长
二、根据是否运行
1. 静态测试( )
定义:指在不运行程序本身的情况下,通过分析或检查源程序的语法、结构、流程、接口等来检查程序的正确性,对需求说明书、软件设计说明书等做结构分析和流程图,并对源程序进行分析,符号执行来查找错误。
检查项目:代码风格和规则审查;
审查程序设计和结构;
业务逻辑审核; 演练、审查和技术审查手册。
静态质量:测量所依据的标准。
在该标准中,软件的质量从以下几个方面来衡量:
注:代码静态分析和文档测试都是静态测试
2. 动态测试( )
定义:是指通过运行被测试的程序来检查运行结果与预期结果的差异,分析运行效率、正确性、鲁棒性等性能。
三个主要组成部分
注意:大多数软件测试是动态测试
三、根据是否查看代码 1.白盒测试(White-box)
定义:也称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 白盒测试是指打开盒子来研究里面的源代码和程序结果。
注:白盒测试也是接口测试的一种。
的优点和缺点:
优势
缺点
测试过程:
详细设计--->源程序--->分析程序内部逻辑结构--->流程图--->开发测试用例--->测试程序--->执行路径--->覆盖率分析
2. 黑盒测试(Black-box)
定义:又称功能测试或测试驱动测试,在测试中将被测软件视为黑盒,不关心盒子的内部结构,只关心软件的输入数据和输出数据
的优点和缺点:
优势
缺点
功能测试、性能测试和接口测试的区别:
功能测试:关注产品的所有功能,考虑每一个功能细节和每一个可能的功能问题
性能测试:关注多用户并发下产品整体的稳定性和健壮性
界面测试:关注与用户体验相关的内容,是否易用、易懂、规范
① 功能测试( )
界面测试(GUI)
定义:测试用户界面的功能模块布局是否合理,整体风格是否一致,各个控件的放置是否符合客户的使用习惯。 此外自动化软件开发软件测试按照所做工作的不同,可以分为很多种,还需要测试界面操作的便捷性、导航的易懂性、页面元素、界面的可用性。 汉字是否正确、命名是否统一、页面是否美观、文字与图片的结合是否完美等。
冒烟测试()
定义:是指在对一个硬件或一组硬件进行更改或修复后直接给设备上电。 如果没有冒烟,则该部件已通过测试。 也可以理解,这种测试需要的时间很短,只需要一袋烟就够了。
回归测试( )
定义:修改旧代码后,重新测试以确认修改没有引入新的错误或导致其他代码产生错误。 (自动回归测试将大大降低系统测试、维护和升级等成本)。
用例回归:在一段时间后返回并重新测试以前使用过的用例
Bug回归:在新版本中,重新验证上一版本中出现并修复的缺陷,并以缺陷为核心测试相关修改部分
注:回归测试在整个测试过程中占很大比例的工作。 将在开发的各个阶段进行多重回归测试。 系统越大,回归测试的成本就越高。 因此,正确的回归测试策略可以用来改善回归。 测试的效率和有效性非常令人感兴趣。
业务逻辑测试
定义:是指测试仪将系统的整个模块连接起来运行,模拟真实用户的实际工作流程。 测试以满足用户需求定义的功能的过程。
兼容性测试
定义:兼容性测试主要是指软件是否能够正常工作,是否会产生影响,软硬件是否能够高效工作,是否会影响系统崩溃。
核心内容:
注意:*常见的兼容性测试是浏览器兼容性测试。 不同的浏览器对css和js的解析不同,会导致页面显示不同。
常见的IE8兼容性。
可用性测试
定义:易用性(Ease of use)是交互的适应性、功能性和有效性的集中体现。 也称为用户体验测试。
安全测试( )
定义:安全测试是一个相对独立的领域,需要更多的专业知识。 例如:WEB安全测试需要熟悉各种网络协议、防火墙、CDN、各种操作系统的漏洞、路由器等。
②性能测试( )
性能测试( )
定义:检查系统是否满足需求规范中规定的性能
通过自动化测试工具模拟各种正常、峰值、异常负载情况,测试系统的各项性能指标。
表现:
注:负载测试和压力测试都是性能测试。 两者可以结合起来。
负载测试(负载)
定义:当一个或几个系统性能指标达到瓶颈时,让它继续运行一段时间,并在系统运行过程中测试各项性能指标。 这种在达到*大负载(压力)时进行的测试称为负载测试。
压力测试( )
定义:从字面上讲,就是给予某物一定的量,比如用手压一张桌子。 压力测试就是对被测系统持续加压(加载),测试系统的各项性能指标。 直到系统的某些性能指标达到瓶颈,例如CPU使用率达到100%。 这种不断给系统施加压力的过程称为压力测试。
容量测试()
定义:容量可以看作是系统性能指标中特定环境下的特定性能指标,即设定的限制或极限值。 容量测试的目的是通过测试预先分析出反映软件系统应用特性的一项指标(如*大并发用户数、数据库记录数等)的极限值。 主要功能运行正常。
并发测试
定义:负载测试和压力测试的过程,即逐渐增加负载直至系统瓶颈或无法接受的性能点,通过综合分析事务执行指标和性能来确定系统并发性能的过程。资源监控指标
配置测试
定义:配置测试的目的是确保软件在其相关硬件上正常运行
核心内容:
注意:配置测试和兼容性测试通常对于开发系统软件(如驱动程序、操作系统、数据库管理系统等)更为重要,并且仍然根据测试用例执行。
可靠性测试
定义:代码运行过程的可靠性
3.灰盒测试(Gray-Box)
定义:介于白盒测试和黑盒测试之间的一种。 灰盒测试主要用于集成测试阶段。 它不仅注重输入输出的正确性,而且注重程序的内部条件。
灰盒测试:功能+接口
四、根据是否手动执行分为手动测试( )
定义:手动测试是由人一一输入用例,然后观察结果,对应机器测试,相对原始但必要。
优点:自动化测试无法取代探索性测试和没有既定结果的发散思维测试。
缺点:执行效率慢、体积大、容易出错。
自动化测试( )
定义:在预设条件下运行系统或应用程序并评估运行结果。 (前提条件包括:正常情况和异常情况)。 简单来说,自动化测试就是将人类驱动的测试行为转化为机器执行的过程。
自动化测试包括:测试自动化、性能测试自动化、安全测试自动化。 (一般来说,我们所说的自动化是指功能测试的自动化)
自动化测试根据测试对象分为:界面测试、UI测试等。
界面测试的ROI(产出投入比)高于UI测试
自动化实施步骤:
完成功能测试,版本基本稳定。 根据项目的特点,选择适合项目的自动化工具,并搭建环境,将手动测试的测试用例提取出来,转换为自动化测试的用例。 通过工具和代码实现施工的自动输入和输出结果的自动检测。 输出结果是否符合预期生成自动测试报告持续改进、脚本优化
五、其他
在实际测试中,*常见的是用户文件的测试,例如:手册说明等。