软件兼容性与软件兼容性测试

(1)什么是软件兼容性

很多东西都可以和平共处,巧克力和花生就是一个很好的例子,如果你喜欢吃花生巧克力糖的话。但是,我们也知道水和油就不相容。在我们用心创建一个复杂的大 型应用软件时,开发人员必须要非常努力使所开发的软件能在预期的各种环境中运行,避免不兼容的情况出现。但随着软件开发的复杂性,不同的平台,不同的应用 软件的多样化,还有不同软件的实现方法的多样化,不可预见的情况越来越多,避免软件不兼容的情况也变得越来越困难。

一般来说,兼容性指能同时容纳多个方面,例如你能和朋友们友好相处,那是相互能兼容,如果相互间相处非常默契,就是兼容性非常好。同样道理,在计算机术语 上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。相对于软件来说,是指某个软件能稳定地工作在某操作系统/平台之中,就说这个软件对 这个操作系统/平台是兼容的,再就是在多任务操作系统中,几个同时运行的软件之间如果能稳定地工作,就说这几个软件之间的兼容性好,否则就是兼容性不好。

另一种情况是软件共享的数据,几个软件之间无需复杂的转换,即能方便地共享相互间的数据,也称为兼容。因此,软件兼容性是衡量软件好坏的一个重要指标。从 这个意义上看,软件兼容性不良就是软件推广的最大阻碍,例如在微软历史上花费人力财力最多的Vista系统,发布了半年之久依然是叫好不叫座,据说原因之 一是软件兼容性最为用户所诟病。

(2)什么是软件兼容性测试

随着软件逐步被推向市场,被更多的用户安装,兼容性问题也日益凸现出来了。理论上任何两个软件之间都有冲突的可能,因此软件的兼容性就成为了衡量软件好坏 的一个重要指标。兼容性测试是指测试软件在特定的硬件产台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能很好地运行的测试。简 单的说,兼容性测试是指测试某新开发的软件在某一特定环境下与各种软件的协调性,软件之间能否很好的运作。例如,会不会有相互不良的影响,还有软件和硬件 之间能否发挥很好的效率工作,会不会影响或导致系统的崩溃等。

(3)配置测试和兼容性测试的区别

在我们进行软件测试时,经常有两个很容易混淆的两个概念,这里特别列出来分析一下。配置测试是指验证在不同的硬件配置和软件配置下,应用程序能否正常工作。配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作。

配置测试的核心内容是使用各种硬件来测试软件的运行情况,一般包括:一是软件在不同的主机平台上的运行情况,例如Dell平台和SUN平台;二是软件在不 同的组件上的运行情况;三是不同的外设和不同的接口下的运行情况;最后还有不同的可选项的运行情况,例如某些可选择的不同软硬件和网络环境。

而兼容性测试的核心内容:一是测试软件是否能在不同的操作系统平台上兼容,或测试软件是否能在同一操作系统平台的不同版本上兼容;二是软件本身能否向前或 者向后兼容;三是测试软件能否与其它相关的软件兼容;四是数据兼容性测试,主要是指数据能否共享等。所以,配置测试和兼容性测试对软件开发都比较重要,但 它们测试和关注的核心内容是有区别和不同的。

软件兼容性测试的主要内容

(1)操作系统/平台兼容性测试

市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。应用软件的最终用户究竟使用哪一种操作系统, 取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个软件可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,理想的软 件应该具有平台无关性。

当然,有些软件只是针对某一系列的操作系统平台来开发的,不存在跨平台的需求。但同一操作系统也有多个版本,例如Windows系统也有不同的系列版本 号,如Windows 2000 /XP/Vista等,他们之间可能也有许多不同的组件属性。因此,有些软件可能需要在不同操作系统平台上重新编译才可运行,有些软件需要重新开发或改动 较大才能在不同平台运行。因此,在软件发布之前,需要在各种操作系统下对应用软件进行兼容性测试。

(2)应用软件之间兼容性测试

主要考察两项内容:一是软件运行需要哪些应用软件支持。二是判断与其他常用软件一起使用,是否会造成其他软件运行错误或本身不能正确实现其功能。

(3)不同浏览器之间的兼容性测试

现在好多应用软件都应用B/S结构,它们的客户端都使用浏览器。因此,浏览器是Web客户端最核心的构件,但来自不同厂商的浏览器对Java、 JavaScript、 ActiveX、 plug-ins或HTML规格都有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等。另外,框架和层次结构风格在不同的浏览器中也有不 同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。所以,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性,也是软件兼 容性测试的重点之一。

(4)不同类型的数据库兼容性测试

现在很多软件尤其是ERP、CRM等软件都需要数据库系统的支持,对此类软件应考虑对不同数据库平台的支持能力,如从BD2平台替换到MSSQL平台时, 软件是否可直接挂接,或者提供相关的转换工具。还有新旧数据转换的是否存在问题,软件是否提供新旧数据转换的功能。例如,当软件升级后可能会定义新的数据 格式或文件格式,这就涉及到对原有格式的支持及更新,原有用户记录在新格式下是否依然可用等。另外,还需要测试转换过程中数据的完整性与正确性。

(5)软硬件配合的兼容性测试

考察软件对运行硬件环境有无特殊说明,有些软件可能在不同的硬件环境中,出现不同的运行结果或是根本就不能执行。

软件兼容性测试规划的几个建议

有过软件兼容性测试经验的人都了解,兼容性测试或许无法做到完全的质量保证,但兼容性测试是必不可少的步骤之一。因此,对软件开发来说,忽视软件兼容性测 试,必将会导致用户在使用时给兼容性故障拖死的概率也越高。所以,如何在有限的成本和资源考虑下,针对此软件产品规划出适当的兼容性测试,是所有兼容性测 试技术人员关注的重点。

(1)评估软件应用环境,有针对性的制定测试计划

投资和规划一个有效的兼容性测试相信会让不少软件厂商伤透脑筋,要做多少设备投资,要投入多少人力,要测试多少兼容性测试完全会影响到软件产品的最终成 本。软件厂商想要专心和投资在研发上,又想要节省成本的做好兼容性测试,只有评估软件应用环境,有针对性的制定兼容性测试计划,才能兼顾成本和产品的兼容 性质量质量。

(2)在多种平台/应用环境上测试

自行安装多种平台和模拟应用环境进行测试,但缺点是难以覆盖所有平台。一个软件产品的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已,更重要的 是能在用户环境中可靠的运行。因此,软件程序编写工作的完成,其实只是完成了开发任务中的一半,对软件进行模拟用户环境进行兼容性测试其重要性不亚于对程 序本身的开发。

(3)考虑进行β测试

大型通用软件在正式发布前,通常都需要执行Alpha和Beta测试,目的是从实际用户的使用角度对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。

α测试(alpha测试)是在测试团队内部进行,测试的方法也较多,黑盒、白盒、压力、应力等等。β测试(beta测试)是指给指定用户公开测试,例如可 以有选择地请一些最终用户实际使用,将发现的问题反馈回来再进行修改。在Beta测试中,发放多个拷贝给测试用户并让他们填写测试报告,由用户记下遇到的 所有问题,定期向开发者报告,开发者在综合用户的报告后做出修改。

β测试是许多软件测试最后上市前大规模的综合测试的常用方式之一。这种做法可以覆盖多种软硬件平台,虽然非常耗时和费钱,但因为Beta测试的可以测试软件的可支持性和兼容性。所以,Beta测试不失为一种有效的兼容性测试方法。

软件兼容性与软件兼容性测试相关推荐

  1. 软件兼容性测试计划,app兼容性测试方案

    App的兼容性问题可能会导致流失潜在的客户,为了尽量减少因兼容性问题导致的同类问题,进一步提高产品的质量,提升用户体验,所以进行兼容性测试,尽可能多的保证更多的用户都可以正常使用app.经过短期和持续 ...

  2. 测试分类-软件开发阶段的各个测试

    大家好,我是十一. 还记得我们上篇中的测试分类图吗?其中有一部分是"按软件开发阶段划分",不记得没关系,这里我截了图出来,大家直接看图吧. 这个图呢就是我们这篇所要讲解的内容.主要 ...

  3. 软件开发--从设计到测试整体流程

    目录 范围 总体要求 2.1 总体功能要求 2.2 软件开发平台要求 2.3 软件项目的开发实施过程管理要求 2.3.1 软件项目实施过程总体要求 2.3.2 软件项目实施变更要求 2.3.3 软件项 ...

  4. 什么是软件性能测试?常见的测试指标和工具有哪些?

    一.什么是软件性能测试 软件性能测试是在交替进行负荷和强迫测试时常用的术语.理想的"软件性能测试"(和其他类型的测试)应在需求文档或质量保证.测试计划中定义.软件性能测试一般包括负 ...

  5. tcpip测试工具软件,TCP Test Tool(TCP测试工具) V2.3 官方版

    TCP Test Tool是一个小巧实用的TCP测试工具,它提供向任何Windows®PC或从任何Windows®PC启动和捕获TCP会话请求的能力.软件专为软件程序员和网络工程师设计,可用于任何IP ...

  6. a1sd测试软件准确,A1 SD Bench测试:手机端限制不少

    A1 SD Bench测试 读卡器测出来的速度并不代表手机上就有这样的速度,手机往往无法发挥microSD全部的性能,但是microSD大多数时间都呆在手机里面,用户所感受到的速度也是从手机反馈过来的 ...

  7. 固态硬盘在线测试软件,ssd测试软件,详细教您ssd测试软件

    在刚装好机之后,同样希望测试一下硬盘的读写速度是否符合厂商的标称值.那就使用ssd测试软件吧,它可以检查出固态硬盘的工作时长.总计空间.已用空间.通电次数.是否支持微调.产品型号等信息,可能很多用户还 ...

  8. 普通话测试软件哪个不要钱,普通话测试软件哪个好_普通话测试软件靠谱吗_不要钱的普通话测试软件...

    普通话测试的软件有很多,哪些普通话测试软件是我们想要的呢,下面多特小编就跟您推荐几款比较合适的软件或者app给您参考 学普通话手机app是一款十分暖心.趣味的学习普通话手机软件 普通话练习app是一款 ...

  9. 普通话测试哪个软件准确吗,免费普通话测试软件哪个好_哪个app可以免费测普通话_普通话测试软件准不准...

    核心提示:普通话测试的软件有很多,哪些普通话测试软件是我们想要的呢,下面多特小编就跟您推荐几款比较合适的软件或者app给您参考 普通话测试的软件有很多,哪些普通话测试软件是我们想要的呢,下面多特小编就 ...

最新文章

  1. 算法复习——bitset(bzoj3687简单题)
  2. nodejs原生模块简介
  3. 集群节点Elasticsearch升级
  4. rhel6下组建两台主机的HA集群
  5. 法学教授:洋文凭情结是对教育体制的嘲弄
  6. Makefile中的wilcard函数
  7. Java 性能优化实战记录(2)---句柄泄漏和监控
  8. 数据结构值图的最小生成树
  9. w10自动删除文件怎么关了_回收站删除的文件怎么恢复?
  10. 嵌入式Linux--使用libpng库解码png图片
  11. 航空公司VIP客户查询
  12. 单片机和微型计算机硬件组成的异同,单片机和嵌入式的区别是什么
  13. java获取上个月15号_java获取当前上一周、上一月、上一年的时间
  14. 张家界四日自助游攻略及心得
  15. Vue:使用elementUI upload组件上传excel文件
  16. jcyzoj1505: 原地tp
  17. java修饰符(转)
  18. Pytorch中的repeat以及repeat_interleave用法
  19. JMS RabbitMQ消息代理
  20. 分布式系统下的纠删码技术(一) -- Erasure Code (EC)

热门文章

  1. es6 去掉空格_微信小程序自动去除input空格的方法
  2. Linux磁盘分区(fdisk)及磁盘限额(quota)
  3. window cmd删除文件、强制删除文件
  4. JavaSE 和 Java EE 分别是什么
  5. 大数据之Stream流
  6. app 自动化 打开app (二)
  7. 国行Surface Laptop 3评测:微软最佳轻薄本之作
  8. 关于雪崩击穿温度系数
  9. 微信小程序仿照微信拖动缩放图片和截取头像
  10. 一篇文章带你了解网络编程(总结)