【软考】软件调试方法

目录

          • [1. 说明](#1. 说明)
          • [2. 试探法](#2. 试探法)
          • [3. 归纳法](#3. 归纳法)
          • [4. 演绎法](#4. 演绎法)
          • [5. 回溯法](#5. 回溯法)
          • [6. 对分查找法](#6. 对分查找法)
          • 7.例题
            • [7.1 例题1](#7.1 例题1)
1. 说明
  • 1.软件调试是软件开发过程中不可或缺的一环,旨在发现并修复软件中的错误,确保软件能够按预期运行。
2. 试探法
  • 1.定义:一种比较原始的调试策略,通过分析软件系统运行过程中大量数据信息、中间结果的变化情况来查找错误发生的原因和位置。
  • 2.特点:简单、易行,但调试效率低,主要适用于结构比较简单的小型系统。
3. 归纳法
  • 1.定义:一种由特殊到一般的逻辑推理方法。根据软件测试所取得的个别错误数据或错误线索,通过分析这些线索之间的关系来发现错误。
  • 2.特点:依赖于工作经验和案例积累,能够较为系统地推断错误位置和原因。
4. 演绎法
  • 1.定义:一种由一般到特殊的逻辑推理方法。根据已有的测试数据,设想所有可能的出错原因,然后通过测试逐一排除不正确、不可能的出错原因,最后确定剩余错误的合理性及位置。
  • 2.特点:逻辑严谨,能够全面考虑可能的错误情况,但相对耗时较长。
5. 回溯法
  • 1.定义:从软件系统中发现错误的位置开始,沿着程序的控制流程往回追踪程序代码,直至找到错误发生的位置或范围。
  • 2.特点:对于规模较小的软件系统而言较为有效,但不适宜较大型的软件。
6. 对分查找法
  • 1.定义:在程序中插入某些变量关键点的正确值,检查程序的运行结果。根据结果判断错误发生的位置是在插入点的前半部分还是后半部分,然后不断对分缩小错误范围进行错误定位。
  • 2.特点:能够快速定位错误范围,提高调试效率。
7.例题
7.1 例题1
  • 1.题目

    1.软件调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正。
    其常用的方法中,(C)是指从测试所暴露的问题出发,收集所有正确或不正确的数据,
    分析它们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。
    A.试探法
    B.回溯法
    C.归纳法
    D.演绎法

  • 2.解析

    1.回溯法:调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪代码,直到
    找出错误根源为止这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而
    变得不可操作。
    2.对分查找法:这种方法主要用来缩小错误的范围,如果已经知道程序中的变量在若干位置的正
    确取值,可以在这些位置给这些变量以正确值,观察程序运行的输出结果,如果没有发现问题,
    则说明从赋予变量一个正确值开始到输出结果之间的程序没有错误,问题可能在除此以外的程
    序中。否则错误就在所观察的这部分程序中,对含有错误的程序段再使用这种方法,直到把故
    障范围缩小到比较容易诊断为止。
    3.归纳法:归纳法就是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间
    的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。本题题干描述
    的是归纳法。
    4.演绎法:演绎法根据测试结果,列出所有可能的错误原因:分析已有数据,排除不可能和彼此
    矛盾的原因:对其余原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体;
    用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就是找出错误,
    否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假
    设,直到发现错误为止。

相关推荐
要开心吖ZSH2 天前
软件设计师备考-(十四)数据库设计
java·数据库·软考·软件设计师
CodingSir聊软考5 天前
【系规伴学】云资源规划核心知识点解析
软考
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之网关协议深度剖析
网络工程师·软考·网关协议·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之 STP 协议,网络的 “交通协管员”
网络工程师·软考·中级·stp协议
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之 RIP 协议
网络工程师·软考·rip协议·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之级联
网络工程师·软考·级联·中级
奔跑吧邓邓子1 个月前
【软考中级网络工程师】知识点之堆叠
网络工程师·软考·中级
moton20172 个月前
【软件系统架构】系列七:系统性能——路由器性能深入解析
系统架构·路由器·软考·吞吐量·软件系统架构·并发连接数·转发延迟
学习菌子2 个月前
第11章:【系统架构设计师】项目管理
系统架构·项目管理·软考高级·软考·软考系统架构设计师
June bug2 个月前
【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动
经验分享·分布式·职场和发展·架构·学习方法·测试·软考