zoukankan      html  css  js  c++  java
  • 构建之法阅读心得(二)

      第二章中,作者写到了好的单元测试的标:单元测试应该在最基本的功能/参数上验证程序的正确性、单元测试必须由最熟悉的人来写、单元测试过后,机器状态保持不变、单元测试要快、单元测试应该产生可重复、一致的结果。独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。单元测试应该覆盖所有代码路径,但是100%的代码覆盖率并不等同于100%的正确性、单元测试应该集成到自动测试的框架中、单元测试必须和产品代码一起保存和维护。 

    程序要进行单元测试来保证程序的健壮性。

    还要进行回归测试,就是在原版本上运行的测试用例通过的话,在下一版本上再运行时,却没有通过,这就是软件"退化",所以需要进行回归测试。在新版本上运行所有已经通过的测试用例,来验证后面的版本没有出现软件"退化"的情况。

    但是如果是模块功能发生了变化,那么测试用例也需要修改来测试新的模块。

    程序还要进行效能分析,这个是以前从来没有了解过的。就是找出程序运行时,哪个函数或方法消耗的时间多,就是程序运行的瓶颈所在,进行效能分析,从而对相应模块的代码进行优化。进行效能分析的方法有抽样和代码注入,各有优缺点。不过普遍用的是先用抽样方法找到瓶颈所在,然后对特定模块的代码用代码注入的方法进行详细分析。还要注意避免没有做分析就过早进行"效能提高"。

    对程序员或者工程师是有能力成熟度模型的。工程师在需求分析和测试上花的时间更多,而在具体编码中比大学生花的时间少一半多,从学生到职业程序员,以后在写代码的时间会少很多,更多是用在分析上。  

  • 相关阅读:
    android29
    android28
    android27
    android26
    Dynamics CRM2011 MspInstallAction failed when installing an Update Rollup
    Dynamics CRM Import Solution Attribute Display Name description is null or empty
    The service cannot be activated because it does not support ASP.NET compatibility
    IIS部署WCF报 无法读取配置节“protocolMapping”,因为它缺少节声明
    Unable to access the IIS metabase.You do not have sufficient privilege
    LM算法与非线性最小二乘问题
  • 原文地址:https://www.cnblogs.com/panjiawei/p/6713246.html
Copyright © 2011-2022 走看看