Why Programs Fail-系统化调试指南 (德)_读书笔记

1 调试

调试过程的七个步骤:

1.在数据库中跟踪问题。

2.重现故障。

3.自动化和简化测试用例。

4.寻找可能的感染源。

5.专注于最可能的来源:已知的错误状态;代码和输入中的来源;反常;代码的坏味道。

6.分离感染链。

7.修正缺陷。

软件问题的生命周期——从问题的首次出现到它被修正

1.用户把问题提交给软件发布者。

2.发布者重现问题。

3.发布者分离问题环境。

4.发布者在本地定位和修正缺陷。

5.发布者把修正交付给用户。

问题报告——变更请求(CR)——bug报告

重现问题所需的信息被称为问题报告(PR),有时也叫做变更请求(CR)或简单称作bug报告。

为了得到适量的信息,通常的方法是创建一个列表,当撰写问题报告时,都应该包括该列表中的特定信息。该列表一般应该包含以下内容:

1.产品的发布版本:即产品的版本号或其他唯一标识。开发者可以利用这些信息重建该程序的本地拷贝,使该拷贝的版本和用户环境中安装的版本完全一致。

2.操作环境:通常是操作系统的版本信息。如果问题是由第三方组件的交互引发的,有关这些组件的信息也是很有用的。

3.系统资源:有关问题只在资源不足时才会出现。因此,建议在报告中包含系统内存、磁盘空间或CPU负载的相关信息。

4.问题历史:描述重现问题所必须执行的最少的一组操作步骤。通常情况下,还应该包含任何需要访问的资源,例如输入信息和配置文件等。

5.预期行为的描述:从用户的角度描述程序的行为应该是什么。

6.观察到的错误行为的描述:描述问题的症状,和预期行为不同的程序的实际行动。当把错误信息提交给开发人员时,一定要保持中立。任何幽默、讽刺或者攻击都会使开发人员偏离提高软件质量这个目标。一切要以事实为依据。

7.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值