1. はじめに
2018/12/26に開催されたリリカルにVSTePを語る夕べ(togetterまとめ)でVSTePの一番の特徴は「NGTで図と線で描くテストコンテナ」という話がありました。また、リリカルさんはテスト要求分析を、みっきーさんはテストアーキテクチャ設計をVSTePの特徴として挙げられていました。
筆者はほかにもQAアーキテクチャとの親和性やシステムテストに限定されないこともVSTePの特徴かつすごいところと思います。そこでパブリックベータテストを題材にVSTePの魅力を探ります。
2. VSTePのここがすごい
筆者の考えるVSTePのすごいところを以下に示します。
- テストコンテナの柔軟性
- QAアーキテクチャとの親和性
- システムテストに限定されない
2.1 テストコンテナの柔軟性
- テストコンテナは複数のテスト観点をグルーピングしたものです。
- テストコンテナ図で表現するとテストの全体像を俯瞰しやすくなります。
- 語る夕べでは「いろいろ突っ込める便利な箱」と解説されていました。
(参考:QAアーキテクチャの設計による説明責任の高いテスト・品質保証 p.37-p.38)
2.2 QAアーキテクチャとの親和性
QAアーキテクチャは「QA勉強会「ここは苦しいところですが、どうか一つ、QAアーキテクチャを。」の資料QAアーキテクチャの設計による説明責任の高いテスト・品質保証をご参照ください。
この資料のp.73~p.77にアシュアランスパイプラインや工程の責務の話があるのですが、テスト観点の元になるものとして工程の責務を果たすのに必要と思える取組みや心配ごと、関心ごとがあります。また、VSTePでリファインすることでパイプラインの最適化を図れるそうです。
2.3 システムテストに限定されない
アシュアランスパイプラインの工程はシステムテストに限りません。ソフトウェア開発の全工程がSQAのスコープですのでシステムテストに限定されないのはメリットです。
3. 思考実験:既存のテストにパブリックベータテストを追加する
思考実験として2.1節で図示したプロジェクトが使用性1を評価するために新たにパブリックベータテストを行うことを想定し、2.1節のテストコンテナにパブリックベータテストを追加します。
まずパブリックベータテストとラベルを貼ったテストコンテナを配置します。ひとまず何でも配置できるのがテストコンテナの良いところです。
パブリックベータテストというテストコンテナがあることでベータテスターへβ版をリリースする前に何かしらテストをする必要がありそうだとわかります。そこで、何をするかはさておき「パブリックベータリリース前テスト」とラベルを貼ったテストコンテナを配置します。
ここでパブリックベータリリース前テストの工程の責務を挙げます。一例を以下に示します。
- 使用性確認の妨げとなる不具合が摘出されていることを確認する
- パブリックベータでテストする機能が動作することを確認する
- パブリックベータ版では伏せておく機能がマスクされていることを確認する
次にテスト観点にブレークダウンします。1はテストを行うことで結果的に得られるとすると、2の機能テストと3の機能マスクテストがテスト観点として得られます。
パブリックベータテストを実施するには少なくとも、1)テスト対象の機能(プログラム)ができていて、2)ベータテスターによる使用性の確認を妨げるような不具合が摘出されている必要があります。時期的には早くても結合テストをパスしシステムテストの一周目のテストサイクルが終わって不具合の修正を終えたあたりでしょうか。また、パブリックベータテストでテストする機能は正式リリースで提供する機能でもありシステムテストで準備するテストを流用できると考え、リソースの問題はひとまず置いておいてパブリックベータリリース前テストをシステムテストにまとめます。
以上、パブリックベータテストやこれに伴って発生するテストをVSTePの技法を用いて2.1節のテストコンテナに追加しました。この新しいテストコンテナもまたVSTePの成果物なので「機能テスト」「機能マスクテスト」というテスト観点を詳細化したりコンテナを整理してパイプラインを効率化したりするなどVSTePで統一的に扱うことができます。
4. おわりに
パブリックベータテストは必ずしもテストの専門家ではない有志のユーザが任意に操作して行うためテストアーキテクチャはこれといってありませんし使用性テストというテスト観点はほかのテストコンテナと粒度が揃っていませんが、VSTePはそんな一風変わったテストでも統一的に扱うことができてすごいと思います。
-
パブリックベータテストの目的は使用性だけとは限りませんがソフトウェア品質知識体系(SQuBOK)ガイド第2版でベータテストが使用性の技法の一つとして取り上げられていますのでそれに合わせました。 ↩