本文共 4229 字,大约阅读时间需要 14 分钟。
如果刚准备开始从事软件测试工作,首先的一个任务是配置测试。要保证被测试的软件在尽可能多的硬件平台上运行。假如不是为PC和Mac机测试软件——只测试专用系统——也仍然要考虑一些配置问题。运用本章所学可以轻松定制符合具体情况的测试。
本章重点包括:
配置测试是指使用各种硬件来测试软件运行的过程。看看在家用和商用领域基于标准Windows的PC有哪些配置可能性:
个人计算机。
部件。大多数PC是模块化的,由各种系统主板、部件板卡和其他内部设备,如磁盘驱动器、CD-ROM驱动器、DVD读写器、视频卡、声卡、调制调解器、网卡等构成。
外设。外设是指打印机、扫描仪、鼠标、键盘、显示器、数码相机、游戏杆以及其他可以插在主板上从外部操纵PC的设备。
接口。如下图所示,部件和外设是通过各种接口适配器连入PC的。这些接口可以是PC内部的,也可以是PC外部的。
可选项和内存。许多部件和外设具有不同硬件可选项和内存容量供购买时选择。
设备驱动程序。所有部件和外设通过称为设备驱动程序的底层软件与操作系统和软件应用程序通信。这些驱动程序通常由硬件设备生产厂商提供,在安装硬件时一并安装。尽管从技术上来讲它们是软件,但是出于测试的目的,可以认为它们是硬件配置。
如果准备开始进行软件的配置测试,就要考虑哪些配置与程序的关系最密切。对图像要求很高的计算机游戏要多加注意视频和声音部分。贺卡程序容易受到打印问题的困扰。传真或通信程序需要在多种调制调解器和网络配置下测试。
如果在玩游戏或者使用图形程序时,颜色突然变花或者无法拖动部分窗口,就可能发现了显示适配器配置缺陷。如果花费数小时(或者数天)才使老程序正常使用新打印机,这可能就是配置缺陷。
判断缺陷是配置问题而不仅仅是普通缺陷最可靠的方法是,在另外一台有完全不同配置的计算机上一步步执行导致问题的相同操作。如果缺陷没有产生,就极有可能是特定的配置问题,在独特的硬件配置下才会暴露出来。
假设在一个独特的配置中测试软件时发现了一个问题,谁应该来修复缺陷——开发小组还是硬件厂商?这可能发展为一个代价极其高昂的问题。
首先,要找出问题所在。这通常是动态白盒测试员和程序员调试的工作。一个配置问题产生的原因不少,全都要求有人在不同的配置中运行软件时仔细检查代码,以找出缺陷:
在前两种情况下,很显然要由项目小组负责修复缺陷。这是项目小组的事,项目小组应修复缺陷。在后两种情况下,责任不那么清晰。假定缺陷是打印机问题,而该打印机时流行机型,被广泛采用。软件显然应该要求能够使用该打印机。打印机销售商修复问题可能会花费数月,所以开发小组需要针对缺陷对软件做修改,即使软件的运行是正确的。
归根结底,无论问题出在哪里,解决问题都是开发小组的责任。
如果决定进行完整、全面的配置测试,检查所有可能的制造者和型号组合,就会面临巨大的工作量。减少麻烦的答案是等价划分。需要找出一个方法把巨大无比的配置可能性减少到尽可能控制的范围。由于没有完全测试,因此存在一定的风险,但这正是软件测试的特点。
以下几个小节给出了在计划配置测试时应该采用的一般过程。
应用程序需要打印吗?如果是,就需要测试打印机。如果应用程序需要发出声音,就需要测试声卡。如果是照片或者图形处理程序,还可能需要测试扫描仪和数码相机。仔细查看软件的特性,确保测试全面、彻底。把软件安装盘放在桌子上,想一想需要哪些硬件来使它工作。
在选择用哪些硬件来测试时容易忽略的一个特性例子是联机注册。当今许多程序允许用户在安装过程中通过调制调解器和宽带连接来注册软件。用户输入自己的姓名、地址和其他个人数据,单击某个按钮,调制调解器就会与软件公司的计算机建立拨号连接,下载必要信息,完成注册。软件在联机通信时不用做什么。但是,如果软件有联机注册功能,就需要把调制调解器和网络通信考虑在配置测试之中。
与销售和市场人员一起制定要测试的硬件清单。如果他们不行或帮不上忙,就找几本近期出版的《PC Magazine》或者《Mac World》,看有哪些硬件可用,哪些正在(曾经)流行。研究一下看是否有某些设备是相互翻版、大同小异——属于同一个等价划分。
确定要测试的设备驱动程序,一般选择操作系统附带的驱动程序、硬件附带的驱动程序或者硬件或操作系统公司网站上提供的最新的驱动程序。这三种驱动程序通常是不同的。想一想用户有哪一种,或者能够获得哪一种。
每一种设备都有选项,软件没有必要全部支持。计算机游戏就是一个好例子。许多游戏要求最小颜色数和显示分辨率。如果配置低于该要求,游戏就不能运行。
一种方法是把所有配置信息放在电子表格中,列出生产商、型号、驱动程序版本和可选项。
软件测试员和开发小组可以审查这张表,确定要测试哪些配置。用于把众多配置等价划分为较小范围的决定过程最终取决于软件测试员和开发小组。这没有一个定式。每一个软件工程都不相同,都有不同的选择标准。一定要保证项目小组的每一个人(特别是项目经理),搞清楚什么配置要测试(什么不测试),选择它们引起的变化有哪些。这里的关键词是唯一。不应该也没有必要在每一种配置中完全测试软件。只需测试那些与硬件交互时互不相同(不同等价划分)的特性即可。
选择唯一特性进行尝试并不是说说那么容易。首先应该进行黑盒测试,通过查看产品找出明显的特性;然后与小组其他成员(特别是程序员)交谈,了解其内部的白盒情况。最后会惊奇地发现这些特性与配置有一些紧密的关联。
测试所有配置的步骤可以简化为如下形式:
软件测试员需要执行测试用例,仔细记录并向开发小组报告结果,必要时还要向硬件生产厂商报告。软件测试员需要与程序员和白盒测试员紧密合作,分离问题原因,判断所发现的软件缺陷是软件的原因还是硬件的原因。
如果软件缺陷是硬件的原因,就利用生产厂商的网站向他们报告问题。一定要指明自己的软件测试员的身份以及所在的公司。许多公司有专人帮助软件公司编写和硬件配合的软件。他们可能要求发送测试软件的副本、测试用例和相关细节,以便帮助他们分离问题。
配置测试一般不会贯穿整个项目期间。最初可能会尝试一些配置,接着整个测试通过,然后在越来越小的范围内确认缺陷的修复。最后达到没有未解决的缺陷或缺陷限于不常见或者不可能的配置上。
如果喜欢进行一点静态黑盒分析——审查硬件公司用于制造产品的说明书——可以到几个地方去找。了解硬件说明书的一些细节,有助于做出更多清晰的等价划分决定。
对于Apple机硬件,访问Apple硬件网站:http://developer.apple.com/hardware。从中会找到在Apple机上进行软件开发、硬件及其设备驱动程序测试的信息和链接。另外一个Apple链接http://developer.apple.com/testing提供特定的测试信息,包括到进行配置测试的测试实验室的链接。
对于PC,最好的链接是http://WWW.microsoft.com/whdc/system/platform。该网站为设计在Windows上运行的硬件的开发人员和测试人员提供技术实现指导、技巧和工具。
Microsoft公司发布了一套软件和硬件接受Windows徽标的标准。详情见http://msdn.microsoft.com/certification/和http://www.Microsoft.com/whdc/whql。
如果要测试工业控制器、网络、医疗设备或者电话系统软件,考虑的问题与测试台式机软件是相同的:
根据从设备使用者、项目经理或者销售人员那里获得的信息来建立硬件的等价划分,开发测试用例,收集所选硬件,执行测试。
转载地址:http://hdyki.baihongyu.com/