text: 软件测试和软件开发的关系是怎样的？
  软件开发与软件测试都是软件项目中非常重要的组成部分，软件开发是生产制造软件产品，软件测试是检验软件产品是否合格，两者密切合作才能保证软件产品的质量。
  软件中出现的问题并不是由编码引起的，软件在编码之前都会经过问题定义、需求分析、软件设计等阶段，软件中的问题也可能是前期阶段引起的，如需求不清晰、软件设计有纰漏等，因此在软件项目的各个阶段进行测试是非常有必要的。测试人员从软件项目规划开始就参与其中，了解整个项目的过程，及时查找软件中存在的问题，改善软件的质量软件测试在项目各个阶段的作用如下所示。
  (1)项目规划阶段：负责从单元测试到系统测试的整个测试阶段的监控。
  (2)需求分析阶段：确定测试需求分析，即确定在项目中需要测试什么，同时制订系统测试计划。
  (3)概要设计与详细设计阶段：制订单元测试计划和集成测试计划。
  (4)编码阶段：开发相应的测试代码和测试脚本。
  (5)测试阶段：实施测试并提交相应的测试报告。
  软件测试贯穿软件项目的整个过程，但它的实施过程与软件开发并不相同。软件开发是自顶向下、逐步细化的过程，软件计划阶段定义软件作用域，软件需求分析阶段建立软件信息域、功能和性能需求等，软件设计阶段选定编程语言、设计模块接口等;软件测试与软件开发过程相反，它是自底向上、逐步集成的过程，首先进行单元测试，排除模块内部逻辑与功能上的缺陷，然后按照软件设计需求将模块集成并进行集成测试，检测子系统或系统结构上的错误，最后运行完整的系统，进行系统测试，检验其是否满足软件需求。
  软件测试与软件开发的关系可用下图表示，其中图b为图a的细化。