首页 > 其他分享 >02《构建之法》阅读笔记_2

02《构建之法》阅读笔记_2

时间:2024-06-19 16:24:14浏览次数:26  
标签:02 效能 程序 单元测试 笔记 程序员 基本功能 构建 热身

内容总结:

单元测试

  单元测试是一个合格的软件必备的流程,就像运动员在比赛之前的热身,活动身体的每一块肌肉,检查它是否处于紧绷状态,确保比赛时的完全发挥。

  那么一个好的单元测试的标准是什么?

1.单元测试应该在最基本的功能上/参数上验证程序的正确性

一个软件的基本功能是用户最常用的功能。比方说一个MIS系统,它的基本功能必须包含增删改查这四项,你写出的软件可以没有简洁优美的界面,可以没有高效的信息检索功能,但作为一个MIS系统,增删改查的基本功能必须保证是正确的,否则就是一堆毫无意义的代码。

2.单元测试必须由最熟悉代码的人(程序的作者)来写

单元测试就像运动员比赛前的热身,只有他们自己可以将肌肉调整到最活跃的状态,这种热身不是教练,不是医护可以替代的。程序就像是程序员的孩子,只有程序员自己才最了解自己孩子的“弱点”。所以单元测试必须由程序的作者来完成。

3.单元测试过后,机器状态保持不变

很多机器在出场前都要经过压力测试,单元测试就像是压力测试,它用来检验程序的稳定性与正确性,却不影响用户的使用,这才是一个合格的单元测试。

4.单元测试要快

一个软件中有几十个基本模块,每个模块又有几个方法,如果不能把单元测试控制在一个较短的时间内,那么将会拖累整个团队的工作效率。

5.单元测试应该产生可重复、一致的结果

6.独立性

7.单元测试应该覆盖所有代码路径

8.单元测试应该集成到自动测试的框架中

9.单元测试必须和产品代码一起保存和维护

单元测试就像杀毒软件的病毒库,病毒在更新的同时,杀毒软件的病毒库也要更新,否则电脑就会因中毒而陷入瘫痪。

效能分析工具

优化程序的运行速度是每一个程序员的梦想,VSTS为我们提供了方便的效能测试工具,我们可以清晰地看到每段语句被调用的次数。只要我们按着“效能测试,分析,改进,再效能测试”的流程,我们的编程水平一定会逐步提升。

标签:02,效能,程序,单元测试,笔记,程序员,基本功能,构建,热身
From: https://www.cnblogs.com/kuandong24/p/18256477

相关文章

  • 03《构建之法》阅读笔记_3
    软件领域可以分为两个方面:一方面是技艺创新的大爆发;另一方面是坚持不懈的工程工作,包括软件的改善、维护和测试等,这一方面占了90%-95%的比例。——瓦茨·汉弗雷/软件工程的奠基人之一 对于我们做软件的人来说,我觉得写代码的能力固然重要,但是项目开发中用到的项目管理和项目......
  • MBR60200PT-ASEMI逆变箱专用MBR60200PT
    编辑:llMBR60200PT-ASEMI逆变箱专用MBR60200PT型号:MBR60200PT品牌:ASEMI封装:TO-247最大平均正向电流(IF):60A最大循环峰值反向电压(VRRM):200V最大正向电压(VF):0.85V~0.90V工作温度:-40°C~175°C反向恢复时间:5ns芯片个数:2芯片尺寸:72mil引脚数量:3正向浪涌电流(IFMS):500A包装方式:5......
  • 05构建之法阅读笔记
    第6章敏捷流程——6.5敏捷的故事这一小节提到了几种比较出名的敏捷开发方法论,如FDD、Scrum、XP、TDD。前三者在书中都有专门的介绍,但TDD,久闻其大名,到底是何许妙招?TDD(TestDrivenDevelopment),即测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后只编......
  • 06构建之法阅读笔记
    第11章软件设计与实现——11.2开发阶段的日常管理——11.2.2每日构建这一小节中提到了每日构建的重要性,那么,什么是每日构建?软件开发是一种集体活动,其中必然面临各成员间的协调、统一问题。银行每天都要对各网点进行清算结账,软件开发也是一样的,必须找到一种方......
  • 莫比乌斯反演学习笔记
    \[\]前段时间学习了莫比乌斯反演,现在补一篇学习笔记吧。Step1:莫比乌斯函数首先我们来定义一下莫比乌斯函数\(\mu\),它的取值如下:\[\mu(n)=\left\{ \begin{array}{ll} 1\qquad\quadn=1\\ (-1)^k\quadn=p_1p_2\cdotsp_k\\ 0\qquad\quadotherwise \end{array}......
  • 筛法学习笔记
    0.更新upd2023.5.21更新了关于powerfulnumber数量的证明upd2023.5.25更新了关于杜教筛的时间复杂度证明正文1.筛质数筛法其实就是判断质数的一个算法,但是是解决\([1,n]\)这一段区间的算法筛质数是最简单的一个用法1.1暴力最简单的方式就是对于每一个数去判断......
  • 狄利克雷卷积学习笔记
    0.更新upd2023.5.18更新了狄利克雷卷积新的一个性质,更新了常用结论的证明1.正文这玩意儿是这么说的:定义一个运算:$*$为狄利克雷卷积。他是干啥的呢?把两个数论函数进行一个运算。\[h(n)=(f*g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})\]当\(f,g\)都是积性函数时,他们的狄利......
  • 【爬虫软件】2024油管评论采集工具
    目录一、背景介绍1.1软件说明1.2效果演示二、科普知识2.1关于视频id2.2关于评论时间三、爬虫代码3.1界面模块3.2爬虫模块3.3日志模块四、转载声明一、背景介绍我用python开发的GUI软件,作用是爬取油管指定视频的评论,字段含:评论id、评论内容、评论时间、评论作者昵称、评......
  • Go中的一些优化笔记,简单而不简单
    转自https://mp.weixin.qq.com/s/X8c6ZIJdBFptYA9CRj6wnA今天小土给大家带来一篇关于Golang项目中最简单的优化的文章。原文见Golang:simpleoptimizationnotes[1]我们这里简单聊一下优化本身,然后我们直接从实际的示例开始。为什么要优化呢?当你资源占有较高的话会需要很......
  • GLORY论文阅读笔记
    GoingBeyondLocal:GlobalGraph-EnhancedPersonalizedNewsRecommendations论文阅读笔记Abstract现存的问题:​ 近期的大多数工作主要侧重于使用先进的自然语言处理技术从丰富的文本数据中提取语义信息,并采用基于内容的方法从局部历史新闻中提取信息。然而,这种方法缺乏全局......