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 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
500
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
990
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
670
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
420
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
140
Deno Tunnel を使ってみた話
kamekyame
0
260
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.5k
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
880
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
460
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
Odyssey Design
rkendrick25
PRO
0
440
Tell your own story through comics
letsgokoyo
0
770
Automating Front-end Workflow
addyosmani
1371
200k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
93
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
130
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
37
Optimizing for Happiness
mojombo
379
70k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
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