Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダ...
Search
goataka (GOAMI Takaaki)
December 06, 2025
Programming
0
110
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
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
180
なぜCodeceptJSを選んだか
goataka
0
370
Other Decks in Programming
See All in Programming
AWS CDKの推しポイントN選
akihisaikeda
1
240
GeistFabrik and AI-augmented software development
adewale
PRO
0
260
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
700
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.3k
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
270
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
400
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
34
20k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
220
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.2k
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
240
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.4k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Designing for Performance
lara
610
69k
Into the Great Unknown - MozCon
thekraken
40
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
700
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
How to Ace a Technical Interview
jacobian
280
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Git: the NoSQL Database
bkeepers
PRO
432
66k
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 リリースの実現:バグフィックス 既存フローの整理:バージョンアップ、個社パッチなd ロードマップの策定:無停止、自動適用など ここから自動テストの改善は始まった。 ソフトウェアテスト自動化カンファレンス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