摘要:随着社会的不断进步和计算机科学技术的快速发展,计算机软件在国民经济和社会生活等方面发挥着越来越重要的作用。作为计算机的灵魂――软件在其中起着举足轻重的作用。软件开发中出现错误或缺陷的机会越来越多,市场对软件质量重要性的认识逐渐增强,因此软件测试在软件项目实施过程中的重要性日益突出。但目前软件测试的地位和作用,还没有真正受到重视,这影响了软件测试活动开展和软件测试质量的提高。本论文简要介绍了软件兼容性测试中所涉及的知识。
关键词:计算机;软件;兼容性;测试
软件测试是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。其中软件兼容性测试,是指针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行,兼容性测试主要包括以下三个方面。
一、硬件兼容性测试
硬件兼容性测试一般考虑两个方面的内容:一是不同的硬件配置可能影响软件的性能,二是软件若使用了某些硬件的特定功能,要对此进行兼容性测试。硬件兼容性测试具体内容如下:
1、与整机的兼容性测试
考虑到软件的运行情况,需要对常见的硬件配置进行测试,从而确定软件能够在多种硬件配置环境下运行。如果软件对硬件的配置要求比较高还要测试它的敏感度。
2、与板卡和外设的兼容性测试
如果软件需要直接访问某类板卡和外部设备,通常需要对这些板卡和外设的接口调用进行测试,以确保对这些接口的访问适用于所有型号的板卡和外设。
二、软件兼容性测试
软件兼容性测试主要考虑以下问题:
1、与操作系统的兼容性
如果一个软件可以在多种操作系统上运行,需要测试它在同一操作系统平台的不同版本上的兼容性。
2、与数据库的兼容性
如果软件需要支持不同的数据库,通常需要针对不同的数据库产品进行兼容性测试,另外如果同一数据库产品包含多个版本,也需要针对不同的版本进行兼容性测试。目前常用的数据库产品大多数都支持SQL标准的数据库,如MS SQL Server、Oracle、ODBC、JDBC等,但不同的数据库对SQL标准的支持不同,如果软件支持不同的数据库,通常要针对不同的数据库产品进行兼容性测试;如果被测软件支持ODBC和JDBC,并通过ODBC和JDBC与实际的数据库连接,此时对该软件进行兼容性测试应该包括对ODBC和JDBC的测试,和对实际数据库的测试。
3、与浏览器的兼容性
对于不同的浏览器以及浏览器的不同版本经常会出现兼容性问题,如某些特定的HTML标签只能在某些特定的浏览器上使用;某些特定的脚本和插件只适用于特定的浏览器。如Active X只有IE浏览器支持,不同的浏览器对于安全性的设置各有不同,需要测试浏览器是否都能够为使用该Web应用提供合适的安全设置。
4、与中间件的兼容性
越来越多的软件需要中间件的支持才能运行。不同厂商开发的中间件有很大差别,在一种中间件上运行的软件很难再其他的中间件上运行。所以与中间件的兼容性测试主要针对同一产品的不同版本进行测试。另外,某些应用软件还可能需要在不同的J2EE中间件上运行。
5、与其他软件的兼容性
软件在运行中总是需要与其他软件进行交互,而任何交互问题都可能引起软件的运行问题,因此要针对与该软件可能发生交互的软件进行兼容性测试。
6、与平台软件的兼容性
我们可以把平台软件分为运行平台和开发平台两种。对于运行平台,兼容性测试主要包括测试平台软件与在其上运行的应用软件的兼容性,对于开发平台,兼容性测试包括测试所开发的软件与相应环境的兼容性。
三、数据兼容性测试
数据兼容性主要包括以下内容:
1、不同版本间的数据兼容性测试
一个软件系统在其生命周期里会出现一系列的版本,所以测试新版本软件能否兼容旧版本的数据时兼容性测试的一个重要方面。
2、不同软件间的数据兼容性测试
数据兼容性测试不但存在于同一软件的不同版本之间,也存在于不同的软件之间。通常一个系列中不同软件通过约定好的数据格式实现集成,不同的软件通过标准的数据格式进行集成,这个时候需要针对相应的一种或多种数据格式检查被测软件是否可以通过复合数据格式的各种数据进行正确的交互。
结束语:在实际软件开发中,软件通常都是需要在许多种不同的软硬件环境中运行,然而由于任何一个软件都或多或少地依赖所运行的环境,所以环境的差异可能导致软件在不同的环境下运行会有不同的结果,所以对软件的兼容性进行测试是很重要的。然而并不是每个软件都要进行所有的兼容性项目的测试,在实际测试中,要按照软件类型、需求定位和测试环境进行选择,并调整并扩充测试方案。还要注意的是,对于定制系统来说,兼容性测试应尽早进行,否则系统投入使用后,随着系统中数据的增多,兼容性测试的风险和投入将越来越大。通常如果期望的运行环境存在众多的可变性,兼容性也会很复杂,反之,兼容性很可能不存在问题,兼容性测试也会变得非常简单。因此针对不同的软件对其运行环境的要求,要开展不同的软件兼容性测试,以保证软件的正常运行并发挥其大的作用。