SlideShare uma empresa Scribd logo
1 de 69
©2021 HumanCrest Co.,Ltd.
事例からわかる!
テスト自動化導入パターン
浅黄友隆 山口真央
JaSST’21 Tokyo
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
自己紹介
2
❖ 名前 :浅黄 友隆
❖ 主な業務 :テスト自動化、サービス開発
❖ 経歴 :開発エンジニア 10年
テストエンジニア 10年
❖ 名前 :山口 真央
❖ 主な業務 :テスト自動化、サービス開発、マーケティング
❖ 経歴 :テストエンジニア 7年
©2021 HumanCrest Co.,Ltd. 3
株式会社ヒューマンクレスト
設立: 2002/12/16
本社: ランドマークタワー
社員数: 156名
認証資格: ISO27001
ISTQBパートナーシップ: Platinum
株式会社ヒューマンネクスト
(関内)
JapanQuality Co.,Ltd
(ベトナム ダナン)
©2021 HumanCrest Co.,Ltd. 4
©2021 HumanCrest Co.,Ltd. 5
テスト自動化は普通になった
©2021 HumanCrest Co.,Ltd. 6
導入できない
維持できない
©2021 HumanCrest Co.,Ltd. 7
Unit Test
Integration Test
UI
Test この辺の話
©2021 HumanCrest Co.,Ltd. 8
Unit Test
Integration Test
この辺の話
UI
Test
©2021 HumanCrest Co.,Ltd. 9
Unit Test
Integration Test
UI
Test この辺の話
©2021 HumanCrest Co.,Ltd. 10
テスト自動化で重要なことは?
©2021 HumanCrest Co.,Ltd. 11
実行
リソース チーム
文化
スキルセット
目的
©2021 HumanCrest Co.,Ltd. 12
リソース チーム
文化
スキルセット
目的
自動テストのコア
©2021 HumanCrest Co.,Ltd. 13
リソース チーム
文化
スキルセット
目的
自動テストのコア
自動テストの概念層
©2021 HumanCrest Co.,Ltd. 14
リソース チーム
文化
スキルセット
目的
自動テストのコア
自動テストの概念層
自動テストの中間層
©2021 HumanCrest Co.,Ltd. 15
リソース チーム
文化
スキルセット
目的
自動テストのコア
自動テストの概念層
自動テストの中間層
自動テストの表層
©2021 HumanCrest Co.,Ltd. 16
リソース チーム
文化
スキルセット
目的
自動テストのコア
自動テストの概念層
自動テストの中間層
自動テストの表層
自動テストのベース
©2021 HumanCrest Co.,Ltd. 17
テスト自動化導入パターンは
:
:
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
18
ユーザの価値を重視 テストスピード重視
繰り返し重視 インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
19
ユーザの価値を重視 テストスピード重視
繰り返し重視 インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd. 20
目的
主要な機能/要件が
正常に動作することを確認する
©2021 HumanCrest Co.,Ltd. 21
手動テストを自動化
ユーザに提供する価値を
テスト
©2021 HumanCrest Co.,Ltd. 22
ピラミッドの頂上
少ない
Unit Test
Integration
Test
UI Tests
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:ユーザの価値を重視
23
ECサイトの場合
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:ユーザの価値を重視
24
【グループウェアの場合】2014〜
・ユーザの価値:予定作成、メール送信
・テストタイプ:ユースケーステスト
image: Designed by Freepik and distributed by Flaticon
【ECサイトの場合】2015〜
・ユーザの価値:新規会員登録、ログイン、検索、購入、退会
・テストタイプ:シナリオテスト
【グルメサイトの場合】2017〜
・ユーザの価値:店舗検索、予約
・テストタイプ:シナリオテスト
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
25
ユーザの価値を重視 テストスピード重視
繰り返し重視 インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd. 26
目的
繰り返しテスト
(環境やデータ)
を自動化によって効率化する
©2021 HumanCrest Co.,Ltd. 27
繰り返しを自動化
©2021 HumanCrest Co.,Ltd. 28
テストケースを繰り返す
ブラウザ
OS
デバイス
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:テストケースを繰り返す
29
【グループウェアの場合】2014〜
・ユーザの価値:予定作成、メール送信
・テストタイプ:ユースケーステスト
・ブラウザ:
image: Designed by Freepik and distributed by Flaticon
【ECサイトの場合】2015〜
・ユーザの価値:新規会員登録、ログイン、検索、購入、退会
・テストタイプ:シナリオテスト
・ブラウザ:
【グルメサイトの場合】2017〜
・ユーザの価値:店舗検索、予約
・テストタイプ:シナリオテスト
・ブラウザ:
8 9 10 11
beta
win mac
©2021 HumanCrest Co.,Ltd. 30
データを繰り返す
IN/OUTデータの
組み合わせ
パターン網羅
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:データを繰り返す
31
【事例A】2020
・目的:数値計算の正確性確認(保険)
・制約:入力→出力はブラウザで確認が必須
・方法:Seleniumを利用したデータ駆動テスト。ケース数は数万件。
入力パターンによって画面遷移も変わる為、キーワード駆動の考えを取り入れ、
パターン毎に画面遷移フローを自動生成するところから開発。
【事例B】2017
・目的:超高速開発ツールで作成したシステムの設定ミスを検知
・制約:ツールの性質上、単体テストは書けない
・方法:Seleniumを利用したデータ駆動テスト
画面からの入力値に対するエラーメッセージのパターンを確認
©2021 HumanCrest Co.,Ltd. 32
テスト自動化の変化
©2021 HumanCrest Co.,Ltd. 33
様々な開発・環境の変化
©2021 HumanCrest Co.,Ltd. 34
インフラ
デバイス
アーキテクチャ
プロセス
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
開発技術とテストの変化
35
オンプレ クラウド
WF開発 アジャイル開発
モノリシック マイクロサービス
CI/CD
フロントエンド
バックエンド
リリースサイクル
インフラ環境の変化
開発プロセスの変化
アーキテクチャの変化
イテレーション
モバイル
Web
デバイスの変化
DevOps
テストスピード
テストスコープ
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
36
ユーザの価値を重視 テストスピード重視
繰り返し重視 インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd. 37
テスト自動化のスコープ
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テストスコープ
38
ロジック
リクエスト
レスポンス
UI
テスト
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テストスコープ
39
ロジック
リクエスト
レスポンス
テスト
©2021 HumanCrest Co.,Ltd. 40
目的
バックエンドの動作を確認
API(サービス)の動作を確認
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd. 41
Unit Tests
UI Tests
自動テストが砂時計型
©2021 HumanCrest Co.,Ltd. 42
インターフェースのテスト
UIのテスト
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:パターン④インターフェース重視
43
【事例A】
・目的:APIのリクエスト・レスポンス等が正しいことを確認
・制約:ステータスコードが特殊
・方針:API毎のパラメータパターンをテストケースとする
ステータスコードではなく、レスポンスの内容でテスト
APIの順序性、アクセストークン等の受け渡しも考慮する
【バックエンドシステム】
・目的:サービス仕様書の記述を元にインプットデータの
パラメータパターンで機能を有している事を確認
・方針:APIのリクエスト/レスポンスだけでなく、
DBやログまで確認を実施する
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
44
ユーザの価値を重視 テストスピード重視
繰り返し重視 インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd. 45
テストスピードを改善
©2021 HumanCrest Co.,Ltd. 46
目的
イテレーション
リリースサイクル
の中でテストする
©2021 HumanCrest Co.,Ltd. 47
開発スピードの変化
テスト実施後の
フィードバックが重要
©2021 HumanCrest Co.,Ltd. 48
開発環境の変化
いつでもテスト実行可能
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd. 49
アジャイルテストの4 象限
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd. 50
テストピラミッド
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:テストスピードを改善
51
【ロジスティクスの場合】
・リリースサイクル:週1回
・テスト対象:本番環境、ステージング環境
・テスト機能:受付、人員管理等の主要機能
・自動テストの使われ方:ステージングリリース後、
自動テストが全て通るか確認
問題がなければ、その後本番環境へリリース
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:簡易アーキテクチャ図
52
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:テストスピードを改善
53
【CMSの場合】
・リリースサイクル:月1回
・スプリント :1週間
・アジャイルチーム:朝会、振り返り会に参加
・テスト機能:すべての画面に遷移可能であること
主要機能、外部結合に問題がないこと
・テスト対象環境:自動テスト専用環境が3環境
・自動テストの使われ方:日次ビルドでテストが実行される
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:簡易アーキテクチャ図
54
オンプレ
AWS
テスト対象 AWS
Win sv
ubuntu sv
master
Win 10
for chrome
for firefox
for Edge
slave
library
Java
Junit/maven
selenium
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
各パターンの組み合わせ
55
目的によって導入の仕方が変わり、パターンを組み合わせることもある!
例
❖ テストスピード重視 × 繰り返し重視
❖ テストスピード重視 × インターフェース重視
❖ 繰り返し重視 × インターフェース重視
❖ ユーザの価値を重視 × テストスピード重視 × 手動テスト
❖ ユーザの価値を重視 × 繰り返し重視 × インターフェース重視
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:ユーザの価値を重視 ✕ テストスピード重視 ✕ 手動テスト
56
イテレーション中 手動テスト 新機能テスト
+
セッションベースドテスト
ビルド時 リグレッションテスト 各機能のテスト
スピード重視
リリース時 シナリオテスト 要件網羅のテスト
ユーザの価値を重視
アジャイルテストの台頭
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:ユーザの価値を重視 ✕ 繰り返し重視 ✕ インターフェース重視
57
ロジック
UI リクエスト
レスポンス
・テスト内容:ユーザの基本操作を自動化
対象は正常系のみ
繰り返し行うテストを自動化
・対象:SDKが組み込まれたサンプルアプリ
・デバイス:iOS、Android、Java、Windows
・テスト使用タイミング:リリース前、受け入れ時
・テスト内容:サーバーの設定確認
入力/出力のパターン網羅
・対象:REST API
・テスト使用タイミング:開発中、リリース前
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
事例:簡易アーキテクチャ
58
image: Designed by Freepik and distributed by Flaticon
PC(Mac)
VM
(Windows)
WindowsApp
API Test
JavaApp
Jenkins
Jenkins
Slave
GitLab
テスト
対象
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
59
①ユーザの価値を重視 ②テストスピード重視
③繰り返し重視 ④インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd. 60
①ユーザの価値重視 ②スピード重視 ③繰り返し重視 ④インターフェース重視
目的
ユーザが使用する主要機能/要件が
正常に動作することを確認する
イテレーション/リリースサイクル
の中でテストする
繰り返しテスト(データ、マルチ環
境)を自動化し、効率化する
インターフェースレベルでの入力/
出力パターンが仕様書通りであり、
機能が動作していることを確認する
特徴
・UIテスト(ハッピーパスから)
・本番環境に対してのテスト
・外部のテストエンジニアでも対応
可能
・基本機能のテスト
・テスト専用環境がある
・パラレル実行する
・同一操作を何度も実施する必要が
あるテスト
・APIテスト
・正常系だけでなく異常系のパター
ンまで確認することが多い
メリット
・自動テストの動きが想像しやすく、
作りやすい
・リリースの判断基準にできる
・1つのテストが短いため、開発者
へのフィードバックが早い
・開発者に効果を実感してもらいや
すい
・CI/CDに組み込みやすい
・1個スクリプトで様々なパターン
のテストができる
・人が実施するよりもミスが防げる
・ROIが高い
・UIを通さずにテストできるため、
自動テストがはやい
デメリット
・1つのテストケースが長くなるた
め、自動テストが不安定となりやす
い
・自動テストの変更頻度が高い
・[データ]正確な入力値と期待値の
組み合わせがないとテストできない
・[マルチ環境]複数環境の準備、メ
ンテナンスが大変
-
注意点
・全てを自動化しない
・変更箇所が少ないところからテス
トを作成する
・主要機能を自動化するため、バグ
を発見しにくい
・開発者やプロジェクトメンバーと
の協力が重要
-
・開発者やプロジェクトメンバーと
の協力が重要
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化を阻害する要因
61
1. リソース
2. 優先順位
3. ツールと環境
4. テストに対する文化
5. スキルセット
6. プロセス
©2021 HumanCrest Co.,Ltd. 62
リソース チーム
文化
スキルセット
目的
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン
63
①ユーザの価値を重視 ②テストスピード重視
③繰り返し重視 ④インターフェース重視
image: Designed by Freepik and distributed by Flaticon
©2021 HumanCrest Co.,Ltd.
©2021 HumanCrest Co.,Ltd.
テスト自動化 パターン(HCでは...)
64
①ユーザの価値を重視 ②テストスピード重視
③繰り返し重視 ④インターフェース重視
©2021 HumanCrest Co.,Ltd. 65
仲間 募集してます
・企業理念、ミッション、行動指針に共感してくれる方
・ISTQB / JSTQB 取得者
・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎!
©2021 HumanCrest Co.,Ltd. 66
仲間 募集してます
・企業理念、ミッション、行動指針に共感してくれる方
・ISTQB / JSTQB 取得者
・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎!
See the world not as is, but as it should be.
あるがままでなく、あるべき世界を見ろ
©2021 HumanCrest Co.,Ltd. 67
仲間 募集してます
・企業理念、ミッション、行動指針に共感してくれる方
・ISTQB / JSTQB 取得者
・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎!
See the world not as is, but as it should be.
あるがままでなく、あるべき世界を見ろ
①誰もまねできない品質やサービスを組み合わせて提供する
「オペレーショナル・エクセレンス」
② 顧客を深耕することで、その関係性を強化する「顧客との親密度」
③ 未知の発見を新サービスにする「サービス・リーダーシップ」
©2021 HumanCrest Co.,Ltd. 68
仲間 募集してます
・企業理念、ミッション、行動指針に共感してくれる方
・ISTQB / JSTQB 取得者
・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎!
See the world not as is, but as it should be.
あるがままでなく、あるべき世界を見ろ
①誰もまねできない品質やサービスを組み合わせて提供する
「オペレーショナル・エクセレンス」
② 顧客を深耕することで、その関係性を強化する「顧客との親密度」
③ 未知の発見を新サービスにする「サービス・リーダーシップ」
変革と研鑽
©2021 HumanCrest Co.,Ltd. 69
ご清聴ありがとうございました!
ご質問・ご意見 等は
バーチャルブースにて!

Mais conteúdo relacionado

Mais procurados

パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
LINE のUI自動テスト事例
LINE のUI自動テスト事例LINE のUI自動テスト事例
LINE のUI自動テスト事例LINE Corporation
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについてSEGADevTech
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向崇 山﨑
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019Rina Fukuda
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift leftYasuharu Nishi
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明しょうご すずき
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析崇 山﨑
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)H Iseri
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテストKLab Inc. / Tech
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 

Mais procurados (20)

パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
LINE のUI自動テスト事例
LINE のUI自動テスト事例LINE のUI自動テスト事例
LINE のUI自動テスト事例
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向テストプロセス改善モデルの最新動向
テストプロセス改善モデルの最新動向
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例【Unity】Scriptable object 入門と活用例
【Unity】Scriptable object 入門と活用例
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 

Semelhante a 事例からわかる!テスト自動化導入パターン

Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略Naoki Umehara
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Akiko Kosaka
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!智治 長沢
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理慎一 古賀
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本Tsuyoshi Yumoto
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかTetsuo Ajima
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20JumpeiIto2
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発Takashi Watanabe
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考えるyasuohosotani
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
Qc astah 連携について012
Qc astah 連携について012Qc astah 連携について012
Qc astah 連携について012Kei Nakahara
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用智治 長沢
 
WebEffective overview 2012 japanese
WebEffective overview 2012 japaneseWebEffective overview 2012 japanese
WebEffective overview 2012 japaneseYoichiro Takehora
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 

Semelhante a 事例からわかる!テスト自動化導入パターン (20)

Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
 
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
 
ITS fidel
ITS fidelITS fidel
ITS fidel
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
Qc astah 連携について012
Qc astah 連携について012Qc astah 連携について012
Qc astah 連携について012
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用
 
WebEffective overview 2012 japanese
WebEffective overview 2012 japaneseWebEffective overview 2012 japanese
WebEffective overview 2012 japanese
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 

事例からわかる!テスト自動化導入パターン

  • 2. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 自己紹介 2 ❖ 名前 :浅黄 友隆 ❖ 主な業務 :テスト自動化、サービス開発 ❖ 経歴 :開発エンジニア 10年 テストエンジニア 10年 ❖ 名前 :山口 真央 ❖ 主な業務 :テスト自動化、サービス開発、マーケティング ❖ 経歴 :テストエンジニア 7年
  • 3. ©2021 HumanCrest Co.,Ltd. 3 株式会社ヒューマンクレスト 設立: 2002/12/16 本社: ランドマークタワー 社員数: 156名 認証資格: ISO27001 ISTQBパートナーシップ: Platinum 株式会社ヒューマンネクスト (関内) JapanQuality Co.,Ltd (ベトナム ダナン)
  • 5. ©2021 HumanCrest Co.,Ltd. 5 テスト自動化は普通になった
  • 6. ©2021 HumanCrest Co.,Ltd. 6 導入できない 維持できない
  • 7. ©2021 HumanCrest Co.,Ltd. 7 Unit Test Integration Test UI Test この辺の話
  • 8. ©2021 HumanCrest Co.,Ltd. 8 Unit Test Integration Test この辺の話 UI Test
  • 9. ©2021 HumanCrest Co.,Ltd. 9 Unit Test Integration Test UI Test この辺の話
  • 10. ©2021 HumanCrest Co.,Ltd. 10 テスト自動化で重要なことは?
  • 11. ©2021 HumanCrest Co.,Ltd. 11 実行 リソース チーム 文化 スキルセット 目的
  • 12. ©2021 HumanCrest Co.,Ltd. 12 リソース チーム 文化 スキルセット 目的 自動テストのコア
  • 13. ©2021 HumanCrest Co.,Ltd. 13 リソース チーム 文化 スキルセット 目的 自動テストのコア 自動テストの概念層
  • 14. ©2021 HumanCrest Co.,Ltd. 14 リソース チーム 文化 スキルセット 目的 自動テストのコア 自動テストの概念層 自動テストの中間層
  • 15. ©2021 HumanCrest Co.,Ltd. 15 リソース チーム 文化 スキルセット 目的 自動テストのコア 自動テストの概念層 自動テストの中間層 自動テストの表層
  • 16. ©2021 HumanCrest Co.,Ltd. 16 リソース チーム 文化 スキルセット 目的 自動テストのコア 自動テストの概念層 自動テストの中間層 自動テストの表層 自動テストのベース
  • 17. ©2021 HumanCrest Co.,Ltd. 17 テスト自動化導入パターンは : :
  • 18. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 18 ユーザの価値を重視 テストスピード重視 繰り返し重視 インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 19. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 19 ユーザの価値を重視 テストスピード重視 繰り返し重視 インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 20. ©2021 HumanCrest Co.,Ltd. 20 目的 主要な機能/要件が 正常に動作することを確認する
  • 21. ©2021 HumanCrest Co.,Ltd. 21 手動テストを自動化 ユーザに提供する価値を テスト
  • 22. ©2021 HumanCrest Co.,Ltd. 22 ピラミッドの頂上 少ない Unit Test Integration Test UI Tests
  • 23. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:ユーザの価値を重視 23 ECサイトの場合
  • 24. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:ユーザの価値を重視 24 【グループウェアの場合】2014〜 ・ユーザの価値:予定作成、メール送信 ・テストタイプ:ユースケーステスト image: Designed by Freepik and distributed by Flaticon 【ECサイトの場合】2015〜 ・ユーザの価値:新規会員登録、ログイン、検索、購入、退会 ・テストタイプ:シナリオテスト 【グルメサイトの場合】2017〜 ・ユーザの価値:店舗検索、予約 ・テストタイプ:シナリオテスト
  • 25. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 25 ユーザの価値を重視 テストスピード重視 繰り返し重視 インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 26. ©2021 HumanCrest Co.,Ltd. 26 目的 繰り返しテスト (環境やデータ) を自動化によって効率化する
  • 27. ©2021 HumanCrest Co.,Ltd. 27 繰り返しを自動化
  • 28. ©2021 HumanCrest Co.,Ltd. 28 テストケースを繰り返す ブラウザ OS デバイス
  • 29. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:テストケースを繰り返す 29 【グループウェアの場合】2014〜 ・ユーザの価値:予定作成、メール送信 ・テストタイプ:ユースケーステスト ・ブラウザ: image: Designed by Freepik and distributed by Flaticon 【ECサイトの場合】2015〜 ・ユーザの価値:新規会員登録、ログイン、検索、購入、退会 ・テストタイプ:シナリオテスト ・ブラウザ: 【グルメサイトの場合】2017〜 ・ユーザの価値:店舗検索、予約 ・テストタイプ:シナリオテスト ・ブラウザ: 8 9 10 11 beta win mac
  • 30. ©2021 HumanCrest Co.,Ltd. 30 データを繰り返す IN/OUTデータの 組み合わせ パターン網羅
  • 31. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:データを繰り返す 31 【事例A】2020 ・目的:数値計算の正確性確認(保険) ・制約:入力→出力はブラウザで確認が必須 ・方法:Seleniumを利用したデータ駆動テスト。ケース数は数万件。 入力パターンによって画面遷移も変わる為、キーワード駆動の考えを取り入れ、 パターン毎に画面遷移フローを自動生成するところから開発。 【事例B】2017 ・目的:超高速開発ツールで作成したシステムの設定ミスを検知 ・制約:ツールの性質上、単体テストは書けない ・方法:Seleniumを利用したデータ駆動テスト 画面からの入力値に対するエラーメッセージのパターンを確認
  • 32. ©2021 HumanCrest Co.,Ltd. 32 テスト自動化の変化
  • 33. ©2021 HumanCrest Co.,Ltd. 33 様々な開発・環境の変化
  • 34. ©2021 HumanCrest Co.,Ltd. 34 インフラ デバイス アーキテクチャ プロセス
  • 35. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 開発技術とテストの変化 35 オンプレ クラウド WF開発 アジャイル開発 モノリシック マイクロサービス CI/CD フロントエンド バックエンド リリースサイクル インフラ環境の変化 開発プロセスの変化 アーキテクチャの変化 イテレーション モバイル Web デバイスの変化 DevOps テストスピード テストスコープ
  • 36. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 36 ユーザの価値を重視 テストスピード重視 繰り返し重視 インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 37. ©2021 HumanCrest Co.,Ltd. 37 テスト自動化のスコープ
  • 38. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テストスコープ 38 ロジック リクエスト レスポンス UI テスト
  • 39. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テストスコープ 39 ロジック リクエスト レスポンス テスト
  • 40. ©2021 HumanCrest Co.,Ltd. 40 目的 バックエンドの動作を確認 API(サービス)の動作を確認
  • 41. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 41 Unit Tests UI Tests 自動テストが砂時計型
  • 42. ©2021 HumanCrest Co.,Ltd. 42 インターフェースのテスト UIのテスト
  • 43. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:パターン④インターフェース重視 43 【事例A】 ・目的:APIのリクエスト・レスポンス等が正しいことを確認 ・制約:ステータスコードが特殊 ・方針:API毎のパラメータパターンをテストケースとする ステータスコードではなく、レスポンスの内容でテスト APIの順序性、アクセストークン等の受け渡しも考慮する 【バックエンドシステム】 ・目的:サービス仕様書の記述を元にインプットデータの パラメータパターンで機能を有している事を確認 ・方針:APIのリクエスト/レスポンスだけでなく、 DBやログまで確認を実施する image: Designed by Freepik and distributed by Flaticon
  • 44. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 44 ユーザの価値を重視 テストスピード重視 繰り返し重視 インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 45. ©2021 HumanCrest Co.,Ltd. 45 テストスピードを改善
  • 46. ©2021 HumanCrest Co.,Ltd. 46 目的 イテレーション リリースサイクル の中でテストする
  • 47. ©2021 HumanCrest Co.,Ltd. 47 開発スピードの変化 テスト実施後の フィードバックが重要
  • 48. ©2021 HumanCrest Co.,Ltd. 48 開発環境の変化 いつでもテスト実行可能
  • 49. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 49 アジャイルテストの4 象限
  • 50. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 50 テストピラミッド
  • 51. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:テストスピードを改善 51 【ロジスティクスの場合】 ・リリースサイクル:週1回 ・テスト対象:本番環境、ステージング環境 ・テスト機能:受付、人員管理等の主要機能 ・自動テストの使われ方:ステージングリリース後、 自動テストが全て通るか確認 問題がなければ、その後本番環境へリリース
  • 52. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:簡易アーキテクチャ図 52 image: Designed by Freepik and distributed by Flaticon
  • 53. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:テストスピードを改善 53 【CMSの場合】 ・リリースサイクル:月1回 ・スプリント :1週間 ・アジャイルチーム:朝会、振り返り会に参加 ・テスト機能:すべての画面に遷移可能であること 主要機能、外部結合に問題がないこと ・テスト対象環境:自動テスト専用環境が3環境 ・自動テストの使われ方:日次ビルドでテストが実行される image: Designed by Freepik and distributed by Flaticon
  • 54. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:簡易アーキテクチャ図 54 オンプレ AWS テスト対象 AWS Win sv ubuntu sv master Win 10 for chrome for firefox for Edge slave library Java Junit/maven selenium
  • 55. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 各パターンの組み合わせ 55 目的によって導入の仕方が変わり、パターンを組み合わせることもある! 例 ❖ テストスピード重視 × 繰り返し重視 ❖ テストスピード重視 × インターフェース重視 ❖ 繰り返し重視 × インターフェース重視 ❖ ユーザの価値を重視 × テストスピード重視 × 手動テスト ❖ ユーザの価値を重視 × 繰り返し重視 × インターフェース重視
  • 56. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:ユーザの価値を重視 ✕ テストスピード重視 ✕ 手動テスト 56 イテレーション中 手動テスト 新機能テスト + セッションベースドテスト ビルド時 リグレッションテスト 各機能のテスト スピード重視 リリース時 シナリオテスト 要件網羅のテスト ユーザの価値を重視 アジャイルテストの台頭
  • 57. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:ユーザの価値を重視 ✕ 繰り返し重視 ✕ インターフェース重視 57 ロジック UI リクエスト レスポンス ・テスト内容:ユーザの基本操作を自動化 対象は正常系のみ 繰り返し行うテストを自動化 ・対象:SDKが組み込まれたサンプルアプリ ・デバイス:iOS、Android、Java、Windows ・テスト使用タイミング:リリース前、受け入れ時 ・テスト内容:サーバーの設定確認 入力/出力のパターン網羅 ・対象:REST API ・テスト使用タイミング:開発中、リリース前 image: Designed by Freepik and distributed by Flaticon
  • 58. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. 事例:簡易アーキテクチャ 58 image: Designed by Freepik and distributed by Flaticon PC(Mac) VM (Windows) WindowsApp API Test JavaApp Jenkins Jenkins Slave GitLab テスト 対象
  • 59. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 59 ①ユーザの価値を重視 ②テストスピード重視 ③繰り返し重視 ④インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 60. ©2021 HumanCrest Co.,Ltd. 60 ①ユーザの価値重視 ②スピード重視 ③繰り返し重視 ④インターフェース重視 目的 ユーザが使用する主要機能/要件が 正常に動作することを確認する イテレーション/リリースサイクル の中でテストする 繰り返しテスト(データ、マルチ環 境)を自動化し、効率化する インターフェースレベルでの入力/ 出力パターンが仕様書通りであり、 機能が動作していることを確認する 特徴 ・UIテスト(ハッピーパスから) ・本番環境に対してのテスト ・外部のテストエンジニアでも対応 可能 ・基本機能のテスト ・テスト専用環境がある ・パラレル実行する ・同一操作を何度も実施する必要が あるテスト ・APIテスト ・正常系だけでなく異常系のパター ンまで確認することが多い メリット ・自動テストの動きが想像しやすく、 作りやすい ・リリースの判断基準にできる ・1つのテストが短いため、開発者 へのフィードバックが早い ・開発者に効果を実感してもらいや すい ・CI/CDに組み込みやすい ・1個スクリプトで様々なパターン のテストができる ・人が実施するよりもミスが防げる ・ROIが高い ・UIを通さずにテストできるため、 自動テストがはやい デメリット ・1つのテストケースが長くなるた め、自動テストが不安定となりやす い ・自動テストの変更頻度が高い ・[データ]正確な入力値と期待値の 組み合わせがないとテストできない ・[マルチ環境]複数環境の準備、メ ンテナンスが大変 - 注意点 ・全てを自動化しない ・変更箇所が少ないところからテス トを作成する ・主要機能を自動化するため、バグ を発見しにくい ・開発者やプロジェクトメンバーと の協力が重要 - ・開発者やプロジェクトメンバーと の協力が重要
  • 61. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化を阻害する要因 61 1. リソース 2. 優先順位 3. ツールと環境 4. テストに対する文化 5. スキルセット 6. プロセス
  • 62. ©2021 HumanCrest Co.,Ltd. 62 リソース チーム 文化 スキルセット 目的
  • 63. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン 63 ①ユーザの価値を重視 ②テストスピード重視 ③繰り返し重視 ④インターフェース重視 image: Designed by Freepik and distributed by Flaticon
  • 64. ©2021 HumanCrest Co.,Ltd. ©2021 HumanCrest Co.,Ltd. テスト自動化 パターン(HCでは...) 64 ①ユーザの価値を重視 ②テストスピード重視 ③繰り返し重視 ④インターフェース重視
  • 65. ©2021 HumanCrest Co.,Ltd. 65 仲間 募集してます ・企業理念、ミッション、行動指針に共感してくれる方 ・ISTQB / JSTQB 取得者 ・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎!
  • 66. ©2021 HumanCrest Co.,Ltd. 66 仲間 募集してます ・企業理念、ミッション、行動指針に共感してくれる方 ・ISTQB / JSTQB 取得者 ・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎! See the world not as is, but as it should be. あるがままでなく、あるべき世界を見ろ
  • 67. ©2021 HumanCrest Co.,Ltd. 67 仲間 募集してます ・企業理念、ミッション、行動指針に共感してくれる方 ・ISTQB / JSTQB 取得者 ・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎! See the world not as is, but as it should be. あるがままでなく、あるべき世界を見ろ ①誰もまねできない品質やサービスを組み合わせて提供する 「オペレーショナル・エクセレンス」 ② 顧客を深耕することで、その関係性を強化する「顧客との親密度」 ③ 未知の発見を新サービスにする「サービス・リーダーシップ」
  • 68. ©2021 HumanCrest Co.,Ltd. 68 仲間 募集してます ・企業理念、ミッション、行動指針に共感してくれる方 ・ISTQB / JSTQB 取得者 ・(特に)ISTQB / JSTQB Advanced Level 取得者 大歓迎! See the world not as is, but as it should be. あるがままでなく、あるべき世界を見ろ ①誰もまねできない品質やサービスを組み合わせて提供する 「オペレーショナル・エクセレンス」 ② 顧客を深耕することで、その関係性を強化する「顧客との親密度」 ③ 未知の発見を新サービスにする「サービス・リーダーシップ」 変革と研鑽
  • 69. ©2021 HumanCrest Co.,Ltd. 69 ご清聴ありがとうございました! ご質問・ご意見 等は バーチャルブースにて!