章8 配置测试
配置测试的目的是保证被测试的软件在尽可能多的硬件平台上运行。
一、配置测试综述
个人计算机
部件
外设
接口
可选项和内存
设备驱动程序
如果开始准备进行软件的配置测试,就要考虑哪些配置与程序的关系最密切。
理想情况是所有生产厂家都严格遵照一套标准来设计硬件,那么使用这些硬件的软件就会毫无疑问地正常运行。
但遗憾的是,标准并没有被严格遵守。有时,标准是相当松散的——称为规范。
1、分离配置缺陷
判断缺陷是配置问题而不仅仅是普通缺陷最可靠的方法是,在另外一台有完全不同配置的计算机上一步步执行导致问题的相同操作,如果缺陷没有产生,就极有可能是特定的配置问题,在独特的硬件配置下才会暴露出来。
谁来修复配置缺陷?
首先,要找出问题所在。这通常是动态白盒测试员和程序员调试的工作。一个配置问题产生的原因不少,全都要求有人在不同的配置中运行软件时仔细检查代码,以找出缺陷:
(1)软件可能包含在多种配置中都会出现的缺陷。
(2)软件可能只包含在某一个特殊配置中出现的缺陷。
(3)硬件设备或者其设备驱动程序可能包含仅由软件揭示的缺陷。
(4)硬件设备或者其设备驱动程序可能包含一个借助许多其它软件才能看出来的缺陷——尽管它可能对测试的软件特别明显。
前两种情况,显然要由项目小组负责修复缺陷。
后两种情况,责任不那么清晰。如果该硬件设备属于流行产品,被各界广泛使用,那么,开发小组需要针对缺陷对软件做修改,即使软件的运行是正确的。
归根结底,无论问题出在哪里,解决问题都是开发小组的责任。
2、计算工作量
配置测试工作量可能非常巨大。
假设我们有一种新的3D游戏,画面丰富,具有多种音效,允许多个用户联机对战,还可以打印游戏细节以便进行策划。
此时,至少我们需要考虑各种图形卡、声卡、网卡和打印机进行配置测试。如果决定进行完整、全面的配置测试,检查所有可能的制造者和幸好组合,就会面临巨大的工作量。
市场上大致有336种显卡,210种声卡,1500种网卡,1200种打印机。则测试组合的数目就是336×210×1500×1200,总计上亿种,规模之大难以想象。
减少麻烦的答案是等价划分。需要找出一个方法把巨大无比的配置可能性减少到尽可能控制的范围。由于没有完全测试,因此存在一定的风险,但这正是软件测试的特点。
二、执行任务
确定测试哪些设备和如何测试的决定过程是相当直观的等价划分工作。什么重要,怎样才会成功,是决定的内容。
1、确定所需的硬件类型
联机注册:在选择用哪些硬件来测试时容易忽略的一个特性例子是联机注册。
如果软件有联机注册功能,就需要把调制解调器和网络通信考虑在配置测试之中。
2、确定有哪些厂商的硬件、型号和驱动程序可用
确定要测试的设备驱动程序,一般选择操作系统附带的驱动程序、硬件附带的驱动程序或者硬件或操作系统公司网站上提供的最新的驱动程序。
3、确定可能的硬件特性,模式和选项
4、将确定后的硬件配置缩减为可控制的范围
假设没有时间和计划测试所有配置,就需要把成千上万种可能的配置缩减到可以接受的范围——即要测试的范围。
一种方法是把所有配置信息放在电子表格中,列出生产厂商、型号、驱动程序版本和可选项。软件测试员和开发小组可以审查这张表,确定要测试哪些配置。
注意:用于把众多配置等价划分为较小范围的决定过程最终取决于软件测试员和开发小组。这没有一个定式,每一个软件工程都不相同,都有不同的选择标准。一定要保证项目小组中的每一个人(特别是项目经理),搞清楚什么配置要测试(什么不测试),选择它们引起的变化有哪些。
5、明确与硬件配置有关的软件唯一特性
不应该也没有必要在每一种配置中完全测试软件。只需测试哪些与硬件交互时互不相同的特性即可。
选择唯一特性进行尝试并非那么容易,首先应该进行黑盒测试,通过查看产品找出明显的特性,然后与小组成员交流,了解其内部的白盒情况。最后会惊奇的发现这些特性与配置有一些紧密的关联。
6、设计在每一种配置中执行的测试用例
(1)从清单中选择并建立下一个测试配置;
(2)启动软件;
(3)打开文件configtest.doc;
(4)确认显示出来的文件正确无误;
(5)打印文档;
(6)确认没有错误提示信息,而且打印的文档符合标准;
(7)将任何不符之处作为软件缺陷记录下来。
实际上,这些步骤还有更多内容,包括具体要做什么、找什么的细节和说明。目标是建立任何人都可以执行的步骤。
7、在每种配置中执行测试
执行测试用例,仔细记录并向开发小组报告结果,必要时还要向硬件生产厂商报告。
明确配置问题的准确原因通常很困难,而且非常耗时,软件测试员需要和程序员紧密合作。
如果软件缺陷是硬件的原因,就利用生产厂商的网站向其报告问题。
8、反复测试直到小组对结果满意为止
配置测试一般不会贯穿整个项目期间。最初可能会尝试一些配置,接着整个测试通过,然后在越来越小的范围内确认缺陷的修复。最后达到没有未解决的缺陷或缺陷限于不常见或不可能的配置上。
三、获得硬件
购买每一样硬件则费用很高昂。
(1)只买可以或者将会经常使用的配置;
(2)与硬件厂商联系,看能否租借甚至赠送某些硬件;
(3)向全公司的人询问其家里是否有硬件。
四、明确硬件标准
了解硬件说明书的一些细节,有助于做出更多清晰的等价划分决定。
五、对其它硬件进行配置测试
根据从设备使用者、项目经理或者销售人员那里获得的信息来建立硬件的等价划分。开发测试用例,收集所选硬件,执行测试。
六、总结
进行配置测试是软件测试新手经常被指派的工作,因为它容易定义,是基本组织技能和等价划分技术的入门;是与其它项目小组成员合作的任务;是经理快速验证结果的手段。缺点是有可能很繁杂。