软件回归测试:什么情况下最需要回归测试

大战流沙河2023-04-25  42

回归测试是在之前的代码基础或软件功能上添加了新的代码或代码,那么重复之前做过的测试去验证修改代码或添加新功能对之前应用程序已有的功能是否有影响,回归测试成功通过则表明修改代码与之前的架构或功能没有冲突,这样才能更好地进行下一步的研发。否则,完成了有一个新的功能,但同时抹杀了之前已有的功能,就貌似猴子掰玉米,掰了一个新的,丢一个旧的,永远都是失败的。所以回归测试多用在这种情况,上面只是简单的说明,希望对你有帮助。

有了测试用例库的维护方法和回归测试包的选择策略,回归测试可遵循下述基本过程进行:

(1) 识别出软件中被修改的部分;

(2) 从原基线测试用例库T中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库T0。

(3) 依据一定的策略从T0中选择测试用例测试被修改的软件。

(4) 如果必要,生成新的测试用例集T1,用于测试T0无法充分测试的软件部分。

(5) 用T1执行修改后的软件。

第(2)和第(3)步测试验证修改是否破坏了现有的功能,第(4)和第(5)步测试验证 修改工作本身。

要知道基本的测试理论,和一些常用的测试工具:如roadrunner,QTP,winrunner1白箱测试和黑箱测试是什么什么是回归测试回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试包括两部分:函数本身的测试、其他代码的测试。2单元测试、集成测试、系统测试的侧重点是什么?单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。3设计用例的方法、依据有那些?白盒测试:逻辑覆盖法,主要包括语句覆盖,判断覆盖,条件覆盖,判断-条件覆盖,路径覆盖黑盒测试:等价划分类,边界值分析,错误推测法。5集成测试通常都有那些策略?1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;2、各个子功能组合起来,能否达到预期要求的父功能;3、一个模块的功能是否会对另一个模块的功能产生不利的影响;4、全局数据结构是否有问题;5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。7一个缺陷测试报告的组成缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。8基于WEB信息管理系统测试时应考虑的因素有哪些?9软件本地化测试比功能测试都有哪些方面需要注意?软件本地化测试的目的:软件本地化测试的测试策略:1本地化软件要在各种本地化操作系统上安装并测试。2源语言软件安装在另一台相同源语言操作系统上,作为对比测试。3重点测试因本地化引起的软件的功能和软件界面的错误。4测试本地化软件的翻译质量。5手工测试和自动测试相结合。11需求测试注意事项有哪些?一个良好的需求应当具有一下特点:完整性:每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。正确性:每一项需求都必须准确地陈述其要开发的功能。一致性:一致性是指与其它软件需求或高层(系统,业务)需求不相矛盾。可行性:每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。无二义性:对所有需求说明的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户性的语言表达出来。健壮性:需求的说明中是否对可能出现的异常进行了分析,并且对这些异常进行了容错处理。必要性:“必要性”可以理解为每项需求都是用来授权你编写文档的“根源”。要使每项需求都能回溯至某项客户的输入,如UseCase或别的来源。可测试性:每项需求都能通过设计测试用例或其它的验证方法来进行测试。可修改性:每项需求只应在SRS中出现一次。这样更改时易于保持一致性。另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。可跟踪性:应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链,这种可跟踪性要求每项需求以一种结构化的,粒度好(fine-grained)的方式编写并单独标明,而不是大段大段的叙述。

软件生命周期中的任何一个阶段, 只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。

当软件中所含错误被发现时, 如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻, 也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。

同样, 在有新代码加入软件的时候, 除了新加入的代码中有可能含有错误外新代码还有可能对原有的代码带来影响。因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。

同时, 还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。

回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行得更加频繁,而在极端编程方法中, 更是要求每天都进行若干次回归测试。

因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

扩展资料:

回归测试过程

1、识别出软件中被修改的部分

2、从原基线测试用例库“T”中,排除所有不再适用的测试用例,确定对新版本依然有效的测试用例,创建新的基线测试用例库“TN”

3、依据一定的策略从TN中选择测试用例测试被修改的软件

4、如果必要,生成新的测试用例集“T1”,用于测试TN无法充分测试的软件部分

5、用T1执行修改后的软件

观念

1、   回归测试是指重复执行以前的全部或部分相同的测试工作。

2、   新加入测试的模块,可能对其他模块产生副作用,故须进行不同程度的回归测试。

3、   回归测试的重心,以关键性模块为核心。

参考资料:

百度百科-回归测试

以上就是关于软件回归测试:什么情况下最需要回归测试全部的内容,包括:软件回归测试:什么情况下最需要回归测试、回归测试的测试过程、面试问到软件测试中怎么搭建测试环境等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3667603.html

最新回复(0)