Appresso Engineer Blog

アプレッソのエンジニアが書く技術ブログです。

アジャイル開発になったらQA担当者はどうなるの? 〜「実践アジャイルテスト」で学んだこと〜 その2

こんにちは、品質マネジメント部の磯です!

書籍「実践アジャイルテスト」にて学んだことをアウトプットしていくエントリその2になります。

www.shoeisha.co.jp

前回は「文化的なチャレンジ」について書きました。

appresso.hatenablog.com

さて今回は「アジャイルテストの4象限」についてです。

アジャイルテストの4象限

f:id:yoiso:20160909172442p:plain

上記の図には様々なテストタイプが記載されています。個々のテストはおなじみのものかと思いますが、アジャイルテストではこれらをQ1~Q4に区切り(Four-quadrant)整理しています。また、これらは開発工程が進むごとにQ1から順繰りに実行するものではなく、現状にて必要なテストを選択するものであるのが特徴かと思います。一つずつみていきましょう。

Q1:チームを支援する技術面のテスト(P107〜より)

  • 代表的なテスト:単体テスト、コンポーネントテスト

開発チーム内での開発そのものを支援するテストになります。これらは「自動」と記載されているとおり、自動化が容易でより多くより速くテストの実施が可能であるとしています。

また、「チームは継続的インテグレーションやビルド、テストプロセスをセットアップすべきです。それによってフィードバックをできるだけ早くすることができます。」(P125 7.6 「まとめ」より)

Q2:チームを支援するビジネス面のテスト(P127〜より)

  • 代表的なテスト:機能テスト、ストーリーテストなど

開発対象がビジネス面での要求を満たしているかのテストになります。「自動と手動」とあるようにものによって自動化が容易なもの、難しいものがあります。要求は以下のように導き出すとしています。

「ストーリー 」+ 「例」+ 「会話」 = 「要求」

上記は顧客より提示されたストーリーに対して、「こういった場合は?」などと例をだして「会話」し、「要求」を持ち引き出すという意味になります。

本象限でQA担当者が貢献できる重要な部分として、「顧客が、達成の条件を表現すること、各ストーリーの期待される、もしくは期待されない振る舞いの例を作成することを助けること」(P148 8.7 「まとめ」より)としています。

Q3:製品を批評するビジネス面のテスト(P189〜より)

  • 代表的なテスト:探索的テスト、シナリオテストなど

開発対象をビジネス面から批評していくテストになります。今風にいうとユーザー体験についてのテストまとめた象限と理解しました。

これらのテストタイプは実際に人の目で見ていく、批評していくことが重要とされており、自動化は適さないと言っています。しかし必ずしも全て手動にて実行する訳ではなく、必要なテストデータの作成といった部分では自動化の余地があります。

顧客へのデモもこの象限に含まれます。

Q4:製品を批評する技術面のテスト(P217〜より)

  • 代表的なテスト:パフォーマンステスト、「~性」テスト

非機能要求についてまとめた象限になります。ここでいわれている「〜性」テストとは「保守性」、「可用性」といったISO9126に含まれるものを指しています。

「非機能テストについて考える時間はリリース計画時やテーマ計画時です。必要に応じて小さな反復を繰り返しながら、早めに計画を始めましょう。」(P222 11.3「いつやるのか?」より)とありますが、たとえばストーリーとして「ボタンを押してから最長5秒以内に結果が出力される」といったものがあった場合、実施が検討する価値があると思われます。

まとめ

以上が「アジャイルテストの4象限」になります。

先にも書きましたが、順繰りに実施していくわけではなく、現状に適したテストを各象限から選択して、様々な範囲の観点からインクリメンタルに品質を作り込んでいくということが理解できました。第4象限については実施するタイミングが難しい気がしますが、しっかり見極めてトライしていきたいですね。

次回は・・・

アジャイルテストにおけるテスト自動化について書いていきたいと思います。

ではまた!