「メタモルフィック・テスティングと要求工学」を読んだ
以前↓のメタモルフィックテスティングの解釈noteを書きました。
そして最近↓を読んでいて、再びメタモルフィックテスティングについて調べてみたくなり、検索してみました。
Twitterでさかのぼると、2018年頃が最古のようですが、Googleするとかなり上の方に↓が出てきました。というわけで、これを読んでみた、というのがこのnoteの内容です。
要約すると、
・要求仕様の段階でテストケースを作って要求仕様の品質を上げたい
・要求定義の段階ではテストケースが作れないことが多い
・よって、メタモルフィックテスティングを使ってテストケースを作ろう
という話でした。
以下、感想やらコメントやらです。
要求定義段階での、あるいは要求仕様にもとづくテストケースの作成には困難が伴う
ここがちょっとわからなかったです。
設計や実装は行われていないため、細かい仕様にもとづくテストケースの作成手法、ホワイトボックステストに類するテストケースの作成手法には期待できない
とは書かれていたのですが、要求仕様が書かれていれば仕様に基づくテストケースは作れると思うんです。もし、仕様に書かれていないテストケースをメタモルフィックテスティングで生みだすとしたら、期待値がある一定の法則にあることを示す仕様が必要になると思っています。
シナリオのイベント文を書き換えることによって、事前条件・事後条件がどのように変化するかを一般的に知ることは出来ない。本研究では格文法を用いた制限言語を用いたシナリオ言語と、イベント文による状態変化を解析することでこれを解決する[4]
なるほど、これがポイントかもしれませんね。事後条件が変化しない=同じ期待結果となると思われるシナリオをある手法によって生成し、それが正しいかを人の手によってチェックする、と。それが要求仕様のレビューになるってことですね。この論文「シナリオにおけるアクタの状態の定義・参照関係を用いたふるまいの検証」は読んでみたいです。
ということで、読む前に期待していたのは、
要求のテストのための正しいテストケースがメタモルフィックテスティングによって生成できる
という話でしたが、書いてあったのは
要求のテストのための正しいかわからないテストケースがメタモルフィックテスティングによって生成できる
ということでした。正しいかわからない、というのがどこまでもっともらしいかによってこの手法の有効性が変わりそうな気はします。