软件开发过程回归与回溯之区别

一 回溯法

在软件开发中,回溯是一种常用的调试方法,当调试小程序时这种方法是非常有效的,具体做法是,从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止.随着程序规模的扩大,应该回溯的路径数目也变得越来越大,以至彻底回溯是不可能的.

二 回归测试

概述
在软件开发中,回归特指回归测试,是一种测试方法
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
回归测试是指重复以前的全部或部分的相同测试。
新加入测试的模块,可能对其他模块产生副作用,故须进行某些程度的回归测试。
回归测试的重心,以关键性模块为核心。

产生原因
在软件生命周期中的任何一个阶段, 只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时, 如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻, 也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。同样, 在有新代码加入软件的时候, 除了新加入的代码中有可能含有错误外新代码还有可能对原有的代码带来影响。因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时, 还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。

三 总结

综上所诉,读者对回归与回溯有了一定的了解,回溯是一种调试方法,而回归是一种测试方法,回归与回溯的对比还是要归结于调试与测试的区别上,
测试为了发现程序中的错误而执行程序的过程,测试最直接的目的是暴露出程序中的错误.
调试作为成功测试的后果出现,是在测试发现错误之后找出错误排除错误的过程.
1 目的不同
软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,而是调试的任务.调试的目的是为了证明程序的正确,因此它必须不断地排除错误.它们的出发点不一样。前者是挑错,是一种挑剔过程,属于质盘保证活动。后者是排错,是一种排除过程,是编码活动的一部分.
2 任务不同
既然软件测试属于质量保证活动,因此它贯穿于整个开发过程.从需求分析开始,就要制订软件测试计划,软件设计时要设计系统软件测试、集成侧试用例,编码阶段要设计单元软件测试用例并进行单元软件测试,软件测试阶段要进行集成软件测试、系统软件测试等,直到产品交付。只要有修改就有软件测试,产品交付后同样。它是比较有规律的活动,有系统的方法、原则作指导。
而调试是编码活动的一部分,因此有编码就有调试.它的任务主要就是排错。调试的方法经常与使用的开发工具有关,例如:解释型的开发工具可以交互式调试,编译型开发工具就很难较好地查错。当然它有一些启发式的方法,它是一种比较依赖开发人员经验的活动。
3 指导原则和方法不同
软件侧试是一种有规律的活动,有一系列软件软件测试的原则.其中主要是制订侧试计划,然后严格执行.其次是一种挑剔性行为,因此它不但要侧试软件应该做的,还需要侧试软件不应该做的事情。调试所遵循的规律主要是一些启发式规则,是一个推理过程。例如使用归纳法、演绎法、回溯法等。
软件测试的输出是预知的,其软件测试用例必须包括预期的结果,而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。
4 操作者
因为心理状态是软件测试程序的障碍,所以执行软件测试的人一般不是开发人员,以使软件测试更客观、更有效,而调试人员一般都是开发人员.

调试与测试之区别参考链接如下
参考链接:https://blog.csdn.net/qq_34697843/article/details/54561658

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值