concept of cloud based globalization verification serviceconcept of cloud based globalization...

19
Concept of Cloud Based Globalization Verification Service Concept of Cloud Based Globalization Verification Service Su Liu ([email protected]) Boyi Tzen ([email protected]) Fan Yang ([email protected]) 40 th Internationalization & Unicode Conference Santa Clara, CA. USA2016

Upload: others

Post on 19-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Concept of Cloud Based Globalization

Verification Service

Su Liu ([email protected])

Boyi Tzen ([email protected])

Fan Yang ([email protected])

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

Page 2: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Agenda

� Overview Globalization Verification Test (GVT)

� Background Automation and Cloud Service

� Globalization Verification Test Strategies

� Cloud Based GVT Service

� Cloud Based GVT SaaS APIs

� Advantages

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20162

Page 3: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Overview: Globalization Verification Test (GVT)

� Verify Translatability (features)

� APIs (e.g. setlocale, cateopen, categet)

� Packages (locale objects, message, keyboard)

� Inputs and outputs (IME, layout, keyboard, )

� Data processing APIs (regular expression)

� Identify Globalization Errors

� Logic errors on translatability

� Displayed garbage characters (MOJIBAKE 文字化け)

� Message truncation

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20163

Page 4: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Background: Automation and Cloud Service

� Automated Development

� Unicode update

� New language and locale support

� CLDR Local and ICU4C update

� Automated Test

� Regression-FVT

� Locale: cfgnlsTest

� Collation: collationTest

� Codeset: iconvTest

� GVT

� Pseudo Translation Test

� GVT

� TVT

� Message Screening Test

� (>1300 messages x 35 locales)

� GVT Cloud Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20164

Page 5: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Globalization Verification Test Strategies

� GVT as Service:

� Aggregate those isolated GVT tasks from normal development teams

� Define a centralized GVT architecture

� Build a professional GVT team

� Off-System GVT

� Pre-GVT analysis

� No need to test globalization features on a system

� Early globalization issue detection

� GVT SaaS (pay as you go )

� Select suitable GVT items as SaaS Service

� Check possibilities to support GVT service on cloud

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

GVT Team

Command

System Management

TCP/IP

FVT

System Test

TVT

5

Page 6: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Cloud Based GVT Service

� Framework:

� Client Side Globalization Feature Abstracter (CSGFA)

� GVT GUI Service

� Globalization Data Collection Module

� Server Side Globalization Test Application Programming

Interfaces (SSGT-API)

� SaaS APIs

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20166

Page 7: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Architecture and Flowchart

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20167

Page 8: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

• Management GVT

• Configure GVT

• Get Client Data

• Kick off GVT

• Check Result

GUI of GVT Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20168

Page 9: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Globalization Data Collection on Clients.

• G11N data abstractor

• Sampling agent

• Scan source code

• Abstract changed parameters

• Analyze changed parameters

• Map changed parameters

• G11N API matrix (changed vs. unchanged)

• Upload subroutines and parameters

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 20169

Page 10: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Globalization Data Collection Module

Client-side globalization feature abstractor is controlled by a production developers

• Collect a list of enabled languages and locale names

• Scan all source code and list all globalization sub-routines (see next page)

• Analyze the parameters used by the globalization sub-routines (parameters such as the

message/language catalog name)

• Map each parameter to each API

• Detect the predefined default buffer size for each message and expected buffer size under

each language

• Send the globalized data (list of languages and locales, message ID, default message, default

buffer size, translated message (if it is available) to server-side globalization verification test

API.

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 201610

Page 11: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Globalization Sub-routines for Logic Analysis

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

setlocale catopen catgets catclose

strcoll mbtowc mbstowcs strcmp

iconv nl_langinfo strfmon strtime

isalnum isdigit toascii isalpha

isxdigit isupper tolower isascii

islower toupper isspace ispunct

isprint isgraph iscntr

11

Page 12: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Server Side Globalization Test Application Programming

Interface (SSGT-API)

• Server-side globalization verification test APIs is controlled by service provider

• Receive client GVT request and load globalized data ( list of languages and

locales, code set name, message ID, default message, default buffer size, and

expected buffer size)

• Execute GVT based on the collected client data. There are set of GVT APIs

could be developed separately for different purpose for instance,

• APIs for checking G11N logic

• Verifying message encode (charset)

• Testing message truncation

• Analyze test results such as test passed or failed.

• Provide GVT report.

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 201612

Page 13: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

APIs:

• G11N Logic Analysis Test

• Charset Setting

• Truncation Verification

Repository of G11N Features

• Support Language

• Default Locale

• Message ID

• Message files

• Default buffer size

• API List and Order

More Details on SSGT-API

Page 14: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

SaaS Process

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 201614

Page 15: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

Example 1:

File name: #0001.c

Function Name: main()

Line# 110 catopen()

Line# 120 setlocale()

Line# 122 catgets(message1.cat)

---------------------------------

Message Location;

/msg/en_US/message1.cat

/msg/ja_JP/[empty]

G11N Logic Analysis Test

50

. G

11

N L

og

ic

An

aly

sis

Tes

t

Correct Logic

Get G11N

API Order

Check Logic

Logic Error

Wrong logical order

Missing

translation File

No

Yes

Page 16: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

Example 2:

Message#1000

/msg/ja_JP.UTF-8/message1000.cat)

---------------------------------

CheckCodeset(message1000.cat)=> GB18030

Charset Setting Test

Wrong codeset

Page 17: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016

Example 3:

BuffSize=256; char MSG[BuffSize]

s1=size(message1.cat) =200

ja_index=2.38;

s2=s1 x ja_index > BuffSize

Truncation Verification

Overflow

S1 < S2

Get Default Buffer

Size S1

Calculate Expected

Butter Size, S2

Truncation Error

54

. T

run

cati

on

Ver

ific

ati

on

No

Yes

Page 18: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Advantages and Benefits

• Define a GVT "pay-as-you-go" service concept and method

• Support online (cloud) GVT API

• Skip onsite GVT support level and save GVT cost

• Reduce security accessing management tasks

• Make Agile development possible to alert developers if the GVT API

detect any potential globalization issues (e.g. translatability and culture

support)

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 2016 18

Page 19: Concept of Cloud Based Globalization Verification ServiceConcept of Cloud Based Globalization Verification Service Globalization Data Collection Module Client-side globalization feature

Concept of Cloud Based Globalization Verification Service

Discussion, Q & A

40th Internationalization & Unicode Conference Santa Clara, CA. USA, 201619