知識マップ: AIが書いたテストを信用してよいか ── 通るのに何も確かめないテストの見分け方
記事「AIが書いたテストを信用してよいか ── 通るのに何も確かめないテストの見分け方」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
ユニットテストの合否はアサーションで決まり、アサーションは期待値、つまりテストオラクルを前提とする。期待値を実装と同じ計算で作ると、テストは実装と同じ誤りを持つ。テストダブルで置き換えた処理はそのテストでは実行されない。テストがどのコードを実行したかはコードカバレッジで、アサーションが変化を検出できるかはミューテーションテストで確かめられる。プロパティベーステストはどの入力でも成り立つべき性質を判定基準に使う。
flowchart LR
accTitle: AIが書いたテストの品質の知識マップ
accDescr: ユニットテストがアサーションとテストダブルを使い、アサーションがテストオラクルを前提とすること、ユニットテストの実行範囲をコードカバレッジで、アサーションの効果をミューテーションテストで確かめられること、プロパティベーステストが性質をテストオラクルとして使うことを示します。
test_assertion["アサーション"]
test_oracle["テストオラクル"]
unit_test["ユニットテスト"]
test_double["テストダブル"]
code_coverage["コードカバレッジ"]
mutation_testing["ミューテーションテスト"]
property_based_testing["プロパティベーステスト"]
unit_test -->|"利用する"| test_assertion
test_assertion -->|"前提とする"| test_oracle
unit_test -.->|"利用する"| test_double
unit_test -->|"で確認できる"| code_coverage
test_assertion -.->|"で確認できる"| mutation_testing
property_based_testing -->|"利用する"| test_oracle
概念間の関係(全6件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- ユニットテストはアサーションを利用します。
- アサーションはテストオラクルを前提とします。
- ユニットテストはテストダブルを利用します。
- ユニットテストはコードカバレッジで確認できます。
- アサーションはミューテーションテストで確認できます。
- プロパティベーステストはテストオラクルを利用します。
主要概念の定義
機械可読データ
このデータセットについて
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。