SlideShare a Scribd company logo
1 of 19
API テスト自動化
と
テストピラミッド
2020/11/18
#自動化エンジニアのLT会
自己紹介
• 名前 :Tomotaka Asagi
• 主の業務:テスト自動化
• 経歴
• 開発 10年(C++, VB, JAVA, .Net, SQL等)
• テスト10年(商用ツール, JMeter, Selenium, Appium, Jenkins,
Junit 等)
• そもそも、テスト嫌いです。なので、何回かやる必要性がある
操作は全て自動化したがります。
手動テストは嫌いです
なので、自動化してきました。
テスト分析、設計は好きです!
APIテスト自動化
E2E
Integration
Tests
Unit Tests
テストピラミッド
E2E 100%
0%
0%
Manual Tests
Antipattern
10年前
アーキテクチャの進化に伴い
自動テストがしやすくなった
Webやアプリ開発において、Unit Test を自動化してないのは、フレーム
ワークを使ってないに等しい
Integrarition Tests
Unit Tests
ここ数年~
E2E
Integration Tests
Unit Tests
Manual
Tests
Antipattern
遅い
壊れる
不安定
E2Eのテスト自動化が継続しない最大の要因
なんの為に自動化するのか?
以前は、(個人的には面倒だから) コスト削減。
現在は、早いフィードバック
E2E
API Tests
Unit Tests
Exploratory
Testing
2020年
事例
PC/スマホアプリのE2Eテスト自動化
→APIテスト自動化 併用へ
自動テストのシステムを構築
テストType
機能テスト
ストーリーテスト
データ駆動テスト
利用技術
Jenkins
Junit
Selenium
Appium
各種ドライバー
excel
ALL E2E testing
PCアプリ(Java,.Net)
Webアプリ
Androidアプリ
iOSアプリ
外部サーバテスト対象サーバー
テスト対象アプリ
テスト終了まで、数時間
2016年
自動テストのシステムを構築
テストType
機能テスト
ストーリーテスト
データ駆動テスト
利用技術
Jenkins
Junit
Selenium
Appium
各種ドライバー
excel
ALL E2E testing
PCアプリ(Java,.Net)
Webアプリ
Androidアプリ
iOSアプリ
外部サーバテスト対象サーバー
テスト対象アプリ テスト範囲
テスト終了まで、数時間
自動テストのシステム
E2E テスト
機能テスト(アプリとして)
ストーリーテスト
API テスト
機能テスト(APIとして)
データ駆動テスト
利用技術
Jenkins
Junit
Selenium
Appium
各種ドライバー
excel
Java
PCアプリ(Java,.Net)
Webアプリ
Androidアプリ
iOSアプリ
外部サーバテスト対象サーバー
テスト対象アプリ
REST API
テスト範囲
テスト範囲
テスト終了まで、最短で15分に短縮
パラメータパターン網羅
リファクタリング後
テスト範囲を決めUIを通さず
にできる事を考えよう
リファクタリングのとき、よく考え直す事
ScopeーPhaseーLevelーSizeーType
Swagger → テストケース
パラメータのパターンをある程度類推して、大枠のケースを作ってしまう
E2E
API Tests
Unit Tests
Exploratory
Testing

More Related Content

What's hot

幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
scarletplover
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
 

What's hot (20)

テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
 
「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」「PdMと考えるQAとプロダクトマネジメント」
「PdMと考えるQAとプロダクトマネジメント」
 
あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 

Similar to APIテスト自動化とテストピラミッド

第2回nseg slideshare
第2回nseg slideshare第2回nseg slideshare
第2回nseg slideshare
ko ty
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説
Kinji Akemine
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
 

Similar to APIテスト自動化とテストピラミッド (20)

Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
 
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
 
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
 
第2回nseg slideshare
第2回nseg slideshare第2回nseg slideshare
第2回nseg slideshare
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
FriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみたFriendlyとTestAssistantProでテスト自動化やってみた
FriendlyとTestAssistantProでテスト自動化やってみた
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略WebサービスのソフトウェアQAと自動テスト戦略
WebサービスのソフトウェアQAと自動テスト戦略
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
 

APIテスト自動化とテストピラミッド

Editor's Notes

  1. 個人的に、今 自分の旬は、APIのテスト自動化
  2. 理想のテストピラミッド
  3. 手動テストを、自動化する アンチパターンのアイスクリームコーンタイプになってしまう。 そうすると、重くて、遅くて、壊れやすい自動テストが完成しお、やたら、メンテナンスが大変の自動化となりまうs
  4. 昨年度 あたりから、Unit Test やってます というのが、異常に増えた
  5. ですので、われわれ、その上の部分を担当するパターンが増えてきました。 砂時計型ですね。。 基本的に、このままだと開発スピードが鈍ります。はい、アンチです。
  6. まったくもって、信頼できない
  7. 最近は、APIテストに力を入れてきました。 API 各レベルにおいて、何をどこまでカバーするのか? きめる 理想型に近づくと、スピードとバグが減る 開発へのフィードバックが早くなりますからね。