zoukankan      html  css  js  c++  java
  • (转)“黑盒测试管理”以外的编程经验片断,一些软件工程时间分配的启示

    (转自)http://www.cnblogs.com/fjwuyongzhi/archive/2007/04/28/730939.html

    除了很好地进行“黑盒测试管理”,个人觉得下述更值得用功;毕竟“前除后略”!

    1、架构和算法的可行性测试分析:主要包括性能、并发等方面

    2、CodeReview:很简单,但很多人没有这样做;其实这比“黑盒测试”更容易发现边界问题、流程正确性问题等。值得推广!

    3、测试驱动和单元测试,很多人为了达到那些并不太懂编程管理层的要求,往往是少了这些看似不容易出成绩的步骤。(很大程度上改变设计思维)
     知道可能出错的地方,当然容易避免出错。

    4、UML和用例:特别是UI建模,个人觉得最不可少;UML和用例至少要能覆盖核心内容。

     具体如何做,要根据每个人、每个单位甚至每个项目做具体优化,这里提供思路。

    5、用心架构(各功能模块的关系<用例等>、分布式计算的节点关系<即分层>、类的层次结构<UML图>、升级的备案、数据库架构、数据库表的范式<ER图>、并发访问和多线程等):不好的架构,Code起来吃力、问题又多又不好解决!以个人的经验认为,一般可分为六个阶段

      A 用户需求收集、访谈和确认-->B 架构和可行性分析并文档化--> C 开发测试部署和维护详细计划--> D1 单元编码、测试<-->D2 部署测试--> E1 开发环境集成和测试--> E2 真实环境模拟测试-->E3 部署预演-->(原系统备份)-->F 部署

     1) 各阶段主要的“产出”(不考虑投入)
    A:需求说明书、UI建模、用例和UML图和系统使用帮助文件初稿、系统可能存在的风险报告
    B:系统架构图(逻辑图和物理图)、核心算法代码和测试报告、第二方和第三方组件的风险分析报告
    C:系统各模块的详细说明书,数据库架构和测试,各功能的开发、CodeRivew和测试计划、部署计划(相当于每日构建)、集成测试计划、系统的升级考虑和方案。注意,尽可能在Code前将数据库可能的问题解决掉!
    D:代码、BUG管理、可执行文件、开发环境、测试环境
    E:可发布的安装包、最终用户文档、修改之前相关的文档到和现在的系统一致
    F:可能的问题预案、安装和不断依实际情况优化,进入维护阶段

     2)时间分配:A:B:C:D:E:F=10:10:20:50:5:5,A阶段的时间这里指项目启动时算起,启动前的时间不计在内。
    真正的Code时间一般可能占50%
  • 相关阅读:
    A basic Windows service in C++ (CppWindowsService)
    json转换为键值对辅助类
    函数参数复习
    python --------------网络(socket)编程
    计算器
    python------------------异常处理
    hashlib,configparser,logging模块
    面向对象之反射及内置方法
    python之--------封装
    继承进阶
  • 原文地址:https://www.cnblogs.com/gghxh/p/731180.html
Copyright © 2011-2022 走看看