构建之法学习(第二章 个人技术与流程)
知识点概括:单元测试,回归测试,效能分析,个人软件开发流程(PSP)。
1.单元测试
软件是由多人合作完成的,不同人员的工作相互有依赖关系。单元测试是模块质量稳定和量化的保证。
好的单元测试的标准:
(1)单元测试应该在最基本的功能/参数上验证程序的正确性。
(2)单元测试必须有最熟悉代码的人(代码的作者)来写。
(3)单元测试过后,机器状态保持不变。
(4)单元测试要快
(5)应该产生可重复,一致的结果。
(6)独立性
(7)单元测试应该覆盖所有代码路径
(8)单元测试应该集成到自动测试的框架中
(9)单元测试必须和产品代码一起保存和维护
2.回归测试
从正常工作的稳定状态退化到不正常工作的不稳定状态。
其目的是:验证新的代码的确修改了缺陷;同时验证新的代码有没有破坏模块的现有功能,有没有Regression。
单元测试是回归测试的基础。
3.效能分析工具
就是为了让我们能很快地找到程序的效能瓶颈,改进程序。
方法一:抽样(当程序运行的时候,时不时看一看这个程序运行在哪一个函数内,并记录下来。)
方法二:代码注入(是将检测的代码加入到每一个函数中,这样的程序一举一动都会被记录在案,程序的各个效能数据都可以被精确地测量。)
4.个人开发流程
(1)计划(估计这个任务需要多少时间)
(2)开发(包括 分析需求,生成设计文档,设计复审(和同事审核设计文档),代码规范(为目前的开发定制合适的规范),具体设计,具体编码,代码复审,测试(包括自测,修改代码,提交修改))
(3)记录用时
(4)测试报告
(5)计算工作量
(6)事后总结
(7)提出过程改进计划
5.PSP特点
(1)不局限于某一个软件技术,而是着眼于软件开发的流程,这样开发不同应用的软件工程师可以相互比较。
(2)不依赖与考试,而主要靠工程是自己手机数据,然后分析,提高。
(3)PSP依赖于数据,需要工程师输入数据,记录工程师的各项活动,再加上数据不准确或者有遗失。
(4)PSP的目的记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度。
通过本章的学习,了解了一些使用VSTS来写单元测试的方法,学会如何创建单元测试函数,同时学习了通过效能分析工具来改进程序。