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

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

自动化测试

1.有效的自动化测试

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

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

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

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

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

版本管理系统

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

  • 稳定性

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

  • 可维护性

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

  • 控制分支

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

静态分析

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

  • 利用好编译器

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

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

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

<读书笔记>软件调试之道 :从大局看调试-理想的调试环境的更多相关文章

  1. &lt;读书笔记&gt;软件调试之道 :从大局看调试-零容忍策略

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

  2. &lt;读书笔记&gt;软件调试之道 :从大局看调试-发现代码存在问题

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

  3. &lt;读书笔记&gt;软件调试之道 :问题的核心-修复后的反思

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

  4. &lt;读书笔记&gt;软件调试之道 :问题的核心-如何修复缺陷

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! 修复缺陷 对于一个好的修复来说,不仅仅是让软件运行正确,还需要为将来奠定基础.一 ...

  5. &lt;读书笔记&gt;软件调试之道 :问题的核心-诊断

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 不要急于动手! 尽管可以利用各种工具和技术以及软件自身查找缺陷,但是你最重要的财富是你的智 ...

  6. &lt;读书笔记&gt;软件调试之道 :问题的核心-重现问题

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 重现第一,提问第二 问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它 ...

  7. &lt;读书笔记&gt; 代码整洁之道

    概述      1.本文档的内容主要来源于书籍<代码整洁之道>作者Robert C.Martin,属于读书笔记. 2.软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一 ...

  8. &lt;读书笔记&gt;软件调试之道 :实证方法

    有效调试不仅仅是排除缺陷,其包含如下几个步骤 弄明白软件为何运行错误 修复这个问题 避免破坏其它部分 保持或者提高代码的总体质量 确保同样的问题不在其它地方发生,也不会再次发生 构建实验.观察结果 依 ...

  9. 《Linux/Unix系统编程手册》读书笔记1

    <Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于L ...

随机推荐

  1. netty 解析http请求 post

    http://blog.csdn.net/neosmith/article/details/50383548

  2. 速度最快的Json序列框架Jil,入门动手实录

    好吧,我又先要贴出跑分图了,出处 Jil是一个面向Json的序列化框架,在Nuget上可以下载到 支持数据类型 值得一提的是,Guid指定带破折号格式(44B2673B-B5CA-477B-A8EA- ...

  3. Ajax --- 数据请求

    下面主要介绍(JS原生)数据请求的主要步骤: Ajax 数据请求步骤: 1.创建XMLHttpRequest对象 2.准备数据发送 3.执行发送 4.指定回掉函数 第一步:创建XMLHttpReque ...

  4. windows下安装xgboost

    Note that as of the most recent release the Microsoft Visual Studio instructions no longer seem to a ...

  5. ios CGRect

    /*     rect(x,y,width,height);     width, height正负代表了从原点的绘制方向,矩形的长宽都是取得绝对值     */            // Do a ...

  6. Android四大组件之Activity &amp; Fragement

    1.Activity的生命周期

  7. 简单几何(数学公式+凸包) UVA 11168 Airport

    题目传送门 题意:找一条直线,使得其余的点都在直线的同一侧,而且使得到直线的平均距离最短. 分析:训练指南P274,先求凸包,如果每条边都算一边的话,是O (n ^ 2),然而根据公式知直线一般式为A ...

  8. Python File.readlines() 方法

    python3的用法:

  9. eclipse设置默认编码格式为UTF-8

    需要设置的几处地方为: Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window ...

  10. 转VS快捷键

    “文本操作”快捷键 命令名 快捷键 说明 编辑.折叠到定义 Ctrl + M,Ctrl + O 自动确定在代码中创建区域的逻辑边界(如过程),然后隐藏它们. 编辑.注释选定内容 Ctrl + K,Ct ...