软件开发阶段

上一篇 / 下一篇  2007-09-29 17:59:54 / 个人分类:个人学习

软件开发的阶段描述:
1、规划阶段
   规划阶段内容包括:第一、目标阐述,规划人员描述自己对产品的构想,提交规划文档,假设性地描述用户界面,可靠性或性能目标。阐述目标的意义在于为开发团队提供一个努力方向;第二、需求分析,需求即指必须实现的目标,规划人员将需求转化为功能性的术语,并提供软硬件开发方案;第三、功能定义,功能定义是需求分析和工程设计文档之间的联系桥梁,需求分析是面向营销读者,对于实际开发人员来讲,会显得含糊、不完备,功能定义将市场需求转化为一系列特征、功能和报告,能让开发人员更容易了解功能目标。
   基本上规划阶段的结束标志是三份文档:目标概述文档,需求分析文档,功能定义文档。
   针对规划阶段,测试的对象应该是“主意”,而不是代码,换句话说,是对规划文档进行静态测试(通过对文档的阅读,凭经验及知识从文档中找出错误或不足)。
  规划阶段可能还包含产品对照评价、重点问题小组审核、任务分析,这需要根据实际情况而决定是否进行。

2、设计阶段
   设计阶段主要分为:外部设计,外部设计主要是指界面、输入输出等与用户交互部分的设计,外部设计会生成外部规格说明文档,这将会是编写用户手册的重要依据;内部设计,包括结构设计(将功能模块化,再进行分解,定义模块间通信方式、协议等),数据设计(数据库选择、数据库结构、数据存储方式的设计),逻辑设计(功能的业务逻辑设计),原型设计(设计实际系统的原型,一般用伪代码实现)。
   在设计阶段,还是一点代码没有,跟规划阶段时候一样,主要通过文档,看设计是否良好,是否完备,尤其需要留意对错误处理的涵盖程度,避免遗漏。

3、编码阶段
   根据设计文档,进行实际编码工作
   编码阶段的测试主要以白盒测试为主,包括重点测试、测试覆盖、控制流、数据完整性、内部边界、特定算法测试,由程序员在实施编码的同时进行白盒测试是最方便的,而白盒测试中的结构测试(选择合适的程序或子程序路径进行测试)是普遍的做法,而真正的测试人员应该协助程序员进行结构测试,同时也要根据需求,进行黑盒测试的功能测试
   在编码阶段应该以白盒测试为主,黑盒测试为辅。
   通常白盒测试中所讲的路径覆盖,是指针对程序或子程序,将从程序入口到程序出口的所有可能路径进行测试,当然,这是不可能的,因此为确保路径覆盖的可信性,需要根据一定准侧进行路径覆盖,准则从弱到强分别是:语句覆盖(所有语句都走一遍),分支覆盖(测试所有的语句和分支),条件覆盖(对所有程序条件与你想那个一遍)。
   上边描述的是从细节上对程序进行的测试策略描述,可以将种测试策略应用模块测试,单元测试或部件测试等独立的测试过程中,而这些测试策略从整体上讲是增长测试策略的前半部分,后半部则是集成测试,增长测试策略优点在于,容易确定错误发生的原因以及错误存在的地方,这是因为使用了单元测试、模块测试等子程序测试方法,进行集成测试的时候,也是随着编码过程,将单元模块慢慢集成,容易发现相互间的冲突问题。而增长测试策略的问题在于,需要引入桩模块(替代被调用的函数)进行测试,对于测试人员来说是一个挑战。

4、测试阶段
   当编码完成以后,就是测试人员最繁忙的时候。
   测试阶段采用黑盒测试为主,根据需求制定测试计划,编写设计测试用例。测试阶段进行的测试基本上是系统测试(根据需求的业务流程,对开发完成的系统进行测试),完整性测试(比对需求,看功能、业务实现是否完整),回归测试(发现错误问题,改正错误问题,重新执性问题的测试过程)。而在系统测试时候,性能测试(对每项任务执行的耗时进行测试),负载测试(负荷测试、强度测试、存储测试的合称),安全性测试,正确性测试是比较重要的测试(个人认为),至于其他:可用性测试,边界条件测试,状态转换测试,主流应用测试,背景测试,错误恢复测试,兼容性测试,配置测试,可安装型测试,验收测试等系统测试的组成可以根据实际情况进行选择。

5、维护
   维护可以说是一个软件项目中最贵的一部分,基本上测试人员要做的就是回归测试,再现问题,解决问题。


TAG: 个人学习

 

评分:0

我来说两句

日历

« 2024-05-17  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4289
  • 日志数: 6
  • 建立时间: 2007-09-28
  • 更新时间: 2007-10-15

RSS订阅

Open Toolbar