やってみました！探索的テスト～探索的テスト導入から運用にこぎつけるまでの道のり～
2018/9/7
金谷 和博
東京エレクトロン テクノロジーソリューションズ（株）
ソフト技術部

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

1目次
1. はじめに
2. 実施の効果
3. 探索的テスト実施フロー
4. 工夫しているポイント
・チャーター作成
・試験環境
・振り返りの実施

37916
・仕様書の廃止
・Daily朝会の実施
・手順化

5. まとめK.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

232

はじめに

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

3

はじめに▪ 探索的テストとは探索的テストとは、様々な視点やテスト技術者の経験から気になるところを「探索」しながら「テスト」することを言う。テストを網羅的におこなうのではなく、怪しい箇所を探し出し、順次絞り込んでいくアプローチのテスト技法であり、アドリブでおこなうテストとも言える。
チャーター（原則）と呼ばれる文書でテストの方向性を指定することもある。

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

4

発表内容
▪ 我々が扱う製品の出荷後不具合がなかなか減らず、根本的な対策が必要な状況でした。

▪ そこで、他グループで実施している探索的テストを導入することに決めました。
▪ メンバーも品質に危機感を持っており、導入はスムーズにいきました。

▪ 実際にやってみたら出荷前に効果的に不具合を発見できました。
▪ 探索的テストは定着し、さらなる改善をしながらよりよいテストフローを模索しています。
▪ 本日は、探索的テストフローのポイント、定着させるコツなどをお伝えします。
K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

5

テスト全体像
ソフトウェア開発フロー
開発（設計、実装） 評価（機能試験）

出荷試験

リリース

テスト概要
フェーズ
評価

テスト種
機能試験

出荷試験 定型試験

目的

実施者

機能が仕様通り動作することを機能試験仕様書にそって実施する

開発者

基本機能の動作確認、回帰試験、など

開発者or
SQA

探索的テスト 弱いエリア、リスクの高い機能、異常系を集中的にテストする

開発者andSQA

QA第3者試験 QA観点で抽出した機能テスト（異常ケース、他機能への影響、装置運用観点）

SQA

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

6

実施の効果K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

7

実施の効果＊詳細情報割愛

探索的テスト開始

Now
品質危機！

不具合数は少ないが、重大な不具合が多く、顧客/社内ユーザに多大な迷惑をかけていた

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

8

探索的テスト実施フロー

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

9探索的テスト実施フロー（導入当初と現在）
改善後（現在）

導入当初
作業準備

作業準備

Kickoff

Kickoff
チャーター作成

実施

実施
試験

試験

調査

調査

朝会
まとめ

まとめ・振り返り

10
導入当初は他グループのやり方をそのまま模倣。その後、改善を重ねて、現在のフローに。
K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

探索的テスト実施フロー（詳細）作業準備
Kickoff
チャーター作成
実施試験調査【作業準備】⚫ 試験計画（案）の作成• 対象バージョン、テスト期間⚫ 各種ファイルの保存場所作成• ログ• チャーター⚫ 試験環境の作成• VirtualBox⚫ 不具合チケット起票の準備• Redmine

朝会

まとめ・振り返りSQAがテストの段取りを実施することで、テスターは迷わずテストに入れる。 11K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

探索的テスト実施フロー（詳細）作業準備
Kickoff
チャーター作成
実施
試験調査
朝会

まとめ・振り返り【Kickoff】⚫ 試験計画の共有• 試験期間/対象バージョン/試験環境/ログの保存場所⚫ 狙いどころを決める• 対象の機能/案件（開発者、マネージャー、SQA、全員の意見を聞く）⚫ 作業分担• 誰がどの機能をテストするか• メンター（機能開発者）はだれか⚫ 宿題を出す• チャーターの作成

KickOffで関係者全員のベクトルを合わせる。

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

12

探索的テスト実施フロー（詳細）【チャーター作成】
テスト担当者はメンター（機能開発者）と話ながら、チャーターを作成

作業準備
Kickoff
チャーター作成
実施＊チャーターとは、テストの指針や方針を決めるもの（道しるべ）であり、書き方/粒度に決まりは無い。

試験調査
朝会

まとめ・振り返りチャーター例⇒（抜粋版）

チャーターを作成することで、効率的なテストが実現可能。詳細は後ほど。

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

13

探索的テスト実施フロー（詳細）【試験】⚫ チャーターに沿って試験を実施

作業準備

ただし、それにとらわれすぎず、自由な発想でKickoff
チャーター作成
実施
試験⚫ 不具合の報告• Redmineに起票• 気づきや改善提案も起票【調査】⚫ 知見者（おもにチームリーダー）が１次調査を実施

調査朝会

まとめ・振り返り【朝会】⚫ 発見不具合の共有⚫ 調査結果の共有⚫ 修正の判定（即修正/先送り/修正しない)

Dailyの朝会実施は、情報共有以外にも様々な効果あり。詳細は後ほど

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

14

探索的テスト実施フロー（詳細）作業準備
Kickoff
チャーター作成
実施
試験
調査
朝会

まとめ・振り返り【まとめ】⚫ 品質指標データまとめ• 報告件数、不具合件数、リリースまでに修正する不具合件数など• テスト工数【振り返り】⚫ 意見収集• 試験対象（ソフトウェア）の質、探索的テストのプロセスのKPTを関係者から事前に収集
KPT = Keep / Problem / Try⚫ 振り返り• 収集した意見をもとに実施• 次回へのアクション決め• グループメンバー全員と共有テストの振り返りを実施することで、改善につなげる。詳細は後ほど

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

15

工夫しているポイント

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

16

工夫している点 【チャーター作成】▪ メンター（機能開発者）とテスター（テスト担当者）でチャーター作成
メンター効果！

テスター
チャーター

・開発者は、自分の作成した機能は優し
くテストしてしまう。第3者が厳しくテストして不具合流出阻止！
・テスターは、自分の知見もかけあわせて様々な視点でテスト実施！
・テスターは、機能開発者のアドバイスでテスト範囲を絞り込むことで効率的に不具合発見！

・テスターは開発者の中から機能開発者とは別の人をアサインする。
・機能開発者がテストしてほしいところをテスターにアドバイスする（自信の無いところ、心配なところ、追加テストしてほしいところ、、、etc）
K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

17

工夫している点 【試験の実施】▪ 仕様書（試験結果メモ）の廃止
品質指標データ

Before
探索的テスト実施

試験結果のメモ

X項目のテストでY件の不具合発見

どんな試験を実施したかをメモ程度の仕様書として残す

効果！
・試験に集中可能（流用されない仕様書作成の時間を廃棄）

After
探索的テスト実施

X時間のテストでY件の不具合発見

廃止

品質指標の変更

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

18

工夫している点 【試験環境】
効果！

▪ VirtualBoxで試験環境を提供▪ 前バージョンの環境も同時に提供
テスター

SQA
VirtualBox

・テスト対象バージョン
・前バージョン

・テスターと不具合調査する人が同じ環境を使用することで、調査工数削減
・バージョンアップ前後での動作確認が可能となり、バージョンアップによる挙動変更がわかる
・不具合作りこみがテスト対象バー
ジョンなのか潜在不具合なのか素早く判断可能

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

19

工夫している点 【朝会の実施】▪ Dailyの朝会実施– 前日あがった不具合（チケット）の内容確認と切り分け– 不具合発見時は「イイネ！」と褒める効果！

・アクションを即判断（リリース前に修正／次バージョン以降で対応／不具合ではない）
・他人の不具合報告を聞いて、自身のテストの参考にできる・テスター間の競争意識が芽生える↓こんな感じでやってます

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

20

工夫している点 【振り返りの実施】▪ 探索的テスト終了後に振り返り実施
Input

振り返りOutput

テストプロセス
KPT

次回のアクション

事前収集
プロダクト
KPT

定量的/定性的品質測定
Keep↓

Problem↓

効果！
・次回のテストの効率UP
・発見不具合数による品質レベルの測定

Try↓

プロセス⇒

プロダクト⇒

その他⇒
K.K / Tokyo Electron Technology Solutions Limited,
Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

21

工夫している点 【手順化】▪ 探索的テストの運用（手順）は文書化し、継承可能
探索的テスト運用
マニュアル（OneNote)

効果！

更新
更新

・探索的テスト毎にテスターは異なるが、手順があることで、報告の質に変化無し
・報告の質が変わらないことで、不具合調査の質に変化無し

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

22

まとめK.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

23

まとめ
▪ メンバー全員が気持ちよく作業出来る環境（雰囲気）作りが大事– テストに関わる全員でのベクトル合わせ– メンターとテスターの共同作業を通してのチームワーク– 不具合報告には“イイネ！”と褒める文化– メンバーの意見をもとに改善していく組織風潮▪ 探索的テストを継続させる意思が大事– SQA、マネージャーの導入から継続につなげる意思– 目的と効果を全員で共有することで、全員が必要性を認識– 改善を続けることが継続の近道

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

24

ご清聴ありがとうございました。

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

25

K.K / Tokyo Electron Technology Solutions Limited, Software Engineering Dept. / September 7, 2018 / SD9116-SR-7203

26