はじめに
こんにちは!
VoicyでQAエンジニアをやっているまっつんです。
今回はデータチームの記事”音声プラットフォームVoicyのチャンネルレコメンド改善プロジェクト”に相乗りしてみようと思います。
私自身この”音声プラットフォームVoicyのチャンネルレコメンド改善プロジェクト”には関わっていないので、レコメンド機能に対するリリース前のテストに関すること書いてみます。
テスト時のレコメンド機能とその他の機能の違いについて
そもそもリリース前に行う機能テストでは何を確認しますか?
機能テストでは仕様通りに動作しているかを確認しますよね。
一般的な機能であれば行う動作に対して明確な答えがあります。
例えばVoicyのチャンネルページの「新着放送」セクション
ここに正しい放送が表示されているかテストしてみましょう。
テストの期待結果は
「該当チャンネルの最新放送が新しい順に表示されていること」
となり、テストの結果もOKなのかNGなのか、迷わず判定することができます。
ではレコメンドされているホーム画面の「おすすめチャンネル」セクションは?
こちらも正しいチャンネルが表示されているかテストしてみましょう。
テストの期待結果は・・・?
明確な答えはありませんよね?
仮にレコメンドに協調フィルタリングの手法が使われていた場合
(協調フィルタリングについてはこちらを参照)
使用するアカウントによって表示されるチャンネルが変わってしまいます。
また同一アカウントだったとしても、多少のランダム性を持たせている場合都度表示されるチャンネルが変わるかもしれません。
無理やり期待結果を書いてみると
「自分に似ているユーザ群が聴取していて自分が聴取していないチャンネルが表示されること」
となります。
これをみてテスターはテストの結果判定ができるのでしょうか?
おそらく
「多分OK」くらいの判定しかできないでしょう。
このようにテストを行う上でレコメンド機能の扱いは難しく、とその他の機能には大きな違いがあります。
ならレコメンド機能のテストはどうするの?
これについては私自身まだどうするのがベストなのか迷っている部分です。
ですので現時点で私がテストを行うならどうするかを書いてみます。
・何度かテストを実施し、明らかに間違っているものが表示されている場合以外はOKとする
上記の協調フィルタリングの手法が使われていた場合の期待結果を
「自分が聴取していないチャンネルが表示されること」
としてテストを行います。
その理由は
・仮に狙ったチャンネルが表示されていなかったとしても、ユーザーのペインにはなりづらい
・狙ったチャンネルが表示されるようにアカウントなどの準備するのは時間がかかる
・また狙ったチャンネルが表示されたとしても他の条件でも狙ったチャンネルが表示される保証がない
の3点です。
リスクとコストが見合わないため
何度かテストを実施し、明らかに間違っているものが表示されている場合以外はOKとする
という考えでテストを行います。
この点に関しては今後も業務を通じて何がベストなのか考えてみようと思います。
最後に
不定期ではありますが今後もQA関連の記事を投稿したいと思います。
他にもVoicyではブログリレーとしてさまざまな連載をおこなっているので、サイドバーの【Voicy秋の運動会 】から読んでみてください。