经常有软件行业朋友提起,软件测试与调试都是为了查找并解决问题,有必要分得这么清楚吗?可能从技术角度出发两者间区别不是很大,但从其他方面着眼看两者区别还是挺大的,那么软件测试和软件调试究竟有什么区别呢?在此给大家分享下心得经验:
1、目的不同 :软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,而是调试的任务.调试的目的是为了证明程序的正确,因此它必须不断地排除错误.它们的出发点不一样。前者是挑错,是一种挑剔过程,属于质盘保证活动。后者是排错,是一种排除过程,是编码活动的一部分.
2、任务不同 :既然软件测试属于质量保证活动,因此它贯穿于整个开发过程.从需求分析开始,就要制订软件测试计划,软件设计时要设计系统软件测试、集成侧试用例,编码阶段要设计单元软件测试用例并进行单元软件测试,软件测试阶段要进行集成软件测试、系统软件测试等,直到产品交付。只要有修改就有软件测试,产品交付后同样。它是比较有规律的活动,有系统的方法、原则作指导。
而调试是编码活动的一部分,因此有编码就有调试.它的任务主要就是排错。调试的方法经常与使用的开发工具有关,例如:解释型的开发工具可以交互式调试,编译型开发工具就很难较好地查错。当然它有一些启发式的方法,它是一种比较依赖开发人员经验的活动。
3、指导原则和方法不同 :软件侧试是一种有规律的活动,有一系列软件软件测试的原则.其中主要是制订侧试计划,然后严格执行.其次是一种挑剔性行为,因此它不但要侧试软件应该做的,还需要侧试软件不应该做的事情。调试所遵循的规律主要是一些启发式规则,是一个推理过程。例如使用归纳法、演绎法、回溯法等。
软件测试的输出是预知的,其软件测试用例必须包括预期的结果,而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。
4、操作者岗位不同:因为心理状态是软件测试程序的障碍,所以执行软件测试的人一般不是开发人员,以使软件测试更客观、更有效,而调试人员一般都是开发人员.
这里面的四点都是分的比较精细的,但是总体来讲,业务的测试和调试都是随时交叉进行的,并没有按照时间阶段来进行划分测试和调试
软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:
(1)测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的”飞跃”。
(6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
总结:测试和调试即软件测试和研发,他们之间主要区别在于:
1、目的不同,测试的目的在于发现程序中的缺陷 调试的目的在于定位并且解决程序中的问题 (测试是测试人员确保程序做了他应该做的事情,而调试是程序员确保程序做了他想要做的事情) ;
2、参与角色不同 测试主要是由测试人员和开发人员来执行 黑盒测试主要是由测试人员来完成,单元/集成测试由开发人员来完成;调试由开发人员完成
3、执行阶段不同 测试贯穿整个软件开发的生命周期 调试一般在开发阶段 难度和专业度不同 开发的广度小,专业度高 测试的广度大,专业度低
原价:¥61.0 券后价:¥10.8 S: 0w
原价:¥46.0 券后价:¥9.9 S: 0w
原价:¥25.0 券后价:¥9.7 S: 0w
原价:¥59.0 券后价:¥9.9 S: 0w
原价:¥57.8 券后价:¥9.9 S: 0w
原价:¥71.0 券后价:¥10.9 S: 0w
原价:¥45.0 券后价:¥10.0 S: 0w
原价:¥3.8 券后价:¥2.8 S: 0w
原价:¥45.0 券后价:¥12.3 S: 0w
原价:¥27.8 券后价:¥19.2 S: 0w
原价:¥17.0 券后价:¥11.1 S: 0w
原价:¥23.7 券后价:¥12.8 S: 0w
原价:¥68.0 券后价:¥58.0 S: 0w
原价:¥118.0 券后价:¥24.9 S: 0w
原价:¥35.3 券后价:¥30.3 S: 0w
原价:¥45.3 券后价:¥40.3 S: 0w
原价:¥70.0 券后价:¥65.0 S: 0w
原价:¥109.9 券后价:¥19.9 S: 0w
原价:¥19.8 券后价:¥7.9 S: 0w
原价:¥6.8 券后价:¥2.5 S: 0w