摘要:
模式是用来解决常见的、反复出现的问题。反模式是一种另类的模式,指我们反复犯的一些常见错误,了解反模式是避免发生错误的第一步。如果你发现自己面临着夸大优先级的问题时,那么可以采用如下方法:1. 定期清除你的缺陷,控制缺陷数据库2. 控制缺陷的优先级,允许用户指定严重性而不是优先级3. 不要用数字来表示优先级,按照优先顺序把缺陷列出来巨星效应会破坏团队。确保开发过程包含足够的检验机制和平衡机制:1. 确保“完成就是完成”,当前工作完成之前不允许任何人进入下一个任务。2. 将大任务分解成具体的小任务。3. 采用“自负自责”的原则,谁造成了缺陷谁就负责修复它。从最初的构思到最终部署,整个过程用同一个团 阅读全文
摘要:
有很多书或文章都在探讨如何编写好软件,但很少有讨论如何编写容易调试的软件,幸好,如果遵从创建良好软件的一般原则,即分离问题、避免复制、隐藏信息,并创建结构良好、易于理解和修改的软件,那么就能编写出容易调试的软件。良好的设计与调试并无冲突。代码的每一块都建立在一个无数假设的平台上——某些条件必须是正确的才能让运行结果符合预期,往往缺陷的出现是因为某些假设是不成立的或者是错误的。避免做出这些假设是不可能的也是没意义的,我们不仅可以验证它们,也可以通过断言来自动验证。断言长什么样?在Java里有两种格式,一种简单的格式:assert <condition>; 还有一种格式包含一条信息,若 阅读全文
摘要:
调试过程是不会发生在真空中的,因此提前了解基本知识,未雨绸缪,等你真的遇到一个缺陷时,会为你节省大量时间、精力并减少挫折感。有效的自动化测试不仅仅意味着简单地使你的测试自动化,为了达到效益最大化,你的测试必须满足:明确说明测试的结果是通过还是失败,每个测试输出一个结果——通过或者失败。独立,运行一个测试程序之前不需要安装,测试运行前,能够自动安装任何它需要的环境,测试后能撤销对环境的修改。单击运行所有测试,所有测试都可以一步运行,不会互相影响。全面覆盖,做到接近完全覆盖是有可能的。调试的时候是什么让自动化测试更有价值呢?首先,经过良好测试的代码往往只有少量缺陷,最容易修复的缺陷就是根本不存在的 阅读全文