软件测试和软件调试有什么区别?

发表于:2020-9-17 10:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:test_one1    来源:CSDN

  不知道为什么,我现在正处在功能测试性能测试方向转,突然就有这种疑问,软件测试和软件调试到底有什么区别;在这里记录一下这个区别,以免忘记
  1、目的不同
  软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,而是调试的任务.调试的目的是为了证明程序的正确,因此它必须不断地排除错误.它们的出发点不一样。前者是挑错,是一种挑剔过程,属于质盘保证活动。后者是排错,是一种排除过程,是编码活动的一部分.
  2、任务不同
  既然软件测试属于质量保证活动,因此它贯穿于整个开发过程.从需求分析开始,就要制订软件测试计划,软件设计时要设计系统软件测试、集成侧试用例,编码阶段要设计单元软件测试用例并进行单元软件测试,软件测试阶段要进行集成软件测试、系统软件测试等,直到产品交付。只要有修改就有软件测试,产品交付后同样。它是比较有规律的活动,有系统的方法、原则作指导。
  而调试是编码活动的一部分,因此有编码就有调试.它的任务主要就是排错。调试的方法经常与使用的开发工具有关,例如:解释型的开发工具可以交互式调试,编译型开发工具就很难较好地查错。当然它有一些启发式的方法,它是一种比较依赖开发人员经验的活动。
  3、指导原则和方法不同
  软件侧试是一种有规律的活动,有一系列软件软件测试的原则.其中主要是制订侧试计划,然后严格执行.其次是一种挑剔性行为,因此它不但要侧试软件应该做的,还需要侧试软件不应该做的事情。调试所遵循的规律主要是一些启发式规则,是一个推理过程。例如使用归纳法、演绎法、回溯法等。
  软件测试的输出是预知的,其软件测试用例必须包括预期的结果,而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。
  4、操作者
  因为心理状态是软件测试程序的障碍,所以执行软件测试的人一般不是开发人员,以使软件测试更客观、更有效,而调试人员一般都是开发人员.
  这里面的四点都是分的比较精细的,但是总体来讲,业务的测试和调试都是随时交叉进行的,并没有按照时间阶段来进行划分测试和调试
  软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:
  (1)测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
  (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
  (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。
  (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
  (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的”飞跃”。
  (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
  (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号