人月神话札记:整体部分

简介: 人月神话札记:整体部分

前言:关于测试,的确太过重要,尤其是把新做成的功能加入到原来已经正常运行的系统中,先随我一起进入到Brooks的世界中看一看。


剔除bug的设计


产品的概念完整性在使他易于使用的同时,也使开发更容易进行,而且bug不容易产生。

在我所经历的项目中,我只参与了其中一部分,或者负责了较大部分,在与别人负责的代码打交道的过程中,如果我稍不留神,就会滋生很多bug在其中。除去我对整体业务掌握的不够全面以外,大部分的原因是因为我们彼此之间的差异太大。


自上而下的设计。我所经历的项目的确都是自上而下的设计,都是先搭建整体模型,再不断细化。但是很多时候,做的不好,是因为模块之间的耦合度太高,导致不够灵活。


构件单元测试


Brooks提到了本机测试和交互性测试,也许我理解的不够深刻,我认为的本机测试就是我们在个人的电脑中配置软件运行所属环境,进而对代码进行整体性测试,等本地测试通过后,我们在部署到服务器当中。这个时候,因为代码以及服务器的一些固性原因,我们需要手动去改变服务的某些状态,我们在这个时候,就会对代码多加上一些人为操作手段,进而控制程序进行交互性测试。

image.png


系统集成调试


系统集成调试的概念,对于每个学习编程的开发人员来说,并不陌生,甚至我们经常挂在嘴边,我们都倾向于只做集成测试,而不太重视做集成测试之前先要做构件测试,也就是说保证集成到整体系统的每一部分都顺利通过。


小型团队没有代码review,也缺乏同级的代码评审,更缺少自我的代码测试,我们经常性的只要完成了代码,就认为可以放到服务器上供用户使用了,然而这个时候,我们经常吃很大亏,一些不负责任的程序员经常为我们埋雷。


我个人最近也深有体会,写完代码之后,我自己会反复检查几次, 然后对重要的部分进行单元测试,然而,等放到服务器上运行时,就出现了不应该出现的错误。


在集成测试之前,一定保证每个部分已经被测试通过了,至少确保你在集成测试时候发现问题时,能尽快的定位到为题发生的所在之地。


搭建充分的测试平台。这个非常的必要,我们项目部有两个小组,有一个小组虽然有测试服务器,但是很多时候,代码在正式环境上线后,依然出现很低级的错误,这其中一个很主要的原因就是没有保持好两者之间的同步。


伪构件、伪文件。我想很多时候,我们都经历过,并且取得了很多的成效。当我们无法真实产生所需的xml时,我们会手动构造一个;当我们的某个功能尚未完善时,我们会假装它已经完成。这些在测试的时候,都会给我们很大的帮助,让我们的整体测试顺利的进行下去,而不是阻塞,当然这是因为伪构件和伪文件足以让我们发现应该找到的bug。


控制变更。由于我们的小组成员人数只有我和另外一个人,再加上两人可以随时语言沟通,所以我们没有进行变更控制。但是如果项目人数有5人以上时,遵守Brooks的观点是应该的:

一个是供构件测试使用的最终锁定版本;一个是测试版本的拷贝,用来进行缺陷的修复;以及一个开发库,供其他人员进行各自的程序开发。虽然我知道svn有分支,但是我还是不太确定如何在SVN上执行这些操作。


一次添加一个构件。在很重要,交易平台的项目目前主要由我整体把控,所以我经常性的优化代码结构,但是有的时候会事与愿违,优化后的代码不足够保证程序正常运行,这很大一个原因就是我改动的太多,所以出现问题后,如果我反复很多很多次后,依然无法找出问题所在的原因时,我就会还原版本,再改动。再次改动的时候,我就会缩小范围,保证每一次修改都不会影响到原有的程序。这很重要。


相关文章
|
6月前
|
开发者
代码与禅:在软件开发中寻找内在平静
【5月更文挑战第28天】 在快速迭代的科技世界中,软件开发者往往沉浸于无尽的代码海洋。本文探讨了如何将禅宗哲学融入编程实践,以提升开发效率和内在平和。通过禅修的三个核心原则——专注、简洁、当下意识,我们能够重新审视代码的本质,优化思维模式,并最终达到技术与精神的和谐统一。
|
程序员 测试技术
人月神话札记:效率
人月神话札记:效率
118 0
|
敏捷开发 Java BI
人月神话札记:系统设计
人月神话札记:系统设计
102 0
|
设计模式 算法 程序员
代码大全2札记:软件架构中的设计
代码大全2札记:软件架构中的设计
158 0
|
敏捷开发 架构师 安全
代码大全2札记:前期准备
代码大全2札记:前期准备
119 0
|
安全 程序员
人月神话札记:未雨绸缪
人月神话札记:未雨绸缪
144 0
人月神话札记:沟通
人月神话札记:沟通
117 0
《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一1.4 对设计过程的思考
本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第1章,第1. 4节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1285 0
《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一3.2 我们通常不知晓设计树的样子—一边设计一边探索
本节书摘来自华章出版社《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一 书中的第3章,第3. 2节,作者:(美) Frederick P. Brooks, Jr. 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1297 0