codecamp

在调试过程中

在调试过程中

当看到缺陷报告时,你可能会有尽快修复错误的冲动。经验表明,这种冲动不是好事,因为修复一个缺陷时很可能导致另外一个缺陷。

下列操作可以帮你压住冲动:

  1. 确认能够重现此缺陷。

  2. 在代码中寻找此缺陷的最小规模表达。例如,如果在输出中有一个数字看起来不对,那么就寻找算出此数字的那个对象。

  3. 编写一个目前会失败而缺陷修复后将会成功的自动测试。

  4. 修复缺陷。

寻找缺陷的最小可靠重现使你有机会去真正检查缺陷的原因。当修复了缺陷之后,所编写的测试则有助于提高缺陷真正被修复的几率,因为新加入的测试降低了未来修改代码时又破坏此修复的可能性。而之前所编写的所有测试则降低了在不经意间导致其他问题的可能性。

进行单元测试带来了很多好处:
进行测试让代码的作者和评审者对补丁能够产生正确的结果有信心。
编写测试用例对开发者而言是一种很好的发现边缘情况的原动力。
进行测试提供了一种良好的方法来快速捕捉退步(Regression),并且能用来保证退步不会重复出现。
单元测试就如何使用 API 提供了可正常工作的范例,能够大大帮助文档编制工作。
总之,进行集成单元测试降低了任何修改的成本与风险。这使得项目能够更快并且更有信心地进行[...]重大架构改良[...]。
--Benjamin Smedberg

在开发过程中
用于代码覆盖率的软件衡量标准
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

3. 命令行测试执行器

7. 未完成的测试与跳过的测试

12. 测试的其他用途

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }