Enviar búsqueda
Cargar
GUI Test is (not) necessary
•
11 recomendaciones
•
4,134 vistas
Hiroshi Maekawa
Seguir
@TDDBC for C# 事前勉強会
Leer menos
Leer más
Denunciar
Compartir
Denunciar
Compartir
1 de 32
Descargar ahora
Descargar para leer sin conexión
Recomendados
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
.Netconf
.Netconf
Tatsuya Ishikawa
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
Windowsでの自動化の手段
Windowsでの自動化の手段
Hidari Ikw
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Bindingからframework elementを見つける
Bindingからframework elementを見つける
Tatsuya Ishikawa
Recomendados
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
.Netconf
.Netconf
Tatsuya Ishikawa
価値あるシステムテスト自動化の実現By friendly
価値あるシステムテスト自動化の実現By friendly
Tatsuya Ishikawa
Windowsでの自動化の手段
Windowsでの自動化の手段
Hidari Ikw
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Bindingからframework elementを見つける
Bindingからframework elementを見つける
Tatsuya Ishikawa
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
dnoguchi
XP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
Tatsuya Ishikawa
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
ゲームエンジンとMVC
ゲームエンジンとMVC
AimingStudy
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
ゲーム開発とMVC
ゲーム開発とMVC
Takashi Komada
Robotium を使った UI テストとレイアウト確認の効率化
Robotium を使った UI テストとレイアウト確認の効率化
健一 辰濱
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Shoichi Matsuda
Selenium boot campの紹介
Selenium boot campの紹介
Nozomi Ito
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Nozomi Ito
VDMX_WS20160214
VDMX_WS20160214
Takeuchi Fumiya
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
Nozomi Ito
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
VDMX_WS20160227
VDMX_WS20160227
Takeuchi Fumiya
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
NakaiYusaku
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
Gui自動入力ツール
Gui自動入力ツール
yanoojapan
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
Kinji Akemine
Más contenido relacionado
La actualidad más candente
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
dnoguchi
XP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
Tatsuya Ishikawa
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
ゲームエンジンとMVC
ゲームエンジンとMVC
AimingStudy
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
ゲーム開発とMVC
ゲーム開発とMVC
Takashi Komada
Robotium を使った UI テストとレイアウト確認の効率化
Robotium を使った UI テストとレイアウト確認の効率化
健一 辰濱
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Shoichi Matsuda
Selenium boot campの紹介
Selenium boot campの紹介
Nozomi Ito
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Nozomi Ito
VDMX_WS20160214
VDMX_WS20160214
Takeuchi Fumiya
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
Nozomi Ito
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
VDMX_WS20160227
VDMX_WS20160227
Takeuchi Fumiya
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
NakaiYusaku
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
La actualidad más candente
(20)
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
XP祭り2013-LT-Codeer
XP祭り2013-LT-Codeer
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
ゲームエンジンとMVC
ゲームエンジンとMVC
テストの自動化を考える前に
テストの自動化を考える前に
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
ゲーム開発とMVC
ゲーム開発とMVC
Robotium を使った UI テストとレイアウト確認の効率化
Robotium を使った UI テストとレイアウト確認の効率化
モックライブラリを使ってきちんとユニットテストする #Objective-C
モックライブラリを使ってきちんとユニットテストする #Objective-C
Selenium boot campの紹介
Selenium boot campの紹介
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
VDMX_WS20160214
VDMX_WS20160214
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
VDMX_WS20160227
VDMX_WS20160227
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Destacado
Gui自動入力ツール
Gui自動入力ツール
yanoojapan
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
Kinji Akemine
テスト自動化のパターンと実践
テスト自動化のパターンと実践
Hiroshi Maekawa
ZFSでストレージ
ZFSでストレージ
悟 宮崎
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
Ryosuke Okuta
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
徹 上野山
機械学習概論 講義テキスト
機械学習概論 講義テキスト
Etsuji Nakai
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
Toru Koido
Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~
nlab_utokyo
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tatsuya Tojima
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
Destacado
(15)
Gui自動入力ツール
Gui自動入力ツール
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
テスト自動化のパターンと実践
テスト自動化のパターンと実践
ZFSでストレージ
ZFSでストレージ
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
機械学習概論 講義テキスト
機械学習概論 講義テキスト
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
Similar a GUI Test is (not) necessary
WPFことはじめ
WPFことはじめ
Hiroshi Maekawa
Kifの紹介
Kifの紹介
Keita Otsuka
プログラミング学習のための学習
プログラミング学習のための学習
siranon *
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
Takahiro Yoshimura
『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2
shinyaa31
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Kazuhiro Suzuki
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Yukio Saito
Should we write such like plugin or not?
Should we write such like plugin or not?
SATOSHI TAGOMORI
Cod2012 デバッグ講座
Cod2012 デバッグ講座
Masuda Tomoaki
DevSap20130921
DevSap20130921
Takaaki Abe
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみた
Kenji NAKAGAKI
FlashBuilderでスマホアプリ開発
FlashBuilderでスマホアプリ開発
utweb
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
shinyaa31
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
Pex を試してみよう!
Pex を試してみよう!
Oda Shinsuke
コンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げよう
Matsuoka Hiromitsu
配布用Supervisordによるnode.jsの運用
配布用Supervisordによるnode.jsの運用
yut148atgmaildotcom
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
Tsuyoshi Yumoto
smartphone test (know how & tools)
smartphone test (know how & tools)
Yukio Andoh
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
Similar a GUI Test is (not) necessary
(20)
WPFことはじめ
WPFことはじめ
Kifの紹介
Kifの紹介
プログラミング学習のための学習
プログラミング学習のための学習
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Should we write such like plugin or not?
Should we write such like plugin or not?
Cod2012 デバッグ講座
Cod2012 デバッグ講座
DevSap20130921
DevSap20130921
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみた
FlashBuilderでスマホアプリ開発
FlashBuilderでスマホアプリ開発
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Pex を試してみよう!
Pex を試してみよう!
コンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げよう
配布用Supervisordによるnode.jsの運用
配布用Supervisordによるnode.jsの運用
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
smartphone test (know how & tools)
smartphone test (know how & tools)
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
Más de Hiroshi Maekawa
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
Hiroshi Maekawa
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
Hiroshi Maekawa
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
Hiroshi Maekawa
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Hiroshi Maekawa
Visual Studio Online as a CI Service
Visual Studio Online as a CI Service
Hiroshi Maekawa
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Hiroshi Maekawa
Dockerとdev ops
Dockerとdev ops
Hiroshi Maekawa
Getting Start with React Native
Getting Start with React Native
Hiroshi Maekawa
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
Hiroshi Maekawa
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
Hiroshi Maekawa
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
Hiroshi Maekawa
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
Hiroshi Maekawa
なれる!IL
なれる!IL
Hiroshi Maekawa
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
Hiroshi Maekawa
iOSのCI as a Service事情
iOSのCI as a Service事情
Hiroshi Maekawa
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
Hiroshi Maekawa
ホントは楽しいエイブンポー
ホントは楽しいエイブンポー
Hiroshi Maekawa
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osaka
Hiroshi Maekawa
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた
Hiroshi Maekawa
T4 Template 入門
T4 Template 入門
Hiroshi Maekawa
Más de Hiroshi Maekawa
(20)
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
新しい技術を取り入れるための実験のやり方 〜サーバーレス・機械学習・PWAを実戦に投入するまで〜
老舗大企業からスタートアップでの二年間
老舗大企業からスタートアップでの二年間
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
芯を通す開発を目指して ー アジャイル"ファン"が本気でアジャイル開発に取り組んだ2年間 ー
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Visual Studio Online as a CI Service
Visual Studio Online as a CI Service
Travis, Circle そして Jenkins 2.0
Travis, Circle そして Jenkins 2.0
Dockerとdev ops
Dockerとdev ops
Getting Start with React Native
Getting Start with React Native
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだクライアントと開発者の絆
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
「価値探索」がつないだ クライアントと開発者の絆 〜Craful開発チームの60日〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
スタートアップこそ巨人の肩に乗りまくれ! 〜Craful開発とMackerel〜
ドメイン『駆動』『開発』
ドメイン『駆動』『開発』
なれる!IL
なれる!IL
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
iOSのCI as a Service事情
iOSのCI as a Service事情
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
ホントは楽しいエイブンポー
ホントは楽しいエイブンポー
テスト自動化のパタンランゲージ@Agilet Tour Osaka
テスト自動化のパタンランゲージ@Agilet Tour Osaka
雑食系エンジニアの作りかた
雑食系エンジニアの作りかた
T4 Template 入門
T4 Template 入門
GUI Test is (not) necessary
1.
GUI Test is
(not) necessary @Posaune 13年3月9日土曜日
2.
じこしょーかい
まえかわ ひろし a.k.a @Posaune やってること 京都アジャイル勉強会 #京アジャ TABOK勉強会 あーだCoder Visual Studio 勉強会 ← New!! 13年3月9日土曜日
3.
すきなもの
.NET言語 C#, F#, XAML系テクノロジ Emacs歴4ヶ月くらい。 ReSharper無しで生きていけない。 TDD アジャイル 自動化(Jenkinsさん) UX, HCD(UCD) Business Model Generation 13年3月9日土曜日
4.
最近書いた気がするもの
JUnit実践入門 MSTestパッチ http://posaune.hatenablog.com/entry/ 2012/12/13/085507 NaturalSpecを使ってC#のテストコードを書いてみ た。 http://posaune.hatenablog.com/entry/ 2012/12/08/001052 13年3月9日土曜日
5.
さて、本題。 13年3月9日土曜日
6.
GUI Testを定義しとく
GUIを用いて実行するテスト 所謂テストフェイズでよく行われるのがたぶんこれ あんまいいイメージ無いのでは? エクセル・ホーガン氏に結果をひたすら書き込み スクリーンショットを証拠写真にしたり ストップウォッチ片手に処理時間測ったり 基本的に手動のイメージ。 自動化派は目の敵にしがち。 13年3月9日土曜日
7.
GUI test is
necessary エンドツーエンドテストという考え方。 ① Red ② Green ③ Refactor 13年3月9日土曜日
8.
GUI test is
necessary エンドツーエンドテストという考え方。 ① Red ② Green ☆ E2E Test ③ Refactor 13年3月9日土曜日
9.
エンドツーエンドテスト
フィーチャ(機能)の実装を自動化された受け入れ テストから始める 受け入れテストは外部からのみシステムと相互作用 する ライブラリならAPIからのみ Webならブラウザ画面からのみ GUIならGUIからのみ はやめにシステム全体をエンドツーエンドでテスト できる環境を整える(ウォーキングスケルトン) ビッグバン結合はダメ、絶対。 13年3月9日土曜日
10.
【必読】【ステマ】【FYI】
みんなも「実践テスト駆動開発」を読もう! 13年3月9日土曜日
11.
GUI Testを行う方法
Record & Play 画像認識系 Coded UI Test UI Automation 13年3月9日土曜日
12.
Record & Play
所謂操作記録系のソフト Windowsだと定番はUWSCじゃね? http://www.uwsc.info/index.html 記録したものをスクリプト化してくれる。システムテ ストでの連続運転なんかには威力を発揮。 基本的なフォーカスは「操作の自動化」でTDDとは根 本的に合わない。 要するに、開発中に入れちゃうとメンテが大変です。 ボタンの位置を変えたら落ちるとか正直勘弁 13年3月9日土曜日
13.
画像認識系
画面を画像認識して捜査対象を探すSikuliってのが があったりする。 http://www.sikuli.org/ こっちのPCでは動かないので省略・・・ (´・ω・`) そこそこお手軽、そこそこ堅牢? 13年3月9日土曜日
14.
Coded UI Test
Visual Studio Premium以上では、UI操作を.NETコ ードに変換できるらしいよ! Pro以下は察して。 ・・・あ、今日はいっぱいいそうなMVPな方に見せ てもらってください。 マジレスすると、やっぱり「出来上がったUIをテス トする」感が強い 13年3月9日土曜日
15.
UI Automation
UIをコードから操作できるライブラリ .NET 3.5くらいから整備された コントロールにIDとか振れるのでちょっとやそっとい じったくらいでは壊れない頑丈なテストが書ける。 がんばれば大体のコントロールは操作できる。 WPFもWinFormもOK。 サードパーティはサポートしてたりしてなかったり 某IG社はWinFormはサポートしないってさ。 へぇ。 13年3月9日土曜日
16.
がんばれば? // 操作対象のコントロールへの参照を // AutomationElementオブジェクトとして取得 AutomationElement
txtInput = FindElement(aeForm, "txtInput"); AutomationElement btnAdd = FindElement(aeForm, "btnAdd"); AutomationElement lstResults = FindElement(aeForm, "lstResults"); // 操作対象のコントロール・パターンを取得 ValuePattern vpTxtInput = (ValuePattern)txtInput.GetCurrentPattern(ValuePattern.Pattern); InvokePattern ipBtnAdd = (InvokePattern)btnAdd.GetCurrentPattern(InvokePattern.Pattern); // 1つ目の値を入力、[追加]ボタン押下 vpTxtInput.SetValue("ねこ"); ipBtnAdd.Invoke(); // 2つ目の値を入力、[追加]ボタン押下 vpTxtInput.SetValue("いぬ"); ipBtnAdd.Invoke(); 13年3月9日土曜日
17.
やってられるかー!
(ノ`Д´)ノ彡┻━┻ 13年3月9日土曜日
18.
大人しくWhite使おう。
UI Automationをラップしたライブラリで、非常に書 きやすい イメージとしては、WinGUI版のSelenium 地味にThoughtworks謹製だったりする。 今は別の所に移管されたっぽい。 コミットログ見ててもかなりアクティブ。 https://github.com/TestStack/White 同じようなコンセプトでNUnitFormがあるけれど NUnitのバージョン上げる以外の更新がない・・・ 13年3月9日土曜日
19.
Whiteデモ①
普通のUI操作 13年3月9日土曜日
20.
Whiteデモ②
モーダルウィンドウ。 メッセージボックス。 メッセージボックスは各位ラップしてプルリクエス ト投げようぜ。 13年3月9日土曜日
21.
Whiteデモ③
もうちょい複雑なUI DataGrid 13年3月9日土曜日
22.
Whiteデモ③
もうちょい複雑なUI DataGrid 動かない(´・ω・`) 13年3月9日土曜日
23.
そんなわけで、ガンガン
WhiteでGUIテスト書こう! 13年3月9日土曜日
24.
・・・ 13年3月9日土曜日
25.
13年3月9日土曜日
26.
GUI Test is
not necessary 13年3月9日土曜日
27.
GUI Test is
not necessary ...not so much 13年3月9日土曜日
28.
GUIテストに頼っちゃダメ
どんなに頑張って書いても、やっぱりGUIテストは 壊れやすい。 全パターン網羅しようと思ったら恐ろしく複雑なコ ードになる。 どう頑張ったってスローテストに絶対なる。 GUIテストはあくまで「シンプルな受け入れテス ト」の実行に留めるべき。 13年3月9日土曜日
29.
GUIテストに頼らない為に
UIはあくまで表層の実装であることを意識しませう UI取っ払ってもロジックがちゃんと動くように作 るのが重要 そのためにもレイヤー化をちゃんとしましょう。 MVCとかMVVMとかPresentationModelとか。 参考:http://ugaya40.net/architecture/ 20120804wankuma.html の2つの記事を正座して読 もう。 13年3月9日土曜日
30.
各階層とテストのイメージ
(MVVM/PMの場合) シンプルな受け入れテスト UI を少数。スモークテストに 近い。 シナリオテストレベルをそ View Model/ こそこ記述したい所。結合 Presentation Model 動作自体はここで完結する 内部の各Objectの動作を記 述する詳細なテスト。粒度 Model を細かく、数多く。TDDの 細かいステップを踏むのも ここ。 13年3月9日土曜日
31.
UIの動作自体がややこしいんだけど・・・
本当にGUIの描画自体がややこしいのか、GUIの 描画プロパティを決めるのがややこしいのか 後者ならViewModelなりPresenterなりに処理を 委譲できるはず。 UI:時計を描画 UI:時計を描画 VM:時間を保持 VM/P:針の角度を保持 13年3月9日土曜日
32.
結局何が言いたかったのかというと
Whiteあたり使えば、GUIテストはSeleniumレベルく らいにはWindowsでも何とかなる(Win32、WPF) かといってそれに頼りきると脆弱なテストを量産し てしまうので非常に(゚д゚)マズ- レガシーだと頼りきらざるをえない時もあるけれど。 GUIテストはあくまで最小限に。 そのためにもちゃんとレイヤー化アーキテクチャを 考えるべき。 MVC/MVP/MVVMあたりはテストの観点からも注目。 13年3月9日土曜日
Descargar ahora