SlideShare una empresa de Scribd logo
1 de 62
皮を剥く
自己紹介 
石川達也 
株式会社Codeer代表取締役 
Microsoft MVP for C# 
Windowsアプリテスト自動化歴9年 
Windowsアプリ操作用ライブラリFriendlyの開発者
Windowsアプリ用の皮むき器です。 
*詳細は後で 
Friendly紹介 
http://www.codeer.co.jp/ 
Friendly 自動化で検索!
Friendly紹介 
無料です!
Friendly紹介 
じわじわ来てます。 
一部上場企業様でも続々と採用中
Friendly紹介 
アメリカでも大好評でした! 
亀岡的プログラマ日記 
http://posaune.hatenablog.com/entry/2014/11/16/173446
アジェンダ 
1.なぜ剥くのか? 
2.剥き方 
3.新たな皮をかぶせる
1.なぜ剥くのか? 
1.Why do you peel 
it?
もっと自由に自動化したい! 
1.Why do you peel 
it?
これプログラムから操作しようと思うでしょ? 
1.Why do you peel 
it? 
アプリケーションとして起動してる画面ね
いやいや、どうやんの? 
このコントロールは、 
UIオートメーション対応してんのね。 
あれ、こいつ動かん。 
キー、マウスエミュレートやるかー。 
あかん、タイミング依存。 
あれ?このウィンドウどれへん。 
モーダルダイアログでかたまったー。 
この画面、OSによって 
デザインかわっとるやんけ! 
1.Why do you peel 
it?
むずかしわ! 
1.Why do you peel 
it?
システムテスト自動化のボトルネック 
(あくまで私の経験) 
そのほとんどは 
「操作技術」 
1.Why do you peel 
it? 
だって、簡単に操作できたら 
手動でやってるスクリプトは 
全部自動化するよね?
でもおかしな話ですよね? 
僕らは、このシステムを作ったはずです。 
その時は、APIを駆使して 
自在にシステムを操ったはずなのですよ。 
なんで、こんなことに? 
1.Why do you peel 
it?
それはね、こう見ているからですよ。 
アプリケーションとして起動すると 
もはやプログラムとしてみてないんですね。 
別プロセスのGUIって得体がしれないもの。 
1.Why do you peel 
it?
こう見るのだ! 
つまり、プログラムとして 
見るのですね 
public partial class InputForm : Form{ 
DataGridView _dataGridView; 
TextBox _textBoxName; 
DateTimePicker _dateTime; 
Button _buttonOK; 
void buttonOK_Click(object s, EventArgs e) 
{ 
・・・ 
} 
} 
1.Why do you peel 
it?
いつもと同じAPIが使える!(とすると 
form._textBoxName.Text = “abc”; 
form._dateTime.Value = 
new DateTime(2014, 11, 1); 
Form._buttonOK.PerformClick(); 
public partial class InputForm : Form{ 
DataGridView _dataGridView; 
TextBox _textBoxName; 
DateTimePicker _dateTime; 
Button _buttonOK; 
void buttonOK_Click(object s, EventArgs e) 
{ 
・・・ 
} 
} 
1.Why do you peel 
it? 
思い通りにプログラムできる! 
Happy!
いやいや、何言ってんの? 
それができたら簡単だけど。 
別プロセスですよ? 
そんなのできるわけないじゃん
そこでFriendlyですよ 
Is a magical library! 
It break through 
the walls of processes. 
デモ! 
https://www.youtube.com/watch?v=CK327YuI-bk 
https://www.youtube.com/watch?v=xy7BvrrF8oE
対象ごとに、皮むき器が必要になってくるんですけどね。 
1.Why do you peel 
it? 
WindowsアプリならFriendly!
なぜ剥くのか? 
僕自身が 
自在にテスト自動化コードを書くために 
この考えを採用したのです。 
だって、こうしたら 
普通のプログラムと同じノリで拡張できるし。 
操作上のボトルネックを外すこともできる! 
テスタビリティーも好きに向上できるじゃん! 
1.Why do you peel 
it? 
Freedom!
それから・・・ 
システムテスト自動化って、つまりは 
プロダクトプロセスとテストプロセスを協調動作させる 
マルチプロセスプログラミング。 
安定して動作させるためには 
こういった、内部を見る視点が必要不可欠! 
1.Why do you peel 
it? 
なぜ剥くのか? 
アクロバティック!
皮の剥き方 
2.How to peel
それを、説明にするにあたってこれをみてください。 
アプリってね、こうじゃないんですよ。 
いや、こうなんだけど・・・ 
2.How to peel
こうなんですよー 
ものによっては 
サーバーとか外部機器と通信する 
奥行があるのです! 
2.How to peel
この結合したシステムを 
効率よくテストしたいのです 
GUIの詳細をテストが目的ではない。 
システムをテストすることが目的なのだ! 
2.How to peel
さあ、剥くぞー! 
2.How to peel
操作するということを考えて、ちょっと図を変えると 
OS層 
2.How to peel
まずは、一番不安定で、かつ自動化する価値が低いとこ 
2.How to peel 
OS
ここだ! 
2.How to peel 
OS
キーマウスエミュレートは・・・ 
OS層に送って、長い道のりを経て 
目的のコードにたどり着く 
安定したテストを書くのは困難(僕には無理 
あと、低レベルな指令に頼ると 
メンテナンス性が低いんですよねー 
2.How to peel 
一旦OSに送って 
そこからアクティブな 
プロセスに送信される 
OS
よし、剥がそう 
GUI 
コントロール 
(3rdパーティー) 
2.How to peel
GUIコントロールを操作する分には、 
多くの場合は手動と同等と考えられる 
GUI 
コントロール 
(3rdパーティー) 
→差異のあるものもある 
form._textBoxName.Text = “abc”; 
form._dateTime.Value = 
new DateTime(2014, 11, 1); 
form._buttonOK.PerformClick(); 
大体はこれでOK 
一般的に望まれる 
システムテスト自動化とほぼ同等の効果 
単にプログラムから扱いやすいだけ 
2.How to peel
備考:実はUIオートメーションも、この層は剥いでいる 
GUI 
コントロール 
(3rdパーティー) 
で、GUIコントロールとだけ 
通信できるような仕組みを用意している 
まあ、自由度はないけど 
2.How to peel
備考:Friendlyなら 
GUI 
コントロール 
(3rdパーティー) 
Netならフルアクセス、 
ネイティブはDLL公開関数を操作できる 
2.How to peel 
自由すぎる!
時には、もっと剥いでみよう! 
2.How to peel
こんな感じ 
2.How to peel 
ユーザーロジック 
ここまで剥いたら 
全部知ってるよね
結局のところ、テストしたい対象って、ここで十分だったりする 
それに、扱いやすいよね! 
もちろん、システムテストなんで 
できるだけ上位から叩けた方が良いいけど。 
テストの本質的な対象でない部分がボトルネックになって 
自動化を諦めるのってホントにもったいない! 
2.How to peel 
バグのほとんどは 
ここにあるでしょ? 
あと、データ取得とかで使いますね。
例えばこんなとき 
//ここの結合は不安が少ない 
void Event(object sender, EventArgs e) 
{ 
EventCore(PointToClient(Control. MousePosition)); 
} 
//これを呼び出す 
void EventCore(Point mousePosClient) 
{ 
//ここから先なら簡単に操作可能 
//テストとしても問題がない 
} 
自動化可能に! こういうの苦手・・・ 
・キー、マウス直接参照 
・D&D 
・OS提供のGUI 
2.How to peel
あ、念のため単体テストとは違いますよ。 
あくまで、操作開始トリガを変えてるだけです。 
テストスクリプト 
・・・・ 
結合したシステムに処理を実行させている 
2.How to peel 
単体テストは結合前の部品のテスト 
これはこれで、やらなきゃね。
裏ワザ 
2.How to peel
結合状態で特定のメソッドをテスト 
テストスクリプト 
・・・・ 
まったく、セオリーに反した手法ですが 
場合によっては非常に費用対効果高い場合があります。 
レガシーコードで 
単体テスト不可とかね・・・ 
2.How to peel
例えば、どんなとき? 
はいはい、実際にあったんですよー 
2.How to peel
すっげー深いネストで、 
それぞれもすごく入り組んでて、 
static変数ありまくりで、 
初期化は意味わからんタイミングで、 
おまじないのように書き込まれている 
神関数スタート! 
static変数の 
状態によって複雑に 
処理が変わるよ 
実行したら 
何処かのstatic変数の 
状態が変わるよ 
関数ツリー 
クリスマスバージョン 
2.How to peel
既存の動きは全く変えずに 
機能追加してください。 
あ、既存に不具合あっても直しちゃダメよ。 
そんなアホな
仕様がわからんから、 
仕様化テストをやりたい。 
テストケースは総当たり15万ケース 
結合状態でやんないといけない。 
各static変数には 
GUIが結びついてて 
それで、状態を変えたり 
取得したりできるのだけど 
1ケース2秒・・・ 
83時間かかるやんけ 
2.How to peel
GUIすっ飛ばして、 
static変数書き換えて 
関数呼び出し。 
結果のstatic変数を全ダンプ。 
2.How to peel 
種類実行平均時間合計 
手動30秒1250時間 
自動GUI操作2秒83時間 
自動内部メソッド10ミリ秒24分 
24分でできた。 
これなら機能追加期間に 
頻繁に実行できるね。 
ローカルPCでもね。
剥く皮の厚さは 
テスト対象ごとの性質を考えて 
決定してね。 
最初は薄皮一枚剥がすのがおすすめ 
普通のGUI操作とほぼ同じ 
プログラムから操作しやすいだけ 
GUI 
コントロール
注意事項 
2.How to peel 
皮もおいしくいただきましょう 
三浦さん(仮)は 
失敗していましたが
大事なのは、どこを自動化で抑えたかを把握すること。 
それによって、手動テストを削れる部分と 
やっぱりやっておくべき部分を明確にする。 
自動化できたケース手動で実施するケース 
A B C F 
C 
D E 
E 
自動化 
一部手動 
手動 
*毎日実行される 
こちらに入れることが重要 
2.How to peel
ちなみに、既存の捉え方だと、ボトルネックがあると 
大きく自動化の範囲がそがれる場合がある。 
自動化できたケース手動で実施するケース 
2.How to peel 
もったいない! 
A B C 
F 
C 
E 
D 
E 
自動化 
一部手動 
手動 
*毎日実行される 
こちらに入れることが重要
皮を剥くことによって 
ボトルネックのあるケースでも、 
いくらかは自動化できる。 
自動化できたケース手動で実施するケース 
A B C F 
でも、その分 
管理しないと 
いけないけどね 
C 
D E 
E 
自動化 
一部手動 
手動 
*毎日実行される 
こちらに入れることが重要 
2.How to peel
3.新たな皮をかぶせる 
3.Wrap to eat
OK! 
あんたがHappyなのはわかった。 
でも、これってホワイトボックスすぎて 
内部知っている開発者しか書けなくない? 
3.Wrap to eat
はい、ごもっとも。 
それにテストシナリオに内部仕様の言葉使いたくないですよね。 
テストシナリオ 
・・・・ 
生で触ってはだめ! 
3.Wrap to eat
そこで、アプリケーションドライバですよ。 
←参照 
3.Wrap to eat
操作の層とテストシナリオの層を明確に分離 
テストシナリオ 
・・・・ 
3.Wrap to eat
アプリケーションドライバは、 
プロダクト作るときに開発チームで作っておく 
内部仕様の知識を使って 
確実に正確に動作させる 
こっちは 
外部仕様の言葉 
で理解できる 
インターフェイス 
Friendlyとその上位ライブラリ使えば 
簡単に作れるよ 
3.Wrap to eat
Friendlyの上位ライブラリは 
一般的なコントロールの皮を剥いた後にかぶせるラッパー 
それを使うとローコストにAppDriverを作れます! 
Win32,WinForms,WPF 
そろってます。 
3.Add New Interface 
http://www.codeer.co.jp/AutoTest/api-reference/codeer-friendly-windows- 
nativestandardcontrols-dll 
http://www.codeer.co.jp/AutoTest/api-reference/ong-friendly-formsstandardcontrols- 
dll 
https://github.com/Roommetro/Friendly.WPFStandardControls/
テストシナリオは、テストチームで書く 
テストシナリオ 
・・・・ 
簡単な操作手段が 
(インテリセンスで片が付く) 
公開されていれば 
テストシナリオは 
テストチームで書いた方が 
効率が良い 
技術的な部分は隠蔽 
3.Wrap to eat
これによって、チームが一丸となって 
自動化に取り組めるわけです。 
そして、チーム全体で見て 
コストダウンに繋げれるのです。 
3.Wrap to eat
まとめ 
・システムをプログラムとして見る 
・操作上のボトルネックを取り除く 
・剥いだ皮に注意 
→薄皮なのか、厚い皮なのか。 
・メンバーそれぞれの特性を生かせる設計にしよう 
ご清聴ありがとうございました! 
【Picture】 
Dawn Huczek

Más contenido relacionado

La actualidad más candente

価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
 

La actualidad más candente (20)

異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
 
テストの自動化を考える前に
テストの自動化を考える前にテストの自動化を考える前に
テストの自動化を考える前に
 
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
 
Windowsでの自動化の手段
Windowsでの自動化の手段Windowsでの自動化の手段
Windowsでの自動化の手段
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
 
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章
 
Stac2013 開会挨拶
Stac2013 開会挨拶Stac2013 開会挨拶
Stac2013 開会挨拶
 
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
 
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoiOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
 
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
 
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現するEMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
 
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 

Destacado

#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
 
20151213 system test automation conference
20151213 system test automation conference20151213 system test automation conference
20151213 system test automation conference
Kazuaki Matsuo
 

Destacado (15)

キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
 
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
テスト自動化のパターンと実践
テスト自動化のパターンと実践テスト自動化のパターンと実践
テスト自動化のパターンと実践
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
20151213 system test automation conference
20151213 system test automation conference20151213 system test automation conference
20151213 system test automation conference
 
手動テストからの移行大作戦
手動テストからの移行大作戦手動テストからの移行大作戦
手動テストからの移行大作戦
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015 「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
「自動家は見た! 〜自動化の現場の真実〜」-システムテスト自動化カンファレンス2015「.reviewrc(おいしが)」発表枠 #stac2015
 
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
 
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャSTAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た ~自動化の現場の真実~ SIDE:マネージャ
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 

Similar a Stac2014 石川

Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-
Hiroki Sakamoto
 
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりませんレガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
Takahiro Okada
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
InnovationSprint2011
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
Yukio NAGAO
 

Similar a Stac2014 石川 (20)

Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-
 
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりませんレガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
レガシーコード改善ガイド 第7章 いつまでたっても変更作業が終わりません
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
 
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare verサーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
 
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうかRe: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
 
今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
 
SGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリーSGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリー
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 

Más de Tatsuya Ishikawa

Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~
Tatsuya Ishikawa
 
私とC++ in 例外安全day
私とC++ in 例外安全day私とC++ in 例外安全day
私とC++ in 例外安全day
Tatsuya Ishikawa
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)
Tatsuya Ishikawa
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
 

Más de Tatsuya Ishikawa (20)

burikaigi2024.pptx
burikaigi2024.pptxburikaigi2024.pptx
burikaigi2024.pptx
 
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント【オンライン】.NET 6 移行祭り! C# Tokyo イベント
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
 
burikaigi2023
burikaigi2023burikaigi2023
burikaigi2023
 
Test to net core 3
Test to net core 3Test to net core 3
Test to net core 3
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
Developer summit codeer
Developer summit codeerDeveloper summit codeer
Developer summit codeer
 
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
 
Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法Stack2017 自動化困難な状況での活動方法
Stack2017 自動化困難な状況での活動方法
 
メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)
 
Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張Dot netconf2017 - VS拡張
Dot netconf2017 - VS拡張
 
.Netconf
.Netconf.Netconf
.Netconf
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 
boost - std - C#
boost - std - C#boost - std - C#
boost - std - C#
 
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
 
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
 
Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~Ride on azure~アイデアソン編~
Ride on azure~アイデアソン編~
 
私とC++ in 例外安全day
私とC++ in 例外安全day私とC++ in 例外安全day
私とC++ in 例外安全day
 
他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)他言語との連携(ネイティブから動的言語まで)
他言語との連携(ネイティブから動的言語まで)
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
 
XP祭り2013-LT-Codeer
XP祭り2013-LT-CodeerXP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
 

Stac2014 石川