以下の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-30911.htmlより取得しました。


IT業界のやる夫さん 第43回 「意図的に仕込まれたバグ」

目次 現行スレ

122 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:01:10 ID:eb4da8d6

043.「意図的に仕込まれたバグ」



          ____
        /     \
      / \   / \   これが僕のバグ発生予定表です。
     /   (●)  (●)  \
     |      __´___     |
    \      `ー'´    /





123 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:01:20 ID:eb4da8d6


            / ̄ ̄ \
            __ノ `⌒   \
         (●).(● )    |
           (__人___)    |
         , =二ニニヽ、   |   どれどれ。えーと。この表示バグどんなの?
       /  二 ヽ、`,┘   ト、
       /   -、 }、j┘  イ ⌒ヽ
        /    /{_/_ ,/      }
     /     ノ∧        ィ  }
     |   | /  i        |  |





       ____
      /     \
    /  \   / \
  /  (●)  (●)  \
 |       __´___       |   句読点の「。」が半角になってる、
 \      `ー'´    /
 /     ∩ノ ⊃   /     背景色白の指定箇所が#FFFFFEになってる、
 (  \ / _ノ |  |
. \ “  /__|  |      波線が~ (U+301C)とか~ (U+FF5E)とかが混在してる、あたりですね。
   \ /___ /



#FFFFFF:通常のPCで表示できる「真っ白」
#FFFFFE:#FFFFFFに比べて、青がほんのちょっと(1/256だけ)だけ強い

※ U+301C と U+FF5E
シフトJISっていう過去Windows標準だった規格の「~」をUnicodeっていう現行規格に変換すると、
このどっちかになる。具体的にどっちになるかは変換エンジンによるけど、通常は混在しない。
(なお、波線はこの2つを合わせて合計40個くらいある)
下書きはU+301CとU+FF5Eをちゃんと分けて正しいコードで書いてたんですが、自動投下で化けるので、
この場ではどっちも同じコードで書いてます。心の目で「本当は違うものだ」と感じてください!


124 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:01:30 ID:eb4da8d6

          ____
        /ノ ヽ、_\
       (●) (● ) \
    /⌒(__人__)⌒   \
    |    )  )    u.   |   #FFFFFFと#FFFFFEの違いって分かるか普通?並べられても気づかねーお?
    \   `ー'´      /
⊂⌒ヽ 〉        <´/⌒つ
  \ ヽ           ヽ /
   \_,,ノ|      、_ノ




     , ´  ̄ ̄ ̄`丶、
   /        ヽ \
  /  / //〃"" `ヽ ヽヽ ヽ
 / //l l /u    ヽハl l l
 li l l ll l,.ィ \   `─刈〃
  い.l lVト ーtッ‐'  ーtッー/   波線もフォントが都合良く不足してない限り気付かないお
.  Ylヽ{ヽ⊂⊃ 、_,、_, ⊂⊃
  レレノレヽ.       ノ    =3
  r ヽヽ::::::|ヽ`ー'´,1ー:::::ヽ、
  {  V:::::::::∨yヽ/::::::::::/,1
  |  \::::::::::ヽ/::::::::::: r" l




          ____
        /     \
      / \   / \   まぁ、使うのに支障がないバグを選びましたので。
     /   (●)  (●)  \
     |      __´___     |
    \      `ー'´    /


125 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:01:40 ID:eb4da8d6

   / ̄ ̄\
  / _ノ  ヽ、_ \
. | ( ●)(● ) |
. |  (__人__)  │
  |   `⌒ ´   |
.  |           |   よし、できる夫はそれでいいだろ。
.  ヽ       /
   ヽ      /    次、やる実。
   >     <
   |      |
    |      |


126 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:01:50 ID:eb4da8d6


       -‐'´ ̄ ̄`ヽ、       コネクションプールの設定ミス。
.      / /" `ヽ ヽ  \     
    /, '/     ヽハ  、 ヽ    apacheが500接続受け付けるのでセオリーではstrutsでは接続数600くらい想定するんだけど、
.   〃 { __ノ  'ー- リ| l | i   
    レ小(● ) (● )从 | | |    550しか確保してないお。これでも負荷テストまで問題なく通ると思うけど、テストやり直しが
     レ⊂⊃ 、_,、_, ⊂⊃|ノ/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   嫌だからその前に発見して欲しいお。




   / ̄ ̄\
  / _ノ  ヽ、_ \
. | ( ●)(● ) |
. |  (__人__)  │
  |   `⌒ ´   |
.  |           |   却下。それは技術力に疑問持たれそうだからダメ。他のにしろ。
.  ヽ       /
   ヽ      /
   >     <
   |      |
    |      |


127 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:02:00 ID:eb4da8d6


    ,‐'´ ̄ ̄ ̄`ヽ、
   /          \
  /   /"" `ヽヽ   ヽ  ,
  /// ,'/     ヽハ 、ヽ ヽ  -
  〃 {_{ ─   ─ ,リ| l | i| `   じゃぁ、WindowsUpdateの自動再起動抑制忘れ。
  レ小l ( ●) ( ●) 从 |i|
   V⊂⊃ 、_,、_, ⊂⊃ノノ      設定漏れで管理画面表示用のWindows10がWindowsUpdateで再起動しちゃう。
     ヘ,、 __,  イ/
   r-ヽ:::::|ヽ   ,1ー:::::ヽ、
  ノ V:::::::::∨yヽ/::::::::::/,1




   / ̄ ̄\
 /   _ノ  \
 |    ( ー)(ー)
. |     (__人__)   まぁいいだろ。次、やる夫。
  |     ` ⌒´ノ
.  |       nl^l^l
.  ヽ      |   ノ
   ヽ    ヽ く
   /     ヽ \


128 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:02:11 ID:eb4da8d6


     ____
   /      \
  /  ─    ─\
/    (●)  (●) \
|       (__人__)    |
/     ∩ノ ⊃  // ∩ノ ⊃   ああ、やる夫は普通に出たバグだけで発生数ノルマ達成してるから特に仕込んではいないお。
(  \ / _ノ    \/ _ノ
.\ “  /  . \ “  /
  \ /      /\/
    \       \
     \    \  \
       >     >   >
       /    /  /



         / ̄ ̄\
       / ヽ、_   \
     (⌒)(⌒ )    |
      (__人__)  u    |
     | |┬‐|      |
     | || .|      |   誇るなよ
      (`ー´     /
      ヽ      /
       〉    〈
       |     |
       |     |



           ____
         /     \
       / _,ノ  ⌒ \
.     /   (一)  (ー)   \   達成してる方が恥ずかしくないですか、このノルマ
.      |        ´    ij  |
     \     ⊂つ     /
     /           \


129 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:02:21 ID:eb4da8d6
冗談のような話ですが、「この規模なら経験上何件のバグが出るはずでバグ発見数をグラフにする
とこうなるはず。そこから大きくはずれる場合はバグを見つける作業にミスがある」という狂った根拠で
バグ修正数のノルマが課せられる場合があります。   

この基準は現代にはそぐわないんですが、無視すると「あと○件は潜んでいるはずだ!はやく見つけて直せ!
バグが残ったまま納品する気か!品質チェックは死ぬ気でやれ!」ってなるので……、見逃しても問題無くて
見つかっても怒られない程度のバグを予め仕込んでおいて発見するという自作自演の不正が必要になる
ケースが希にあります。。。   
できる夫のなんか全部これ。見逃しても問題ない、というか普通気づかないヤツ。

こっちも好きでやってるわけではないんですが……。   


130 : 普通のやる夫さん : 2019/04/28(Sun) 00:05:25 ID:a95d3f06
乙でした
普通はやる夫のパターンで一定数バグは出るもんなんですよねぇ

132 : ◆NkPwUyO9zc : 2019/04/28(Sun) 00:14:18 ID:eb4da8d6
>>130
実は、そうでもないです。

出ると期待されているバグって、大昔の汎用機とか昔の技術と組み方を前提として蓄積された経験によるので、
今は組み方が全然違うから・・・・・・。

たとえば昔のCOBOLという技術(今も一部現役ですが)で作ると、似たものを作るときは「コピーしてちょっと変えて
名前も変えて再配置、テストはコピーした側だけ」が正しいです。すると全部が以前と同じか似た曲線でバグが
出そうな気がしませんか?

それに対してオブジェクト指向言語(Javaとか)で組むと、「再利用を前提としたものだから、使いまわす。テストは
元のを作った時に済んでるから自動テストにかけて問題なければ再利用分はOK。再利用分を呼び出したり
パラメータを与える部分だけを新しく作って、そこ用に自動テストを追加する」ってなります。既にテスト済の部品を
使ってるからバグが新たに発生する可能性がある部品が少ないですね。

最近トレンドの、マイクロサービス向けの関数指向言語(Elixirとか)だと、「新しい関数を作った。これをテストする。
この関数は、既存のアレとコレを呼び出しているから、そっちは自動テストでOK。ただし呼び出し経路が増えるので、
そっちは念入りにやる」みたいな形になります。またバグ発生曲線が変化します。


で、偉い人は、昔の言語でやってた人たちなので・・・・・・。

134 : 普通のやる夫さん : 2019/04/28(Sun) 22:28:24 ID:b42e6b05
このバグ発生曲線、大学のコンピュータサイエンスで学ぶ概念ですよね
学問的裏付けが(いちおう)あるから、運用する人は正当だと思ってて、
未経験者歓迎でITに入ってきたり独学でプログラミングを習得した人は、太刀打ちしにくい

昔のやり方をアップデートしない日本が世界に遅れていく要因のひとつです

関連記事



以上の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-30911.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13