标签:集成 维护 现象 turn 框架 缺点 amp 依赖 快速
一个团队需要一定的流程来管理开发活动,每个工程师在软件生命周期所做的工作也应该有一个流程,在这一章里会介绍PS(Personal Software Pro-cess,个人软件开发流程)。
单元测试的作用:让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证。
从书中例子可以看出创建单元测试函数的主要步骤是:
单元测试应该准确、快速地保证程序基本模块的正确性。下面是验证单元测试好坏的一系列标准:
在单元测试的基础上,我们就能够建立关于这一模块的回归测试(Regression Test)。Regress 的英语定义是:return to a worse or less developed state,是倒退、退化、退步的意思。在软件项目中,如果一个模块或功能以前是正常工作的,但是在一个新的构建中出了问题,那么这个模块就出现了一个“退步”(Regression),从正常工作的稳定状态退化到不正常工作的不稳定状态。
回归测试的目的是:
VSTS提供了方便的效能分析工具,让我们能很快地找到程序的效能瓶颈,从而能有的放矢,改进程序。
两种分析方法:
1.抽样(Sampling)
简单来说,抽样就是当程序运行时,Visual Studio时不时看一看这个程序运行在哪一个函数内,并记录下来。程序结束后,Visual Studio就会得出一个关于程序运行时间分布的大致印象。这种方法的优点是不需要改动程序,运行较快,可以很快找到瓶颈,但是不能得出精确的数据,也不能准确表示代码中的调用关系树(Call Tree)。
2.代码注入(Instrumentation)
另一方面,代码注入就是将检测的代码加入到每一个函数中,这样程序的一举一动都被记录在案,程序的各个效能数据都可以被精准地测量。这一方法的缺点是程序的运行时间会大大加长,还会产生很大的数据文件,也相应增加了数据分析的时间。同时,注入的代码也影响了程序真实的运行情况(这有点像量子物理学中的“测试的光线干扰了被测物体本身”的现象)。
卡内基梅隆大学(CMU)的能力成熟度模型(CMM和CMMI),是用来衡量一个团队能力的一套模型。CMU的专家们针对软件工程师也有一套模型,叫 Personal Software Process(PSP),PSP和任何其他方法论一样,也不是一蹴而就的 。
PSP有如下的特点:
1.不局限于某一种软件技术(如编程语言),而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。
2.不依赖于考试,而主要靠工程师自己收集数据,然后分析,提高。
3.在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责。
4.PSP依赖于数据。
5.PSP的目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度。
本章主要介绍了PSP,也就是个人软件开发流程,psp就像是一个计划表一样,可以很清晰的看到一个团队的工作流程,还可以通过不同时间的不同的psp进行计较,进而看到团队的提高,一个团队的水平!
中间还介绍了一些有关的需要了解掌握的知识,例如单元测试、回归测试、效能分析等,虽然看完了整个章节,但对书中一些调用实例并没有很好的理解,本书是基于C#语言的,还需要进行相关的学习!
标签:集成 维护 现象 turn 框架 缺点 amp 依赖 快速
原文地址:https://www.cnblogs.com/aiYY/p/9938561.html