[概述]
可移植性是实际测试过程中需要重点关注,而常常容易被忽视或者遗忘的质量特性。测试人员都知道可移植性测试,却往往不知道该从哪些方面考虑可移植性测试。
[正文]
可移植性测试通常和软件移植到某个特定的运行环境中的难易程度相关,包括第一次建立或从现有环境上移植到另一个环境上。
系统的可移植性并不是在系统开发的后期才开始考虑的,在整个软件开发生命周期都必须要考虑系统的可移植性,尤其是在早期的需求分析和设计阶段。在需求分析阶段,最好能够明确的定义可移植性需求。例如:虽然当前软件版本仅仅支持运行在Windows平台上,但是需要考虑将来移植到Linux上的需求。
一个大型的软件可能包括多个不同级别的设计。设计阶段要重点关注外部接口,例如:文件访问接口、内存管理和用户界面等。这些接口是最容易发生可移植性问题的地方。业界有很多针对这些接口的标准,软件产品如果能够符合这些标准,将会大大的提高软件自身的可移植性。例如:针对字符集的ASCII,针对操作系统接口的POSIX等。
从测试层面而言,可移植性测试应该重点关注在测试对象的不同接口上面。具体而言,可移植性测试至少需要考虑可安装性测试、共存性/兼容性测试、适应性测试和可替换性测试。
1)可安装性测试
可安装性测试是针对那些用于在目标环境安装软件的安装程序所进行的测试。它可以包括安装操作系统的软件或在客户个人电脑上安装软件产品的安装向导软件。典型的可安装性测试应完成下列目标:
° 使用安装向导或遵照安装手册的步骤(包括执行必需的安装脚本),验证是否可以成功地进行软件安装。其中包括选择相应的选项针对不同的软硬件配置进行安装,以及进行不同程度地安装(如完全安装或部分安装);
° 测试安装软件是否能够正