zoukankan      html  css  js  c++  java
  • <读书笔记>软件调试之道 :从大局看调试-理想的调试环境

    声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!

    -----------------------------------------------------------------------------------------------------

    自动化测试

        1.有效的自动化测试

    • 明确说明测试结果是否通过
    • 不需要安装、测试后也能够撤销对环境所做的任何修改
    • 单击运行所有的测试
    • 全面覆盖,做到足够解决完全覆盖是可能的

        2. 自动化测试可以作为调试的辅助

    • 经过自动化测试的代码往往只有很少缺陷,容易修复,并且让你自信发布的软件可以正确运行。
    • 可以防止引入回归

        3.模拟测试、桩测试以及其他的代替测试技术

    • 桩测试是被动的,模拟测试是主动的。
    • 试图可靠的重现缺陷时,代替测试时非常有用的

    版本管理系统

    源码控制系统是除了编译器外你能使用的最重要工具了!

    • 稳定性

        通过创建分支,保持主干版本的稳定性

    • 可维护性

        创建分支单独在主干发布版本上进行维护和修复。

    • 控制分支

        分支往往消耗大量的时间、经理,因此要加以控制和合理利用。

    静态分析

    事实证明,很多缺陷可以仅仅通过静态检查源码就可以发现,静态分析可以集成到开发流程中,在代码未运行前就发现问题。

    • 利用好编译器

        现代编译器具备一系列的警告信息,比如keil编译时就会提示很多警告信息,要把警告当错误处理,消除警告。 利用在C程序中,可以利用lint发现缺陷

    • 把静态分析工具和开发工具集成

         lint可以集成到keil中,有专用文档介绍集成方法。

  • 相关阅读:
    Windows server 2008 R2充当路由器实现网络的互联(转)
    sqlserver内存释放心得
    收藏一个好用的base64编解码网址
    最后一篇,说好的开源来了!
    python五子棋
    flask使用原生ajax、不使用表单(Form)上传文件
    使用keras的LSTM进行预测----实战练习
    keras神经网络三个例子
    【强化学习】用pandas 与 numpy 分别实现 q-learning, saras, saras(lambda)算法
    【转】【强化学习】Deep Q Network(DQN)算法详解
  • 原文地址:https://www.cnblogs.com/shuolang/p/5619067.html
Copyright © 2011-2022 走看看