$30 off During Our Annual Pro Sale. View Details »

WACATE2025冬_手動テストを自動化した時に起こりうる問題と対処法_当日投影した内容+α版

Avatar for caz caz
December 22, 2025
79

 WACATE2025冬_手動テストを自動化した時に起こりうる問題と対処法_当日投影した内容+α版

WACATE 2025 冬のセッション資料です。
https://wacate.jp/workshops/2025winter/

Avatar for caz

caz

December 22, 2025
Tweet

Transcript

  1. 手動テストを
 自動化した時に起こりうる問題と対処法
 WACATE 2025 冬
 🤖 🤖 🤖 🤖 🤖

    🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 当日投影した内容+α版

  2. 自己紹介
 • CazunariMuraho
 • @cazu_PR
 • WACATE の参加歴
 ◦ WACATE

    2022 冬 オンライン初参加
 ◦ WACATE 2023 夏 オフライン参加 Most Accelerating Paper賞
 ◦ WACATE 2023 冬 から WACATE 実行委員
 • 猫
 • 経歴
 ◦ 受託開発会社でアジャイル開発を5年ほど経験。主にQAを担当
 ◦ 今年の5月に事業会社に転職し、お客さんのテスト自動化支援を行なっている

  3. 2.困りごとの原因 
 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖

    🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖
  4. プロフィールを変更できること 記事を投稿できること ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 設定ボタンを押下 ユーザ名を上書き

    保存ボタンを押下 ユーザ名の上書きを確認 ログインの処理はどのテストでも発生する処理
 処理の共通化が行われなかった例

  5. プロフィールを変更できること 記事を投稿できること ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 設定ボタンを押下 ユーザ名を上書き

    保存ボタンを押下 ユーザ名の上書きを確認 共通化されていない場合...
 ログインの仕様が変わった時、テストの数だけ修正することになる
 修正
 修正
 処理の共通化が行われなかった例

  6. プロフィールを変更できること 記事を投稿できること 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 設定ボタンを押下 ユーザ名を上書き 保存ボタンを押下 ユーザ名の上書きを確認

    共通化されている場合...
 ログインの仕様が変わった時、共通化された処理を1つ修正すれば良い
 ログイン 修正
 処理の共通化を行った場合

  7. プロフィールを変更できること 記事を投稿できること ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 設定ボタンを押下 ユーザ名を上書き 保存ボタンを押下

    ユーザ名の上書きを確認 共通化されている場合...
 ログインの仕様が変わった時、共通化された処理を1つ修正すれば良い
 修正
 修正にかかる時間を 
 短縮できる 
 処理の共通化を行った場合

  8. 可読性が低い例
 1. アカウントAでログイン 2. 設定画面で3つ目のトグルをONにする 3. アカウントBでログイン 4. 「組織管理」ボタンを押下 5.

    組織名を上書き後「保存」ボタンを押下 7. 上書きされた組織名を確認 ・・・ テスト名 「組織管理_管理ユーザ_基本操作」 6. 3秒待機
  9. 1. アカウントAでログイン 2. 設定画面で3つ目のトグルをONにする 3. アカウントBでログイン 4. 「組織管理」ボタンを押下 5. 組織名を上書き後「保存」ボタンを押下

    7. 上書きされた組織名を確認 ・・・ テスト名 「組織管理_管理ユーザ_基本操作」 6. 3秒待機 テストの名前や処理を見ても 
 意図や行われている操作がわからないため 
 手を出すのに時間がかかる 
 可読性が低い例

  10. テスト名 「管理権限を持つユーザは組織名を変更 できること」 担保したいことが具体的に表現されていると自 動テストの目的を把握できる 
 1. アカウントAでログイン 2. 設定画面で3つ目のトグルをONにする

    3. アカウントBでログイン 4. 「組織管理」ボタンを押下 5. 組織名を上書き後「保存」ボタンを押下 7. 上書きされた組織名を確認 ・・・ 6. 3秒待機 可読性を上げた場合

  11. 1. アカウントBに管理権限を付与 1.1 アカウントAでログイン 1.2 設定画面で3つ目のトグルをONにする 2. アカウントBでログイン 3. 「組織管理」ボタンを押下

    4. 組織名を上書き後「保存」ボタンを押下 6. 上書きされた組織名を確認 ・・・ テストではない処理は事前処理としてテストの 処理と分離させたり、処理の意図を明文化して おくと内容がわかりやすくなる 
 5. 3秒待機 #反映に時間がかかるためこの処理が必要 テスト名 「管理権限を持つユーザは組織名を変更 できること」 可読性を上げた場合

  12. 1. 管理権限を持つアカウント Bでログイン 2. 「組織管理」ボタンを押下 3. 組織名を上書き後「保存」ボタンを押下 5. 上書きされた組織名を確認 ・・・

    あらかじめ事前条件を満たした環境やデータが 用意できれば処理がよりシンプルになる 
 (UI操作が減るのでフレーキーさも 
 軽減できる) 
 4. 3秒待機 #反映に時間がかかるためこの処理が必要 テスト名 「管理権限を持つユーザは組織名を変更 できること」 可読性を上げた場合

  13. ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 記事一覧から記事を選択 削除ボタンを押下 削除を確認 ❌

    🟢 🟢 ❌ 依存関係を作ってしまった例
 記事を削除できること 記事を投稿できること 🟢 左のテストが失敗すると右のテストも失敗する
 (記事データが存在しないため)

  14. ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 記事一覧から記事を選択 削除ボタンを押下 削除を確認 独立性を高め依存関係は作らない


    記事を削除できること 記事を投稿できること 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 テストで使用するデータは
 そのテストの中で生成されるようにする

  15. ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 記事一覧から記事を選択 削除ボタンを押下 削除を確認 独立性を高め依存関係は作らない


    記事を削除できること 記事を投稿できること 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 「内容が重複してるから右側のテストだけ あればよくない?🤔」

  16. ログイン 記事一覧から記事を選択 削除ボタンを押下 削除を確認 独立性を高め依存関係は作らない
 記事の投稿・削除ができること 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認

    運用しづらくなるので個人的には 
 テストの目的ごとに自動テストは 作っておくのがおすすめ 
 投稿のテストだけしたくても削除 処理まで実行される
 
 • 実行時間が必要以上に伸びる 
 • 投稿に成功しても削除が失敗するとテ ストが失敗する

  17. ログイン 記事作成ボタンを押下 本文に文字を入力 投稿ボタンを押下 記事追加を確認 ログイン 記事一覧から記事を選択 削除ボタンを押下 削除を確認 独立性を高め依存関係は作らない


    記事を削除できること 記事を投稿できること (スクリプトを実行しデータを 生成) 削除のテストなので、記事データの生 成はUI操作で行う必要はない

  18. 3.導入前が大事という話 
 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖

    🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖 🤖
  19. こんなことにならないか事前に確認する
 次のような事は行うべきではない。 • インターフェースの影響を受けやすいスクリプト(グラフィカルインターフェースや APIの重要でない部 分 の変更による影響を受けるスクリプト)を作成しない。 • データの変更による影響を受けやすい、または特定のデータ値に大きく依存するテスト自動化(他のテ ス

    ト出力に依存するテスト入力など)を行わない。 • コンテキスト(オペレーティングシステムの日付や時刻、オペレーティングシステムの多言語化のパラ メー ター、別のアプリケーションのコンテンツなど)の影響を受けやすい自動化環境を作成しない。この 場合、 環境を制御できるように、必要に応じてテスト用のスタブを使うのが望ましい。 https://jstqb.jp/dl/JSTQB-Syllabus.Advanced_TAE_Version2016.J01.pdf
  20. • 初めての自動テスト Webシステムのための自動テスト基礎 
 ◦ https://amzn.asia/d/6ZGxwjT 
 • テストを自動化するのをやめ、自動テストを作ろう 


    ◦ https://speakerdeck.com/tsuemura/tesutowozi-dong-hua-surufalsewoyame-zi-dong-tesut owozuo-rou 
 • テスト技術者資格制度 Advanced Level シラバス テスト自動化エンジニア 
 ◦ https://jstqb.jp/dl/JSTQB-Syllabus.Advanced_TAE_Version2016.J01.pdf 
 参考資料