Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダ...
Search
goataka (GOAMI Takaaki)
December 06, 2025
Programming
0
150
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka (GOAMI Takaaki)
December 06, 2025
Tweet
Share
More Decks by goataka (GOAMI Takaaki)
See All by goataka (GOAMI Takaaki)
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
190
なぜCodeceptJSを選んだか
goataka
0
390
Other Decks in Programming
See All in Programming
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.1k
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.4k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.9k
Java 25, Nuevas características
czelabueno
0
120
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
26k
クラウドに依存しないS3を使った開発術
simesaba80
0
180
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
620
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
30
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
So, you think you're a good person
axbom
PRO
0
1.8k
We Have a Design System, Now What?
morganepeng
54
7.9k
It's Worth the Effort
3n
187
29k
Typedesign – Prime Four
hannesfritz
42
2.9k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
130
Ruling the World: When Life Gets Gamed
codingconduct
0
100
Transcript
「リリース時」テストから「デイリー実行」へ! 開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略 @goataka_ ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI
Takaaki 1
其阿彌 孝明(GOAMI Takaaki )/ 株式会社Works Human Intelligence 仕事 エンジニアリング・マネージャ 品質(自動テスト、テスト分析)
/ 自動化(、CI/CD 、AI ) DX (育成、ドキュメント、執筆) 趣味 漫画(アプリ、レンタル) / ランニング(LSD ) / カラオケ(一人) 物理( 素粒子) / 数学(代数、虚数、無限級数) / 娘(2 人) 資格 テスト / AWS / スクラム ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 自己紹介 © 2025 GOAMI Takaaki 2
自動テストを始める方 、 自動テストに悩んでいる方 に向けて、参考として事例を紹介する。 Why :なぜやったのか What :何をしてきたのか How :どのように進めてきたのか
ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 概要 © 2025 GOAMI Takaaki 3
Why なぜ自動テストを変えたのか ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki
4
大手法人向け勤怠管理サービス 外付け開発をしない方針 標準機能で多様な要件に対応 機能数・設定数が膨大 テストが非常に大変となる。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 対象システム
© 2025 GOAMI Takaaki 5
HR Tech 市場の拡大 市場参入の増加:手続き・申請系から給与・勤怠領域への参入 競合の優位性の拡大:アジャイル開発、クラウドネイティブ 要求水準の上昇:働き方改革、労働法の改正など 競合サービスの脅威が増大している。 ソフトウェアテスト自動化カンファレンス2025 - Dec.
6th 市場環境 © 2025 GOAMI Takaaki 6
クラウドへ大規模移行中 現状 目標 状態 クラウドリフト → クラウドシフト Quality リリーステスト デイリーテスト
Cost シングルテナント マルチテナント Delivery 低頻度リリース → 随時リリース 顧客価値の提供速度の改善から着手することとした。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 自社課題 © 2025 GOAMI Takaaki 7
随時リリースの実現 hotifx リリースの実現:バグフィックス 既存フローの整理:バージョンアップ、個社パッチなど ロードマップの策定:無停止、自動適用など ここから自動テストの改善は始まった。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th
CI/CD 専任 Grp. の立ち上げ - 2022 © 2025 GOAMI Takaaki 8
既存の自動テストの改善 手動実行の自動化:環境構築(サーバー、クライアント) 、テスト実行 テスト実行の並列化:シナリオ分割、複数環境で同時実行 レポート作成の簡易化:実行結果の自動集計、判定結果のテンプレート化 この時点ではレガシーな自動テストの改善を行った。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th
hotfix リリースの為の自動テスト改善 - 2023 © 2025 GOAMI Takaaki 9
顕在化した課題 実行タイミングが遅い:開発完了後の為、時間的に無理がある スクリプト修正が遅い:別担当の為、構造的な無駄がある ツール改修が遅い:内製の為、工数的に制限がある 予想はしていたが、課題が多く、根深かった。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 自動テストの課題
© 2025 GOAMI Takaaki 10
随時リリースに耐えうる自動テスト 現状 対応(目標) 頻度 リリース → デイリー / プレマージ 作成
QA → 開発 ツール 内製・クローズド → 外部・オープンソース 目標を設定し、改善していく事にした。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 自動テストの課題への対応 © 2025 GOAMI Takaaki 11
Why - 競争力の強化 市場競争力の強化の為、リリース頻度の向上に耐えうる、自動テスト基盤の構築を行う ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025
GOAMI Takaaki 12
What 自動テスト拡充の為、何をおこなったか ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki
13
現状を踏まえた基本戦略 現状 課題 戦略 技術的負債 スモールテストが困難 → E2E テストから実装 仕様の欠如
テストの正解が不明 → マニュアル整備 リソース不足 人員・スキルが不足 → 専任組織の立ち上げ それぞれ対応を個別に進めた。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 拡充に向けた戦略 - 2023 © 2025 GOAMI Takaaki 14
外から包む⽅針に基づきE2E から段階的に拡充する計画を策定した。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 実装計画の策定 © 2025 GOAMI
Takaaki 15
仕様整備を進める為、マニュアル拡充を推進した。 マニュアル専任担当の配置:プロパーとBP さん 規格化:ドキュメント整備、テンプレートの詳細化、サンプル作成 活用推進:導線の改善、機能単位への分割 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th マニュアル整備
© 2025 GOAMI Takaaki 16
継続的な人員確保の為、以下を実施した。 専任Grp. の立ち上げ:CI/CD Grp. から分離・独立 採用開始:採用条件の明確化、募集公開、社内公募 職種認知の向上:職種・スキル定義、外部登壇 ソフトウェアテスト自動化カンファレンス2025 - Dec.
6th リソース確保 © 2025 GOAMI Takaaki 17
経営層の理解と支援を得る為、実行計画を共有した。 内容 目的 市場競争力の強化の為のリリース頻度の向上に耐えうる自動テスト基盤の構築 効果 機能品質の向上 [Quality] テストコストの削減 [Cost] リリース速度の向上
[Delivery] 課題 現状整理(技術的負債、仕様の欠如、リソース不足) 対応方針(段階的拡充計画、マニュアル整備、リソース確保) ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th What - 実行計画 © 2025 GOAMI Takaaki 18
How 自動テスト拡充の為、どのように行ったか ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki
19
実装 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki 20
内製ツールに代わる候補をあげ、観点を整理し、比較検討した。 分類 コス ト 拡張 性 BDD 保守 性 名称
総 合 商用 × × 非対応 × mabl 、Autify 、DataDog × オープンソ ース 〇 〇 対応 (Cucumber) △ Playwright 、Cypress 、 Selenium △ 対応 (Built-in) 〇 CodeceptJS 〇 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th E2E - 自動化ツールの選定 © 2025 GOAMI Takaaki 21
公式・詳細資料 公式情報:CodeceptJS‐ supercharged End 2 End Testing 選定理由: 「なぜCodeceptJS を選んだか」
利用方法: 「CodeceptJS にトライしてみた」 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th E2E - 選定ツールの詳細 © 2025 GOAMI Takaaki 22
ジョブを対象とした自動テストを実現した。 実行方法:ローカル実行できないジョブがある為、E2E ベースで実現した。 結果比較:テスト作成時のSQL 結果をスナップショットとし、比較可能にした。 設定投入:E2E のステップを活用して、設定や事前データ投入を実現した。 実現速度を優先したが、将来的にはローカル実行へ切り替え、簡略化する。 ソフトウェアテスト自動化カンファレンス2025 -
Dec. 6th バッチ © 2025 GOAMI Takaaki 23
構成自体は非常にシンプルである。 JUnit :Java 製品の為、JUnit を利用 カバレッジ:JaCoCo を利用し、カバレッジを測定 CI :プレマージ、デイリーで実行 現時点では拡大は限定的である。
ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th ユニット © 2025 GOAMI Takaaki 24
ユニットテストの位置づけを分けた。 テスト駆動開発:新規開発、改修、リファクタリング 仕様カバレッジ:単機能、結合テスト コードカバレッジ:例外処理、境界値、レガシーコード 意図が分かるようにし、ユニットテストの改廃をしやすくした。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th ユニット
- 位置づけ © 2025 GOAMI Takaaki 25
Windows アプリも自動テストの対象として実現を進めている。 CodeceptJS :シナリオとステップの定義を実装する。 WebDriverIO :Appium 操作の為に利用している。 Appium :appium-windows-driver を利用して、Exe
を操作をする。 CodecpetJS のAppium helper は ver2 且つ Windows 非対応 の為に使えず。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th Exe © 2025 GOAMI Takaaki 26
Windows 環境はライセンスを含め制約が多い為、段階的に対応を進めている。 ローカル:Windows Sandbox を利用し、インストーラの動作確認を簡易化 クラウド(暫定/AWS ) :Windows Container を利用し、EC2
上で実行予定 クラウド(恒久/Azure ) :将来的には、Azure Virtual Desktop に移行予定 ※実装調査中である為、確定していない部分が多い。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th Exe - 実行環境 © 2025 GOAMI Takaaki 27
問題検知の早期化の為、運用監視を開始した。 対象環境:開発環境のみ(トリアージの限界) 監視対象:ログ(コネクションリーク、特定ワード) 運用方法:ログ取得、キーワード検出、Slack 通知、チケット作成を自動化 ※計画には含まれていなかったが、ニーズが強く、並行して導入を進めた。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th
シフトライト © 2025 GOAMI Takaaki 28
推進 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki 29
強制ではなく、開発者が使いたくなるように進めた。 提供形態:開発向けサービス 導入体制:ドキュメント整備、定例相談会、事例共有 継続強化:DB アクセス、メール検証、SSO 対応、バッチ対応、EXE 対応 ゴール達成とFB への対応を主として、スクラムを行っている。 ソフトウェアテスト自動化カンファレンス2025
- Dec. 6th 導入 - 開発への展開 © 2025 GOAMI Takaaki 30
シナリオやテストコードを配置し、利用を容易にした。 テスト駆動開発:シナリオに基づいた実装がし易い。 同時レビュー:シナリオを修正しながら実装できる。 プレマージ:シナリオが通らない実装を防止できる(予定) 。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 導入
- 製品リポジトリへの配置 © 2025 GOAMI Takaaki 31
開発環境も含め、段階的にContainer 化を進めている。 Database :DB アクセスの単体テストが可能になる。 Application :プレマージでテスト実行が可能になる。 DevContainer :開発しながらテスト実行が可能になる(予定) 。
ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 導入 - Container 化 © 2025 GOAMI Takaaki 32
運用に人数を掛けない為、自動化や手順化を進めた。 自動実行:環境更新、データ投入、テスト実行、レポート作成、Slack 通知 障害対応:自動起票、対応フロー整備 運用改善:振り返り、改善施策 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 保守
- 運用体制の構築 © 2025 GOAMI Takaaki 33
シナリオが利用する設定やデータを分離・明文化し、スクリプト化した。 独立性:シナリオ間の影響がなくなる。 理解容易性:シナリオの全体像が理解し易くなる。 利便性:環境の再構築、個別実行が可能となる。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 保守 -
設定・データ分離 © 2025 GOAMI Takaaki 34
シナリオの目的が不明確になりやすい為、分類を定義した。 標準シナリオ: 基本機能の動作確認 HOT スポット: 不具合が発生しやすい箇所の重点確認 デグレ対策: 過去の不具合再発防止 ソフトウェアテスト自動化カンファレンス2025 -
Dec. 6th 保守 - シナリオ分類 © 2025 GOAMI Takaaki 35
保守 - 最適化(テストレベル) それぞれのカバレッジを元にした最適化の方針を定義した。 コードベース:限定的、簡易、早期 仕様ベース:理想的、困難、長期 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th
© 2025 GOAMI Takaaki 36
保守 - コードベース(Jacoco ) Jacoco は結果を合成する事ができ、重複や欠落を把握できる。 旧E2E 新E2E ユニットテスト ソフトウェアテスト自動化カンファレンス2025
- Dec. 6th © 2025 GOAMI Takaaki 37
保守 - 仕様ベース(マニュアル) 外部仕様の母集団として、マニュアルの整備を進めている。 業務別マニュアル:受入・アクセプタンステスト、ATDD 機能別スタートアップ:結合・インテグレーションテスト、BDD 機能別リファレンス:単体・ユニットテスト、TDD ※一番難航している。社内外で知見やノウハウが少ない。 ソフトウェアテスト自動化カンファレンス2025 -
Dec. 6th © 2025 GOAMI Takaaki 38
社内の別製品グループへの横展開を進めた。 積極的なノウハウの共有 社内勉強会の実施 組織横断での連携 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 展開 -
社内定着 © 2025 GOAMI Takaaki 39
その他 - AI 研究はしているが、現時点では先進的なやり方は採用できていない。 利用ツール:GitHub Copilot 用途:シナリオ、テストコード作成 状況:Playwright MCP などは保守性や複雑化などから採用していない。
より多くの場面で活用できる可能性があり、試用は続けていく。 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki 40
開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略 内容 目的 市場競争力の強化の為のリリース頻度の向上に耐えうる自動テスト基盤の構築 効果 機能品質の向上 [Quality] テストコストの削減 [Cost] リリース速度の向上
[Delivery] 課題 現状整理(技術的負債、仕様の欠如、リソース不足) 対応方針(段階的拡充計画、仕様整備、リソース確保) ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th まとめ - 「リリース時」テストから「デイリー実行」へ! © 2025 GOAMI Takaaki 41
SET (Software Engineer in Test ) 外部・内部品質の向上の為、自動化を推進します。 ・自動テストの推進・運用・改善 ・自動テスト環境の構築・運用 ・コード品質改善ツールの推進・運用・改善
・テスト設計、マニュアル作成支援 ・品質改善計画の策定・実行 ・開発、QA 、DevOps チームとの連携 https://www.career.works-hi.co.jp/job/mid_career/ ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 採用募集 © 2025 GOAMI Takaaki 42
株式会社Works Human Intelligence 複雑化、多様化する社会課題を、人の知恵を結集し解決することで「はたらく」を楽しくする 事業: 大手企業向け統合人事システム「COMPANY® 」の開発・販売・サポート、 HR 関連サービスの提供 製品:
人事管理、給与計算、勤怠管理、雇用手続管理、ID 管理、タレントマネジメント 資料: Speaker Deck :エンジニア向け会社紹介資料 ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th 会社紹介 © 2025 GOAMI Takaaki 43
本日分も含め資料はこちらから参照できます。 goataka / goataka ご質問はこちらにてお気軽にご連絡ください。 goataka_ / goataka ソフトウェアテスト自動化カンファレンス2025 -
Dec. 6th 資料・ご質問 © 2025 GOAMI Takaaki 44
ご清聴ありがとうございました ソフトウェアテスト自動化カンファレンス2025 - Dec. 6th © 2025 GOAMI Takaaki 45