(1)、平台应提供二进制兼容性。 可执行软件是二进制目标码, 需要在处理器和应用软件目标码之间建立沟通;
(2)、平台必须包括微处理器,或一个与微处理器机器代码相离的通用机器码仿真器;
(3)、平台应包括带有应用程序接口API及支持一致性图形用户界面GUI相应功能的操作系统。 API 是执行典型操作功能的软件功能库, 例如打开文件, 读写数据, 配置和管理内存, 处理事件, 显示文档和图形等。 为使应用软件真正做到可移植, 装置上必须有公共功能集, 并让软件开发者能通过一致性API 扩展功能;
(4)、平台不应要求过多的系统资源, 可移植性设备不应使成本上升太多;
(5)、平台应对功率有高效率, 尤其考虑用电池供电的设备;
(6)、由于要在互联网上应用, 安全性也是重要因素。
以Java手机软件测试为例潜在的测试问题和解决办法
Java有移植性好和其它很多优势, 但用在手机上, 速率和功耗仍是个瓶颈。 Java带来的新问题是执行速度慢, 消耗功率大。 与PC不同的是, 手机资源有限, 一般流行的手机中CPU的速率为26MHz, 或52MHz,带128M闪存, 8Mb, 16M 或64Mb内存, 没有硬盘, 由电池供电, 体积小, 空间窄。 系统慢的原因是:
(1) 系统必须同时运行两套软件: Java应用和虚拟机JVM;
(2) Java软件需要被翻译成自然CPU指令;
(3) Java平台是基于栈(相对于寄存器)结构的, 导致更多的内存存取。
因而, 如何对执行 Java加速成为关键。 加速处理数据和图形, 这对手机上互联网和多媒体的应用具有重要意义。要克服这些问题, 提高Java软件性能, 可能的方法有四种:
(1) 提高微处理器速率。 然而Java软件性能与时钟频率并不成线性关系, 微处理器运行一般比内存存取时间高2-10倍, 增加时钟频率只会增加等待周期。
(2) 对JVM软件进行优化。这可能涉及到要用汇编语言对字节码翻译环路进行编程, 而这会导致JRE变得与微处理器类别有关。而与可移植相抵触;
(3) 编译。 将软件直接编译到微处理器的自然机器语言。但是这会增加内存的开销, 也不节省能量的消耗。
(4) 采用基于硬件的加速器。 这可以做到提高性能, 保障能量和成本的有效性。 被手机设计厂商认为是较理想的措施。 通用型Java加速芯片于今年年初问世。
文章来源于领测软件测试网 https://www.ltesting.net/