ソフトウェアテストシンポジウム 2010 東京

Windows Embedded CEに見る、組込み開発テスト環境

平成22年1月29日
ソリューション技術本部
組込制御ソリューション統括部 組込第1技術部
中田 佳孝

アジェンダ
組込み開発の現状
Windows Embedded CE概要
組込み開発でのテスト懸念点
Windows Embedded CEに見るテスト環境
テストツール使用時の注意点
まとめ

Windowsは米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。
本資料に記載されている会社名及び製品名は、各社の登録商標または商標です。
1

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

組込み開発の現状
組込システムに対する市場の性能ニーズは高い⇒ ハイスペックOSの搭載
ハードウェアの高機能化– CPUクロック、メモリサイズ ⇒ 大– 操作性や見栄えのいいGUI

デバイスの多様化– USB, IEEE1394 etc…

サービス・プロトコルの多様化– Webサーバ、FTPサーバ、SNMP etc…

⇒ハイスペックOS搭載によりスクラッチでの開発ボリュームを低減

2Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

Windows Embedded CE概要
Windows Embedded CEにより、容易に高機能・高性能なシステム構築が可能。
32bit CPU（ ARM, MIPS, x86, SH4 ）用のリアルタイムOS
カーネルはPC版Windowsとは別設計※システムコールはWin32APIのサブセット

約600個のコンポーネントが標準で付属– 対応デバイス– 対応プロトコル– 各種サーバ：シリアル, NIC, IrDA, Bluetooth, 無線 LAN etc…
： TCP/IP＆v6, VoIP, VPN etc…
： Web, FTP, SMB etc…

⇒プロダクトライン開発に有利
統合開発環境（Visual Studio 2005 + アドイン）での開発
製品サポート：10年、製品供給：15年
ARMはアーム・リミテッド社、MIPSはMIPS社、x86はIntel社、SHはルネサステクノロジ社の登録商標です。
BluetoothはBluetooth SIGの登録商標です。
3Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

組込み開発でのテスト懸念点質を確保するためにも効率よいテストができる仕組みが求められている。
ハイスペックOSは搭載されるようになってきたが・・・
ステップ数増加＝検証ボリュームの増加（従来より多くはなったが）限定されたリソース
長時間運転
稼働中の電源OFF ⇔ ON
データ保護
機器と連動 ⇒ 高安全性・高品質

4

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

Windows Embedded CEに見るテスト環境

デバイスドライバ用テストツール– Windows CE テストキット（CETK）
アプリケーション用テストツール– Application Verifier（AppVerifier）

5

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

Windows CE テストキット
デバイスドライバや各種コンポーネント用のTestingフレームワークを提供！
ホストPC

ターゲット機器

テスト管理ホスト
CETest.exe

テスト管理クライアント
ClientSide.exeEther

テスト実行エンジン
Tux.exe

ログ管理エンジン
Kato.dll

開発環境とは独立して動作テスト用DLL
テスト自動実行が可能。
リモートでテストを実行。
テスト対象ドライバ /機能コンポーネント⇒ヘッドレスでもテスト可能
標準的なデバイスに対するテストルーチンがあらかじめ付属独自のテストスイートを追加・実行・再利用可能。
6Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

Windows CE テストキット
Test Cases 様々なデバイス・機能用のテストルーチンがfor the Waveform Audio Driver Test
Test case

デフォルトで提供されている。
Test case

Description

Description

100 Build Verification Test
Audio
1000 Easy Playback
Bluetooth

3001 Capture
OAL(OEM Adapted Layer)
3002 Capture Notifications
Parallel Port

2000 PlaybackCamera
Capabilities

3003 Capture Buffer Freed During Capture
PC Card2001 PlaybackCellular

Performance
3006 Capture Initial Latency

Display
2002 Playback Notifications
Ethernet
2003 Playback Using Extended Functions
File System
2004 PlaybackIRBuffer
Port Freed During Playback

Printer
3007 Capture Initial Latencies Series
Serial Port
3008 Capture Multiple Streams
Smart Card
6000Device
Playback Mixing
Storage2005 PlaybackKeyboard
Sample Rate Reporting

6001
Capture Mixing
Touch
Panel

2006 PlaybackModem
Initial Latency
Mouse2007 Playback Initial Latencies SeriesMultimedia
2008 Playback Interoperability
NLED
3000 Capture Capabilities

USB7000
Port International Audio File Names
VoIP
8000 Verify Handle Validation
Wi-Fi
8001 Verify Device ID Validation
8002 Verify GUID Validation
7

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

Application Verifier
アプリケーションが正しくターゲット資源を使用しているか効率的にチェックできる。
ホストPC

ターゲット機器

ホスト側
AppVerifCE.exe

クライアント側
AppVerif.exe
Ether

テストアプリケーション

監視
Win32API

開発環境とは独立して動作
関数フックによるAPI監視 ⇒ アプリ側の変更不要
監視結果（例外情報やCall Stack）をXMLでデータ出力可能
スタンドアロン／リモートどちらでも実行可能。
（リモートで結果データの取得が可能）
アプリケーションが終了できることが条件
8

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

AppVerifierを使ったテスト手順
AppVerifierの起動

ホスト側：
c:¥Program Files¥Microsoft Platform Builder¥6.00¥cepb¥wcetk¥ddtk¥desktop¥AppVerifCE.exe

テスト対象アプリの起動

テストシナリオ実施

テスト対象アプリ
クローズ（終了）

・メモリリーク及びヒープ領域破壊の監視・同期オブジェクト等の各種ハンドルオブジェクトのリーク監視・ GDI及びユーザ定義オブジェクトのリーク監視

AppVerifierのログ
確認
9

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

テストツール使用時の注意点
どんな仕組みで何が検証できるのか、テストツールの動作もしっかり把握が必要。
テストツールを使用する = 本番環境ではない。
– CETKやAppVerifierがバックグラウンドで動作するため、CPUの使用率、メモリ/スタック使用量、通信負荷が少なからず増加。

テストシナリオ内でどう使えるか？
– 確認したい現象と、テストツールで確認できることはマッチするか？
⇒テストツールの仕組みの理解

10

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

まとめ
組込み開発の現状– CPU, デバイスの高性能・多機能化 ⇒ ハイスペックOSの使用

Windows Embedded CE事例
– アプリ、ドライバ向けに標準でテストツールが付属– 開発環境とは独立して動作– テスト用の仕組みをスクラッチで開発する必要がなくなる。
– テストスイートが再利用可能になる。
⇒効率よいテストが可能。
⇒QCDの確保につながる。

テストツールの注意点– テストツールを使う ＝ 本番環境ではない– ツールの仕組みを把握 ⇒ テストシナリオにマッチするか？
11

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.

http://www.ysknet.co.jp
12

Copyright© YASKAWA INFORMATION SYSTEMS Corporation All Rights Reserved.