首页 > 其他分享 >更好的调试策略

更好的调试策略

时间:2023-02-17 23:07:37浏览次数:35  
标签:更好 策略 错误 步骤 单元测试 重现 测试 编写 调试

手动重现错误是好的!

但它很慢。真的很慢。

如果您每次都必须在 UI 中单击以重新创建错误,那么您将以次优的速度工作。发出 API 请求以复制错误也是如此。

当有复杂的逻辑在起作用时,我希望能够快速且经常地重放错误。

最好的调试策略是对重现步骤进行编码。

再生产

大多数错误工单都带有一组重现步骤。

给定特定的条件组合,您应该能够重现错误。一旦您知道如何重现错误,您就可以很好地解决它。

创建重现步骤并不总是那么容易!

但了解错误是如何发生的至关重要。如果您的目标不是创建可重现的步骤,那么您只是在没有策略的情况下疯狂地攻击问题。

最好首先关注可靠地重现错误。

更快的反馈

一旦可以重现错误,就不要只是手动重现它。

编码吧!

编写单元测试或设置脚本,以编程方式在代码中重现错误。

目标是创建一个可以重复运行的命令。我们想要快速的反馈,我们可以一遍又一遍地重现。

此步骤对于快速解决问题至关重要。

测试你的假设

解决棘手错误的方法是测试您的假设。

一旦您有了重现错误的编程方法,就可以开始测试错误代码的各个部分。

  • 您期望在执行过程中的某些点有什么价值?
  • 值是否按预期提交给数据库?
  • 代码是否与其他服务交互?它们是否返回预期的响应?

当您可以运行和重新运行代码时,这些假设变得更容易测试。

通常,在以编程方式重现错误的过程中,您会发现一些东西。您将意识到目标代码的哪些区域没有按照您期望的方式响应。

单元测试是为了解决方案

始终为错误的解决方案编写单元测试!

我们无法编写没有错误的软件。我们是人类。会有错误。

但是,我们可以编写测试以确保代码不会再次以同样的方式中断。

您应该为您使用的每个功能编写测试。如果没有,您需要在您的工程组织中进行认真的对话。

当您修复错误时,应该始终对其进行测试。

如果您使用单元测试重现了错误,那么一旦该测试通过,您就完成了!双赢!

每日清单

需要更多有关调试、构建有价值的功能和发展您的开发人员职业的建议吗?

如果你喜欢我的文章,点赞,关注,转发!

标签:更好,策略,错误,步骤,单元测试,重现,测试,编写,调试
From: https://blog.51cto.com/u_12409319/6064507

相关文章

  • 接口调试时如何请求一个需要登录才能访问的接口
    在后台在开发、调试接口时,常常会遇到需要登陆才能请求的接口。比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了。如图:今天,我们讲解利用Apipost的环境......
  • 关于工具软件:Apipost和Apifox哪个更好用看这篇就够了
    很多人搞不清楚Apipost和Apifox到底有什么区别,以下为实际体验,各位能够依据本身状况参考一下,有什么不足之处还请各位大佬多多指教。一、产品定位这块能够间接看他们的官网,个......
  • redis的key过期策略+内存淘汰策略
    redis的key过期策略是怎么样的redis的过期策略主要是定期删除和懒删除来实现的定期删除redis定时每间隔大约100ms进行随机抽选择1批key,对过期的key进行删除,并且根......
  • 调试进程与被调试进程之间的桥梁
    当调试器进程通过CreateProcessW(A)创建进程时,传入的dwCreationFlags为DEBUG_PROCESS|DEBUG_ONLY_THIS_PROCESS时,表明调试当前创建的进程且不调试这个进程创建的子进程。......
  • Linux上调试程序
    安装pudb安装命令pipinstallpudb-ihttps://pypi.doubanio.com/simple运行程序使用:pudbtest.py参考资料:如何使用pudb在终端调试python代码PUDB调试python程序......
  • GUI程序中使用Write语句调试
    LazarusGUI程序中使用Write语句调试比如像VB下的Debug.print可直接在立即窗口中打印出调试内容其实可以使用WriteLn('XXXX',XXX);Write('XXXXXX');但是在......
  • kafka日志数据清理策略
    vim/kafka/server.properties #日志清理策略优先级是谁先满足条件.#保留7天的日志数据log.retention.hours=168#日志数据总大小保留100G,默认-1无穷大log.retenti......
  • 使用alert卡住electron界面,打开调试控制台
    思路主要的思路是在electron的app.asar解包后,在主页面的html中加入js脚本alert,再重新打包,打开程序卡住界面,在按enter键的同时,按ctrl+shift+i,打开控制台案例说明观......
  • 嵌入式驱动开发之spi---spi串口通信调试
    一.概念SPI是SerialPeripheralInterface(串型外部接口)的缩写。SPI接口有4根PIN脚,分别是:        *SPICLK  :用于传输数据的同步时钟        ......
  • 读Java实战(第二版)笔记12_重构、测试和调试
    1. 设计模式1.1. 对设计经验的归纳总结1.2. 一种可重用的蓝图1.3. Java5引入了for-each循环1.3.1. 替代了很多显式使用迭代器的情形1.4. Java7推出的菱形操......