分类: C/C++
2016-12-23 17:10:27
除了之前介绍过的,在UC2016上,来自IBM的三位工程师(SuLiu,BoyiTzen,FanYang)还给我们带来了一个非常值得深入研究的话题——Conceptof Cloud Based Globalization Verification Service。
开篇作者就介绍GlobalizationVerification Test(下文简称GVT)所期望解决的问题,包括:
1. 自动验证feature的可译性
· APIs (e.g. setlocale, cateopen, categet)
· Packages (locale对象, 消息, 键盘)
很好奇GVT是如何对keyboard进行自动验证的,细节在slides中并未提及。之后我会联系作者,如有答案我会分享给大家。 |
· 输入和输出(输入法、布局、键盘)
· 数据处理APIs(正则表达式)
2. 自动确定全球化的错误
· 可译性过程中逻辑错误
· 乱码显示(MOJIBAKE 文字化け)
· 消息截断
同时介绍了其整个背景,即建立在面向云服务和自动化检测基础之上,适用如下场景:
1. 自动编码
· Unicode更新
· 添加新语言和Locale支持
· 本地CLDR和ICU4C更新
2. 自动测试
· Regression-FVT
o Locale: cfgnlsTest
o Collation: collationTest
o Codeset: iconvTest
· GVT
o Pseudo Translation Test
o GVT
· TVT
o Message Screening Test (>1300 messages x 35locales)
3. 面向云服务的GVT
为了完成如上工作,作者设计出了三种不同类型的service。
先来说国际化测试,其策略可以分为如下几点。
· GVT as Service:
o 将独立的GVT task从Dev team中彻底解耦和
o 部署一个centralized的GVT架构
o 组建一个专业的GVT技术团队
· Off-System GVT
o 预GVT分析
o 无需在系统上进行全球化测试
o 尽早的全球化问题检测
· GVT SaaS (pay as you go)
o 选择合适的GVT测试点作为SaaS服务
o 在云端检测支持GVT服务的可能性
其核心是基于云计算的GVT服务框架。
· Client端全球化Feature Abstracter (CSGFA)
o GVT GUI服务
o 全球化数据收集模块
· 服务器端全球化测试API (SSGT-API)
o SaaS APIs
整体架构和流程图如下所示。
大体可以分为三个部分,managementGUI,client,server。从下文开始,我会对这些模块逐个进行分析,并介绍给大家。