不具合管理方法の改善によるテスト工程の効率化事例－不具合毎の原因分析と再検証、およびテスタとのQ&A管理－

ソフトウェアテストシンポジウム 2017 東京
市村研吾
オムロン株式会社(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

テスト工程中にこんなことが起きていました……

(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

いつまでたっても不具合が出続ける
不具合修正しました～

設計者

設計者

確認しました～テスタ

まえ修正した不具合の類似不具合だ……
こっちは不具合修正の弊害動作……

また不具合でました～
また不具合でました～
テスタ(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

わかりにくい情報でプロジェクトメンバが右往左往あれ？
なにもおかしくないぞ

不具合

この機能できていないの？？

ソース

設計者
修正しないと!!

テストリーダプロジェクト
大丈夫？？
前提は～なんですけど設計者

その前提があれば仕様…

プロジェクトリーダ
テスタ設計者(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

あとちょっとのはずなのにテスト工程が終わらない……

(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

なぜ？？
(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

テスタの製品知識がばらついている(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

テスタの製品知識がばらついている状態
でのテスト実施– 不具合修正の弊害確認、類似不具合確認っていわれるけど……
機能Aの不具合修正しました～

機能A弊害ってどこをみれば？

機能B設計者

弊害がないか確認してください

機能C

テスタ

– 発見した現象は仕様？それとも不具合？
はたまたテストミス？
(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

その背景には• テスト工程の委託– 開発プロジェクト毎で人の入れ替りによって製品知識にばらつき発生• テストのためのドメイン知識– テスト対象（画像センサ）
多くの検査、計測機能とそれらの補助機能– テスト環境
画像センサに接続される産業用機器の多様な通信方式と特有機能(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

課題■現象• 不具合修正に対する確認が不十分で不具合が出続ける• あやまった不具合情報で無駄工数が発生■原因• 知識がばらついているテスタでテスト実施

できるだけ無駄を排除して、効率よくテストを実施したい(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

しかし、テスタの製品知識を短期的につけることはできない……

(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

打ち手(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

• 打ち手① 原因分析に基づいた検証– 不具合を1つずつ、きっちりクローズ• 打ち手② Q&A管理DBの運用– 不具合以外の現象に無駄工数を使わない• 打ち手を回すための工夫(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

• 打ち手① 原因分析に基づいた検証– 不具合を1つずつ、きっちりクローズ• 打ち手② Q&A管理DBの運用– 不具合以外の現象に無駄工数を使わない• 打ち手を回すための工夫(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

①原因分析に基づいた検証
テスタ任せの不具合修正確認

原因分析を基にした不具合修正確認

From

To

不具合の原因分析

やったりやらなかったり不具合ごとに適宜実施不具合修正の弊害確認

テスタの経験・勘だより設計者とテストリーダが観点抽出

類似不具合の確認

テスタの経験・勘だより不具合原因と混入原因から要否を決定

追加テストの実施

やったりやらなかったり流出原因と検出工程から要否を決定(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

不具合管理の運用フロー(旧)
不具合発見

不具合原因分析
修正確認

対策実行(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

不具合管理の運用フロー(新)不具合発見
流出原因分析
不具合原因分析工夫

積極的に
ソースコードで混入原因分析

工夫

原因の深掘りは程々に修正確認
工夫

弊害確認
類似確認

設計者の影響範囲+αを追加テスト
対策実行(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

類似不具合の確認範囲の決定
確認範囲を闇雲に拡げるのではなく、少ない労力で高い効果を出せるようにする①ひろげる– 不具合原因から類似不具合が潜在している可能性のある機能を全て洗い出す②しぼる– 混入原因から確認範囲を絞り込めないかを検討する(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

追加テストの実施要否と内容決定
不具合現象を本来どの工程で検出すべきかを分析し、前工程で検出すべき不具合はテスト対象機能を拡げる①さかのぼる– 不具合現象が本来どの工程で検出すべきものかをさかのぼる②ひろげる– 不具合が前工程で検出すべきものであった場合、テスト対象機能を拡げて追加テストを実施する(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

• 打ち手① 原因分析に基づいた検証– 不具合を1つずつ、きっちりクローズ• 打ち手② Q&A管理DBの運用– 不具合以外の現象に無駄工数を使わない• 打ち手を回すための工夫(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

②Q&A管理DBの運用
仕様確認,質問,不具合事象を不具合管理フローで処理

仕様確認、質問に特化した管理フロー＋
不具合管理フロー

From

To

動作が仕様か不具合か迷った時不具合管理用DBへ起票

Q&A管理用のDBへ起票

DB起票時の記載情報

特に規定なし不具合現象、再現手順、発見した動作、現象を再現データ記載・添付そのまま記載(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

Q＆A管理DB起票時の情報• 曖昧な情報でもテスタが記載できるように項目削減
不具合管理DB

Q&A管理DB

発見者

質問者

発見日
テスト内容

不要

現象要約
現象内容

書ける範囲で書く

質問内容

追加

質問背景

再現手順
再現条件
発生頻度
発生機種
発生バージョン(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

Q&Aの運用フロー
工夫

質問起票

質問の形態は問わない

回答
確認

確認ミス

不具合動作
理解間違い
不具合管理フローへ

質問者へ直接説明

マニュアル、テストケースへ反映を検討(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

• 打ち手① 原因分析に基づいた検証– 不具合を1つずつ、きっちりクローズ• 打ち手② Q&A管理DBの運用– 不具合以外の現象に無駄工数を使わない• 打ち手を回すための工夫(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

２つの打ち手を回すための工夫
リーダミーティング（毎日実施）
参加者

・プロジェクトリーダ
・設計リーダ（設計パート毎）
・テストリーダ

内容・不具合管理運用フローの進捗共有と課題対策（カンバンを活用）
・判断が難しい事象に対する意思決定狙い・プロジェクトに各チームが協力して取り組むという意識醸成・リーダによる意思決定のスピードアップ

カンバン
不具合A
不具合B

不具合C

この仕様の不具合はこう修正しよう

不具合D

プロジェクトリーダ

この類似不具合の確認
はこんな感じ？

こんな動作がテスタからあがってるんだ
けど設計リーダ

テストリーダ(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

２つの打ち手を回すための工夫
品質ミーティング（毎週実施）
参加者

・プロジェクトリーダ
・テストリーダ
・品質保証部門の担当者

内容・品質保証部門による不具合情報のチェック結果の共有

狙い・“運用フローを決めたが守れなかった”を防ぐ・納期が迫ってきて、判断が甘くなるのを防ぐ

この類似不具合の確認はこの範囲まで必要では？

プロジェクトリーダ
ちゃんとやらなきゃ…

品質保証部門担当 テストリーダ(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

効果(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

効果① 不具合の検出と分析• 計画したテストで検出するよりも早く、不具合を検出、修正することができた
過去プロジェクト

今回プロジェクト
計画したテスト類似不具合の確認
弊害確認テスト、追加テスト

検出したテスト内容ごとの不具合の割合• 設計担当者が不具合修正をした際に分析と類似確認を実施する習慣がついた– 分析、類似確認の催促とレビューを日々実施(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

効果② 不具合以外の起票数• 不具合以外（テストミス、仕様動作、起票済みの不具合）の起票を減らすことができた
不具合以外

不具合

過去プロジェクト

今回プロジェクト(C) Copyright 2017 OMRON Corporation. All Rights Reserved.

今後～原因分析から再発防止へ～
今回のプロジェクトでは、過去プロジェクトで発生した不具合と同様の混入、流出原因を持つ不具合が発生していた分析結果から再発防止活動を立案し、次のプロジェクトで実行することで不具合数の削減と不具合収束の前倒しを実現し、さらなる効率化を狙う

累積
不具合数
テスト時間(C) Copyright 2017 OMRON Corporation. All Rights Reserved.