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

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

缺陷可以随时发生,从代码编写完毕到代码发布后的成年累月!

无论你开发什么样的软件,都需要创建一些流程,通过这些流程,可以告诉你软件哪里出了问题,并且应该如何修复!

1、缺陷管理系统

既有简单用途的,也有全面流程管理的,但其目的都一样。

  • 确保不会遗漏缺陷。
  • 通过提供一个缺陷报告的标准格式,把所有相关信息都包含其中!
  • 作为审查线索,可以确保我们知道每一个版本还有哪些缺陷未解决。
  • 也可以作为软件发布的重要信息来源 可以设定缺陷优先级,并确定先解决哪个。
  • 为相关利益方提供一个有效的沟通方式,确保在团队之间传递时准确提供了相关信息
  • 作为一个管理工具,提供了该项目的当前状态

2、如何写出一份出色的缺陷报告

一份好的缺陷报告宁多勿少,因为我们无法知道哪些信息是相关的,哪些是无关的。

  • 报告应该是具体的、明确的和详细的。
  • 报告也应该是最小化的、唯一的。比如报告1万字,其是否可以消减?哪一个版本出现缺陷,其它版本有没有?

3、简化流程-通过消减不利条件来提高缺陷报告质量

如果没有人花时间和精力向你反映问题,你就不能找出这些缺陷,也不会修复它!

  • 明确说明如何报告缺陷。 提高多种选择: 比如电子邮件、直接交谈、在线沟通等!
  • 要尽量简单 :要求用户执行的动作要尽量少,否则其可能不会完成
  • 模板不要太死板 :确保每个区域设置合理选项,比如“以上都不是”。 尊重用于隐私:用户的数据属于他们,而不是属于你,要遵守相关隐私策略。

4、有效沟通

聪明是一个软件工程师的必要条件,大多数在学校都有良好的成绩,但这并不能保证我们不会犯错。在应用领域客户依靠他们的专长,可能理解的比你好,因此当存在明显误解的时候,要记住你可能出错了!

  • 从用户的角度设想一下会发生什么,你的目标是把他们的观察结果和他们的解读分开。
  • 和非技术人员沟通,唯一办法是要有耐心,解释一下为何这些细节很重要,并通过必要的步骤说服他们收集相关数据。
  • 发布你的缺陷数据库,虽然让大家看到你的“爆料”可能很可怕,但其好处巨大。
  • 提高反馈,收到缺陷报告时,需积极回应并支持他们继续下去。
  • 拜访用户,拜访用于可以比任何缺陷报告了解的更多 。

5、与支持人员协作

技术支持,QA,客户工程师,技术客户经理等都可以在调试过程中提高帮助!

  • 可以考虑和QA团队的一名同事在诊断阶段一起工作
  • 为了确保客户团队能帮助我们解决沟通问题,你应该能够判断并确保所有相关信息已被确认,避免吹毛求疵以及一些相关细节,可以考虑要求他们执行一项特定进程,来提高缺陷报告质量
  • 偶尔也做做客户支持,以表示对客户的尊重,避免被用户封杀
  • 由于QA的所具有的不同视角,他们需要守护的是避免与开发团队先入为主的“同流合污”,但也容易过火!比如作者所工作的一个公司开发和QA团队之间存在很深的隔阂,QA能得到的信息就是一个已编译的二进制文件,开发团队唯一能得到信息就是“通过”或者“失败”。

<读书笔记>软件调试之道 :从大局看调试-发现代码存在问题的更多相关文章

  1. <读书笔记>软件调试之道 :从大局看调试-理想的调试环境

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 【读书笔记】--《编写高质量iOS与OS X代码的52个有效方法》

    1.Objective-C 起源: 在 C 语言基础上添加了面向对象特性,是 C 语言的超集.Objective-C 由 SmallTalk 语言演变过来,使用消息结构,运行环境由运行环境决定. OC ...

  9. 【读书笔记】iOS-UIFont-动态下载系统提供的字体-官方代码

    一,工程目录 二,AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOption ...

随机推荐

  1. OAF_开发系列16_实现OAF与XML Publisher整合

    http://wenku.baidu.com/link?url=y2SFKHP5qqn4bl_iNeqLGjXsTvhyFuhkMraIbWZdTXbzcv0vTefrZFFBDWie0cAAKuTw ...

  2. printf 整数类型都用 uint8_t

    #include <iostream> #include <string> #include <tuple>   #include <utility> ...

  3. linux下搭建sock5代理

    VPN大家耳熟能详,但是socks用到的人比较少,那什么是socks呢?请看第二段或者百度百科,socks分别有4和5两个版本,现在5为主流.工作中经常用VPN访问国外,但是同时国内的速度又慢了,让人 ...

  4. linux查找日志技巧

    对于从事web开发的人员来说.服务器上的日志多如牛毛,如何快速从中找出所需信息非常重要,以下是我在工作中用到的查找日志的简单命令,希望能对您有所帮助:   工具/原料   linux SecureCR ...

  5. super getClass()

    首先看一段代码: import java.util.Date;public class Test extends Date{ public static void main(String[] args ...

  6. nyoj 708 ones 动态规划

    http://acm.nyist.net/JudgeOnline/problem.php?pid=708 状态转移方程的思路:对于一个数N,可以是N - 1的状态+1 得到,另外,也可以是(n / 2 ...

  7. Django 开发投票系统

    主要参考官方文档 Windows  10 Python 23.5 Django 1.9 1.创建项目(mysite)与应用(polls) D:\python>django-admin.py st ...

  8. 实战p12文件转pem文件

    1.首先生成一个ssl的证书 选择app IDS 后实现下面这个(这里不详细说明怎么生成了) 点击Download按钮,我就下载Development的ssl证书,下载成功后,双击运行,会打开钥匙串程 ...

  9. nginx入门

    1.   前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Ngi ...

  10. GNU/Linux复习笔记(1)

    第一次接触GNU/Linux还是大四上学期实习的那两个月在window里装了 个虚拟机玩红帽的系统,那段时间稍微学了一点命令就不玩了.后来大四下学期认识了王总,装了双系统,那段时间又对linux有了进 ...