好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

完整的软件项目投标技术方案之测试管理.docx

27页
  • 卖家[上传人]:碎****木
  • 文档编号:229356888
  • 上传时间:2021-12-25
  • 文档格式:DOCX
  • 文档大小:236.40KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 完整的软件项目投标技术方案之测试管理目录1.1 软件测试管理 11.1.1 概述 11.1.2 应用软件测试方案 21.1.3 流程 201.1.4 制定总体计划 201.1.5 测试设计 211.1.6 执行测试 211.1.7 过程记录 231.1.8 缺陷处理 231.1.9 指导文件 251.1.10 生成文档 251.1 软件测试管理1.1.1 概述软件测试是项目建设过程中一个非常重要的环节,也是本项目建设实施过程中的重要任务,运用软件测试方法对项目中的软件系统进行项目质量控制,其目的在于:l 核实软件的所有构件是否正确集成;l 核实所有需求是否已经正确实施;l 确定缺陷并确保在部署软件之前将缺陷解决因此在系统建设期间,必须建立严格的测试管理系统,制定测试策略,制定详尽的测试计划,开发相应的测试系统,采用合适测试方法、选择测试内容、确定测试步骤及日程、对测试人员进行组织和分工、选择测试工具、处理测试数据、审核测试结果和归档测试结果文档本工程项目测试任务主要是应用软件测试应用软件测试部分将分成两部分介绍:面向对象的测试方法、RUP(Rational Unified Process)测试过程,在面向对象的测试方法中将说明本工程中应用软件的面向对象的测试模型、面向对象分析的测试、设计的测试和编程的测试。

      因本工程应用软件的测试流程将采用 RUP 流程,所以本方案建议书将就本工程应用软件的测试部分的测试策略、测试生命周期,测试评估和测试人员职责和测试步骤、测试文档要求作详细说明以下列出必要的场地和资源需求:阶段任务要求已有系统需求和模型研究需要能够提供可用的模型系统和说明案例需求分析和总结需要提供项目组必要的场地和硬件架构设计需要提供项目组必要的场地和硬件设计性能和安全性设计需要提供项目组必要的场地和硬件模型分析和模块划分需要提供项目组必要的场地和硬件架构和开发环境部署和实施需要提供项目组必要的场地和相关硬件设备开发编码在现场开发时,需要提供项目组必要的场地和测试系统使用性测试需要提供项目组必要的场地和测试系统所需软硬件测试压力测试需要提供项目组必要的场地和测试系统所需软硬件.测试脚本需要提供项目组必要的场地和测试系统所需软硬件 ,测试情景整体测试和数据文档文档和发布需要提供项目组必要的场地和硬件1.1.2 应用软件测试方案在本项目中,对所有应用软件系统将采用的面向对象的测试方法,按照RUP(Rational Unified Process)所规定的标准化测试过程实施测试,因此在本测试方案建议中将祥述面向对象的测试方法和 RUP 测试流程。

      1.1.2.1 面向对象的软件测试方法广义的应用软件测试实际是由确认、验证、测试三个方面组成l 确认:是评估将要开发的软件产品是否是正确无误、可行和有价值的如,将要开发的软件是否会满足用户提出的要求,是否能在将来的实际使用环境中正确稳定的运行,是否存在隐患等这里包含了对用户需求满足程度的评价确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测l 验证:是检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致验证意味着确保软件是会正确无误的实现软件的需求,开发过程是沿着正确的方向进行l 测试:与狭隘的测试概念统一通常是经过单元测试、集成测试、系统测试三个环节在整个软件生存期,确认、验证、测试分别有其侧重的阶段确认主要体现在计划阶段、需求分析阶段、也会出现在测试阶段;验证主要体现在设计阶段和编码阶段;测试主要体现在编码阶段和测试阶段事实上,确认、验证、测试是相辅相成的确认无疑会产生验证和测试的标准,而验证和测试通常又会帮助完成一些确认,特别是在系统测试阶段面向对象技术产生更好的系统结构,更规范的编程风格,极大的优化了数据使用的安全性,提高了程序代码的重用,但是尽管面向对象技术的基本思想保证了软件应该有更高的质量,但实际情况却并非如此,因为无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。

      因此,软件测试并没有面向对象编程的兴起而丧失掉它的重要性1.1.2.1.1 面向对象测试模型面向对象的开发模型将开发分为面向对象分析(OOA),面向对象设计(OOD),和面向对象编程(OOP)三个阶段针对面向对象软件的开发特点,应该有一种新的测试模型需求是信息系统建设的重要依据,结构清晰、逻辑完整的需求分析有助于准确定位项目目标与项目范围需求是项目总体方案的重要输入,作为招标文件响应的投标文件的需求分析必须反映项目建设目的与要求图 面向对象测试模型其中:OOA Test:面向对象分析的测试; OOD Test:面向对象设计的测试OOP Test:面向对象编程的测试; OO Unit Test:面向对象单元测试1.1.2.1.2 面向对象分析的测试(OOA Test)传统的面向过程分析是一个功能分解的过程,是把一个系统看成可以分解的功能的集合这种传统的功能分解分析法的着眼点在于一个系统需要什么样的信息处理方法和过程,以过程的抽象来对待系统的需要而面向对象分析( OOA) 是“把实体关系(E-R)图和语义网络模型,即信息造型中的概念,与面向对象程序设计语言中的重要概念结合在一起而形成的分析方法”,最后通常是得到问题空间的图表的形式描述。

      OOA 直接映射问题空间,全面的将问题空间中实现功能的现实抽象化将问题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂实例和复杂关系, 用属性和服务表示实例的特性和行为对一个系统而言,与传统分析方法产生的 结果相反,行为是相对稳定的,结构是相对不稳定的,这更充分反映了现实的特性OOA 的结果是为后面阶段类的选定和实现,类层次结构的组织和实现提供平台因此,OOA 对问题空间分析抽象的不完整,最终会影响软件的功能实现,导致软件开发后期大量可避免的修补工作;而一些冗余的对象或结构会影响类的选 定、程序的整体结构或增加程序员不必要的工作量因此,本文对 OOA 的测试重点在其完整性和冗余性尽管 OOA 的测试是一个不可分割的系统过程,为叙述的方便,对 OOA 阶段的测试划分为以下五个方面:l 对认定的对象的测试: OOA中认定的对象是对问题空间中的结构,其他系统,设备,被记忆的事件,系统涉及的人员等实际实例的抽象l 对认定的结构的测试:认定的结构指的是多种对象的组织方式,用来反映问题空间中的复杂实例和复杂关系认定的结构分为两种:分类结构和组装结构分类结构体现了问题空间中实例的一般与特殊的关系,组装结构体现了问题空间中实例整体与局部的关系。

      l 对认定的主题的测试:主题是在对象和结构的基础上更高一层的抽象,是为了提供OOA分析结果的可见性,如同文章对各部分内容的概要l 对定义的属性和实例关联的测试:属性是用来描述对象或结构所反映的实例的特性而实例关联是反映实例集合间的映射关系l 对定义的服务和消息关联的测试:定义的服务是定义的每一种对象和结构在问题空间所要求的行为由于问题空中实例间必要的通信,在 OOA 中相应需要定义消息关联1.1.2.1.3 面向对象设计的测试(OOD Test)面向对象设计(OOD)采用“造型的观点”,以 OOA 为基础归纳出类,并建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象OOD 归纳的类, 可以是对象简单的延续,可以是不同对象的相同或相似的服务由此可见, OOD 不是在 OOA 上的另一思维方式的大动干戈,而是 OOA 的进一步细化和更高层的抽象所以,OOD 与 OOA 的界限通常是难以严格区分的OOD 确定类和类结构不仅是满足当前需求分析的要求,更重要的是通过重新组合或加以适当的补充,能方便实现功能的重用和扩增,以不断适应用户的要求因此,对OOD 的测试,本文建议针对功能的实现和重用以及对 OOA 结果的拓展,从如下三方面考虑:l 对认定的类的测试:OOD认定的类可以是OOA中认定的对象,也可以是对象所需要的服务的抽象,对象所具有的属性的抽象。

      认定的类原则上应该尽量基础性,这样才便于维护和重用测试内容包括:n 是否含盖了OOA中所有认定的对象n 是否能体现OOA中定义的属性n 是否能实现OOA中定义的服务n 是否对应着一个含义明确的数据抽象n 是否尽可能少的依赖其他类n 类中的方法是否单用途l 对构造的类层次结构的测试:为能充分发挥面向对象的继承共享特性, OOD的类层次结构,通常基于OOA中产生的分类结构的原则来组织,着重体现父类和子类间一般性和特殊性在当前的问题空间,对类层次结构的主要要求是能在解空间构造实现全部功能的结构框架为此,测试如下方面:n 类层次结构是否含盖了所有定义的类n 是否能体现OOA中所定义的实例关联n 是否能实现OOA中所定义的消息关联n 子类是否具有父类没有的新特性n 子类间的共同特性是否完全在父类中得以体现l 对类库的支持的测试:对类库的支持虽然也属于类层次结构的组织问 题,但其强调的重点是再次软件开发的重用由于它并不直接影响当前软件的开发和功能实现,因此,将其单独提出来测试,也可作为对高质量类层次结构的评估拟订测试点如下:n 一组子类中关于某种含义相同或基本相同的操作,是否有相同的接口(包括名字和参数表)。

      n 类中方法功能是否较单纯,相应的代码行是否较少n 类的层次结构是否是深度大,宽度小1.1.2.1.4 面向对象编程的测试(OOP Test)典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变继承使得传统测试遇见了这样一个难题:对继承的代码究竟应该怎样测试?多态使得面向对象程序对外呈现出强大的处理能力,但同时却使得程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为在面向对象编程(OOP)阶段,忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格,主要体现为以下两个方面l 数据成员是否满足数据封装的要求:数据封装是数据和数据有关的操作的集合检查数据成员是否满足数据封装的要求,基本原则是数据成员是否被外界(数据成员所属的类或子类以外的调用)直接调用l 类是否实现了要求的功能:类所实现的功能,都是通过类的成员函数执行在测试类的功能实现时,应该首先保证类成员函数的正确性,可以使用传统的单元测试方法;类函数成员的正确行为是类能够实现要求的功能的基础,类成员函数间的作用和类之间的服务调用可以使用面向对象的集成测试方法。

      测试类的功能,不能仅满足于代码能无错运行或被测试类能提供的功能无错,应该以所做的OOD结果为依据,检测类提供的功能是否满足设计的要求,是否有缺陷必要时(如通过 OOD仍不清楚明确的地方)还应该参照OOA的结果,以之为最终标准1.1.2.1.5 面向对象的单元测试(OO Unit Test)传统的单元测试是针对程序的函数、过程或完成某一定功能的程序块沿用单元测试的概念,实际测试类成员函数一些传统的测试方法在面向对象的单元测试中都可以使用如等价类划分法,因果图。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.