测试不等同于调试,各自都有自己的概念集和方法论。

Test:examine input/output pairs.

调试:定位,修改。
但如果能做到错误异常的准确定位,调试的一半以上的工作已经完成了。

测试共分两种:

  • unit testing(单元测试)

    • functions
    • classes
  • integration testing(集成测试)
    • overrall program

Test suite(测试集):small enough so that we can test it in a reasonable amount of time, large enough to boost confidence.

debug 的方法:(准确地说应叫 bug 的定位)

二分搜索 + 打印中间值(逐步缩小搜索空间)

每一个函数,无论是普通函数,还是类内成员函数,都是为实现某一功能进行实现,当独立地完成一个函数的设计时,应当编写相应的主调函数,去验证函数的基本功能是否实现,当然若为追求更高的鲁棒性,还应考虑一些常见的非法输入等问题,此外还有内聚性、耦合性等等的要求。

防止错误越积越多,最终难以确定程序出错的源头。

1. 断点与单步

是查找程序中的一些运行时的逻辑错误;

这种错误不易察觉,程序编译运行均可通过,只是最终得到的结果,未必是一种期待的结果,或者说未必是正确的结果。

为避免此类错误:

  • 第一,不放从头至尾通读代码、检查代码,就像考试时,最后的检查时间,检查计算是否正确,是否犯了一些低级错误;
  • 第二,则是回溯而上,直至找到错误的源头;
  • 第三,则是单步追踪,顺流而下,找到开始出错的地方。

2. 区分 debug 模式和 release 模式

两种模式下,代码实现和规模是不同的。

debug 模式,调试成功时,可以将一些 debug 的代码注释掉(而不是完全删除),使其进去 release 模式:

if 0,assert( ... );
end

3. log

一段复杂、庞杂的代码,仅仅给出最终的结果,在 debug 阶段是十分不够的,而应该在某些程序执行的关键地方,给出必要的日志信息,也即 log 信息。

测试与 debug 心得相关推荐

  1. CTS(3)---CTS 测试的一点心得

    CTS 测试的一点心得 CTS介绍-----------------------------------------------3 什么是CTS---------------------------- ...

  2. 7月11号百度测试实习生面试心得

    2017年7月11号有幸接到百度测试开发实习生的电话面试,虽然自己接触了一年多的Android开发,但是对于测试开没有系统的学习,对于此次面试,我是抱着试一试的心态,当作积累经验.第一回面试百度这个大 ...

  3. 个人注册CSDN后第一篇分享关于测试工程师工作心得的文章

    测试工程师叫得好听,其实就是测试小白. 测试小白一般做什么呢? 对,就是日常点点点.而日常点点点带给测试小白的感受就是下面这张图片表达的心情. 你可能关注过测试的薪酬对比:你可能面试的时候被面试官调侃 ...

  4. 分布式存储产品的测试实践及心得

    原文: http://mtydev.net/2016/01/27/%E5%88%86%E5%B8%83%E5%BC%8F%E5%AD%98%E5%82%A8%E4%BA%A7%E5%93%81%E7% ...

  5. ab和jmeter进行GET/POST压力测试的使用心得和比较(转载,在ubuntu16.04下使用ab带json对centos7压力测试验证可用)

    引言: 互联网服务压测是非常重要的评价方法,ab,webbench,jmeter等都是业界流行的测试工具,ab和webbench作为shell模式下轻量级的测试工具,jmeter则作为有GUI界面的更 ...

  6. 【测试招聘】资深面试官的测试工程师面试心得

    [转载]读后能产生强烈的共鸣,值得收藏! 所有团队的招聘,基本上都是要找最"合适"的人,而不是技术最强的人,或者最优秀的人.技术最强的人不一定合适,原因有很多, 1. 岗位一定的情 ...

  7. vid2vid 代码调试+训练+测试(debug+train+test)(二)训练篇

    ### Training ### Training with Cityscapes dataset - First, download the FlowNet2 checkpoint file by ...

  8. vid2vid 代码调试+训练+测试(debug+train+test)(一)测试篇

    ## Prerequisites - Linux or macOS - Python 3 - NVIDIA GPU + CUDA cuDNN - PyTorch 0.4 但一般的话我们为了保护已有的环 ...

  9. 网站渗透测试公司总结心得

    3年,说长也长,说短也短,以前在A3年,从公司的自建房十多人,到走的那时候,上百人,自主创业不容易,一路上说不出的艰苦,也算记录了一个互联网公司的发展壮大,而且据说听闻发展壮大的也非常好,很有可能快挂 ...

最新文章

  1. Linux下Shell日期的格式
  2. ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架
  3. Python内置函数min(iterable, *[, key, default])
  4. Hibernate-HQL
  5. IF_BSP_WD_HISTORY_STATE_DESCR~IS_RESTORABLE的用法
  6. dac0832控制电机驱动流程图_某驱动电机控制器拆解实拍照片
  7. Gartner发布2021年数字商务技术成熟度曲线,重点关注四项技术
  8. 高通camera架构讲解
  9. linux查询服务器cpu核数_linux 下查看机器是cpu是几核的
  10. 【转】各种字符串算法大总结
  11. 对话系统的简单综述及应用智能客服
  12. 经典算法分析:n与lgn
  13. 多益网络2022春笔试题记忆版
  14. 微信小程序 使用cookie
  15. 使用requests爬取实习僧网站数据
  16. 通过深度学习进行高频传感器故障检测和预测性维护
  17. java离群值,R从数据框中按组别移除离群值
  18. k8s与日志--journalbeat源码解读 1
  19. UltraISO 制作U盘启动盘
  20. DOS批处理:FOR中的Delims和Tokens参数

热门文章

  1. 广东学考计算机专业要多少排位,太难了!2021年学考录取分数大暴涨!深职、广轻需要300分以上?...
  2. 【java学习之路】(javaWeb篇)002.CSS
  3. 源码编译Ros, Ubuntu18.04系统使用源码编译Ros1,出错集合及其解决办法
  4. RxJava2.0——从入门到放弃
  5. Doris之Routine Load
  6. HIve内置函数(functions)使用和解析
  7. css背景透明度不影响文字_唯美文字背景图 | 生活不一定很酷
  8. Python中expected an indented block
  9. OpenCV精进之路(零):HighGUI——读写XML和YML文件
  10. Python数据结构与算法笔记(二):递归介绍及汉诺塔问题