連載
» 2016年09月07日 09時00分 UPDATE

山浦恒央の“くみこみ”な話(87):猫でも使えるソフトウェアのテスト網羅(4):C1カバレッジの弱点とエンジニアの信念 (1/4)

ソフトウェアにおけるホワイトボックス・テストの代表格がパス網羅です。パス網羅にもいろいろありますが、条件文の結果が「真」「偽」になる両方をテストする「C1」が広く利用されます。今回はC1パス・カバレッジの長所と短所を確認します。

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]

1. はじめに

 高品質が求められる組み込み業界で、単体テストの役割は非常に重要です。本シリーズ「猫でも使えるソフトウェアのテスト網羅」では、単体テストのホワイトボックス・テスト技法の王様であるパス網羅を取り上げています。

 パス網羅は、プログラムの命令文やパスに着目したテスト手法で、テスト量やテストの進捗を定量的に把握できることが非常に大きな利点です(*1)。今回はC1カバレッジについて復習し、その長所と短所を整理します。C1カバレッジの短所は、エンジニアの信念やセンスと深くつながります。

伊豆下田 ソフトウェアテストは海より深いものとなり得ます
*1:私はペンネームを使って、全く別のガチガチ文系の仕事もしています。ある意味、理系と文系の両極端の人生を歩んでるのですが、両者の違いを明確に感じるのが、「どこまで仕事が進んだか」のいわゆる進捗管理です。

文系仕事での翻訳や原稿執筆で、編集者からどこまで終わったか聞かれると、「(実際は2割程度なのに)だいたい3分の1はできてます」「(3割少し越えた時点で)ほぼ半分完成ですよ」と言えば、編集者から「おお、そうですか。残りも頑張ってください」と褒めてもらえますが、ソフトウェア系の理系の場合、「コーディグは、本日17時19分の時点で全2万5915行分の7003行終わりました」と具体的な数字で報告しないと管理者は不安でたまらないようです。

理系では、「だいたい」「ほぼ」「おおむね」という形容詞を絶対に使わず、何が何でも具体的な数字で表現するのが基本と思います。一方、文系関係の仕事の素晴らしいところは、大きなトラブルがあっても非常に臨機応変に柔軟に対応して、締め切りに間に合わせてしまうところでしょう。

「北原さん、事故で入院したの? そりゃ困ったね(と言いながら、大して困っていない)。じゃあ、足りない原稿は赤沢さんと本多さんにお願いして、編集作業は山野さんにやってもらおう。みんな忙しい人ばかりだけど、まあ、何とかなるでしょう」とササッと決まり、すぐに助っ人にお願いの電話をかけるなんてよくある話です。

理系のプロジェクトでは、キーパーソンが事故で入院すると、下手をするとプロジェクトが潰れたりします。それぞれの「文化」といえばそれまでなのでしょが、長い年月をかけて育ってきた「進化の形」だと思います。
       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.