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

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

自动化测试

1.有效的自动化测试

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

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

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

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

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

版本管理系统

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

  • 稳定性

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

  • 可维护性

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

  • 控制分支

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

静态分析

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

  • 利用好编译器

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

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

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

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

  1. <读书笔记>软件调试之道 :从大局看调试-零容忍策略

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

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

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

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

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

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

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

  5. <读书笔记>软件调试之道 :问题的核心-诊断

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

  6. <读书笔记>软件调试之道 :问题的核心-重现问题

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

  7. <读书笔记> 代码整洁之道

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

  8. <读书笔记>软件调试之道 :实证方法

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

  9. 【读书笔记】UEFI原理与编程(1)概述及开发环境的搭建

    一.概述: 0.为什么会有这篇文章 说实在的,在2016初的时候,我就萌生了写一个操作系统的念头,但是这对于我一个菜鸟来说,犹如登天. 既然想了就去写,即使最后做不完,也不后悔. 抱着这样的念头,我开 ...

随机推荐

  1. xmind8

    win10企业版安装 xmind.zip,打开应用程序报下面的错 解决办法是 先备份xmind8下的XMind.ini文件 Open up Xmind.ini and replace "Ap ...

  2. Mysql大量数据快速排序方案

    日常开发中经常需要对数据进行排序,通常可以讲数据库中的数据获取到后通过程序在内存中进行排序,但是这样排序需要将排序内容从数据库中查询到内容,同时使用程序算法进行排序,然后将排序结果更新入数据库,这样排 ...

  3. Java使用poi操作cexel

    Java操作excel比较简单,但是时间长了就会忘记,因此基本的简单操作做个记录. 依赖poi的jar包,pom.xml配置如下: <project xmlns="http://mav ...

  4. Index was outside the bounds of the array. (Microsoft.SqlServer.Smo)

    本地ssms是 安装Sqlserver 2008 r2 自带的 远端的server是sqlserver2014 可以连接,可以执行查询语句.但是,不能使用ssms生成对象的脚本.推测ssms 2008 ...

  5. IEnumerable<T>与IQueryable<T>以及.net的扩展方法

    首先看看继承关系 public abstract class DbSet : DbQuery public abstract class DbQuery : IOrderedQueryable, IQ ...

  6. Server Name Indication(SNI)

    转载自: http://openwares.net/misc/server_name_indication.html Server Name Indication是用来改善SSL(Secure Soc ...

  7. mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  8. Linux Mint安装jdk8

    想到研究Java,可能学习openjdk是比较好的方式,于是去找openjdk.对于Debian based系统的安装指南是: -jdk 然而我的Linux Mint 17却无法安装.搜索之后发现如下 ...

  9. Json格式转换

    验证Json格式可以进入 http://json.cn/ json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构1.对象:对象 ...

  10. SpringMVC环境搭建 配置文件_2

    applicationContext 命名空间: 引入命名空间,这样可以在代码中使用annotation xmlns="http://www.springframework.org/sche ...