MetaAutomation | Proceedings of the 24th Conference on Pattern Languages of Programs

これを読んでいていくつか見慣れない概念が出てきたのでメモしておきます。いつか役に立つかもしれない。 2017年の論文です。

MetaAutomationとは

MetaAutomation は、ソフトウェア開発チームや企業がソフトウェアの機能品質とパフォーマンスを自動測定し、その結果をコミュニケーションするためのパターン言語。とのこと。

MetaAutomationの位置づけ

Image from Gyazo

右側がVerification Quality Measurementで、特に「SUTが機能要求に適合しているか」に焦点を当てるとされています。

反対、左側はバグを見つけることに焦点を当てたExploratory Quality Measurement。

MetaAutomationは、下半分のAutomated Checkingのうち、最も右側=機能要求への適合に焦点を当てた側に位置しています。

単純にChecking vs Testingでなく、手動・自動と探索・機能要求への適合という2軸で分けているのは、アジャイルテストの4象限っぽさもあり、他であまり見ない区分でした。(実は有名だったりしたら教えてください)

MetaAutomationの構成

Image from Gyazo

MetaAutomationは、以下の9つのパターンから構成されています。

  • Hierarchical Steps
  • Atomic Check
  • Event-Driven Check
  • Extension Check
  • Precondition Pool
  • Parallel Run
  • Smart Retry
  • Automated Triage
  • Queryable Quality

詳細は省きますが、各パターンの関係性が上の図の形で示されています。

図の下にいくほど技術面の話で、上にいくほどビジネス面の話。

個人の感想

各パターンで言っていることは納得感があるものの、2017年当時からでは色々と変化もあるので、新しいテスト自動化パターン言語があってもいいのかもしれないですね。あるいは、ドメインや技術要素ごとにある程度ポイントを絞るか。