测试与 debug 心得
测试不等同于调试,各自都有自己的概念集和方法论。
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 心得相关推荐
- CTS(3)---CTS 测试的一点心得
CTS 测试的一点心得 CTS介绍-----------------------------------------------3 什么是CTS---------------------------- ...
- 7月11号百度测试实习生面试心得
2017年7月11号有幸接到百度测试开发实习生的电话面试,虽然自己接触了一年多的Android开发,但是对于测试开没有系统的学习,对于此次面试,我是抱着试一试的心态,当作积累经验.第一回面试百度这个大 ...
- 个人注册CSDN后第一篇分享关于测试工程师工作心得的文章
测试工程师叫得好听,其实就是测试小白. 测试小白一般做什么呢? 对,就是日常点点点.而日常点点点带给测试小白的感受就是下面这张图片表达的心情. 你可能关注过测试的薪酬对比:你可能面试的时候被面试官调侃 ...
- 分布式存储产品的测试实践及心得
原文: 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% ...
- ab和jmeter进行GET/POST压力测试的使用心得和比较(转载,在ubuntu16.04下使用ab带json对centos7压力测试验证可用)
引言: 互联网服务压测是非常重要的评价方法,ab,webbench,jmeter等都是业界流行的测试工具,ab和webbench作为shell模式下轻量级的测试工具,jmeter则作为有GUI界面的更 ...
- 【测试招聘】资深面试官的测试工程师面试心得
[转载]读后能产生强烈的共鸣,值得收藏! 所有团队的招聘,基本上都是要找最"合适"的人,而不是技术最强的人,或者最优秀的人.技术最强的人不一定合适,原因有很多, 1. 岗位一定的情 ...
- vid2vid 代码调试+训练+测试(debug+train+test)(二)训练篇
### Training ### Training with Cityscapes dataset - First, download the FlowNet2 checkpoint file by ...
- vid2vid 代码调试+训练+测试(debug+train+test)(一)测试篇
## Prerequisites - Linux or macOS - Python 3 - NVIDIA GPU + CUDA cuDNN - PyTorch 0.4 但一般的话我们为了保护已有的环 ...
- 网站渗透测试公司总结心得
3年,说长也长,说短也短,以前在A3年,从公司的自建房十多人,到走的那时候,上百人,自主创业不容易,一路上说不出的艰苦,也算记录了一个互联网公司的发展壮大,而且据说听闻发展壮大的也非常好,很有可能快挂 ...
最新文章
- Linux下Shell日期的格式
- ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架
- Python内置函数min(iterable, *[, key, default])
- Hibernate-HQL
- IF_BSP_WD_HISTORY_STATE_DESCR~IS_RESTORABLE的用法
- dac0832控制电机驱动流程图_某驱动电机控制器拆解实拍照片
- Gartner发布2021年数字商务技术成熟度曲线,重点关注四项技术
- 高通camera架构讲解
- linux查询服务器cpu核数_linux 下查看机器是cpu是几核的
- 【转】各种字符串算法大总结
- 对话系统的简单综述及应用智能客服
- 经典算法分析:n与lgn
- 多益网络2022春笔试题记忆版
- 微信小程序 使用cookie
- 使用requests爬取实习僧网站数据
- 通过深度学习进行高频传感器故障检测和预测性维护
- java离群值,R从数据框中按组别移除离群值
- k8s与日志--journalbeat源码解读 1
- UltraISO 制作U盘启动盘
- DOS批处理:FOR中的Delims和Tokens参数
热门文章
- 广东学考计算机专业要多少排位,太难了!2021年学考录取分数大暴涨!深职、广轻需要300分以上?...
- 【java学习之路】(javaWeb篇)002.CSS
- 源码编译Ros, Ubuntu18.04系统使用源码编译Ros1,出错集合及其解决办法
- RxJava2.0——从入门到放弃
- Doris之Routine Load
- HIve内置函数(functions)使用和解析
- css背景透明度不影响文字_唯美文字背景图 | 生活不一定很酷
- Python中expected an indented block
- OpenCV精进之路(零):HighGUI——读写XML和YML文件
- Python数据结构与算法笔记(二):递归介绍及汉诺塔问题