《软件测试》第八章 配置测试

  • 8.0 前言
  • 8.1 配置测试综述
    • 8.1.1 分离配置缺陷
  • 8.1.2 计算工作量
  • 8.2 执行任务
    • 8.2.1 确定所需的硬件类型
    • 8.2.2 确定有哪些厂商的硬件、型号和驱动程序可用
    • 8.2.3 确定可能的硬件特性、模式和选项
    • 8.2.4 将确定后的硬件配置缩减为可控制的范围
    • 8.2.5 明确与硬件配置有关的软件唯一特性
    • 8.2.6 设计在每种配置中执行的测试用例
    • 8.2.7 在每种配置中执行测试
    • 8.2.8 反复测试直到小组对结果满意为止
  • 8.3 获得硬件
  • 8.4 明确硬件标准
  • 8.5 对其他硬件进行配置测试

8.0 前言

如果刚准备开始从事软件测试工作,首先的一个任务是配置测试。要保证被测试的软件在尽可能多的硬件平台上运行。假如不是为PC和Mac机测试软件——只测试专用系统——也仍然要考虑一些配置问题。运用本章所学可以轻松定制符合具体情况的测试。

本章重点包括:

  • 为什么配置测试必不可少
  • 为什么配置测试可能是艰巨的任务
  • 配置测试的基本方法
  • 如何找到需要测试的硬件
  • 如果不是在为台式机测试软件怎么办

8.1 配置测试综述

配置测试是指使用各种硬件来测试软件运行的过程。看看在家用和商用领域基于标准Windows的PC有哪些配置可能性:

  • 个人计算机

  • 部件。大多数PC是模块化的,由各种系统主板、部件板卡和其他内部设备,如磁盘驱动器、CD-ROM驱动器、DVD读写器、视频卡、声卡、调制调解器、网卡等构成。

  • 外设。外设是指打印机、扫描仪、鼠标、键盘、显示器、数码相机、游戏杆以及其他可以插在主板上从外部操纵PC的设备。

  • 接口。如下图所示,部件和外设是通过各种接口适配器连入PC的。这些接口可以是PC内部的,也可以是PC外部的。

  • 可选项和内存。许多部件和外设具有不同硬件可选项和内存容量供购买时选择。

  • 设备驱动程序。所有部件和外设通过称为设备驱动程序的底层软件与操作系统和软件应用程序通信。这些驱动程序通常由硬件设备生产厂商提供,在安装硬件时一并安装。尽管从技术上来讲它们是软件,但是出于测试的目的,可以认为它们是硬件配置。

如果准备开始进行软件的配置测试,就要考虑哪些配置与程序的关系最密切对图像要求很高的计算机游戏要多加注意视频和声音部分。贺卡程序容易受到打印问题的困扰。传真或通信程序需要在多种调制调解器和网络配置下测试

8.1.1 分离配置缺陷

如果在玩游戏或者使用图形程序时,颜色突然变花或者无法拖动部分窗口,就可能发现了显示适配器配置缺陷。如果花费数小时(或者数天)才使老程序正常使用新打印机,这可能就是配置缺陷

判断缺陷是配置问题而不仅仅是普通缺陷最可靠的方法是,在另外一台有完全不同配置的计算机上一步步执行导致问题的相同操作。如果缺陷没有产生,就极有可能是特定的配置问题,在独特的硬件配置下才会暴露出来。

假设在一个独特的配置中测试软件时发现了一个问题,谁应该来修复缺陷——开发小组还是硬件厂商?这可能发展为一个代价极其高昂的问题。

首先,要找出问题所在。这通常是动态白盒测试员和程序员调试的工作。一个配置问题产生的原因不少,全都要求有人在不同的配置中运行软件时仔细检查代码,以找出缺陷:

  • 软件可能包含在多种配置中都会出现的缺陷。一个例子是贺卡程序使用激光打印机时工作正常,而使用喷墨打印机时工作异常
  • 软件可能包含只在某一个特殊配置中出现的缺陷。
  • 硬件设备或者其驱动程序可能包含仅由软件揭示的缺陷。也许只有被测试的软件才使用到显示卡的某种设置。也许当被测试的软件使用某种视频卡时,系统就会崩溃。
  • 硬件设备或者其设备驱动程序可能包含一个借助许多其他软件才能看出来的缺陷——尽管它可能对测试的软件特别明显。一个例子是某种打印机驱动程序总是默认地采用草稿模式,而照片打印软件不得不在每次打印时设为高品质输出模式

在前两种情况下,很显然要由项目小组负责修复缺陷。这是项目小组的事,项目小组应修复缺陷。在后两种情况下,责任不那么清晰。假定缺陷是打印机问题,而该打印机时流行机型,被广泛采用。软件显然应该要求能够使用该打印机。打印机销售商修复问题可能会花费数月,所以开发小组需要针对缺陷对软件做修改,即使软件的运行是正确的。

归根结底,无论问题出在哪里,解决问题都是开发小组的责任。

8.1.2 计算工作量

如果决定进行完整、全面的配置测试,检查所有可能的制造者和型号组合,就会面临巨大的工作量。减少麻烦的答案是等价划分。需要找出一个方法把巨大无比的配置可能性减少到尽可能控制的范围。由于没有完全测试,因此存在一定的风险,但这正是软件测试的特点。

8.2 执行任务

以下几个小节给出了在计划配置测试时应该采用的一般过程。

8.2.1 确定所需的硬件类型

应用程序需要打印吗?如果是,就需要测试打印机。如果应用程序需要发出声音,就需要测试声卡。如果是照片或者图形处理程序,还可能需要测试扫描仪和数码相机。仔细查看软件的特性,确保测试全面、彻底。把软件安装盘放在桌子上,想一想需要哪些硬件来使它工作。

在选择用哪些硬件来测试时容易忽略的一个特性例子是联机注册。当今许多程序允许用户在安装过程中通过调制调解器和宽带连接来注册软件。用户输入自己的姓名、地址和其他个人数据,单击某个按钮,调制调解器就会与软件公司的计算机建立拨号连接,下载必要信息,完成注册。软件在联机通信时不用做什么。但是,如果软件有联机注册功能,就需要把调制调解器和网络通信考虑在配置测试之中

8.2.2 确定有哪些厂商的硬件、型号和驱动程序可用

与销售和市场人员一起制定要测试的硬件清单。如果他们不行或帮不上忙,就找几本近期出版的《PC Magazine》或者《Mac World》,看有哪些硬件可用,哪些正在(曾经)流行。研究一下看是否有某些设备是相互翻版、大同小异——属于同一个等价划分。

确定要测试的设备驱动程序,一般选择操作系统附带的驱动程序、硬件附带的驱动程序或者硬件或操作系统公司网站上提供的最新的驱动程序。这三种驱动程序通常是不同的。想一想用户有哪一种,或者能够获得哪一种。

8.2.3 确定可能的硬件特性、模式和选项

每一种设备都有选项,软件没有必要全部支持。计算机游戏就是一个好例子。许多游戏要求最小颜色数和显示分辨率。如果配置低于该要求,游戏就不能运行。

8.2.4 将确定后的硬件配置缩减为可控制的范围

一种方法是把所有配置信息放在电子表格中,列出生产商、型号、驱动程序版本和可选项。

软件测试员和开发小组可以审查这张表,确定要测试哪些配置。用于把众多配置等价划分为较小范围的决定过程最终取决于软件测试员和开发小组。这没有一个定式。每一个软件工程都不相同,都有不同的选择标准。一定要保证项目小组的每一个人(特别是项目经理),搞清楚什么配置要测试(什么不测试),选择它们引起的变化有哪些。

8.2.5 明确与硬件配置有关的软件唯一特性

这里的关键词是唯一。不应该也没有必要在每一种配置中完全测试软件。只需测试那些与硬件交互时互不相同(不同等价划分)的特性即可。

选择唯一特性进行尝试并不是说说那么容易。首先应该进行黑盒测试,通过查看产品找出明显的特性;然后与小组其他成员(特别是程序员)交谈,了解其内部的白盒情况。最后会惊奇地发现这些特性与配置有一些紧密的关联。

8.2.6 设计在每种配置中执行的测试用例

测试所有配置的步骤可以简化为如下形式:

  1. 从清单中选择并建立下一个测试用例。
  2. 启动软件。
  3. 打开文件configtest.doc。
  4. 确认显示出来的文件正确无误。
  5. 打印文档。
  6. 确认没有错误提示信息,而且打印的文档符合标准。
  7. 将任何不符之处作为软件缺陷记录下来。

8.2.7 在每种配置中执行测试

软件测试员需要执行测试用例,仔细记录并向开发小组报告结果,必要时还要向硬件生产厂商报告。软件测试员需要与程序员和白盒测试员紧密合作,分离问题原因,判断所发现的软件缺陷是软件的原因还是硬件的原因。

如果软件缺陷是硬件的原因,就利用生产厂商的网站向他们报告问题。一定要指明自己的软件测试员的身份以及所在的公司。许多公司有专人帮助软件公司编写和硬件配合的软件。他们可能要求发送测试软件的副本、测试用例和相关细节,以便帮助他们分离问题。

8.2.8 反复测试直到小组对结果满意为止

配置测试一般不会贯穿整个项目期间。最初可能会尝试一些配置,接着整个测试通过,然后在越来越小的范围内确认缺陷的修复。最后达到没有未解决的缺陷或缺陷限于不常见或者不可能的配置上。

8.3 获得硬件

  • 只买可以或者将会经常使用的配置。小组中每个测试员都配备不同的硬件是个非常好的主意,这是保持总有不同的配置来进行测试的有效途径。
  • 与硬件生产厂商联系,看他们是否能够租借甚至赠送某些硬件。如果说明自己正在测试新软件,以确保能够在他们的硬件上运行,很多人就会这样做。他们也希望知道结果,因此告诉他们你可以提供测试的结果,如果有可能,还可以赠送一份最终软件的拷贝。建立这些关系大有好处,特别是如果发现一个软件缺陷,需要与硬件公司的人员联系报告时。
  • 向全公司的人发送备忘或者电子邮件,问他们办公室甚至家里有什么硬件——以及能否允许对其进行一些测试。
  • 如果预算充足,就和项目经理一起与专业配置和兼容性测试实验室联系外协测试。这些公司专门进行配置测试,拥有几乎所有知名的PC硬件。也许没有那么多,但是真的不少。

8.4 明确硬件标准

如果喜欢进行一点静态黑盒分析——审查硬件公司用于制造产品的说明书——可以到几个地方去找。了解硬件说明书的一些细节,有助于做出更多清晰的等价划分决定。

对于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。

8.5 对其他硬件进行配置测试

如果要测试工业控制器、网络、医疗设备或者电话系统软件,考虑的问题与测试台式机软件是相同的:

  • 何种外部硬件运行该软件?
  • 硬件有哪些型号和版本可用?
  • 硬件支持哪些特性或者可选项?

根据从设备使用者、项目经理或者销售人员那里获得的信息来建立硬件的等价划分,开发测试用例,收集所选硬件,执行测试。

《软件测试》第八章 配置测试相关推荐

  1. 【系统分析师之路】 第八章 复盘软件测试与维护(测试与过程改进)

    [系统分析师之路] 第八章 复盘软件测试与维护(测试与过程改进) 复盘软件测试与维护-测试与过程改进 [系统分析师之路] 第八章 复盘软件测试与维护(测试与过程改进) 前言部分 历年真题考点分析 1) ...

  2. 全国大学生软件测试大赛Web应用测试(五)Jmeter性能测试环境配置

    全国大学生软件测试大赛Web应用测试(五)Jmeter性能测试环境配置 web应用测试环境配置所需资料链接 JMeter客户端下载 Badboy客户端下载 web应用测试环境配置所需资料链接 JMet ...

  3. 全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置

    全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置 环境配置指南 web应用测试环境配置所需资料链接 配置JAVA 配置Eclipse 配置mooctest 配置ChromeD ...

  4. 软件测试-硬件配置测试

    1.配置测试综述 家用和商用领域基于Windows标准的PC有哪些配置可能性:个人计算机.部件.外设.接口.可选项和内存.设备驱动程序. 1.1 分离配置缺陷 分离配置缺陷需要有人在不同的配置中运行软 ...

  5. 软件测试培训:高薪测试技术要掌握哪些

    职业技能一 1. 软件测试: 1) 熟练灵活地运用等价类.边界值.判定表法.因果图法等各种方法设计测试用例,包括单元测试.集成测试.系统测试用例设计. 2) 牢固掌握了软件测试计划.测试日报.测试报告 ...

  6. 软件测试的十六种测试类型

    软件测试主要从以下16种类型进行测试: 一:功能测试(10个方面) 菜单.工具栏.快捷键.下拉框.按钮.单选按钮.复选按钮.切换.链接.触发键 二:界面测试 登陆界面.总界面.输入界面(增.删.改.查 ...

  7. 软件测试的16种测试类型

    软件测试主要从以下16种类型进行测试: 一:功能测试(10个方面) 菜单.工具栏.快捷键.下拉框.按钮.单选按钮.复选按钮.切换.链接.触发键 二:界面测试 登陆界面.总界面.输入界面(增.删.改.查 ...

  8. 全国大学生软件测试大赛Web应用测试(一)赛项简介

    全国大学生软件测试大赛Web应用测试(一)赛项简介 web应用测试环境配置所需资料链接 Selenium功能测试 Jmeter性能测试 Web众包测试 在全国大学生软件测试大赛中Web应用测试共包含三 ...

  9. 全国大学生软件测试大赛Web应用测试(六)Jmeter性能测试具体流程

    全国大学生软件测试大赛Web应用测试(六)Jmeter性能测试具体流程 Jmeter性能测试环境配置. Jmeter性能测试得分技巧 1.登录慕测官网 2.点击练习.搜索关键词"Web应用测 ...

最新文章

  1. 清华北大南大全面“线上开学”,10 大直播神器齐亮相!
  2. Android开发之程序员必须要懂得Android的重要设计理念
  3. eclipse实现热部署和热启动
  4. 什么叫工作到位?很深刻!
  5. jQuery 1.4官方文档中文版
  6. java55矩阵output_将矩阵乘积输入到keras中的两个模型的输出
  7. ubuntu 安装php redis,ubuntu上安装php redis
  8. 谁说“IT 不理解 OT”?开放自动化来破局!
  9. 用call/cc合成所有的控制流结构
  10. sift算法的主要步骤
  11. 《数学之美》—闪光的不一定是金子
  12. 最大功率点跟踪测试软件,最大功率点跟踪方法及系统
  13. 教你如何用PS制作iOS端APP应用图标AppIcon.appiconset
  14. mac自带的词典不能用
  15. 什么是一条好链?——一定要有自主创新的硬核技术
  16. 二叉树、平衡二叉树、红黑树、B-树、B+树、B*树、T树之间的详解和比较
  17. pytorch拼接与保存图片
  18. ubuntu如何卸载软件
  19. 设计模式之设计模式入门
  20. 本主题的评论还有不足之处,还望海涵

热门文章

  1. 修改windowsXP iis连接数方法
  2. 即时函数(Immediate Functions)
  3. 手把手教学51单片机第七课 | AT24C02的I²C总线数据传输
  4. 天刀服务器维护中,天涯明月刀12月16日服务器维护公告 天刀12月16日更新内容介绍...
  5. iPhone手机连接电脑无反应,是什么原因?
  6. 云架构师进阶攻略(1)
  7. 贵州黔东南大环线七日自由行旅游攻略
  8. NodeJs 后端开发 04 使用axios调用第三方服务API
  9. 台式计算机mtbf,电子产品整机MTBF计算和试验时间
  10. Matplotlib 中 y 轴显示为百分比形式的方法