Soumettre la recherche
Mettre en ligne
GUI自動テストの保守性を高めるには
•
35 j'aime
•
28,926 vues
N
Nozomi Ito
Suivre
2014/12/14に開催された「システムテスト自動化カンファレンス2014」(http://connpass.com/event/9618/)の発表スライドです。
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 66
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
Keizo Tatsumi
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
崇 山﨑
Recommandé
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
Keizo Tatsumi
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
崇 山﨑
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
例外設計における大罪
例外設計における大罪
Takuto Wada
テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
aha_oretama
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
Masahide Yamamoto
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
探索的テスト入門
探索的テスト入門
H Iseri
Stac2013 開会挨拶
Stac2013 開会挨拶
Shinsuke Matsuki
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
Contenu connexe
Tendances
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
例外設計における大罪
例外設計における大罪
Takuto Wada
テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
aha_oretama
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
Masahide Yamamoto
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
探索的テスト入門
探索的テスト入門
H Iseri
Tendances
(20)
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
暗号技術の実装と数学
暗号技術の実装と数学
Native Memory Tracking
Native Memory Tracking
例外設計における大罪
例外設計における大罪
テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Oss貢献超入門
Oss貢献超入門
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
探索的テスト入門
探索的テスト入門
En vedette
Stac2013 開会挨拶
Stac2013 開会挨拶
Shinsuke Matsuki
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
Koji Hasegawa
テスト自動化のパターンと実践
テスト自動化のパターンと実践
Hiroshi Maekawa
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
Toru Koido
20151213 system test automation conference
20151213 system test automation conference
Kazuaki Matsuo
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
kyon mm
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Kinji Akemine
手動テストからの移行大作戦
手動テストからの移行大作戦
Satsuki Urayama
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
Hiroshi Maekawa
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Kazuhiro Suzuki
Stac2014 石川
Stac2014 石川
Tatsuya Ishikawa
En vedette
(20)
Stac2013 開会挨拶
Stac2013 開会挨拶
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
テスト自動化のパターンと実践
テスト自動化のパターンと実践
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
20151213 system test automation conference
20151213 system test automation conference
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
手動テストからの移行大作戦
手動テストからの移行大作戦
Automation test.ssf alpha
Automation test.ssf alpha
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Stac2014 石川
Stac2014 石川
Similaire à GUI自動テストの保守性を高めるには
TABOK Skill Category2解説
TABOK Skill Category2解説
Kinji Akemine
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
Tomoyuki Sato
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
Gamedevenvstudy1
Gamedevenvstudy1
Takashi Kokawa
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
Etsuji Nakai
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
atsushi_tmx
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
Akiko Kosaka
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Takuma SHIRAISHI
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
継続的デリバリー第11章.Ppt
継続的デリバリー第11章.Ppt
Yusuke HIDESHIMA
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
Stac2013 opening-koukai
Stac2013 opening-koukai
Kumiko Ohmi
継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
decode2016
Similaire à GUI自動テストの保守性を高めるには
(20)
TABOK Skill Category2解説
TABOK Skill Category2解説
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Gamedevenvstudy1
Gamedevenvstudy1
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
継続的デリバリー第11章.Ppt
継続的デリバリー第11章.Ppt
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Stac2013 opening-koukai
Stac2013 opening-koukai
継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージ
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
Plus de Nozomi Ito
WebサイトもモバイルアプリもMagic Podで自動化
WebサイトもモバイルアプリもMagic Podで自動化
Nozomi Ito
Understand the AI-powered test automation with Magic Pod
Understand the AI-powered test automation with Magic Pod
Nozomi Ito
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
Nozomi Ito
機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計
Nozomi Ito
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
第4回日本seleniumユーザーコミュニティ勉強会
第4回日本seleniumユーザーコミュニティ勉強会
Nozomi Ito
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化
Nozomi Ito
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Nozomi Ito
Selenium boot campの紹介
Selenium boot campの紹介
Nozomi Ito
第3回日本seleniumユーザーコミュニティ勉強会
第3回日本seleniumユーザーコミュニティ勉強会
Nozomi Ito
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
Nozomi Ito
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
Nozomi Ito
第2回日本seleniumユーザーコミュニティ勉強会
第2回日本seleniumユーザーコミュニティ勉強会
Nozomi Ito
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
Nozomi Ito
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
Plus de Nozomi Ito
(20)
WebサイトもモバイルアプリもMagic Podで自動化
WebサイトもモバイルアプリもMagic Podで自動化
Understand the AI-powered test automation with Magic Pod
Understand the AI-powered test automation with Magic Pod
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
基礎からわかる、機械学習のソフトウェアテストのへの適用例 - 「Bag Of Words」を使った「類似チケットの検索」
機械学習を活用したテスト自動化システムの設計
機械学習を活用したテスト自動化システムの設計
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
完全版:「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
第4回日本seleniumユーザーコミュニティ勉強会
第4回日本seleniumユーザーコミュニティ勉強会
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Selenium boot campの紹介
Selenium boot campの紹介
第3回日本seleniumユーザーコミュニティ勉強会
第3回日本seleniumユーザーコミュニティ勉強会
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
去年のデブサミの「日本Seleniumユーザーコミュニティ」のLTが真面目すぎてイマイチだったので、今年は何とかしようと色々がんばった結果ww
第2回日本seleniumユーザーコミュニティ勉強会
第2回日本seleniumユーザーコミュニティ勉強会
海外のSeleniumカンファレンスではどんな発表がされているのか2014
海外のSeleniumカンファレンスではどんな発表がされているのか2014
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
【短縮版】OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
4時間で学ぶ、効率的な自動テストスクリプトのメンテナンス
GUI自動テストの保守性を高めるには
1.
GUI自動テストの保守性を高めるには 2014.12.14 伊藤
望(TRIDENT)
2.
自己紹介 伊藤 望
「システムテスト自動化標準ガイド」12章執筆 会社 株式会社TRIDENT 代表取締役 テスト自動化の支援を行うベンチャー www.trident-qa.com (ブログあり) コミュニティ 「日本Seleniumユーザーコミュニティ」を主宰
3.
保守性 今日のテーマ
4.
テストのメンテナンス工数はこれまで、テスト自 動化の多くの試みを死に追いやった。 「システムテスト自動化標準ガイド」
5.
GUI(画面)自動テストのコスト テスト作成コスト 最初の1回
テスト保守コスト テストを実行する限り テストが失敗したときの原因調査 テスト対象システムのUI変更に伴うスクリプト修正 保守コストをいかに減らしていくか Seleniumを題材に話します
6.
今日のトピック Seleniumとその保守性 いかにしてテストをグリーンに保つか
テストスクリプトの共通化
7.
Seleniumとその保守性 いかにしてテストをグリーンに保つか テストスクリプトの共通化
8.
よく見るSelenium利用パターン3つ 1.キャプチャーリプレイ 2.プログラミング言語で記述
3.Excel等からスクリプト生成
9.
1.キャプチャーリプレイ
10.
キャプチャーリプレイはテスト自動化ではない 「システムテスト自動化標準ガイド」
11.
1.キャプチャーリプレイ 手動画面操作を記録してスクリプト生成 Selenium
IDE Selenium Builder (使用性に課題…)
12.
1.キャプチャーリプレイ メリット 画面を操作するだけでスクリプト生成
デメリット 読みにくいスクリプトになりがち スクリプト共通化が行われないので、スクリプト修正の作 業が大変
13.
よくある素晴らしいテストツールのデモサイト 1.キャプチャーリプレイ 読みにくいスクリプト
なんか読みやすそう! 記録
14.
現実世界のウェブサイト 1.キャプチャーリプレイ 読みにくいスクリプト
記録 よく分からない https://twitter.com/
15.
1.「送信ボタンのデザイン変えました」 2.送信ボタンをクリックしているスクリプト全修正 1.キャプチャーリプレイ
スクリプト修正の作業が大変
16.
記録した後、スクリプトの手直しがかなり必要 Selenium IDEの利点は、記録機能よりも、
見やすい表形式でスクリプトを管理・編集 プログラムを書くのに比べ、覚えることが少ない インストール&利用が簡単 1.キャプチャーリプレイ
17.
Selenium IDEを使った表形式管理の課題 複雑なロジックを書くのは結構大変
If文, For文, Try-catch文 SelBlocksプラグイン 処理の共通化 UIマップファイル 「明日の日付の取得」などの処理 JavaScriptを駆使 だんだんプログラムを書いているのと変わらなくなる 1.キャプチャーリプレイ
18.
2.プログラミング言語で記述
19.
2.プログラミング言語で記述 Java、Ruby等々のプログラミング言語でテストスクリ プトを記述
Selenium WebDriverや、それをラップしたツール
20.
2.プログラミング言語で記述 メリット 共通化の技法を駆使して、メンテナスコストを減らせる
If文, For文, Try-catch文等の柔軟な処理の記述が容易 統合開発環境(Eclipse等)のコード補完、文法チェック、リ ファクタリングなどの機能を活用できる デメリット プログラムが読み書きできる必要がある
21.
2.プログラミング言語で記述 様々な周辺オープンソースツール・クラウドサービス との親和性が高い
エディタ テストフレーム ワーク バージョン 管理 CI 実行端末 クラウド SauceLabs BrowserStack Travis CI
22.
3.Excel等からスクリプト生成
23.
Excelファイルから、Selenium IDEやSelenium WebDriverのコードを生成
生成ロジックは自作するケースが多い 3.Excel等からスクリプト生成
24.
3.Excel等からスクリプト生成 メリット プログラムを読み書きする必要がない
デメリット プログラミング言語ほど柔軟な処理が書けない メジャーなツールが無いため、独自仕様になりがち バージョン管理システムとの親和性がイマイチ
25.
それぞれのメリット・デメリット Selenium IDEで記録したスクリプトをそのまま
使うのはやめた方がいいです。 非プログラマ による利用 柔軟な 処理 スクリプト 共通化 IDEキャプチャリプレイ ○ × × IDE表形式管理 ○ △ △ プログラム × ○ ○ Excel等 ○ △ △
26.
ここからは、 「プログラミング言語で記述」 する場合の話
27.
Seleniumとその保守性 いかにしてテストをグリーンに保つか テストスクリプトの共通化
28.
グリーンに保つための3ステップ 「テストをグリーンに保つ」 =
「失敗したテストを放置 せず、きちんとメンテナンスし続ける」 3ステップ 1.できるだけ失敗させない 2.失敗したら原因を突き止める 3.原因が分かったら修正する
29.
1.できるだけ失敗させない
30.
1.できるだけ失敗させない テストはなぜ失敗するのか テスト対象システムのバグ
テスト対象システムの仕様変更 テストツール自体のバグ それ以外 一番よく見かけるのは、、 「不安定テスト」「環境準備失敗」「DB定義変更作業ミス」 「テストデータ不整合」等 「それ以外」
31.
バグを見つけるためにテストしているわけで、バグ が出るのは悪いことではない 対策
静的解析、単体テスト、APIテストの方が失敗時の時間 ロスが少ないので、そちらを先に実行する 1.できるだけ失敗させない 「テスト対象システムのバグ」
32.
対策 仕様変更に強い方法で要素指定 テスト対象システムが、id属性などをできるだけ提供
「APIテスト」などの仕様変更に強いテストを増やす 1.できるだけ失敗させない 「テスト対象システムの仕様変更」
33.
画面操作の実行エンジンは、非常に実装難易度が 高く、バグがつきもの 対策
実績のある実行エンジン(Selenium WebDriver等)を選び、 リスクを軽減する 1.できるだけ失敗させない 「テストツール自体のバグ」
34.
主な原因 画面ロードが完了する前に操作を始めてしまう 不安定なネットワーク
対策 テストスクリプトに適切に待ち処理を入れる 失敗したらリトライ処理を入れる 1.できるだけ失敗させない 「その他」 - 「不安定テスト」
35.
主な原因 コンパイル&デプロイ作業手順ミス テスト用サーバの再起動失敗
対策 コンパイル&デプロイフローから手作業を排除。不安定な 箇所は地道に改善 環境準備チェック用テストをいくつか最初に流し、失敗し たらそこでやめる 1.できるだけ失敗させない 「その他」 - 「環境準備失敗」
36.
主な原因 「SQL適用」「コンパイル」「サーバ再起動」の時間差で発生 SQLのCommit/Push忘れ
対策 コンパイル&デプロイフローから手作業を排除。 「Commit/Push忘れ」は、あまりいい解決策が。。 1.できるだけ失敗させない 「その他」 - 「DB定義変更作業ミス」
37.
主な原因 誰かが、手動テストのために設定を書き換えた テスト失敗の原因調査に流したテストで、ゴミデータが作
られた 「次回から気を付けましょう」で終わることもあり、テンショ ンが下がる。。 対策 「テスト環境は毎回クリーンなものを使用」「テスト実行前 に前回のゴミデータを削除」などの工夫 1.できるだけ失敗させない 「その他」 - 「テストデータ不整合」
38.
1.できるだけ失敗させない バグ以外の原因でのテスト失敗が多いと どうせまたバグ
じゃないんだろ 調査が後回しに 1時間かけて調査し たのに、DB不整合 が原因とか… 自動化の やる気減退
39.
2.失敗したら原因を突き止める
40.
テスト結果に誰でも簡単にアクセスできる メールやブラウザ上で見られると結果確認が簡単 チーム全体で結果を共有し、テスト失敗への関心を高める
Seleniumだと、Jenkins等と組み合わせるのがお勧め 2.失敗したら原因を突き止める すみやかに原因を突き止めるには
41.
画面キャプチャ・動画・サーバーログなど、エラー調 査に必要なデータを残す テストを再実行しての原因調査は、心理的ハードルが高く
後回しになりがち テスト結果を見てすぐ原因が分かれば、対応する気がお きやすい 2.失敗したら原因を突き止める すみやかに原因を突き止めるには
42.
エラーになったテストだけを手元で流して確認できる 短い、独立したテストを多数作る 「1時間かけて先頭から全部流さないと結果確認でき
ない」だと、調査が辛い テストスクリプトはバージョン管理し、誰でも手元に取得で きるように 2.失敗したら原因を突き止める すみやかに原因を突き止めるには
43.
3.原因が分かったら修正する
44.
3.原因が分かったら修正する 修正を容易にするためには スクリプトを共通化し、
メンテナンスの負荷を減らす
45.
Seleniumとその保守性 いかにしてテストをグリーンに保つか テストスクリプトの共通化
46.
保守性の高いスクリプトを作る技術は、保守性の 高いプログラムを作る技術と多くの共通点がある。 「システムテスト自動化標準ガイド」
47.
テストスクリプトの共通化 DRY(Don’t Repeat
Yourself)の原則は、テストスクリプ トの場合にも有効 テスト対象のUIが変わった場合のスクリプト修正の 負荷を軽減 しかし、安直な共通化は、問題を引き起こす
48.
共通化の問題① やりすぎると分かりにくいスクリプトに @Test
public void 分かりにくいスクリプトの例() { goToMainMenu("新規予約"); setRequiredInfo("伊藤望","イトウノゾミ",0,1); setAllMailCheck(false); goNextAndConfirm(); }
49.
共通化の問題② 目的の共通関数を見つけられず、同じものを何個も 作ってしまうことも
よく分かんないし、 自分で書いちゃう方 が早いな… 探しにくい共通ライブラリの例
50.
Selenium界隈で広く利用されている 画面情報を1つのクラスに集約 1つのページに対し1つのページオブジェクトクラス
テスト対象画面 テストスクリプト ページオブジェクトクラス ページオブジェクトデザインパターン
51.
ページオブジェクトデザインパターン テスト対象画面 ページオブジェクトクラス
ContactPage +setUserName(user) +setMailAddress(mail) +setOrganization(organization) +setSubject(subject) +setContent(content) +send()
52.
ページオブジェクトデザインパターン テストスクリプトはこんな感じになる テストスクリプト
ContactPage contact = new ContactPage(driver); contact.setUserName("伊藤望"); contact.setMailAddress("xxx@xxx.com"); contact.setSubject("テスト"); contact.setSubject("テスト投稿です"); contact.send();
53.
ページオブジェクトデザインパターン メリット HTML要素の記述を隠蔽し、スクリプトが読みやすくなる
共通化基準がシンプルで明確なので、「誰かが作った使 いにくい共通メソッド」になりにくい。 ページ単位で共通メソッドがまとまっているので、目的の メソッドを見つけやすい
54.
ページオブジェクトデザインパターン デメリット 直接スクリプトを書くのと比べ手間がかかる
Selenium WebDriverのページオブジェクト生成ツールを 見つけたが、あまり使いやすくなかった。。 swd-recorder http://unmesh.me/2013/08/29/pageobject- generator-utility-for-selenium-webdriver/
55.
ページオブジェクトのメソッドは、画面のUI構成に依 存しないように ページオブジェクトデザインパターン
よりUI変更に強くするためには +setReserveYear(year) +setReserveMonth(month) +setReserveDay(day) UI変更 うまくいかなくなる! このページで行いたいのは「宿泊日を指定すること」 メソッドは「setReserveDate(year, month, day)」か 「setReserveDate(date)」がよい
56.
例) データ駆動テスト ページオブジェクトデザインパターン
他の共通化とも組み合わせられる contact.setUserName(user); contact.setMailAddress(mail); contact.setSubject(subject); contact.send(); user mail subject 伊藤望 xxx@xxx.com テスト … … … … … … テストスクリプト データ
57.
まとめ 各種Seleniumツールには可読性・保守性の面でトレード オフがある
保守性を高めるために重要なこと テストの失敗要因を減らす 失敗調査コストを減らす 共通化する 「ページオブジェクトデザインパターン」は効果的な手法
58.
宣伝
59.
1.読みやすさと柔軟性のトレードオフ プログラマだって表形式のテストスクリプトは読みやすい でも、プログラムで書く方が柔軟な記述ができる
2.読みやすさと共通化のトレードオフ 同じ処理は共通化した方がメンテナンスコストが下がる でも、共通化しすぎるとスクリプトが読み辛い 今日登場した問題
60.
Sahagin
61.
Sahagin オープンソースで作りました テストスクリプト&テスト結果のHTMLレポート
62.
1.各メソッドに@TestDocで説明をつける 2.テストを実行する Sahagin
何ができるか
63.
3.Jenkins上で、スクリプトを表形式で確認できる Sahagin 何ができるか
画面キャプチャは 自動取得
64.
4.ネストしたメソッド呼び出しも見られる 5.共通化しても、スクリプトの内容が分かりやすい Sahagin
何ができるか
65.
Sahagin https://github.com/SahaginOrg バージョン0.1ではJavaのみ対応
ドキュメントまだなので、この後作ります リリース作業まだなので、この後やります
66.
ご清聴ありがとうございました
Télécharger maintenant