软件测试理论

目录

前言:

一.软件测试相关定义 

二.白盒测试、黑盒测试和灰盒测试

三、单元测试和集成测试

四、功能测试和回归测试


前言:

测试理论是指关于软件测试的基本原理、方法和技术等方面的系统化知识体系。它提供了对软件测试活动进行规划、设计和执行的框架和指导,帮助测试人员更有效地发现潜在的缺陷,并提高软件产品的质量。

一.软件测试相关定义 

     1.从软件质量保证上来划分测试,测试可以划分为静态测试和动态测试。静态测试就是指不运行被测程序本身,仅通过分析或者检查源程序的文法、结构、过程、接口等来检查程序的正确性,静态测试可以分为代码审查、代码走读、文档审查等行为。动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能的测试过程。

   2.按照测试技术划分,测试可以划分为:白盒测试、黑盒测试和灰盒测试。 

  3.按照测试阶段划分,测试可以划分为单元测试、集成测试、系统测试、系统集成测试、用户验收测试和维护测试。 

二.白盒测试、黑盒测试和灰盒测试

    1.白盒测试

  • 白盒测试是对一个软件组件或者系统内部的设计知识为基础的测试。
  • 白盒测试是逻辑为导向,重点是通过对某些软件测试的执行路径。
  • 测试设计决定被测软件所需要的一定路径下输入设定,并指定每个输入的预期将要采取的路径和输出。
  • 测试执行运行有指定输入的软件,检查了预期的路径追踪,有产出符合预期的结果。代码覆盖测试经常被用来评估白盒测试的彻底情况

     2.黑盒测试

  •  黑盒测试是需求导向。
  • 测试测试描述的是不管一个软件组件或者系统内部的设计知识的测试。
  • 黑盒测试专注于输入和输出的软件测试
  • 测试设计根据软件的设置,在确定的输入情况下,指定每个输入的预期输出。
  • 测试执行是指定的输入情况下的软件,检查对预期输出的结果。

     3.灰盒测试

  •  灰盒测试描述的测试是一个黑盒测试与白盒测试组合。
  • 侧重于输入与产出(预期结果),但是测试设计和执行是基于算法,架构,数据库的知识。
  • 灰盒测试被最多的用在测试数据的覆盖范围,但也可能是单独使用在确认配置文件的变化。

三、单元测试和集成测试

1.单元测试

  • 单元测试是对新的或者更改过的代码模块进行的初步测试。它验证程序或者模块的内部逻辑和程序规范。
  • 开始点:单元测试开始在开发阶段,当编码已经完成
  • 结束点:所有的测试案例被成功执行,没有严重缺陷1或2
  • 单元测试的作用:单元测试有助于早期识别和修复缺陷,早期消除单元模块的不确定性。
  • 单元测试的评估有:代码覆盖率的百分比,符合组编码标准,圈复杂度,行代码,路径,参数,缺陷密度。

2.集成测试

  • 集成测试验证多个已经完成了单元测试的模块的执行。所测试的应用程序通常不连接到系统中的其他应用程序。
  • 子系统模块的通信测试是在一个控制和隔离的环境。
  • 开始点:单元测试已经顺利完成
  • 结束点:所有的测试案例的成功执行,没有严重缺陷1或2
  • 集成测试的作用:集成测试有助于较早的识别和修复中缺陷,降低成本。减轻了系统测试过程中的风险。
  • 集成测试的评估:成本和进度偏差,缺陷,生产力,效率和测试覆盖度。
  • 圈复杂度一种代码复杂度的衡量标准 

3.系统测试

  • 系统测试把系统的所有组件和对其他系统的接口当做一个整体来测试,包含功能性的测试和结构性的测试,证实这个系统可以正确的运行。
  • 开始点:单元测试和集成测试已经顺利完成。
  • 结束点:当系统测试执行完成所有的系统测试阶段的测试用例,结果中没有严重性为或者2的缺陷。
  • 系统测试的作用:验证一个系统的所有模块和接口能够作为一个整体而且正确的工作。

4.系统集成测试

  • 验证了系统的整体运作。它测试近似在生产的环境中的应用程序,硬件和网络的合作。
  • 开始点:系统集成测试开始于成功的上一阶段的系统测试的结束。
  • 结束点:当系统集成测试执行完所有的这阶段的测试用例,结果中没有严重性为1或者2的缺陷。
  • 系统集成测试的作用:系统集成测试验证在近似生产环境中把系统作为一个整体来验证整个系统的功能。关键缺陷识别和修复,以避免在用户验收测试阶段去进行昂贵的返工。

5.用户验收测试

  • 用户验收测试(UAT):验证系统是否满足指定的用户需求。该UAT的模拟用户环境,由最终用户或者站在用户角度去测试系统。
  • 开始点:开始于成功的上一阶段的系统集成测试的结束。
  • 结束点:执行完所有的这阶段的测试用例,结果中没有严重性为1或2的缺陷。
  • 用户验收测试的作用:用户验证测试使使用者,客户或者其他授权体决定是否接受这个系统。成功的UAT有助于确保业务需求得到满足,为系统在生产中使用做好高度信任的准备。

6.可操作性测试

  • 可操作性测试:验证应用程序或系统可以在生产环境中运行。这是一个动态的测试阶段,其中系统的所有验证操作都在真实或者模拟出来非常真实的生产环境中发生。可以操作性测试考虑的是性能,资源消耗和符合标准等因素
  • 开始点:开始于成功的上一阶段得用户验收测试的结束。
  • 结束点:一旦被测试系统符合测试计划中规定的结束标准,测试便结束。
  • 可操作性测试作用:确保软件产品的正确交付和直到软件产品的正确部署。避免在生产环境中产生可操作性方面的业务缺陷。

四、功能测试和回归测试

1.功能测试

  • 功能测试:在每一个开发阶段,去验证在每个业务功能操作上都和设计文件(内部和外部)中规定一样。
  • 开始点:开始于成功完成单元测试后。
  • 结束点:结束于执行完所有的计划的测试用例,结果中没有严重性为1或2的缺陷。
  • 功能测试的作用:验证了系统执行和设计中规定的功能一致。当功能测试正确后才能进入到系统集成测试。确定关键功能缺陷和修复缺陷,以避免在系统集成和用户验收测试阶段出现缺陷进行昂贵的返工。

2.回归测试

  • 回归测试:当性某部分修改(增加新的功能或者修改bug)后,去验证这部分是否被成功修改和其他部分是否会被这部分的修改所影响。
  • 开始点:因为增加新功能或者修改缺陷而对代码进行的修改后开始回归测试。
  • 结束点:回归测试结束于成功的执行相关的回归测试用例,并且修改后的程序相关部分还没有解决的缺陷
  • 回归测试的作用:验证了系统的行为是不会受到由于修改系统而产生的影响。它减少了重新验证的时间消耗,它给与验收测试以可信任措施。当时间回归测试相关用例的执行是自动化的时候,显着的好处将被取得。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
软件测试是指对软件的程序、数据和文档进行检查、验证和评估的过程,以确保软件的质量和正确性。软件测试贯穿于整个软件生命周期中,包括需求分析、设计、编码和维护阶段。软件测试的目的是发现软件中的错误和缺陷,并评估和提高软件的质量。 软件测试的充分性准则指出,对于任何软件都存在有限的充分测试集合。如果一个软件系统在一个测试数据集合上的测试是充分的,那么再多测试一些数据也应该是充分的。但即使对软件的所有成分都进行了充分测试,也并不表示整个软件的测试已经充分。同样,即使对软件系统整体的测试是充分的,也并不意味着软件系统中各个成分都已经充分地得到了测试。软件测试的充分性与软件的需求和实现都相关,而且软件越复杂,需要的测试数据就越多。然而,进行越多的测试,进一步测试所能得到的充分性增长就越少。 软件测试可以根据不同的分类标准进行分类。其中,单元测试是对软件中的最小可测试单元进行检查和验证的测试,它需要从软件的内部结构出发设计测试用例。多个模块可以独立地进行测试。其他常见的软件测试分类包括集成测试、系统测试、验收测试等。 在软件测试过程中,还有一组测试原则可以参考。这些原则旨在寻找软件的错误和缺陷,评估和提高软件的质量。这些原则包括测试的目标明确、测试应该在代码编写之前开始、测试用例应该覆盖所有可能的情况、测试应该是可重复的、测试应该独立于开发团队、测试应该进行验证和验证等。这些原则有助于确保软件测试的有效性和全面性。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值