个人技术和流程

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来写单元测试的方法,学会如何创建单元测试函数,同时学习了通过效能分析工具来改进程序。

时间: 2024-08-17 16:53:10

个人技术和流程的相关文章

【转】人,技术与流程

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Gobal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

个人技术和流程(构建之法)

一个成功的商业软件的发不可能是一个人单枪匹马做出来的,而是一个团队通力协作共同完成的.而团队并不能让每个人都了解你的程序,也不能让你了解每个人的程序.所以一个团队要想做出一款好的产品团队里的成员必须是一名合格的软件工程师.所以我们还要先掌握些基本的概念和技术比如说单元测试.回归测试和效能分析工具.同时一个团队需要一定得流程来管理开发活动每个工程师在软件的生命周期所做的工作也该有个流程,即个人软件开发流程. 单元测试是一种能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块.而且模块

构建之法(概论,个人技术和流程)

构建之法这本书第一章给我们讲述了软件以及软件工程的含义. 软件=程序+软件工程.书中用编写出加减法题目的程序的例子生动形象的说明了程序,软件,工程之间的关系,以及软件工程的一些概念.程序,在这里指的是源程序,就是一行行的代码.他们是建立在数据结构上的一些算法.但软件工程的内容远不止这些.软件工程的核心部分包括和软件开发活动(构建管理.源代码管理.软件设计.软件测试.项目管理)相关的内容.广义上的软件工程也包括用户体验.用户界面设计等.所以,一个推论是:软件=程序+软件工程,一个扩展的推论是:软件

人,技术与流程(转)

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Gobal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

人,技术与流程

Coding 孙宇聪:<人,技术与流程> https://blog.coding.net/blog/human-tech-procedure 我先做一下自我介绍,我是 07 年加入的 Google,在 Moutain View 总部任Google SRE,今年年初回国加入 Coding.在 Google 我参与了两个 Project, 第一个就是 Youtube, 其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,

Coding CTO 孙宇聪:《人,技术与流程》

我先做一下自我介绍,我是 07 年加入的 Google,在 Moutain View 总部任Google SRE,今年年初回国加入 Coding . 在 Google 我参与了两个 Project, 第一个就是 Youtube, 其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Golbal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.

构建之法 第二章 个人技术和流程

这一章重点介绍的是以前了解过但未曾注重过的单元测试&回归测试:个人技术素养是团队协作的基础. 1.VSTS单元测试 源代码 public Class User() { public User(string userEmail) { memail = userEmail; } private string memail;//private变量拒绝外部类访问(除非用get/set方法) } 测试代码1 public void ConstructorTest() { string userEmail

影响质量的三要素:技术,流程,组织。他们之间的关系是什么?他们怎么影响了软件的质量?

流程 从计划到策略的实现,流程就是按照这种思维方式指导软件开发的,并且流程来源于成功的经验,可以指导项目少走弯路,从而提高软件质量,不仅如此,流程还对项目的成本和进度控制有很大的帮助技术 包括了分析技术.设计技术.编码技术.测试技术,需求是项目的灵魂,良好的需求分析便是项目成功的关键所在,若是需求分析做不好不可避免的要出现返工:设计,软件的质量是设计出来的,良好的设计基本上决定了软件产品的最终质量:编码技术产生正确高效的代码:测试是保证软件的一道防线.所以各种技术对质量来说都是很重要的组织 好的

文思海辉技术有限公司——流程管理架构平台应用

一.项目简介 1.客户介绍 文思海辉技术有限公司的前身分别是文思信息技术有限公司和海辉软件(国际)集团公司,这两家公司都是软件外包服务提供商.之后宣布合并,合并的公司中文名称为"文思海辉技术有限公司" 文思海辉一直致力于为全球客户提供世界领先的商业/IT咨询.解决方案以及外包服务,在金融服务.高科技.电信.旅游交通.能源.生命科学.制造.零售与分销等领域积累了丰富的行业经验,主要客户涵盖众多财富500强企业及大中型中国企业.凭借专业的交付能力,帮助客户在全球市场中赢得成功.目前公司拥有