はじめに
こんにちは、QAエンジニアのなかじまです。 今回は品質を保証するために必要な証跡である「テストエビデンス」について、お話ししようと思います。
テストエビデンスとは
テストエビデンスは「テストの証跡」です。 QAにおけるテストは「実際にプログラムを動かした結果、意図した通りに動作することを確認する」作業です。
「テストの手順」「使用するデータ」「期待値」「テスト結果」「実施環境」といった情報が証跡に該当します。
何故、テストエビデンスを残すのか
テストエビデンスを残すことで、品質保証においてどのようなメリットがあるのでしょうか?
テスト状況の可視化
各機能ごとのテストすべき項目数、実施結果を可視化することが出来ます。 可視化することで、進捗状況を測ることに役立ち、不具合状況などから再検査すべきかの判断基準として用いることが出来ます。
テスト内容の透明化
各機能ごとに仕様通りに動作していることの証跡となります。 前提条件や手順、確認すべき結果を明記することは、その証跡に繋がります。
コミュニケーション
適切なテストエビデンスはチームメンバーに情報を共有するのに役立ちます。 トラブルシューティングやレビュー、適切な内容のテストエビデンスは、「状況把握」や「理解の浸透」といった確認工数の削減に役立ちます。
テストの再利用化
適切なテストエビデンスは、レビューやテストを通して、テスト観点として、実績と信頼を得ることが出来ます。 結果、類似機能や受け入れテストの項目としての流用するなど、テスト設計や作成時の観点漏れの予防や、作成工数の削減に役立ちます。
上記のメリットは、従来の開発でも大事なことではありますが、アジャイル開発のような短いサイクルで、繰り返し機能の変更や改修を行う開発にとっても同様です。 早期の不具合検出や、コミュニケーション工数の削減など、早いサイクルの実現と開発工数の確保するという点で大きなメリットになると思います。
適切なテストエビデンスについて
テストエビデンスに正解というものはあるのでしょうか?
個人的な意見ではありますが、テストエビデンスに正解というものは無く、理想的なフォーマットという型も存在しないと考えています。
何故ならば、経験上、様々な開発現場のテストエビデンスを見てきて思うのは、各現場ごとに粒度や開発スピードなど、重要視してるポリシーや文化があり、テスト管理ツールを導入するなど、各状況、事情に応じて、最適なものを目指して変化しているので、あの現場のやり方を持ってくれば、完璧にこなせるといった結果にはならないからです。
では、個々の判断でテストエビデンスを作成すれば良いのかといえば、それは違います。 正解がないからこそ、テストエビデンスの必要性を理解した上で、どのように作成、管理をしていけば良いかなどを追求することで、テストエビデンスを各現場に応じて、ふさわしい(=適切な)ものにしていく必要があると思います。
つまり、適切なテストエビデンスとは、「各現場の状況に合わせつつも、最終的に前述したメリットを満たせるもの」と言えるのではないでしょうか。
テストエビデンスを適切なものにする為に
可視化するにも、透明化するにも、コミュニケーションの代わりにするにしても、最終的に達成すべきは「相手に誤解なく、伝わること」です。
つまりは 「テストエビデンスを読んだ誰しもが記載の手順通りに実施すれば、同じ結果を得られ、誰もが状況や仕様動作に対し、同じ理解が得られる」 ことを実現させないといけません。
これを実現する為に抑えるべき最低限のポイントは以下だと思います。
- 読み手が誤認するような曖昧な記載をしないこと
- 主語がはっきりしていること
- 画面やボタン名などの製品に関する用語に揺らぎがないこと
- 読みやすい文章であること
「曖昧な表現」や「主語の有無」「表記揺れ」は、テスト実施者に正しい手順を伝えられず、期待した操作を行えない、後から他者が見て理解できないといった問題を引き起こします。
「読みやすい文章」は、「ケアレスミス」の予防のためです。 ケアレスミスは文章の読み間違いなどの手順ミスや、期待値の確認漏れや誤回答を生む温床になり、テストエビデンスの目的を阻害します。
学校などのテストにて、冗長的な文章を読んだ時や、意味のわからない文章を読まされた時、「集中力が欠如した」や「おそらくこの様な内容だろうと読み替えて読み飛ばした」といった経験でケアレスミスで点数を落とした心当たりを皆様もお持ちではないでしょうか?
学校のテストと違い、製品品質を保証するQAの立場としては、こういったミスは品質に直結する場合が有る以上、「ケアレスミス」は必ず防ぎたいところです。
エモーションテックにおけるテストエビデンス
最後にエモーションテックにおけるテストエビデンスについてお話ししたいと思います。 エモーションテックではテストエビデンスをテスト管理ツールの「TestRail」を使用して、作成、管理しています。
TestRailはテストのDB化や「使用するデータ」や「テスト結果」のデータ管理という点や、テスト結果に対する進捗管理の面では、使いやすいツールです。
逆に1問1答で項目を作成するには、項目内容を開かないとわかりづらい点、網羅的なテストケースを用意するには、閲覧やメンテナンス面で、やや使いづらい点などのデメリットもあり、その点は試行錯誤しながら改善を試みています。
最後に
今回はテストエビデンスのメリットを説明しながら、どういったテストエビデンスを用意すべきかをお話しさせて頂きました。 次回は、実際にTestRailのTipsを整理しながら、TestRailで読みやすい適切なテストエビデンスの書き方について、ふれていきたいと思います。
エモーションテックでは顧客体験・従業員体験の改善をサポートし世の中の体験を変えるプロダクトを開発しております。もし興味を持っていただけましたら、ぜひ採用ページからご応募をお願いいたします。