软件测试之兼容性测试

news/2024/11/22 22:04:13/

对于基于计算机平台的软件,在测试过程中必须考虑软、硬件的兼容性,在设计测试用例的过程中必须考虑数据转换或转移的问题,应该尽力发现其可能带来的错误。不仅是基于计算机平台的软件,对于嵌入式软件也一样,在软件升级时,也需要考虑硬件平台的兼容性。一个软件具有良好的兼容性,不仅可以降低技术支持的成本,还可以减少系统的维护版本,但不至于仅仅因为兼容性的问题而升级系统。

一、软件兼容
  软件兼容是指待发布软件与常用软件在同一环境下使用时,相互之间的影响。计算机中常用的软件有下载类软件、即时通信类软件、压缩解压类软件、文档编辑类软件、位图图像处理类软件、矢量图图像制作类软件、动画制作类软件、杀毒类软件、光盘刻录类软件、系统镜像类软件、多媒体播放软件和其他类软件。
  软件兼容主要考虑三个方面:浏览器兼容、分辨率兼容和打印机兼容。但对于嵌入式产品几乎不存在软件方面的兼容性问题,因为不可能和其他软件同时运行于当前的产品中。

1.1 浏览器兼容
  浏览器是Web 客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、ActiveX、Plug-ins 或不同的HTML 规格有不同的支持。例如ActiveX 是Microsoft 的产品,是为Internet Explorer而设计的,JavaScript 是Netscape 的产品,Java 是Sun 的产品等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java 的设置也不一样。
  测试浏览器兼容性的方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

1.2 分辨率兼容
  分辨率兼容测试是为了验证页面版式、界面显示以及相关字符在不同的分辨率模式下显示的情况。
  通常情况下,在需求规格说明书中会明确地定义系统所支持的分辨率。但是客户计算机的分辨率多种多样,因此在测试过程中几乎不可能全部覆盖到所有的分辨率,并且在成本上也是一个很大的挑战,所以一定要完成需求规格说明书中定义的分辨率,并且一定要在说明书中注明系统所支持的最佳分辨率。常用的分辨率为1024×768、1440×900、1280×800 和1366×768,这是客户最可能使用的几种分辨率,系统一定要支持,其他的分辨率可以尽量兼容。有时为了降低风险,在启动系统时,系统会对当前的分辨率进行判断,如果当前的分辨率不是最佳分辨率,系统则会将分辨率强制转换为系统所支持的最佳分辨率。
  1.3 打印机兼容
  打印机兼容测试是指使用不同的打印机进行打印报告,观察打印出来的报告排版、内容是否正确。
  现在很多系统都具备打印报告的功能,由于客户使用的打印机型号各不相同,所以系统需要兼容各厂家的打印机型号,保证打印报告的内容没有问题。一般情况下需求规格说明书中会明确定义系统支持哪些型号的打印机,但是客户如果已经有打印机了,肯定不希望因为购买了我们的系统而另外再买一台打印机。客户希望系统能支持他们现有的打印机。一般测试打印机兼容需要注意两个问题:一是不同厂家的打印机型号;二是打印纸的规格。
  打印机型号兼容性方面,主要是兼容一些常用的打印机型号,由于不同型号的打印机对系统的字体兼容略有不同,所以有可能出现打印出乱码或打印内容丢失的现象。一般情况下需要规格说明书中详细定义兼容的打印机型号,但在系统设计过程中可以尽量考虑通过程序来做到更好的兼容,解决字体对打印结果的影响。
  打印纸规格兼容性方面,主要是对常用的B4 和B5 纸进行兼容,由于纸张的大小不一样,对于纸张的兼容更重要的是注意排版内容是否正确、合理。需要注意的是,如果系统销售到国外,必须测试对Letter 纸张类型的兼容,因为国外主要使用的是Letter 类型的纸张。
  1.4 数据库兼容
  数据库兼容性主要包含两种情况:一是主动地升级数据库,包括数据库平台的升级;二是被动地升级,由于原数据库本身的缺陷或用户需求的更改,不得不升级数据库。
  数据库兼容性测试要点如下:
  (1)完整性测试。
  检查原数据库中各种对象是否全部移入新数据库,比较数据表中数据内容是否与升级前数据库中的内容相同。
  (2)应用系统测试。
  模拟普通用户操作应用的过程,并结合其应用操作的运行结果进行检查,在数据库移植过程中,存储过程比较容易出错。
  (3)性能测试。
  数据库升级后,需要对升级后的数据库性能进行详细测试,并与升级前的数据库性能进行比较,检查数据库升级后性能变化的情况。
  1.5 操作系统兼容
  操作系统兼容性是指在一个操作系统上开发的应用程序,不做任何修改、不用重新编译即可直接在其他操作系统上运行。
  由于软件开发技术的限制以及各种操作系统之间存在着巨大的差异性,因此目前大多商业软件并不能达到理想的平台无关性。如果该软件承诺可以在多种操作系统上运行,那么就需要测试它与操作系统的兼容性。
  通常所说的操作系统测试,更多的是指在客户端的使用情况,即客户可能使用到的不同的操作系统平台。但对于一个多层次的系统,其兼容性不仅指客户端的使用,还包括服务器端兼容性,但服务器更换平台的情况相对较少,因此操作系统的兼容性更多是指客户使用的操作系统平台。操作系统兼容性的测试内容不仅包括安装,还需对关键流程进行检查。需要测试哪些操作系统上的兼容性,首先取决于软件用户文档上对用户的承诺。
  客户端使用到的操作系统更多的是Windows 操作系统,在测试过程中需要注意以下一些问题:
  (1)操作系统类型。
  常见的Windows 操作系统主要包括 Windows XP、Windows Vista、Windows 7 和Windows 8操作系统,但欧洲地区使用更多的是Windows 7 和Windows 8 操作系统,Windows XP 相当来说使用得比较少。
  (2)操作系统位数。
  操作系统主要包括32 位和64 位两种,但需要注意在国内主要使用的是32 位操作系统,欧洲地区主要使用的是64 位操作系统。所以在测试中文的操作系统时就没有必要测试64 位了,只要测试32 位即可,同理对于英文操作系统一般只要测试64 位操作即可。
  (3)操作系统补丁。
  由于操作系统补丁不同,可能对应用程序带来影响,最主要的是不同补丁带来的库函数的影响。
  1.6 数据共享兼容
  数据共享兼容是指系统与其他系统进行数据传输的能力。应用程序之间数据共享可以增强系统的可用性,并且用户可以轻松与其他系统进行数据共享、传输。数据共享兼容性测试需要注意以下
  几个方面:
  (1)是否支持文件保存和文件读取操作;
  (2)是否支持文件导入与导出操作;
  (3)是否支持剪切、复制和粘贴操作,剪切、复制和粘贴操作是程序之间无需借助磁盘传输数据的最常见的数据共享方式;
  (4)DDE(Dynamic Data Exchange,动态数据交换)和OLE(Object Linking Embedding,对象链接与嵌入)是Windows 操作系统中在两个程序之间传输数据的方式,DDE 和OLE 数据可以实时地在两个程序之间流动;
  (5)是否支持磁盘的读写。


 


http://www.ppmy.cn/news/27972.html

相关文章

HTML - 扫盲

文章目录1. 前言2. HTML2.1 下载 vscode3 HTML 常见标签3.1 注释标签3.2 标题标签3.3 段落标签3.4 换行标签3.5 格式化标签1. 加粗2. 倾斜3. 下划线3.6 图片标签3.7 超链接标签3.8 表格标签3.9 列表标签4. 表单标签4.1 from 标签4.2 input 标签4.3 select 标签4.4 textarea标签…

【Java】CAS锁

一、什么是CAS机制(compare and swap) 1.概述 CAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值。经过调查发现,…

【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )

文章目录一、CSS 层叠样式表二、CSS 引入方式 - 内联样式1、内联样式语法2、内联样式缺点3、内联样式代码示例① 核心代码示例② 完整代码示例③ 执行结果一、CSS 层叠样式表 CSS 全称 Cascading Style Sheets , 层叠样式表 ; 作用如下 : 设置 HTML 页面 文本内容 的 字体 , 颜…

学了一年Java的我,想转嵌入式了

秋名山码民的主页 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 🙏作者水平有限,如发现错误,还请私信或者评论区留言! 目录前言为啥我想去转行?如果我现在选择转硬件,我…

《英雄编程体验课》第 12 课 | 递归

文章目录 零、写在前面一、搜索算法的原理二、深度优先搜索三、基于DFS的记忆化搜索四、基于DFS的剪枝五、基于DFS的A*(迭代加深,IDA*)零、写在前面 该章节节选自 《夜深人静写算法》,主要讲解最基础的搜索算法,其中用到的思想就是递归,当然,如果已经对本套体验课了如指…

【一天一门编程语言】Lisp 语言程序设计极简教程

Lisp 语言程序设计极简教程 Lisp 是一种古老的编程语言,它的特点是拥有很高的表示能力和灵活的可扩展性,拥有大量的现成函数库,同时也是一种动态类型的语言,十分适合用来实现大规模软件系统。本文介绍了 Lisp 程序设计的基本知识,帮助读者快速上手。 一、Lisp 简介 Lis…

完美的vue3动态渲染菜单路由全程

前言: 首先,我们需要知道,动态路由菜单并非一开始就写好的,而是用户登录之后获取的路由菜单再进行渲染,从而可以起到资源节约何最大程度的保护系统的安全性。 需要配合后端,如果后端的值不匹配&#xff0…

读懂分布式事务

一、概述 1.1 什么是分布式事务 事务我们都很熟悉,事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成这组操作的各个单元,要么全部成功,要么全部失败。 事务有四大特性: Atomic&#xf…