@<font color="red”> 本文为"software testing"一书的读书笔记 @</font>

产品的组成部分

  1. 用户需求
  2. 产品说明书
  3. 进度表
  4. 设计文档
    • 架构
    • 数据流程图
    • 状态转换图
    • 流程图
    • 易懂的代码
  5. 测试文档
    • 测试计划
    • 测试样例
    • bug报告
    • 测试工具
    • 测试总结

软件项目人员组成

  • 项目经理: 写产品说明书,管理进度,做重要决定
  • 系统架构师: 设计整个项目的架构,通常是技术专家。
  • 程序员: 设计并写代码。
  • 测试师或QA(quality assurance): 找出并报告软件的错误
  • 技术文档编写者: 写用户文档,技术文档的。
  • 配置管理和软件打包者: 把软件文档等打包,写安装说明的

软件开发生命周期模型

大爆炸模型

源自宇宙大爆炸,很多人和材料聚集在一起,开发一个项目,没有太多的用户需求书, 产品说明书之类的东西,开发时间无法确定,一般不需要专门的测试师,这种模型适合 那种不成熟的,需求非常明确的的项目。

code-and-fix模型

开始于一份不怎么正式的产品说明书,然后进入编码->解决bug->编码->…的循环中, 这种模型适合于小项目,软件测试师一般在循环里面不断地报告bug。

瀑布模型

主要流程为:idea->analysis->design–>development->test–>final product 每做完一步,都要回顾一下前面的有没有做好,能不能进入下一步。 一旦处在中间的某个步骤,你就不能回头,除非重做。

螺旋模型

把整个项目分为多个层次,每个层次其实是一个瀑布模型里面的各个步骤,做完一个层次, 开始准备下一个层次,并修正上一个层次的错误,如此下去,就像一个螺旋,把项目越做 越大。 ~/pictures/spiral.jpg