上海市软件质量测试专业技术职业资格-培训标准模块1搭建软件测试环境2007年8月上海市软件质量专业技术职业资格专家委员会上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会2学习要求:•通过本模块的学习,学员应:–了解建立测试环境的一般要求,–掌握软件测试环境要素和测试平台质量控制,–精通建立软件测试环境的工作过程。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会3本模块内容要点:4.1测试的相关标准4.2测试环境要素4.3测试工具4.4建立测试环境的工作过程4.5测试平台质量控制上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会44测试环境-概述•被测软件应在产品描述中提及的所有的计算机系统环境中进行测试。•测试环境涉及测试的硬件配置、软件配置、网络配置、系统相关的接口、相关外部设备、产品文档、测试用的相关标准、测试用的数据、测试用例、测试工具、测试人员等方面的环境因素。搭建一个特定需求的测试环境,是上述诸因素有机组成的集合。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会54测试环境-概述•相关定义:–测试驱动程序testdriver一种软件模块,它用于驱动测试下面的程序单元,并常常提供测试输入、控制和监督执行并报告测试结果。–桩模块(存根)stuba.一种软件模块的框架或特殊目的的实现,它用于开发或测试调用它或依赖于它的模块。b.用于代替软件模块体的计算机程序语句,该模块时在别处定义或将在别处定义。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会64测试环境-概述•相关定义:–探测器explorer在软件或系统测试中,在硬件或软件中安装或插入设备或指令,以监视系统或部件操作的程序。–比较器comparator用来比较两个计算机程序、文件或数据集合的一种软件工具,目的是找出其共同点或不同的地方。比较的典型对象是源代码、目标代码、数据库文件的相似版本或测试结果。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会74.1测试的相关标准上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会8本模块内容要点:4.1测试的相关标准4.2测试环境要素4.3测试工具4.4建立测试环境的工作过程4.5测试平台质量控制上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会94.2测试环境要素环境设备•位置•空间•安全性硬件•计算机平台•打印机•扫描仪•调制解调器•仿真器通信•网关•连接•授权•协议接口•内部•外部人员•用户•开发员•操作员•测试员•观察员供给•标记卡•表格•纸张软件•待测软件•操作系统•共驻软件•测试支持程序•测试数据•测试规程文档•需求•设计•用户操作上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会104.2.1人员要素•原则:测试工作中人员要素主要关注特定测试任务的胜任能力、参与测试的人员组成。•不同的测试策略参加的人员和要求是不同的。1)单元测试的人员要素:(1)一般由开发人员在开发组组长的监督下进行;(2)开发人员应交叉测试不是自己编制的程序;(3)有必要配备一个独立观察员监视测试过程。–独立观察员可以是开发组组长或其他组员。–测试组组长应进行检查。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会114.2.1人员要素2)集成测试的人员要素:(1)一般由开发组在项目经理的组织下进行;(2)测试组长负责测试的质量控制和监督;(3)应邀请一个用户代表非正式观看集成测试,特别是测试到系统的业务逻辑或用户接口的操作方面时;(4)应由一名独立的测试观察员监控测试过程。-独立观察员可以是公司QA小组成员,或是其他项目组成员。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会124.2.1人员要素3)确认测试的人员要素:(1)由开发方组织,用户代表参加;(2)在测试组长的监督下由测试组进行;(3)软件开发组长、系统设计与开发人员应有代表参加;(4)测试工程师负责执行测试脚本和测试用例;(5)应由一名独立的测试观察员监控测试过程。-独立观察员应是公司的QA小组成员。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会134.2.1人员要素4)系统测试的人员要素:(1)在测试组长的监督下由测试组进行;(2)测试分析工程师、计算机系统工程师、网络工程师;(3)用户代表;(4)测试工程师负责执行测试脚本和测试用例;(5)应由一名独立的测试观察员监控测试过程。-独立观察员应是公司的QA小组成员。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会144.2.1人员要素5)验收测试的人员要素:(1)在测试组的协助下由用户代表执行;(2)测试组长的监督测试过程和质量控制;(3)测试工程师协助用户代表执行用户验收测试的测试脚本;(4)应由一名独立的测试观察员监控测试过程,并解释测试用例的结果。–独立观察员应是公司的QA小组成员。–独立观察员应扮演用户的“保镖”的角色,防止测试工程师“强制”用户接受测试结果。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会154.2.2计算机硬件系统要素•计算机硬件的配置、外部设备的型号规格、网络配置应尽可能与产品描述中提及的一致。–计算机硬件平台:•CPU主频、RAM容量、硬盘容量、网卡速率、显示器…–外部设备型号规格:•打印机、扫描仪、调制解调器、仿真器、…–网络系统:•网络拓扑结构、通信网关、通信协议、通信速率、授权等–硬件系统的状态、位置、空间和安全性等上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会164.2.3计算机软件系统要素•计算机软件系统的配置、版本、性能应尽可能与产品描述中提及的一致。–操作系统的版本–数据库系统的版本–网络软件的版本–共驻软件的清单和版本–支持软件的清单和版本,如:中间件、库文件、驱动测试、桩模块…–以及上述各类软件的接口和获取方式上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会174.2.4测试数据要素•不同的测试策略采用数据是不同的。1)单元测试:•采用模拟数据。2)集成测试:•在集成测试中不可能使用真实的数据,测试工程师应手工制作的一部分有代表性的数据。3)确认测试:•数据应尽可能地像真实数据一样的精确和有代表性。4)系统测试:•真实数据的一个子集。5)验收测试:•有代表性的业务处理数据。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会184.2.5文档要素•应采用最新版本的文档,在开发过程中修改过的地方均应包含在最新的版本中。不同的测试策略需要的文档是不同的。1)单元测试:详细设计说明书,包括相关算法和流程。2)集成测试:概要设计、详细设计说明书,包括软件系统架构和接口要求。3)确认测试:软件需求说明书、用户手册、相关法律法规等。4)系统测试:系统设计说明书和软件需求说明书、用户手册等。5)验收测试:合同、系统设计说明书和软件需求说明书、用户手册等。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会194.2.6测试工具要素•测试工具testtools支持测试的软件工具。主要有八种类型:a.数据实用程序,包括测试数据生成器、编辑器、打印格式化程序及分析器;b.模拟器,配置环境并用一种受控的可重复方式生成输入;c.用于文件和数据流的比较器;d.捕捉—回放,包括脚本工具和回归测试器;e.跟踪和覆盖分析器;f.程序分析器:路径搜索器、重构程序及动画显示工具;g.交互式调试器;h.扩充的高级CASE工具,它们可用于从规约中产生测试规划并提供测试包的可跟踪性。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会20本模块内容要点:4.1测试的相关标准4.2测试环境要素4.3测试工具4.4建立测试环境的工作过程4.5测试平台质量控制上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会214.3.1自动化测试工具分类•测试工具分类:–软件测试管理工具–功能测试工具–性能测试工具(性能、负载、压力)–嵌入式软件测试工具上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会224.3.2测试管理工具的功能与特点•软件测试管理工具的功能–控制对象的编辑和管理–测试流程的控制和管理–统计分析和决策支持•管理的主要内容–需求分析(RequirementManagement)–测试计划(TestPlanning)–运行(Execute)–缺陷管理(DefectManagement)上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会234.3.2测试管理工具的功能与特点•软件测试管理举例–CompuwareQADirector:分布式,多平台,可以和Reconcile、Doors等需求管理工具集成–MITestDirector:可以对黑盒、白盒测试进行统一管理,基于Web–SegueTestManage:上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会244.3.2测试管理工具的功能与特点•软件测试需求管理工具–测试需求管理是测试过程管理的第一步;–根据用户需求定义测试需求,测试需求的满足情况是决定最终产品成败的判定基础,对最终产品的测试评估必须以产品所试图满足的需求为标准。•相关的工具举例:–CompuwareReconcile:跟踪变更的历史和评审轨迹,通过Web将所发生的变更通知相关的团队成员,采用多用户访问方式工作。上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会25Reconcile是一个企业级的需求管理方案系统。它允许项目团队创建、变更、追综和报告项目需求。Reconcile与强大的MicrosoftWord、灵活的关系型数据库、以及它简单的项目浏览界面结合,以提供需求管理的全面解决方案。当它与Compuware公司的TrackRecord和QADirector结合在起工和时,可以提供超乎想象的需求管理功能,它使测试人员可以对项目进行全程监控,从计划、到调试直至开发测试。Reconcile帮助确保每一个人与项目有联系的工作人员能够及时了解项目的业务、功能、及测试需求,以及他们之间的关系,以避免引起严重的进度失误和应用失败。Reconcile特点:上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会26Reconcile上海市软件质量测试专业技术职业资格-培训标准模块上海市软件质量专业技术职业资格专家委员会28SilkCentralTestManager(1)–可通过Web访问中央储存库,随时随地访问测试资产和测试报告;–可通过多种来源获取并组织需求及规范,如:BorlandCaliberRM、IBMRationalRequisitePro、MicrosoftWord和Excel。将需求与测试计划关联,可以对缺陷进行充分的跟踪和报告。并提供测试需求变更控制功能;–创建手工及自动测试计划,并根据任务定义测试流程;–通过Web创建并执行项目和回归测试。在中央地点自动调度一个脚本后,可以同时在多台机器、多种环境下运行;–可与SilkTest、SilkPerformer、SilkPeformerLite、SilkPerformerComponent