JaSST’15 Hokkaido

画面系ペアテストの事例報告
多様な視点を入れて探索的テストを実施しよう！

藤村 浩
東京エレクトロン株式会社
システム開発センター 制御技術部

目次
• 背景
• 課題
• 実施内容
• 結果
• 考察
• 最後に

TEL / SDC / Rev.1.0 / 18th Sep’15

2

背景我々は探索的テストを適所で実施しています
記述されたテストケースを機械的に適用しただけでは到達できない
不具合の発見品質に不安が残る場合の補足テスト
実装中、又は完了直後の成果物に対する不具合の早期発見

その成果と重要性はチーム内でも共有！

TEL / SDC / Rev.1.0 / 18th Sep’15

4

メンバーから探索的テストへのコメント・要望
開発者に無い視点で、新たな不具合を発見してほしい

開発者

操作上の不備・改善点も指摘してほしい
どう操作すればよいの？
仕様理解の勉強も大変テスト環境の準備も時間がかかるんですけど非開発者

探索的テストの更なる強化・効率化の要望と期待あり
TEL / SDC / Rev.1.0 / 18th Sep’15

5

チーム内で協議の結果・・・
では、仕様に詳しい人（開発者）
そうでない人（非開発者）二人一組でテストしてみると良いのでは？

ペアテストのトライアル実施が決定！
TEL / SDC / Rev.1.0 / 18th Sep’15

6

ペアテスト(Pair Testing)とは• 二人で一つの試験環境を使い、交互に試験を行うテスト手法• ペアプログラミングのテスト版

JSTQB用語集よりペアテスト（pair testing）： ふたり（たとえば、テスト担当者２名、開発担当者とテスト担当者が１名ずつ、エンドユーザとテスト担当者が１名ずつ）が、共同で欠陥を見つけること。テスト期間中、ふたりで１台のコンピュータを共有し、交互に使用することが多い。

TEL / SDC / Rev.1.0 / 18th Sep’15

7

課題

課題
1. 第三者的視点で新たな不具合を発見したい
2. ユーザビリティの課題も早期に発見したい
3. テスト環境や機能理解の準備時間を低減したい

4. 仕様理解者を増やしたい

長期メンテナンスの要員育成も重要です

TEL / SDC / Rev.1.0 / 18th Sep’15

9

実施内容

対象と実施タイミング• トライアル対象案件（今回は四案件）– 新規性が高い（新規画面あり ）– 中～大規模– ユーザビリティの不備を発見したい• 実施タイミング– 機能の実装が一通り終了したタイミング

TEL / SDC / Rev.1.0 / 18th Sep’15

11

試験メンバー（各案件別にアサイン）• テスター（二名）

開発者（案件の開発者本人）
非開発者

記録係（一名）

TEL / SDC / Rev.1.0 / 18th Sep’15

12

試験の流れ、時間• 試験の流れ①画面操作を始める②思いつくテスト
ケースを一通り終えたら操作を交代③一周または二周したら終了• 実施時間– 全体で30分から90分④どのような操作をして、どのような不具合が発見されたのかを記録
TEL / SDC / Rev.1.0 / 18th Sep’15

13工夫した点• 開発担当者同士のペアは無し– 案件の開発者同士では第三者的視点が入り難いと判断• 記録係を置いた– 二案件目より記録係を置き、自分のテスト操作、及び、他テスターの操作の俯瞰に集中できるようにした

TEL / SDC / Rev.1.0 / 18th Sep’15

14

結果

結果1 「不具合」検出率（1時間あたりの検出件数）

6.3件

100% : 60%
3.8件

不具合の検出率ではソロテストがペアテストを上回っている

TEL / SDC / Rev.1.0 / 18th Sep’15

16

結果2 「ユーザビリティ不備・改善」検出率（1時間あたりの検出件数）

100% : 200%

1.4件

0.7件

ペアテストが効率的

TEL / SDC / Rev.1.0 / 18th Sep’15

17

結果3

開発者／非開発者別の「不具合（ユーザビリティ含む）」検出率（1時間あたりの検出件数）

開発者に比べ、非開発者テスターによる検出率が総じて高い
TEL / SDC / Rev.1.0 / 18th Sep’15

18

結果4 (1/2) 参加メンバーのアンケート結果

TEL / SDC / Rev.1.0 / 18th Sep’15

19

結果4 (2/2) 参加メンバーの所感• ワイワイ、意見交換しながら楽しくテストできた。
• 案件の知見が少ない人でも開発者担当者に教えてもらいながらテストできることで、新たな視点を取り込め、不具合を発見できた。
• 開発者も、事前知識が少ない非開発者の操作・視点を知ることで新たな気付きがあった。
• ユーザビリティ改善については、あるべき姿をその場で相談・確認し、提案まで同時にできるのでとても効率的だった。
• 試験書に基づく試験の実施前、比較的完成度が高くない時期、実装にすぐに戻れる時期に実施するのが効果的、且つ効率的と感じた。
• 教育的効果も期待できそう。

TEL / SDC / Rev.1.0 / 18th Sep’15

20

考察

結果データより見えた傾向
1. ソロテストに比べ、ユーザビリティの改善指摘が効率的に行えている
ペアで実施することでよく気付き、不備内容の確認、相談、改善提案までが同時に行えるため、大変効率的

2. 操作し慣れた開発者では気付けないことに非開発者が気付けている
期待値や先入観が無いため、テスト対象の挙動が「おかしい」「不自然だ」と気付き易いと思われる

TEL / SDC / Rev.1.0 / 18th Sep’15

22

考察1

課題の
1. 第三者的視点で新たな不具合を発見したい
2. ユーザビリティの課題も早期に発見したいについては、結果データから効果があると言える

TEL / SDC / Rev.1.0 / 18th Sep’15

23

考察2

課題の
3. テスト環境や機能理解の準備時間を低減したい
4. 仕様理解者を増やしたいについても、アンケート結果より効果があると言える。

TEL / SDC / Rev.1.0 / 18th Sep’15

24

考察のまとめ

多くの参加者が総合的に見てコストに見合う効果があると感じ、今後も継続してみたいと考えている多数の参加者から良い評価、今後の期待を得ることができました

TEL / SDC / Rev.1.0 / 18th Sep’15

25

お伝えしたい、その他のメリット• ソロテストと比べて割り込みが入りづらいので、テストに集中できる。
• 早い時期にユーザビリティを改善できることで、後追い工数を減らせる。
• 実際に画面を操作しながら仕様を理解できるため、短期間での教育的効果が見込める。
• モチベーションが高い状態でテストできるため、チーム活性化にも効果。

TEL / SDC / Rev.1.0 / 18th Sep’15

26

最後に

今後の課題• 本トライアルでは、案件、参加メンバーが限定的なため、以下の検討・検証が必要と考えている。
– 効果的なテスト対象の明確化• 機能内容、新規性、規模、他– テスト時期（効果的なテストフェーズ）– テスト手順– 効果的なテスターの組み合わせ– テスター二人、記録係一人の計三人のコストに見合う成果がコンスタントに出せるのか。

TEL / SDC / Rev.1.0 / 18th Sep’15

28

最後に複数人で楽しく、活発に、多様な視点で新たな気付き、教育的効果も期待、皆さんも、ぜひペアテストお試しください。

TEL / SDC / Rev.1.0 / 18th Sep’15

29

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

TEL / SDC / Rev.1.0 / 18th Sep’15

30

Backup（補足）ソロテスト／ペアテストの結果データ

ペアテストは議事録係も含めた三名分の実施時間で計算

TEL / SDC / Rev.1.0 / 18th Sep’15

32

（補足）ペアテストでのユーザビリティ指摘内容• 表示に関する問題– 同じ画面、もしくは関連画面で文言や、表示順番が統一されていない– 意味が分かりづらい。解説（吹き出し）の必要性がある。
– 誤解を招く可能性がある。
– グラフが見づらい。また線や文言の意味合いの区別がつかない。
– このような操作をすると、この部分が見えなくなる、隠れる。
– 必要情報の不足（この情報が見えないのは不親切。Viewの追加要望）• 操作に関する問題– 操作性の悪さ。
– 操作手順の分かり難さ。

TEL / SDC / Rev.1.0 / 18th Sep’15

33

以上

TEL / SDC / Rev.1.0 / 18th Sep’15

34