Top100summit 跨平台自動化測試與工具 徐翔智

24
揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 跨平台的自动化测试与工具 Tony Hsu徐祥智Sr Quality Manager [email protected] 趨勢科技 http://top100summit.com/content.php?id=365

Transcript of Top100summit 跨平台自動化測試與工具 徐翔智

Page 1: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

跨平台的自动化测试与工具

Tony Hsu徐祥智Sr Quality Manager

[email protected]

趨勢科技

http://top100summit.com/content.php?id=365

Page 2: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

跨平台 自动化测试与工具

案例背景 实践

案例ROI分析

• UI Error handled • Multi-threads • Reboot scenario

失敗與放棄

•Automation Framework •Build Portal •L10n Automation •Tools

案例启示

未来想尝试

•Automation Framework •Win Browser UI Automation •iOS Mobile Automation •Android Mobile Automation

參考資料

Manual Automation

30.84 hr/man 1.1 hr/man

Page 3: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

案例背景 http://top100summit.com/content.php?id=365

• Launch in 2012 March

• Windows, iPhone, iPad, Android Phone and Android Pad. Support Browser IE, FireFox and Chrome.

• 20+ team members development team size (QA/RD)

• Cross-site testing with localization team in JP/China & support team in every region.

• Multilingual User Interface (MUI) build.

10 + Years

87600 hours 2102400 Min In software development

About Me

• Sr Quality Manager / Sr Project Manager •Consumer product development group • TrendMicro

Page 4: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

跨平台的自动化测试与工具

Automation Framework

Testing Report

Build Portal for Cross-platform

L10n Testing Automation

目標

Page 5: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 1.1 - Automation Framework – Testing Flow

B1001 B1002 B1003 B1004….

•Build monitoring •Build/Testing Deployment •Auto-Testing Execution •Sending Report

•QA Report

Page 6: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 1.2 – Automation Framework Key Component

•Daily Build Monitor

•Information for automation server

•Testing target machines

•Source location

•Server

•Revert the client VM

• package the Build and Testing script

• Deploy resource to client

• Trigger automation testing

• Collect testing result and send email

•Client

• Testing scripts Execution

• Generate testing report

Page 7: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 1.3 - Automation Framework –Infrastructure Blocks

Product Library

Testing Script

Add-on Module

Common Library

Python STAF Core Basis

Add-on

Application Testing

7

Page 8: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 1.4 - Automation Framework – Infrastructure

Windows Auto Testing

Android Auto Testing

Common lib

Test suite

Test Runner

Test Cases

iOS Auto Testing

Linux Auto Testing

TestResult.txt

Page 9: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

Common lib

Plink Tool

iOS Auto Testing

Profile

UIAutomation

Instruments

iOSview001.js

iOSview001.js

实践 1.5 - iOS

STAF

9

Page 10: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 1.6 – Android

Common lib

Android project

STAF

Psexec.exe

Android Test project - Robotium

Instruments

TestView01.apk

Androidview001.java

I i

Python & ADB

androidview001_001.py

PC for Android

Android emulator

10

Page 11: Top100summit 跨平台自動化測試與工具 徐翔智

实践 2.1 – Automation Testing Report – Key Info

•Build Number •Testing Machine Name/IP •Testing Time •Platform •Results •Crashes •Testing Cases •Further Link for logs/screenshot

Page 12: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 2.2 – Automation Testing Report–Link to details

•Testing Steps of failure • Logs • Screenshot

Page 13: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 3.1 – Build Status Portal

Problem to Solve under cross regional team Environment.

1. How and Where to download Build?

2. What’s change in the build?

3. What’s the build configuration Status?

Page 14: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 3.2 – Build Status Portal

1. Build Number

2. Build Result

3. FTP download URL for Windows

4. SAMBA download URL for Mac OS

5. What's New in the build

6. Build Time

7. Configuration Highlight

8. Build Log

Page 15: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 4.1 – Localization Automation Testing

The problem to Solve for L10n UI verification

1. UI changes impact on other languages?

2. How to efficiently validate OEM customized UI changes?

3. How to validate UI truncation issue after language translation?

Page 16: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 4.2 – Localization Automation Testing – UI Truncation

1. Source code parser for • “SetText” with Android • “NSString” with iOS 2. Word counts of the parsing results 3. Compare the UI width 4. List of potential UI truncation ISsue

Page 17: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

实践 4.3 – Localization Automation Testing – UI Screenshot Automation

•Key Technology •iOS UIAutomation •Robotium

Page 18: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

失败经验 • UI Error handled

• Multi-threads testing execution

• Reboot scenario

未来尝试

• More Testing Cases.

• MetroApp Automation

Page 19: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

效益分析

Before (Manual) After (Automation)

Testing Efficiency 30.84 hr/man 1.1 hr/man

Testing Coverage

Platform Win7_x32 W7_x32 , Vista_x32 , W7_x64 + Vista_x64 + WinXp and so on.

Browser IE, Firefox, Chrome = 3 IE, Firefox, Chrome with different versions

Language EN = 1 EN, JP, FR, TW, DE = 5

Page 20: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

成功要素

1. Clearly Define the automation testing scope and staged-goal

2. Uses of Tools

3. Plan automation tasks as parts of QA testing cycle

4. Testing Report links to further info/logs to trace the issue

成功经验总结

1. Automation Framework (Build Monitoring, Testing Server and Client)

2. Integration with iOS/Android and Windows

哪些技术促使项目成功。

1. For automation framework, Python and Software Testing Automation Framework (STAF)

2. For Android UI Automation, Robotium

3. For Browser UI control, Selenium and JsonWireProtocol

4. For Testing Client environment, VM workstation, ESXi, Lab Manager

Page 21: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

案例启示 -跨平台的自动化测试与工具

•Automation Framework •Consolidated reporting •VM workstation, ESXi, LabManager •Software Testing Automation Framework (STAF) •Python •Build Portal •Consolidated build status and download for cross platform build.

•L10n Automation •UI verification •Tools •Selenium UI control •Robotium •iOS UIAutomation •iOS/Android emulator

Page 22: Top100summit 跨平台自動化測試與工具 徐翔智

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

參考資料

•Automation Framework •http://www.python.org/download/ •http://sourceforge.net/projects/pywin32/ •http://staf.sourceforge.net/getcurrent.php •Windows Browser UI Automation •http://code.google.com/p/selenium/ •iOS Mobile Automation •Introduction to Automating UI Testing in iOS •iOS Automated Tests with UIAutomation •UI Automation JavaScript Reference •Android Mobile Automation •http://code.google.com/p/robotium/

Page 23: Top100summit 跨平台自動化測試與工具 徐翔智

www.top100summit.com

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

Page 24: Top100summit 跨平台自動化測試與工具 徐翔智

www.top100summit.com

揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!

跨平台 自动化测试与工具

案例背景 实践

案例ROI分析

• UI Error handled • Multi-threads • Reboot scenario

失敗與放棄

•Automation Framework •Build Portal •L10n Automation •Tools

案例启示

未来想尝试

•Automation Framework •Win Browser UI Automation •iOS Mobile Automation •Android Mobile Automation

參考資料

Manual Automation

30.84 hr/man 1.1 hr/man