开始学习微软的缺陷管理方法(6)

发表于:2011-11-02来源:未知作者:领测软件测试网采编点击数: 标签:缺陷管理
逻辑设计:把概念设计的表达(概念元素及其关系),映射成程序世界能够接受的逻辑表达;侧重体系结构的创建。 描述设计组织的解决方案及其元素间通讯

  逻辑设计:把概念设计的表达(概念元素及其关系),映射成程序世界能够接受的逻辑表达;侧重体系结构的创建。

  描述设计组织的解决方案及其元素间通讯,给出解决方案的初步视图;基于前一阶段的成果-场景,设计对象与服务,用户界面原型,以及逻辑数据库。

  物理设计:设计的实现,同样不用编程语言表示;精确定义元素及其交互接口,进行数据库物理设计,提供用户界面规格说明;重点在于编写各对象/模块/构件的规范说明,接口和关键的算法描述。

  一种基于服务的方法,将解决方案映射到分布的单元上,考虑实现的技术约束与性能问题。

  2) 提交成果

  功能规范:

  产品及其特性集的详细描述;为客户与项目组间契约,也是制定主计划和主进度表的基础。

  内容包括:前景概述,设计目标,产品需求(优先需求与冲突平衡),用户概述,特性,产品依赖性(高层依赖为外部系统,底层依赖为共享构件),进度描述,风险,附录(设计过程的输出)。

  项目主计划:汇总各分计划,说明产品如何构造;包括:开发计划,测试计划,培训计划,用户支持计划,市场宣传计划,部署计划等。

  项目主进度表:同项目主计划一一对应

  主风险评估文档:提供项目风险整体视图,导出高层决策和工作的优先级。

  3 Developping Phrase

  Code Review: 提高代码质量,加快开发进度(节约了测试与维护时间),提供培训开发者的方法,增强代码的可维护性。

  Daily Build:隔离缺陷,减少集成风险;较早发现缺陷;保持对项目进度的监控。

  4 Stablizing Phrase 产品测试,项目总结评审

  property: 表示对象状态的数据集;attribute:不是早期面向对象数据集统称的属性,而是说明对象性质与方法的metadata,特别是共享对象。

  构件:一个应用逻辑单元,提供一组只能通过已发布的接口或契约,来访问的服务集合;从程序角度,构件即共享的类对象。

  接口:构件与外界的界面,方法的简要规格说明,包括方法类型,方法名及参数表;是对构件中提供的服务的引用端口。

  契约:一种特殊接口,对象间商定的相对固定的接口。如:构件P为了实现服务C,要求对象Q为它提供服务E,接口E即 PQ间的契约。接口类也是一种契约,规定该做什麽,而构件实现怎麽做。

  RPC为底层的交互标准,可用来调用远程动态链接库;DCOM正是在RPC技术上构建的。 TCP/IP协议套接字组成了另一种供构件在网络上交互的底层协议。

  远程数据对象RDO (Remote Data Object),数据访问对象DAO (Data Access Object),及开放数据库连接 ODBC (Open Data Base Connection),为构件用来与数据库交互的三种数据访问技术。ODBC 性能最好,其次是 RDO和 DAO;而DAO 提供了丰富的编程接口,易于使用,其次才为RDO 与ODBC。

  微软测试阶段

  planning: test manager 写test plan,关于资源,测试目标;

  coding:制定详尽的测试用例,放入database;CC要实现产品的最基本功能,推出一个可测试的版本!

  fix bug: 从cc到release进行多次测试迭代;产品的specification在此阶段,也不断动态更新;

  alpha,beta:进入beta测试阶段,UI被freezed,不能修改; 写帮助文档的启动工作;

  release candidate: RC阶段不允许提交代码,遇到非改不可的bug则推出下一个RC;针对每一个,对应一次完成的测试过程;

  release:此版本的尚存的bug应是可以容忍

  bug court 由test manager ,developer manager,requirement manager 三人裁决;specification 由designer制定; detail design由程序员完成,并提交详细设计报告;一般而言,此报告比较简单,关键还要看代码;代码的注释通常清晰详尽。

  BVT, stress, full test pass, adhoc test, bug regress, risk areas, change role test

  MS的BVT测试自动化进行,验证底层的service or driver,覆盖到每一个build;此类测试用在界面上GUI方面,结果不太可靠。

  full test pass:比较消耗时间,一般在一个里程碑处才进行;full test pass, bug regress在项目后期,bug较少时进行才有意义。

  change role: 当一个RC测试时间较长时,如两周,为了保证对bug的敏感度,可考虑人员交换模块测试;但一个release内仍以专人负责制定部分为主。

  测试报告字段

  Title,Severity,Priority,Reproduce Steps,Assigned To,Status(active, resolved,closed),attachment,link to previous bug(Bugs in database are not allowed to be deleted),Test enviroment,Build No.,Areas(modular),Reasons(filled by developer)

  不可复现的bug不能添入数据库;因为不知造成问题的真正原因,无从查起!

  测试经理提交每周发现的,解决的,及每个成员bug统计的周报;并绘制趋势曲线图,展示bug发现与解决的相对速率。

  工作分配的再调整,依据团队发现bug的统计规律;个人绩效评估很大程度上依据发现的bug数量。

原文转自:http://www.ltesting.net