連載
» 2018年06月18日 10時00分 公開

山浦恒央の“くみこみ”な話(107):バグ検出ドリル(7)やっぱり、いろんなところにバグがいる! (1/3)

重要顧客の前でデモを行う際にバグが発生すると大変です。顧客だけでなく、自社の社長まで同席していたいたときなどは、さらにものすごく焦るのではないでしょうか。「バグ検出ドリル」の第7回では、そんな状況を想定しつつ、いろんなところに潜むバグを見つけ出してください!

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]
焦る ※写真はイメージです

 バグはあらゆる箇所に潜んでいます。原因が分かれば非常に単純なバグも、原因が不明だと常識を越えた不可解な現象に悩みますね。特に、顧客のサイトにプログラムを持ち込んで、大勢の前でデモをする晴れがましい場でバグが発生すると大変です。プログラムの開発者は、「この機能は、何回もテストを重ねて正常に動いていたのに、なぜ、動かないんだ?」とパニックになりますし、後ろから、顧客の、しかも、社長や所長などの上層部から冷たい視線を感じて、ものすごく焦るはずです※1)

 そんな極度の緊張状態でも、不具合の原因を探るためデータを集め、問題箇所を修正しなければなりません※2)。エンジニアは、常に冷静沈着にバグの原因究明をする必要があります。

 本コラムでは、エンジニアのバグ検知能力向上のための問題を出題しています。今回は、背中に顧客の冷たい視線が突き刺さっていると仮定して、バグを見つけてください。

※1)顧客と一緒にテストをする場合、不可解な事象が起こると、ソフトウェアを開発したプログラマーに視線が集中します。原因が特定できるまでテストが止まるため、普段は温厚な顧客が次第にイライラし始め、空気が非常に悪くなるのが目に見えます。こんな緊張状態でも、原因を特定できるスキルと、強靭な精神力を磨きましょう。顧客対応も含めて、トラブルシューティングの手順を決め、文書化しておくといいでしょう。

※2)組み込み系製品の場合、製品が正しく動かない原因は、製品を制御するアプリケーションソフトウェアだけでなく、その下層のOSやハードウェアのバグの場合もあります。OSやハードウェアのバグで正しく動かなかった場合でも、まずは、製品を使うユーザーに最も近いところにあるプログラム、すなわち、アプリケーションソフトウェアの設計者が悪者になります。3日間徹夜して、やっとOSのバグであることが分かり、その証拠を持ってOSの開発者のもとへ行くと、「了解、修正しておくよ」と軽く言われたことがよくありました。不具合の現象や再現条件が細かく分かっているので、1時間ほどでバグが治るのですが、ホッとするような、腹が立つような複雑な心境になります。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.