ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

テストにおける同値分割、境界値分割ー違いと必要性

2018-04-09 12:36:59 | Weblog

同値分割は「出力値の」違いに着目してテストを分割する方法
境界値分割は「入力値の」境界に着目して、境界とその前後あたりの場合のテストを行うこと

ここで、入力が同じであれば、出力は、乱数とか使わない限り、同じである。
っていうことは、同値分割で違いがあるということは、入力値が違うはずである
入力値が違うケースは境界値分割でケースが網羅されているはずである。

つまり、「境界値チェック」を完璧にすれば、例外系とかは別だけど、
「同値チェック」のケースはどこかでやっているので、
同値チェックはいらないんじゃないのかという考えが成り立つ

・・・同値チェックはしなくていい?しらなくていい?




この混乱は、フェーズの違いを意識してないから、起こる

同値チェックがうまくいっていない状態で、境界値チェックをしても、
同値チェックで、うまくいっていない状態は、境界値でうまくいくはずがない。

なので、簡単な同値チェックをさきにやり、同値ケースはバグがないことを保証してから、
境界値チェックを行う。

具体的には、出力値から入力値を推測するのは大変なので、デバッガ使って出力値のテストができる、
 単体テストで、同値ケースをつぶして置き

境界値チェックは入力なので、外部からデータが入れられる=ブラックボックスで十分なので
 結合テストで画面入力から、境界値チェックを行う


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AIは技術的負債がある?ない?

2018-04-09 00:24:28 | Weblog
技術的負債という言葉を出したのでついでに・・

AIの技術的負債という話題があって、どうも2つの考え方があるように見える

(1)AIの技術的負債があるという見方

例えば

AI導入に失敗する3つの落とし穴を現役講師が紹介「創業1年でセミナー登壇150回・受講生3,000名」の実績
https://www.kikagaku.co.jp/press_ai_introduction/

の中にでてくる。この立場に立つ場合、ソフトウェアというのは、本来説明ができるものであり、再利用可能、再現可能であると考える。
そう考えると、ディープラーニングなどで決定されるパラメータは説明つかないし、ハイパーパラメータでさえ、根拠がないので保守できない。これは技術的負債で、AIは、この部分が多くあるという考えかた


(2)AIの技術的負債はない

機械学習の人たちから、この言い方は聞いたことがある。
そもそも、技術的負債は

「技術的負債」とは何か。原典とその対応策を探る
http://www.publickey1.jp/blog/13/post_232.html


みても、よくわからない。

なので、技術的負債を「本来やらなきゃいけないことを、今していないので、後でしなきゃならなくなること」と考えると、
AIは、そもそも、パラメータはわからないものだし、ハイパーパラメータは適当に決めるべきものであり、
つねにやるべき作業。
っていうか、AIの場合、もともとコーディングしている部分は少なく、コード部分は変えない(データが変わる)
なので、コード部分の技術的負債はないという考え方。


どっちが正しいかと考えるのは、意外と不毛かも?

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする