goo blog サービス終了のお知らせ 

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

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

仕様書がない時の結合テストのための単体テストの方法

2016-11-09 13:22:22 | Weblog
単体テストには、
(1)ソースコードをブレークポイントでとめて、値を設定して全ルート通ることを目視で確認する
   →gdb等を使う

(2)外部から適当な値を設定することによって、コードカバレッジによって、全ルート通過した
 ことをツールで確認する
   →djunitなど、コードカバレッジツールを使う

の2通りが現在ある。

仕様書が一切ないでテストしろということがあるが、
この場合、(1)の単体テストでは、単体の品質レベルの保証ができない。
(プログラマが仕様を間違えていたとしても、仕様書がないから
   仕様書→ソースコード間が間違えているのか:単体テストで保証
   そもそも仕様が間違えているのか     :単体テストでは気づかないかも
 が、確認できない
 仕様書が有る場合、仕様書とソースコードが一致していれば、ソースコードを
 全ケース確かめることによって、仕様書→コード間には、間違いが無いことは
 確認できる)

ということもあるけど、結合テストの立場からも、(2)のテストを行うとおもう。




というのは、結合テストも仕様書がない場合、
全ケースをあぶりださないといけない。
このとき、全ケースとは、全出力ケースと考えられる。
この全出力ケースとは、同値条件分割にほかならない。

なぜ、同値条件に分割されるのかというと、
プログラム内部で、同値ごとに「分岐」しているからにほかならない。

つまり、
すべての分岐を追えれば、
  その結果、そべての同値条件が明らかと成るので、
  その同値条件を作り出す入力値(も単体テストで分かっているはず)を使って、
  すべての結合テスト条件を作り出せる
可能性がある(あくまでも可能性だけど・・・DBの値を返している場合とかもあるので)

すべての分岐を追う=カバレッジ100%ということなわけ。

なので、(2)のテストを行うほうが、結合テストを進める上でも有利になる。




ちなみに、(2)のコードカバレッジをあげるには、
入力値の境界値テストの全組み合わせをやればよい・・・
・・・ことになるけど、これは物理的に無理なので、
実際は、ペアワイズか直交表を使う

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

「東ロボくん」 東大断念

2016-11-09 00:40:02 | Weblog
人工知能「東ロボくん」 東大を断念
http://www3.nhk.or.jp/news/html/20161108/k10010760361000.html


(11月15日)上記サイトは、消えていて、今この記事

「東ロボくん」成績限界で東大合格諦める
http://www3.nhk.or.jp/news/html/20161114/k10010768531000.html

たしかに、センター模試ではだめなんだけど

NII人工知能プロジェクト「ロボットは東大に入れるか」/センター試験模試6科目で偏差値50以上
http://www.nii.ac.jp/news/2016/1114/

数学2次試験だけなら受かりそうな勢い・・・

東大2次模試の数学で偏差値 76.2 を記録!
http://www.nii.ac.jp/userimg/press_20161114-2.pdf





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