zoukankan      html  css  js  c++  java
  • 《构建之法》读书笔记02

         单元测试的重要性和必要性以前并没有注意到,大部分测试是由手动遍历测试,这就导致了代码漏洞百出。一是不够全面,人力毕竟有限,不可能把代码中的每一处都详细的看到;二是没有逻辑性,毕竟人没有电脑那样精确的计算和思维。所以我们就要学会单元测试,单元化测试以及测试代码自动化都是在完成一部分代码之后必须马上完成的事情。虽然繁琐、复杂,但是我们绝不能跳过这一步。除此之外,回归测试中提到的问题,在以前也经常的遇到过,总算系统的学习到了科学性的解释和解决的方法。

         对于效能分析,在以前的学习过程中,自己并没有重视过,只是单纯的为了完成老师的布置的作业,很少真正的通过数据来说明程序效能。其实看上去实现功能差不多的代码,在运行速度及效率等方面有很大的可能差了十万八千里。要写代码,就要写健壮且高效的代码。利用函数调用关系树来分析是个很好的办法,因为仅仅通过数据来判断的话很有可能会产生一些不必要的错误。

         一个好的个人开发流程便是一个好的软件工程师的开始,《构建之法》上的软件工程师的任务清单便十分详细——主要分为七个大块:计划、开发、记录用时、测试报告、计算工作量、事后总结、提出过程改进计划。工程师在“需求分析”和“测试”这两方面明显地要花更多的时间来做;但在具体的编码上,工程师所花费的时间要比学生少。因为工作毕竟与学生在学校的作业有所不同,甚至有很大的差别。在工作中,更加强调的是需求分析、功能设计、使用体验、产品完善程度等。越熟练越是深入学习,越能了解到在工作之前的前期准备(需求分析)和后期测试(包括产品说明)有着极其重要的地位。

      每个工程师在软件生命周期所做的工作都有一个流程,而PSP,也就是个人软件开发流程,就是第二章所学习的内容。单元测试可以保证模块质量稳定、量化,防止他人错误调用你所写的程序。创建单元测试的主要步骤是:1、设置数据;2、使用被测试类型的功能;3、比较实际结果和预期结果。而一个好的单元测试,应该在最基本的功能上验证程序正确性;必须由程序作者本人写;测试后,机器的状态保持不变;而且运行时间要快;产生的结果应该可重复并一致;测试完全独立,不依赖其他测试;要覆盖所有代码路径;应集成到自动测试框架中并和产品代码一起保存。

      PSP特点为:不局限于某一种软件技术,要着眼整个开发流程;要靠自己收集数据并分析提高;不尽人意的地方不完全是程序员的责任(团队合作!);PSP依赖于数据;PSP的目的是记录工程师如何实现需求的效率,与客户是否满意无关。

         所以,我们要想成为一个合格的软件工程师,还有着很多事情需要我们去做,我们要不断的去学习技能和知识,提高自我的能力,这样我们才能在工作中很好的发挥自身的作用,使得分配的任务能够顺利的完成,同时我们也能够更好的融入到自己的工作的团队中,和自己的伙伴们一同去完成复杂的工作的任务。

  • 相关阅读:
    34. 在排序数组中查找元素的第一个和最后一个位置
    153. 寻找旋转排序数组中的最小值
    278. 第一个错误的版本
    540. 有序数组中的单一元素
    744. 寻找比目标字母大的最小字母
    69. x 的平方根
    763. 划分字母区间
    53. 最大子序和
    665. 非递减数列
    Zabbix探索:Agent配置中Hostname错误引起的Agent.Ping报错
  • 原文地址:https://www.cnblogs.com/yifengyifeng/p/6409313.html
Copyright © 2011-2022 走看看