テストシナリオをグラフ構造として捉える
今日見たものから考えたこと。
テストシナリオをグラフ構造としてみたてることについて考えていた。
最近仕事でE2Eのテストシナリオを考える機会があったが、ただの開発者の自分としては、意味あるテストシナリオを揃えるということは難しいことに気づいた。 ユーザーがどういう使い方をしているかの知識が浅いのだ。
もちろん、開発している対象の画面の機能や画面遷移は理解している。けど、業務システムとして考えたときに、ユーザーは特定の業務をあるパターンに沿って行っているはずだが、それがどういうシナリオなのかの知識は自分は持ってない。アクセスログを見ることはできるので個別の特定のケースについてたどって把握することはできるが、どういうシナリオが典型的なものなのかとか、どれくらいそれにパターンがあるのかとか、モデル化した知識は持ってないということだ。
この状態でE2Eテストのシナリオ作成を作ろうとすると半分予想になってしまう。なので今後取り組むこととして、ユーザーの利用アクセスパターンをモデル化したいと思っていた。
それで冒頭のタイトルの話に戻ると、グラフ構造としてモデル化できそうだなと思った。気づけば別に真新しい考えではないが、これまではそういう捉え方をできてなかった。
具体的には、URLのパスを正規化したりアクションログを抽出したりしてノードとして定義して、渡したリクエストもできれば正規化したパラメータにしてエッジに載せる、みたいなことだ。近い概念としてモデルベーステスト(MBT)という概念があるらしい。