SlideShare a Scribd company logo
1 of 30
Friendlyによる
Windowsアプリテスト自動化手法
基礎技術解説編
自己紹介
福本健治
職業:プログラマー
C#でWPFのデスクトップアプリケーション
開発をしています
Windowsアプリテスト自動化
こんなことをやりたいんです。
→デモ
テスト設計技術
アプリ操作技術
テスト自動化に必要な技術は大きくは二つ
テスト設計技術
アプリ操作技術
今日はWindowsアプリ操作技術
に関して話します。
Windowsアプリ操作プログラム
作成時に最も困ったこと。
それはインターフェイス。
・足りない。
・不安定。
・調整困難
だって、GUIって
人間用じゃん・・・。
GUI操作をエミュレートするライブラリは
いくつか存在します。
まあ、それはそれで良いのですが、
テストを作りこんでいくと
もう一手欲しかったりします。
で、Friendly
http://www.codeer.co.jp/AutoTest
Codeer で検索
eが一個多い
Nugetで無料で入手できます!
Friendly
他のとは根本的に違います。
対象プロセスと、友達になって、
プログラムを直で触らせてもらうのです。
最強
①君のものは僕のもの
public partial class MainForm : Form
{
ComboBox _comboBox;
string MyFunc(int value)
{
return value.ToString();
}
}
public void YourThingIsMine()
{
var process=
Process.GetProcessesByName("Target")[0];
//友達になると・・・
var app = new WindowsAppFriend(process);
//別プロセスのオブジェクトを
//自分のプロセスのもののように操作できる。
dynamic form = app.Type<Application>().OpenForms[0];
form._comboBox.SelectedIndex = 1;
string ret = form.MyFunc(3);
}
そ、そんな・・・
②僕のものは君のもの
void MyThingIsYours()
{
var process= Process.GetProcessesByName("Target")[0];
var app = new WindowsAppFriend(process);
//自分のコードを動的にインジェクション!
WindowsAppExpander.LoadAssembly(app, GetType().Assembly);
//挿入したコードを相手プロセスで実行
app.Type(GetType()). ForTest();
}
static void ForTest() { /*テスト用*/ }
え!? 勝手に?
信じられない?
では、デモやります。
実用例
安定したGUI操作
//プログラム時に使う操作を直接呼び出しているんだから
//確実に動作して当然だよね♪
form._comboBox.SelectedIndex = 2;
form._checkBox.CheckState = CheckState.Indeterminate;
form._trackBar.Value = 100;
*GUI操作は後で紹介する上位ライブラリを使うとさらに便利です。
操作困難なGUI操作をスキップ
void DragDrop(object sender, DragEventArgs e)
{
DropCore(
e.Data.GetData(DataFormats.FileDrop) as string[]);
}
void DropCore(string[] files)
{
//ここから先のロジックの方が不安なんだよね。
}
//クリップボード使う処理は
//不安定になりがちだし、
//自動テストではコア部分だけにしよっと♪
//もちろん、抜かしたことは
//チームで共有するよ。
form.DropCore(new string[] {
path1,
path2,
path3
});
内部データを抜き出して検証
//リストアイテムに格納されているデータ
[Serializable]
class MyItem
{
string Name { get; set; }
int Age { get; set; }
string Address { get; set; }
}
//データ取れるから、検証も簡単♪
MyItem item = form._listBox.Items[3];
Assert.AreEqual(“石川", item.Name);
Assert.AreEqual(37, item.Age);
Assert.AreEqual(“大阪”, item.Address);
複雑な処理、アトミックに実行したい処理はInjection
void Test()
{
WindowsAppExpander.LoadAssembly(app, GetType().Assembly);
//挿入したstatic関数を呼び出し。
app.Type(GetType()). Change(form._grid, 1, 1, 2);
}
//割り込みなしで、確実に実行。
//実装も簡単。(^_^)v
static void Change(DataGridView grid, int col, int row, int index)
{
grid.Focus();
grid.CurrentCell = grid[col, row];
grid.BeginEdit(false);
((ComboBox)grid.EditingControl).SelectedIndex = index;
grid.EndEdit();
}
対象プロセス内で実行!
void Test()
{
//インジェクション!
WindowsAppExpander.LoadAssembly(
app, GetType().Assembly);
//DLL公開関数も呼び出せる!
app.Type(GetType()). MyNativeFunction();
}
[DllImport("MFCApplication.exe")]
static extern void MyNativeFunction();
extern "C" __declspec(dllexport)
void __cdecl MyNativeFunction()
{
//みんな大好きMFC
//処理内容
}
レガシーなネイティブアプリを操作!
使い方色々。
非常に応用が利くので、
工夫して使ってみてください。
この自由度の高さは
テスト自動化のコストダウンの
お役に立つと思います。
さらに、上位ライブラリもあるのです。
Friendlyは、インフラのみの提供です。
何でもできるのですが・・・。
何でも書く必要があります。
例えば・・・・。
static void EmulateChangeCellText(DataGrid grid, int itemIndex, int col, string text)
{
bool success = false;
EventHandler<DataGridCellEditEndingEventArgs> hanlder = (s, e) =>
{
TextBox textBox = e.EditingElement as TextBox;
if (textBox != null)
{
textBox.Text = text;
success = true;
}
};
grid.CellEditEnding += hanlder;
EmulateChangeCurrentCell(grid, itemIndex, col);
grid.BeginEdit();
grid.CommitEdit(DataGridEditingUnit.Row, true);
grid.CellEditEnding -= hanlder;
if (!success)
{
throw new NotSupportedException
(ResourcesLocal4.Instance.DataGridErrorNotTextBoxCell);
}
}
WPFのDataGridのテキスト変更処理
//これをインジェクションして実行させる。
static void EmulateChangeCellText(DataGrid grid, int itemIndex, int col, string text)
{
bool success = false;
EventHandler<DataGridCellEditEndingEventArgs> hanlder = (s, e) =>
{
TextBox textBox = e.EditingElement as TextBox;
if (textBox != null)
{
textBox.Text = text;
success = true;
}
};
grid.CellEditEnding += hanlder;
EmulateChangeCurrentCell(grid, itemIndex, col);
grid.BeginEdit();
grid.CommitEdit(DataGridEditingUnit.Row, true);
grid.CellEditEnding -= hanlder;
if (!success)
{
throw new NotSupportedException
(ResourcesLocal4.Instance.DataGridErrorNotTextBoxCell);
}
}
WPFのDataGridのテキスト変更処理
//これをインジェクションして実行させる。
//実装しておきました!これ使ってください。
WPFDataGrid grid(core);
grid.EmulateChangeCellText(0, 1, “NewText”);
WPFのDataGridのテキスト変更処理
結局、GUI操作は、みんな使います。
多くの方、コミュニティーの協力により、
以下そろっておりますのでご利用ください。
・ネイティブ用
・WinForm用
・WPF用
・VSHTC.Friendly.PinInterface(特殊)
http://www.codeer.co.jp/AutoTest/api-reference
全部無料!
ちなみに、
GUI操作は、似たようなライブラリがありますが、
Friendly系のライブラリの特徴は・・・
・シンプル。
・タイミング依存なし。
・高速。
・足りなければ、中身を使って簡単に拡張可能。
お知らせ
Windowsアプリテスト自動化を希望している企業様がありま
したら、株式会社Codeerがお手伝いします。
【メリット】
テスト自動化は立ち上げにコストがかかりますが、
無料ライブラリのFriendlyを使うことと、
テスト自動化経験豊富な担当者のノウハウを使うことにより、
無駄を省いた導入が可能となります。
ご清聴ありがとうございました。

More Related Content

What's hot

iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門Shingo Tamaki
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & ActuatorsVMware Tanzu
 
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装についてSteam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装についてKLab Inc. / Tech
 
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化Satoshi Akama
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについてSEGADevTech
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례SangIn Choung
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 SangIn Choung
 
今さら聞けないDiとspring
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring土岐 孝平
 
継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine PluginMei Nakamura
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Taku Miyakawa
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Jaehoon Oh
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話torisoup
 
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用するC++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する祐司 伊藤
 
Postman: An Introduction for Testers
Postman: An Introduction for TestersPostman: An Introduction for Testers
Postman: An Introduction for TestersPostman
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法モノビット エンジン
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座Hiroko Tamagawa
 
three.jsを「遅い」と思わせないデータの扱い方
three.jsを「遅い」と思わせないデータの扱い方three.jsを「遅い」と思わせないデータの扱い方
three.jsを「遅い」と思わせないデータの扱い方jey en
 
はじめてのUnreal Engine 4
はじめてのUnreal Engine 4はじめてのUnreal Engine 4
はじめてのUnreal Engine 4Shun Sasaki
 

What's hot (20)

iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装についてSteam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
 
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례
 
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
今さら聞けないDiとspring
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring
 
継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin継続使用と新規追加したRedmine Plugin
継続使用と新規追加したRedmine Plugin
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
 
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
 
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用するC++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
 
Postman: An Introduction for Testers
Postman: An Introduction for TestersPostman: An Introduction for Testers
Postman: An Introduction for Testers
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
 
three.jsを「遅い」と思わせないデータの扱い方
three.jsを「遅い」と思わせないデータの扱い方three.jsを「遅い」と思わせないデータの扱い方
three.jsを「遅い」と思わせないデータの扱い方
 
はじめてのUnreal Engine 4
はじめてのUnreal Engine 4はじめてのUnreal Engine 4
はじめてのUnreal Engine 4
 

Viewers also liked

Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Tatsuya Ishikawa
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendlyTatsuya Ishikawa
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上Tatsuya Ishikawa
 
Gui自動入力ツール
Gui自動入力ツールGui自動入力ツール
Gui自動入力ツールyanoojapan
 
GUI Test is (not) necessary
GUI Test is (not) necessaryGUI Test is (not) necessary
GUI Test is (not) necessaryHiroshi Maekawa
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践Hiroshi Maekawa
 
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会Kinji Akemine
 
テストの種類とBDD #33testing
テストの種類とBDD #33testingテストの種類とBDD #33testing
テストの種類とBDD #33testingKoji Hasegawa
 
Windowsでの自動化の手段
Windowsでの自動化の手段Windowsでの自動化の手段
Windowsでの自動化の手段Hidari Ikw
 
第6回 itil講義資料
第6回 itil講義資料第6回 itil講義資料
第6回 itil講義資料Mugen Fujii
 
テスト自動化に対するAtlassian製品の有効活用法
テスト自動化に対するAtlassian製品の有効活用法テスト自動化に対するAtlassian製品の有効活用法
テスト自動化に対するAtlassian製品の有効活用法Mugen Fujii
 
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣智治 長沢
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化健一 辰濱
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプラインkyon mm
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはNozomi Ito
 
入門自然言語処理入門
入門自然言語処理入門入門自然言語処理入門
入門自然言語処理入門Hiromu Shioya
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014Kazuhiro Suzuki
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 

Viewers also liked (20)

Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
 
Stac2014 石川
Stac2014 石川Stac2014 石川
Stac2014 石川
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
 
Gui自動入力ツール
Gui自動入力ツールGui自動入力ツール
Gui自動入力ツール
 
GUI Test is (not) necessary
GUI Test is (not) necessaryGUI Test is (not) necessary
GUI Test is (not) necessary
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
 
テストの種類とBDD #33testing
テストの種類とBDD #33testingテストの種類とBDD #33testing
テストの種類とBDD #33testing
 
Windowsでの自動化の手段
Windowsでの自動化の手段Windowsでの自動化の手段
Windowsでの自動化の手段
 
第6回 itil講義資料
第6回 itil講義資料第6回 itil講義資料
第6回 itil講義資料
 
テスト自動化に対するAtlassian製品の有効活用法
テスト自動化に対するAtlassian製品の有効活用法テスト自動化に対するAtlassian製品の有効活用法
テスト自動化に対するAtlassian製品の有効活用法
 
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
【14-D-4】デベロッパー戦国時代!ストーリーをつなぐ開発環境と3つの秘訣
 
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
質問応答システム
質問応答システム質問応答システム
質問応答システム
 
入門自然言語処理入門
入門自然言語処理入門入門自然言語処理入門
入門自然言語処理入門
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 

Similar to FriendlyによるWindowsアプリテスト自動化手法 基礎技術編

【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベントTatsuya Ishikawa
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発7shi
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理慎一 古賀
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト祐磨 堀
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Tatsuya Ishikawa
 
Windows phoneの開発ツール
Windows phoneの開発ツールWindows phoneの開発ツール
Windows phoneの開発ツールNobuaki Aoki
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版baroqueworksdev
 
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたFriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたNakaiYusaku
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーションKaoru NAKAMURA
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーションVisual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーションKaoru NAKAMURA
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座Masuda Tomoaki
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会Takahiro Nakahata
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つけるTatsuya Ishikawa
 

Similar to FriendlyによるWindowsアプリテスト自動化手法 基礎技術編 (20)

【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発無料環境でWindows Mobileアプリ開発
無料環境でWindows Mobileアプリ開発
 
Jenkins導入ライブ
Jenkins導入ライブJenkins導入ライブ
Jenkins導入ライブ
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
 
Windows phoneの開発ツール
Windows phoneの開発ツールWindows phoneの開発ツール
Windows phoneの開発ツール
 
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
 
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたFriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーションVisual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 

FriendlyによるWindowsアプリテスト自動化手法 基礎技術編

Editor's Notes

  1. 高速にWindowsアプリが動作している様子。見た目が派手なもの。ダイアログが出たり消えたりとか、画面遷移とか。グリッドとか。30秒ぐらいのもの。
  2. インターフェイスで困ってるでしょ?思い通りに動かせないでしょ?作者は困った。っていう共感を得たい。(このスライドの時点では、カスタマイズしたインターフェイスの公開とかは普通思わない)
  3. PrivateでもOK
  4. 通常はできないよー。凄いことなんだよアピール。
  5. 説明なし。長いってことだけ見せてさらっと。
  6. 結局中身はFriendlyのオブジェクトなので、簡単に拡張できる。