首页 > 其他分享 >构建之法阅读笔记01

构建之法阅读笔记01

时间:2023-03-19 15:56:05浏览次数:30  
标签:01 测试 工程师 代码 单元测试 笔记 程序员 构建 模块

①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。

②好的单元测试的标准:

在最基本的功能/参数上验证程序的正确性

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

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

单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)

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

独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性

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

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

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

③单元测试的基础上能够建立关于这一模块的回归测试,目的是:

(1)验证新的代码的确改正了缺陷

(2)同时验证新的代码有没有破坏模块的现有功能,有没有Regression

2.2 效能分析工具

效能分析方法:抽样和代码注入

2.3 个人开发流程

个人开发流程PSP(Personal Software Process)

特点:(1)不局限于某一种软件技术,而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。

(2)不依赖于考试,而主要靠工程师自己收集数据,然后分析、提高。

(3)在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责。

(4)PSP依赖于数据(工程师输入数据的时间代价、数据可能遗失或者不准确的风险、可能会出现一些数据不利于工程师本人的情况)

(5)PSP目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,工程师有可能很高效地开发出一个顾客不喜欢的软件。

 

个人感受:

我过去写代码,尤其是写类的函数,都是全部写完之后进行测试,然后大概率会出现很多bug。

书中说的是首先要吧一个问题分为多个单元,比如一个函数分为多个板块,例如链接数据库的读操作,

如果一下子全部写完出现问题根部不知道是链接错误还是读函数错误等等。在解决bug的时候就很费劲。

根据书中所说,每写完一个单元就进行测试,测试结果满意后在进行下一单元的编程,这样看似很慢,

但是一旦进入大量的工程项目,这样是会节省很多时间的,这也是一个很好的编程习惯。

标签:01,测试,工程师,代码,单元测试,笔记,程序员,构建,模块
From: https://www.cnblogs.com/2351920019xin/p/17233377.html

相关文章

  • 梦断代码 读书笔记2
    第2章-Agenda之魂第二章,提到了该团队用了很多的方法去提高软件开发的效率速度,想法设法尽可能的去完成预定工作,但是都无一例外的失败了,可知道,这是世界上顶尖的项目开发团队......
  • 《梦断代码》读书笔记
    第0章软件时间作者迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲。"HelloWorld"程序能够唤醒每个程序员心中......
  • dart学习笔记
    一、库1、import'dart:xxx';   引入Dart标准库2、import'xxx/xxx.dart';   引入绝对路径的Dart文件3、import'package:xxx/xxx.dart';     引入Pu......
  • P5445 [APIO2019] 路灯 题解
    题目链接题目描述给你一个01串,有\(q\)个时刻,每个时刻要么把一位取反,要么问你在过去的所有时刻中有多少个时刻\(a\)和\(b-1\)之间都为1。题目分析观察题目,我们......
  • Origin 2019【科学数据分析】中文破解版安装包下载及图文安装教程​
    Origin是由OriginLab公司全新开发的一款科学绘图、数据分析软件,能够为用户提供多样的数据统计、数据处理、数据报告等功能,是全球商业行业、学术界和政府实验室超过50万科......
  • Origin 2018【科学数据分析】中文破解版安装包下载及图文安装教程​
    Origin是由OriginLab公司全新开发的一款科学绘图、数据分析软件,能够为用户提供多样的数据统计、数据处理、数据报告等功能,是全球商业行业、学术界和政府实验室超过50万科......
  • CAXA工艺图表 2018 中文破解版安装包下载及图文安装教程​
    CAXA工艺图表打造了全新的工艺编制软件平台,具有多文档、多环境的特点,使用户在编制工艺文档、或绘制工装图纸时更加流畅、自如,而且依据中国机械设计的国家标准和使用习惯,提供......
  • Django笔记二之连接数据库、执行migrate数据结构更改操作
    本篇笔记目录索引如下:Django连接mysql,执行数据库表结构迁移步骤介绍操作数据库,对数据进行简单操作接下来几篇笔记都会介绍和数据库相关,包括数据库的连接、操作(包括增......
  • 二级笔记
     1.ifu'\u4e00'<=c<=u'\u9fa5':如果一个字符c的Unicode值在u’\u4e00’和u’\u9fa5’之间,那么它就是一个中文字符。1......
  • 力扣---面试题 01.02. 判定是否互为字符重排
    给定两个由小写字母组成的字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例1:输入:s1="abc",s2="bca"输出:true示例......