13.1配置测试的概述配置测试(ConfigurationTesting)是重要的,它是测试和验证被测软件在不同的软件和硬件配置中的运行情况,覆盖了各种软件、硬件环境。配置测试就是测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。软件测试技术研究组·中国信息大学13.1.1软件配置管理的概念软件配置管理的概念讨论的内容有:软件配置管理的定义、软件测试配置管理的任务、软件测试配置管理的目的、软件测试配置管理的基本目标、软件测试配置管理的执行约定、软件测试配置管理的执行能力、软件配置测试管理组负责协调的工作、软件配置测试管理的流程、软件测试配置管理的关键活动、软件配置管理要求、配置测试的前提条件、配置测试的范围、配置测试的目标、测试配置管理人员工作的主要内容13.1.2软件配置管理的定义软件配置管理定义的要素包括:★标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取;★控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问题;★基线:基线是软件文档或源码(或其它产出物)的一个稳定版本,对软件产品的重现性、可追踪性和报告。★状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题;★审计和审查:确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否正确的问题;★生产:对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题;★过程管理:确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将解决要交付给用户的产品是否经过测试和质量检查的问题;★结构:表示产品的架构;★创建:支持产品的构建及其产品的附件。★审核:对产品及其过程的审核予以保留。★统计:采集与产品、过程相关的数据。★控制:控制产品变更的方式及时间。★过程:支持产品演变的管理。★团队协作:促进项目组开发及产品维护。13.1.3软件测试配置管理的任务软件测试配置管理的任务主要包括:★制定软件测试配置管理计划,建立软件配置管理机构;★在给定时间点上对软件测试配置管理项进行标识;★系统地控制软件测试配置管理项的更动;★配置状态报告;★配置审计;★在整个软件测试期内,按规程对软件配置管理项进行存储、处理、发行管理和交付。13.1.4软件测试配置管理的目的★软件测试配置管理活动是有计划的。★所选定的软件工作产品是经过标识的、受控制的和可用的。★对已标识的软件产品进行变更是受控制的。★受影响的组和个人能及时得到软件基线的状态和内容。13.1.5软件测试配置管理的基本目标★软件配置管理的各项工作是有计划进行的;★被选择的项目产品得到识别,控制并且可以被相关人员获取;★已识别出的项目产品的更改得到控制;★使相关组别和个人及时了解软件基准的状态和内容。★验证应用程序(即,确定它是否满足了它的配置要求)。★确定配置问题的软件出错。★帮助识别那些不能有效地在单元和集成测试发现的一些缺陷:功能变体、国际化(例如,多语言,货币,税收和关税,时区等)、个性化这些故障报告的开发团队,使相关的缺陷可以修复的。★决定增加或修改,如硬件资源的影响:内存、磁盘和磁带资源、处理器、负载均衡★确定最佳的系统配置。13.1.6软件测试配置管理的执行约定★明确项目SCM的机构(或人员)及其职责;★在项目的整个生命周期内实行SCM;★对交付用户的软件产品、指定的内部软件工作产品和指定在项目内部使用的支持工具都要实行SCM;★项目要建立专门的受控库(如数据库)和产品库用来存放软件配置管理项和相关SCM活动的记录。13.1.7软件测试配置管理的执行能力软件测试配置管理的执行能力要确保以下的必备条件:(1)建立一个有权力管理项目的软件测试配置控制组软件测试配置控制组主要负责以下工作:(2)建立软件测试的基线和标识软件测试配置的管理项;(1)代表项目负责人和受到软件测试基线影响的所有组的利益。13.1.8软件配置测试管理组负责协调的工作软件配置测试管理组负责协调以下工作:★创建和管理软件基线库;★制定、维护和分发SCM计划、标准和规程;★标识置于软件配置管理之下的软件工作产品,一个软件工作产品是由定义、维护、使用一个软件过程中所生成的任何人工制品组成。★更新软件测试基线。★生成基于软件测试基线库的产品。★记录SCM活动。★生成和发布SCM报告。13.1.9软件配置测试管理的流程13.1.10软件测试配置管理的关键活动★配置标识;★版本控制;★变更控制;★配置状态报告;★配置审计;★工作空间管理。13.1.11软件配置管理要求(1)配置管理适用的范围包括全部工作产品,研发中心各个部门的评审记录;(2)配置管理下的项至少应包括:工作计划、工作任务、工作周报、各种会议记录、经评审确认的工作产品、评审记录等。(3)配置管理命名规则:(4)配置库文件目录结构(5)角色和责任;(6)目录添加/修改/删除流程;(7)配置项的添加/修改/删除流程;(8)配置项的发布;(9)配置管理文档的保存;(10)配置库备份13.1.12配置测试的前提条件进行配置测试的需要以下几个前提条件:★进行配置测试的需求分析已经完成。★已完成应用程序的多个版本。★相关的软件组件已通过单元测试。★软件集成测试已经进行,但在配置测试开始之前软件组件必须已经安装在被测硬件设备上。★相关系统组件已通过系统集成测试。★在独立的测试小组配备足够的人员进行配置测试和训练。★配置测试环境准备完成。13.1.13配置测试的范围配置测试的目标是为了使软件在尽可能多的硬件平台上运作,那么进行配置测试一般需要测试它的硬件环境和软件环境。(1)硬件配置(2)软件配置13.1.14配置测试的目标★验证应用程序(即,确定它是否满足了它的配置要求)。★确定配置问题的软件出错。★帮助识别那些不能有效地在单元和集成测试发现的一些缺陷:功能变体、国际化(例如,多语言,货币,税收和关税,时区等)、个性化这些故障报告的开发团队,使相关的缺陷可以修复的。★决定增加或修改,如硬件资源的影响:内存、磁盘和磁带资源、处理器、负载均衡★确定最佳的系统配置。13.1.15测试配置管理人员工作的主要内容1.制定配置管理阶段2.测试项目执行阶段3.测试项目结项阶段13.2配置测试技术良好的测试方案有利于工作的进展,本节主要讨论配置测试设计、设计配置测试所用到的技术。希望这些技术设计高效可行的配置测试方案有所帮助。13.2.1配置测试设计★确定哪些功能是软件需要用到的,例如一个办公程序可能对显卡要求是很低的,没有必要去测试太多。又或者一个大型游戏根本不需要打印功能,那么就不需要管打印机了;★配置并测试市场上比较流行的软件,是可用的;★配置并测试哪些硬件特性,模式和选项是可用的;★在已有的测试集合里面挑选出一个可维护可管理的测试集,还是挑出表常见的硬件;★找出软件中对配置特别敏感的特有功能;★不同配置下的测试用例需要分别设计;★在每个配置环境下至少执行一边测试用例。13.2.2常用技术的使用1.多次单因素实验法的使用2.正交实验法的使用3.均匀设计法的使用13.3配置测试的主要内容•配置测试按照软硬件的划分分为软件配置和硬件配置的兼容测试。进行配置测试时通常习惯性的采用表格统计方式来进行数据统计,最后统计得出结论。13.3.1硬件环境配置测试1.不同主机的配置测试2.不同组件的配置测试3.不同外设的配置测试4.不同接口的配置测试5.可选项的配置测试13.3.2软件环境配置测试1.不同的操作系统平台兼容性测试2.同一操作系统平台的不同版本兼容性测试3.软件本身向前向后兼容测试4.软件本身与其他软件兼容测试5.数据兼容测试13.4配置测试工作的文档1.工作开始前所需的文档配置测试进行前需要以下文档资料:★测试计划;★需要进行的测试列表;★被测程序源码;★配置测试软硬件设备清单;★配置测试用例。2.工作结束后递交的文档配置测试结束后需要递交以下文档资料:★配置测试报告;★配置测试总结报告。13.5配置测试的人工测试实训和操作方法人工测试实训和操作方法查看本书第13章13.5配置测试的人工测试实训和操作方法•请您解答:•1.配置测试的目标都有哪些?请列举之。•2.请列举进行配置测试的几个前提条件。•3.简要说明进行配置测试的两个范围所包括的内容。•4.列举进行配置测试工作前和工作后所需的相关文档。•5.配置测试设计的要点包括哪8点?请说明之。谢谢软件测试技术研究组·中国信息大学