Japanese subtitles

← 03-25 Number Of Tests Solution

Get Embed Code
3 Languages

Showing Revision 1 created 06/09/2014 by K2480.

  1. では答え合わせです 1つずつ見ていきましょう
  2. すべてのテストが失敗するという状況は
    ありそうもないですが
  3. 実際に起こったと仮定しましょう
  4. まず2つのサブセットに分けます
  5. 最初のサブセットを削除してテストが失敗し
    そのままテストを続けます
  6. それをまた2つのサブセットに分けます
  7. 再び2つのサブセットに分けます
  8. まさにカーニハンとパイクの言うバイナリサーチです
    これは対数です
  9. 2分の1を削除すると常に失敗する時は?
  10. これは前半を削除しパスすることを除いては
    同じ状況ですが
  11. 複雑さという点で見ると
    入力のサイズに比例する対数です
  12. ゆえに差分デバッグが効果を発揮する
    すばらしい状況です
  13. この差分デバッグの文字列を半分にし
    そのうちの1つが失敗する時
  14. バイナリサーチのような効果を発揮します
  15. あとで粒度を上げるのでテストの効率が悪くなりますが
  16. 1つ1つ小さい部分を削除していくので
    徹底的にテストができます
  17. 始めはバイナリサーチでとても効果的です
  18. あとで1つずつ削除するのと同じくらい
    徹底的にテストを行います
  19. 全テストがパスしたら
    差分デバッグでは対数テストが必要なくなります
  20. むしろ線形数テストが必要です
  21. この場合は当てはまりません
    この2つの状況ではテスト数が対数になるからです
  22. これが答えです