GEN MUTO'S HOMEPAGE > Cell_雀公式サイト > 不定期コラム

Cell_雀 不定期コラム 第三十八弾!
 
 だしていいバグ・いけないバグ
 
  
 
ハイハイハイハイはーい♪
 
 暖かくなってきましたねー。
 ようやくカゼが本格的に治ってまいりました。
 
 ちょっと嬉しい武藤です。


ドキドキCクラブ © GEN MUTO

 
 毎度、プログラムとは関係の無いネタばっかりやってるんで、たまにはそれっポイのをひとつ…。

 私がこの業界に入りたての頃、先輩SEから受けたアドバイスの中で素晴らしいものがあります。
 それは…、
 プログラマが”だしていいバグといけないバグ”…がある。
 というものでした。

 本来ならバグを一つも出さないのが望ましいのですが…そんな神がかり的なこといっててもしょーがないです。
 ですのでこの業界には…、
 「だして最低限、許されるバグ」と「許されないバグ」
 とゆーものがある。というお話でした。

 ではなにが最低限、許されるバグと許されないバグなのでしょう?

 先輩SEいわく、バグには三種類あって…、
  1.プログラミングのミスによるバグ
  2.SEの要求仕様と異なるというバグ
  3.SEが客先要求を正しく理解しなかったためにおきるバグ
 があるそーです。

 この中でプログラマが許されるバグは3だけです。
 1と2は絶対にやってはいけないバグ。少なくともこの業界でプロとしてメシを食っていく以上、”最低限にも許されない”バグとゆーことでした(汗)。

 これはなぜかというと…。
 1のプログラミングレベルでのバグは最終工程で製品テストをきちんと行なえば回避できます。
 逆に言えばこのレベルのバグが発生したとゆーことは…製品テストすらキチンとやってない業者の証になっちゃいます(笑)。

 2の要求仕様と異なるバグ。これはSEの要求仕様書をよく読めば事前に防げるバグです。
 ロシア語で書かれてるわけじゃなし…日本語で書かれた要求仕様をろくすっぽ読みもせず、おかしな動作をさせているとすれば…それは単なるプログラマの怠慢です。

 3に関しては、これはハッキリいってSEが悪い。お客さんの要求仕様をモレなくシステム設計にまとめることができなかったのですから…。ただプログラマが上級レベルの場合、システム設計の矛盾点に気付き指摘することも充分可能ですが…(笑)。

 最後に上記1〜3点を麻雀ゲームに当てはめてみることで、さらに分かりやすく説明することが可能です。

 1.プログラミングレベルのバグ
  ・ポンのボタンを押したらカンされた…。
  ・効果音が出なくなった、牌表示がおかしい…。 等
  (いわゆるソフトの動作上でおこるバグです)

 2.要求仕様と異なるバグ
  ・四開槓、成立しているのに流局しない…。
  ・リーチで即鳴かれたのに一発がついた…。 等
  (麻雀のルールと異なるという意味のバグです)

 3.設計の誤りによるバグ
  ・さらしの三色同刻が一飜役になっていた…。
  ・全帯ヤオと混老頭が複合してしまっている…。 等
  (設計者がルールを勘違いした為におきたバグです)


 だいたいこんな感じです。ね、わかりやすいでしょ?
 ちなみにCell_雀もver2.90までにたくさんのバグを修正しています。

 もしあれだけのバグを客先でだしていたとしたら…先輩曰く、

 「切腹モノ」

 だそーです(笑)。

 ※ おまけ
 ソフトウェアの動作テストがキチンとされているかどーかを確認する最も簡単な”業界標準手法”をご紹介♪
 それは…。

 「ガチャガチャガチャガチャ!と…両手で滅茶苦茶にキーボードを叩いてみてください♪」

 これでフリーズするようなら、そのソフトはろくなテストをしていません(笑)。
 
 
 

>> 次の話にすすむ