JaSST Tokyo 2021

自動テスト普及活動の勘所

2021年3月15, 16日
富士通株式会社

松木直之

プロフィール• 松木 直之

matsuki naoyuki• 富士通株式会社 サービステクノロジー本部• matsuki.naoyuki@fujitsu.com

略歴• 1998~：富士通入社
基幹業務パッケージGLOVIAシリーズ開発• 2012~：社内開発フレームワーク整備(INTARFRM)• 2017~：アプリ開発技術の標準化(SDEM、自動テスト等)

1

Copyright 2021 FUJITSU LIMITED弊社の品質保証について
業界・市場共通技術部門

QA部門

標準化

品質基準

ツール

点検

教育

監査

ツール・OSS
標準化団体
コミュニティ

現場支援

QA

標準

現場部門

フィードバック

QA

標準

現場部門

2

QA

標準

現場部門

Copyright 2021 FUJITSU LIMITED今日、話すこと前半• 自動テスト普及活動とは何か• 自動テストは普及しているのか？
• 自動テスト普及活動のキホン

後半• 具体的な活動施策と勘所• 最近の相談事項から

3

Copyright 2021 FUJITSU LIMITED

前半戦
自動テスト普及活動 ことはじめ

自動テスト普及活動とは （我々の場合）弊社のアプリケーション開発において、自動テストを当然のように行える状態にすること

5

Copyright 2021 FUJITSU LIMITED自動テスト普及活動とは （我々の場合）
弊社のSEが、SI、PKG開発等のアプリケーション開発作業の中で、自動テストを一つの手段として活用し、作業効率化、アプリ品質向上を実現できるように、自動テストの認知、理解、技術共有、ツール化、教育によって、組織横断で標準的に使用する技術に位置付けて、リード、サポートをする総合的な活動
6

Copyright 2021 FUJITSU LIMITED

まず、はじめに

そもそも自動テストは普及しているのか？ / していないのか？

7

Copyright 2021 FUJITSU LIMITED世の中の状況“However, the level of automation of test
activities is still very low (between 14-18% fordifferent activities). This low level of automationis the number-one bottleneck for maturing
testing in enterprises.”• 自動テスト実施率、自動化率だと20%程度
ではないか• テストツール・サービスのMarketは活況で、126億ドル(2019),CAGR 18%(2019-24)

World Quality Report 2018-19#Automation Testing Market – Global Forecast to 2024

• 調査も対象、基準の違いがいろいろあって正直よくわからない。国内はもっとわからない• 仮にDevOps実践状況を見ると35.7% (2019)28.1% (2018) から大きく伸びている
DevOpsの実践状況に関するユーザー調査結果（2017年～2019年）, IDC Japan
8

Copyright 2021 FUJITSU LIMITED社内の状況 （FY18）

５００人アンケート実施 ＆ 技術会議開催 「これからのテストを考える」

Q1. テストを取り巻く環境変化

Q2. テスト手法・技術変化

38%

15%
ほとんど変化なし

5年前に比べて一部変化

自動(高)
4%

大きく変化
6%

大きく変化
ほとんど変化なし

Q3. 自動テストの実施

5年前に比べて56%

一部変化
38%

手動

自動
19%

77%

47%

9

Copyright 2021 FUJITSU LIMITEDYes/Noだけではなくコメント多数
課題意識の高さ、重さが感じられた

10

Copyright 2021 FUJITSU LIMITED社内の状況（FY19）
テストツール、技術資料DL者アンケート
対象：70名

手動
29%

断念
14%

• 母数が「自動テストに興味や意志がある人達」なので、物足らない数字• 検討中が、この後、自動化するかは読めないが、おそらく2/3以上は実施に至っていない

自動化済
23%

検討中
34%

• FY18と同じ母数（500人）での調査は難しい。「自動テスト」というキーワードで現場にアクセスしづらい

今後のアクションはグレーゾーン「自動テスト」は現場の重要課題ではない

11Copyright 2021 FUJITSU LIMITEDQ. 結局、普及してきているのか？
• 人口は増えている• 「普及した！」という感覚ではない• 社内コミュニティや共通部門もできた• 標準的な技術にはなっていない⇒チャレンジングな取り組みの位置づけ• イベント開催時の参加者も多い• ツールや資料のDL数は緩やかな増加• 導入レベルの格差が起きている⇒スタートラインは底上げされている• 相談件数は多くないが、内容が多様化- 入門編から、本格的CI導入まで- 大規模系の増加• 爆発的に広がりはしない⇒実態はやはり把握しきれない• ただし、話題にはあまり上がらない

A. まだ入り口付近
12

Copyright 2021 FUJITSU LIMITEDなぜ普及が必要なのか？

自動テストが当然となる環境や時代への危機感
・ 競争力の低下
・ 品質基準の低下

自動テストを前提にした取り組みへの遅れ
・ 例えば、継続的テストの中での改善・ 例えば、品質リスクの予兆検知

13

Copyright 2021 FUJITSU LIMITED自動テスト普及活動のキホン①

現状を把握する②

自動テストできない理由を知る③

活動のアプローチについて

14

Copyright 2021 FUJITSU LIMITED

① 現状を把握する

把握したいこと

方法• プロジェクト（数、規模、特性）• データ収集の仕掛け(DL数、実行数、など)• 顧客（業種、体制）• アンケート調査• テストレベル/タイプ/作業項目• ヒアリング、インタビュー• 使用ツール• コミュニティ• 自動テストの目的/効果• 現場QA部門との連携• できない/断念した理由

15

Copyright 2021 FUJITSU LIMITED

① 現状を把握する

把握したいこと方法
情報は自然に• データ収集の仕掛け(DL数、実行数、など)
集まらない• プロジェクト（数、規模、特性）• 顧客（業種、体制）• アンケート調査 意志と行動が大事• テストレベル/タイプ/作業項目• ヒアリング、インタビュー• 使用ツール• コミュニティ• 自動テストの目的/効果• 現場QA部門との連携• できない/断念した理由

16

Copyright 2021 FUJITSU LIMITED計測は大事• 継続的（随時、定期）な計測タスクを作る• 定量的に測れることを何とか増やす ⇒ 相対評価と推移が見たい
計測値

計測方法・対象

自動テスト実施率

・ アンケート調査
・ ツールや技術資料のDL数
・ テストツール実行数の自動収集(社内ツール限定で収集機能)

教育受講数

・ ハンズオン等の受講者数
・ アンケート回収数/回答内容

イベント集客数

・ 申込数/参加数
・ アンケート回収数/回答内容• 計測結果をどう評価するか ⇒ 何をもって “普及“ と言う？
17

Copyright 2021 FUJITSU LIMITED

普及率という言葉の落とし穴✓ 大切なのは普及率の先の “効果“
• 自動テスト普及の目的を達成しているかどうか（コスト、品質改善など）• 普及率という数字は、普及活動をしている側の数字
あまり現場に報告する数字ではない• 普及率は活動の状況表示。効果は活動の価値表示• 活動報告をする場面、相手をよく考えること
18

Copyright 2021 FUJITSU LIMITED② 自動テストできない理由を知る

自動テストできない主な理由

対策• スキルのある人がいない• ツール対応(簡単化、効率化)• 製造、テストが外注体制• 教育• コストに見込めない• 啓蒙と認知• 現状、優先的な課題ではない• 事例や取り組み状況の共有• 変革は難しい（マインド寄り）

19

Copyright 2021 FUJITSU LIMITED② 自動テストできない理由を知る

自動テストできない主な理由

対策
共通部門では• スキルのある人がいない• ツール対応

できないことも多い(簡単化、効率化)• 製造、テストが外注体制• 教育• コストに見込めない

現場連携が大事• 啓蒙と認知• 現状、優先的な課題ではない• 事例や取り組み状況の共有• 変革は難しい（マインド寄り）

20

Copyright 2021 FUJITSU LIMITED具体的な施策は後半で21

Copyright 2021 FUJITSU LIMITED③ 活動のアプローチについて✓ 個人へのアプローチと、PJ/組織へのアプローチの両方が必要個人向け

組織向け

マス対応、多数向けのコンテンツなど• セミナー参加、ツール試行など
フットワークは軽い⇒ DL数などは伸びる

PJ,WG,上級層向け。施策説明、提案• 組織戦略やPJ課題に対する提案であること• 組織プロファイルにあわせた支援• でも導入決定権がない⇒ 実利用につながりにくい

アプローチが重い、機会少ない• 導入支援、技術相談がメイン• 啓蒙、認知がメイン

22

Copyright 2021 FUJITSU LIMITED③ 活動のアプローチについて✓ “テスト自動化しましょう” というテーマが良いとき、悪いとき• 多くのプロジェクトにとって、「テスト自動化」は直接的な課題ではない• 再構築案件のコスト削減手段をどうするか？
• 不慣れなアジャイル開発での品質リスク対策• 「テストの自動化が課題解決に必要」と解きほぐされている場合は良いが、そうでない場合、ピンと来ない / 検討に挙がらない• 普及活動のスコープを狭めているだけになっている• 組織やプロジェクトの戦略、課題、プロファイルにリーチする伝え方を心がける• 「テストの自動化」は手段にすぎないことを忘れない
23

Copyright 2021 FUJITSU LIMITED

後半戦
具体的な活動施策と勘所活動施策のご紹介①②③

テストツール・社内向けのツール作成

・ツール情報収集

育成・啓蒙

・オンライン化（ハンズオン、イベント、コミュニティ）現場支援

・技術相談・技術情報提供
25

・事例化
Copyright 2021 FUJITSU LIMITED【①テストツール】 社内向けのツール作成◆活動• GUIテスト自動化ツールの開発、リリース、保守• 3ヶ月サイクルのリリース、現場FB対応、新技術取り込み• 外販（開発フレームワーク製品 INTARFRMに同梱）◆計測• ツールのDL数• 実際の実行数（社内のみモニタリング機能を組み込み）• QA、問い合わせ数

なぜ、自作するの？

• 自動テスト頻発問題 「うちのアプリじゃ動かない」の対応• 「ツール費用のせいで導入できない」問題の対応• 自動テスト資産の今後、移行性の対応
26

JaSST18,19 Tokyo参照

本当に導入したか、どれくらい使ってるかわかる

Copyright 2021 FUJITSU LIMITED【①テストツール】 社内向けのツール作成
おすすめポイント

気をつけること• 定量的な計測がしやすい• ツールの開発・保守コスト• ツールに関連した施策がとれる• ツール統一の話に注意

・ ハンズオン・ 業種基盤へのツール組み込み・ 単なる統一は悪手・ 適所適材、選択方法の提示
・ テストツールまるわかりガイド*• 現場の興味、質問も多い• とはいえ、社内に似たようなツー
ルには目を光らせること＊テストツールまるわかりガイド V2.0.0
http://www.aster.or.jp/business/testtool_wg.html
27

Copyright 2021 FUJITSU LIMITEDFUJITSU Software INTARFRM テスト機能• GUI画面操作、機能テスト自動化• Web/Mobileアプリ対象• テスト操作の記録/再生で自動化(キャプチャ＆リプレイ形式)• ノンコーディングでテスト作成• 業界デファクトのSeleniumベース

28

Copyright 2021 FUJITSU LIMITEDINTARFRM テスト機能ご紹介
操作の記録・再生

テストケース
メンテナンス

テスト
自動実行

操作を記録し、テストケースとして自動実行 (キャプチャ&リプレイ)

テスト結果
レポート

テストケースを修正、流用、共通化など効率的なメンテが可能

検証機能

便利な機能
画面属性、値検証のような基本から画像比較、DB検証も可能
29

オンライン、バッチ、CI組込
マルチブラウザ、リグレッションテスト

テスト結果やエビデンスを素早く見やすくレポート

・CSVデータによる組合せテスト
・外部コマンド実行
・テストデータ生成支援 etc

Copyright 2021 FUJITSU LIMITED

ツール比較表・ツールマップ• ツール情報や紹介の依頼が一番多い• 「○○ができるツールを紹介してほしい」• 「いくつかツールを比較した情報がほしい」• 実際はお客様からそういう依頼あり• これから自動化に取り組むので情報がほしい• 具体的な要求があり、Fit&Gapしたい• 社内で共有しているドキュメント• テスト工程別ツールマップ• すぐに情報提供できるようにまとめておく• 再構築向けテストツールマップ• GUIテストツール比較表• 静的解析ツール比較表
30…等
Copyright 2021 FUJITSU LIMITED【ご参考】GUIテストツール比較表の項目
比較項目

内容例

比較項目

提供元

テス
ト実
行

ツール特徴
有償/無償
ツール形態

オンプレ/Web/Plugin

対応アプリ形態

Web/Mobile/Win

認識方式

オブジェクト/画像

テス
トケース
作
成

実行中可能な操作 一時停止、ステップ実行
エラー対処

リトライ、エラー後処理

スクリーンショット

任意/エラー時/トリガー

コマンドライン実行

テスト検証機能

記録/実行環境

内容例

テキスト/属性/存在/
画像比較/DB値

レポート機能ケースファイル形式

レポート形式

Web/Excel

記録中の編集他製品連携

Jenkins, Git, Jira

ケース編集

サポート情報FAQ、窓口、有償支援

ライセンス体系

同時実行/記録端末

ケース内制御文If/For/While/Break外部PG呼び出しライセンス価格

ケース再利用

グループ化、モジュール化

公式サイトURL

データ駆動テスト

CSVデータ利用など

フリートライアル
31

Copyright 2021 FUJITSU LIMITED

【②育成・啓蒙】 オンライン化• テストツールのハンズオン• テスト関連オンラインセミナー10～50名 × 5回

• 入門向け 「テスト自動化超入門」◆活動• 実践向け 「テスト設計技法」「ツール選定方法」「事例パネルインタビュー」

500～700名 × 3回

• 社内カンファレンスも計画中• コミュニティ運営• テスト自動化 情報・意見交換・雑談コミュニティ

メンバー500人• ツール系QAサポートコミュニティ◆計測• イベント開催数、参加者数• 開催時のアンケート集計

アンケート調査が主目的(依頼しやすく、高回収率)32

Copyright 2021 FUJITSU LIMITEDオンラインハンズオン・イベント
社内向けWebセミナー

ツールハンズオン

幅広いテーマ

チャットコミュニケーションWebExで大規模Meeting

対面性を大事に33

Copyright 2021 FUJITSU LIMITED社内コミュニティ

Yammer

イベント時に宣伝
ツール比較表
技術調査
アンケート結果

超盛り上げるのは難しい
ライフワークと考えてます34

Copyright 2021 FUJITSU LIMITED

【②育成・啓蒙】 オンライン化

おすすめポイント

気をつけること• アンケート調査がしやすい• 直接的な効果を表現しづらい• オンライン参加はハードル低い• 継続施策になるのでコストの見せ方に工夫必要

・ 逆に単独アンケートはしづらい
・ 定期的にできない、回収率低い

・ 特にリモートワーク状況下で加速
・ ただし無断キャンセルも多い

・ 現場支援、サポートに組み入れ
・ アンケート結果をうまく使う• 組織から「まずは教育から」という依頼傾向あり• 主催者のモチベーションが大事・ いきなりツール採用はできない

35

Copyright 2021 FUJITSU LIMITED【③現場支援】 技術支援・情報提供・事例化• 技術支援• QA対応、個別教育• テスト計画書レビュー、自動化トラブルフォロー

相談窓口として周知されることが大事• 情報提供◆活動• 各ツール比較表、ツールマップ• 新技術検証（AI for Testing、自動修復等）• 市場/業界動向• 事例化• アンケートから、ヒアリング、事例ドキュメント公開• 事例共有イベント◆計測• QA対応数• 事例化数、情報提供数、それぞれのDL数

36

部外からの依頼が多く、数も増えるので構成管理しよう

事例の要求度は高い「まず事例が見たい」

普及度合を感じるためのバロメーター

Copyright 2021 FUJITSU LIMITED【参考】テスト自動化の事例資料 構成例
No

ページ構成

①

プロジェクトのプロファイル②

テストの課題

環境別テストが十分にできず、トラブル化③

自動化の目的、期待全ブラウザでのテスト
一部の有識者にテスト負荷が集中④

自動化、施策の内容

Seleniumでクロスブラウザテストの自動化
テストケースの作成規約作成

具体的に（ツール名、テクニック）⑤

効果

期間内で全環境組合せテストを実施（網羅性）
テストケースが可視化され、誰でもメンテ可能に②③の課題や期待に対する効果、どう応えているか⑥

現場の声、今後など「メンテは大変」「顧客説明がしやすくなった」「今後は他サブシステムにも展開予定」

生の声や感想良いことも悪いことも自動テストの評価

テスト工数の改善効果、ツールの習得性⑤の効果と同じ時もある⑤の前でもいい

技術詳細

技術ドキュメントへの参照、ツールベンダーのURL
関連記事、論文など

⑦

補足

内容の例

備考

37

Copyright 2021 FUJITSU LIMITED

「自動テストの効果＝コスト改善」 を丁寧に扱いたい38

Copyright 2021 FUJITSU LIMITED

「コスト改善」の現実と期待◆効果はコスト改善だけじゃない• 逆にコストをかけて網羅性、スピード、信頼性を上げる• テストの属人性を解消する◆コスト改善しないことも多い• テスト実装、メンテ等の過少見込み• ４回繰り返すと益転する？
大抵、その前に見込みで言う◆現実と期待のギャップ• やっぱり期待はコスト改善• テストは工数のボリュームゾーン• "自動化" という言葉の魔力◆弊害• コスト改善しない自動化はダメ• 安易に安く見積もって失敗する

39

Copyright 2021 FUJITSU LIMITED自動テスト効果の丁寧な扱い方◆コスト改善以外の効果◆アプリ品質への効果① テスト回数/頻度② テスト可能範囲の拡大③ 開発者の品質意識向上• 品質効果順なら① ＞ ② ＞ ③ ＞ コスト削減• テスト回数を増やす意義を明確に（無駄なテストを増やしていないこと）◆見えないけど実質コスト削減◆コストという言葉も丁寧に• 手動では省略してた全組合せテスト• 手動想定と比べたら大きくコスト削減• 意外に気づいていないこと多し• 工数？人数？期間？単価？
• 最終的に金額が減ったかどうかも大事
なので、分けて話す工夫も必要（PJ課題と自動テストの評価）

40

Copyright 2021 FUJITSU LIMITED現場からの相談から 「ユニットテスト」
ユニットテストの導入に際し、なるべく自動生成したい• テストコード開発のコスト削減• スキル、統制の懸念

自動生成ツール••••

相談の本質を探る

実質ない作成補助系はある(ひな型、モック生成等)
プログラム設計から作る方法もある
カバレッジ計測の自動化はできる

41•

コード品質の対策検討⇒ (未導入なら) まず静的診断を導入•

既存コードに後からUT作ろうとしている⇒ 難しいので単機能テスト自動化で検討•

全ソースはできそうにない⇒ 部分的で良い。重要なとこだけでもOK

Copyright 2021 FUJITSU LIMITED現場からの相談から 「ローコード」
ローコードツールを使った場合のテストや品質• ノウハウがまだ少なく、基準が必要• 実際やってみると疑問や問題になることが出てくる

従来開発との主な違い
••
•

注意事項

ソースコードが入手できない⇒ 静的解析、SASTなどができない
開発ツール上での仕様レビュー必要⇒ ドキュメント生成はあまりない
全てプラットフォーム上で管理⇒ 俯瞰しづらい、見たい見方できない42•

テスト工程の生産性は変わらないので期間短縮しないこと•

テストツールも使える・使えないがある。独自フレームワークがある場合もある•

LCPによって違うことが多い。基準もLCPごとにできあがる。（ツール依存度大）Copyright 2021 FUJITSU LIMITED普及活動をする人たちのモチベーションが上がりますように！
◼ 風当たりが強かったり、孤立してしまうことがあるかも◼ その活動がなくなったら、きっとあなたの組織にとってマイナスです◼ 同じ目的、課題をお持ちのかた、ご連絡お待ちしていますmatsuki.naoyuki@fujitsu.com

43

Copyright 2021 FUJITSU LIMITED44

Copyright 2021 FUJITSU LIMITED