tag:crieit.net,2005:https://crieit.net/tags/%E3%83%90%E3%82%B0/feed 「バグ」の記事 - Crieit Crieitでタグ「バグ」に投稿された最近の記事 2020-12-05T12:00:52+09:00 https://crieit.net/tags/%E3%83%90%E3%82%B0/feed tag:crieit.net,2005:PublicArticle/16260 2020-12-05T12:00:52+09:00 2020-12-05T12:00:52+09:00 https://crieit.net/posts/ccc689761fdbff3d4921d8d2bc24cc53 はじめてのバグのおはなし <p>この記事は、<a href="https://crieit.net/dashboard">Crieit</a>のアドベントカレンダー、<a href="https://crieit.net/advent-calendars/2020/crieit">なんでも</a>の5日目の記事です。</p> <p>こんにちは、Yumihikiです。今回は私が過去に行ったバグのお話を書ける範囲で書いてみようと思います。</p> <h4 id="自己紹介など"><a href="#%E8%87%AA%E5%B7%B1%E7%B4%B9%E4%BB%8B%E3%81%AA%E3%81%A9">自己紹介など</a></h4> <ul> <li>名前:Yumihiki</li> <li>経歴:専門商社で5年勤務の後、エンジニア派遣会社に転職。現在はお客様先にて社内システムの運用・保守業務を行う。</li> <li>バグ:はじめまして!これからよろしくなぁ!!こっちの世界は楽しいぞ〜!!!</li> </ul> <p>といった感じです。</p> <h4 id="バグ発見までの経緯"><a href="#%E3%83%90%E3%82%B0%E7%99%BA%E8%A6%8B%E3%81%BE%E3%81%A7%E3%81%AE%E7%B5%8C%E7%B7%AF">バグ発見までの経緯</a></h4> <p>事件が発覚したのは私がお客様先で働き始めてちょうど100日後(目?)のことでした。</p> <p>とあるデータ群の登録状態がおかしなことになっているらしく、私が直前にその社内システムの改修をしていたこともあり調査を依頼されました。</p> <p>ソースには私以外にも他の方が改修を行っており、他の方が改修した内容がおそらく原因だろうと言われながら調査を行いました。<br /> 他の方のソースを見つつ、おかしそうなところが無いか調べていくも見つからず...<br /> 調査すること2日目、バグの理由が分かりました。</p> <p>そう、この冒頭にもあるように原因は私でした。<br /> 当時のバグ発見後のツイートが下記です。</p> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">バグを埋め込んだことが発覚して、お客様先へいる時はダメージ少なかったけど家に帰ったらダメージがどっと出てきた…今日は早く寝よう… 明日修正頑張る…</p>— Yumihiki (@nibupro) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/nibupro/status/1278305096351092737?ref_src=twsrc%5Etfw">July 1, 2020</a></blockquote> <p>ダメージは少なかったと言っていますが見つけた瞬間には冷や汗が止まらず、動揺も重なりうまく説明も出来ないので先輩エンジニアにコードを見てもらいながら現象についてプロパーの方へ一緒に説明してもらいました。<br /> どなたからも怒られることはなく、優しさが救いでした。。。</p> <h4 id="なぜバグを起こしたか"><a href="#%E3%81%AA%E3%81%9C%E3%83%90%E3%82%B0%E3%82%92%E8%B5%B7%E3%81%93%E3%81%97%E3%81%9F%E3%81%8B">なぜバグを起こしたか</a></h4> <p>(お客様先のシステムでもあるので、かなりボカシ気味ですみません)</p> <p>原因:既存のロジックがどのように動いているか把握していなかったこと。<br /> バグを埋め込むきっかけとなった改修の時に、かなり実装で悩んでおり自社の先輩に相談したところ<br /> 「この変数を書き換えてやればやりたいことが出来るよ」とアドバイスをもらいました。</p> <p>本来、その変数が他にも使われていないかを影響調査する必要があったのですが<span style="color: #d32f2f">その過程をすっ飛ばしていました。</span></p> <p>今振り返ると、それは当然バグも入り込むわ... と思います。<br /> また、テストも行っていましたが想定外の機能に影響しており、検出することは出来ませんでした。</p> <h4 id="ではなぜ調査しなかったのか"><a href="#%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%9C%E8%AA%BF%E6%9F%BB%E3%81%97%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B">ではなぜ調査しなかったのか</a></h4> <p>理由:焦っていたから。<br /> 改修時に工数はこのくらいの期間ね、と言われていたことから「納期を守って成果を出さないと」という焦りがありました。<br /> 全然リスケは可能な改修だったのですが、まともな判断が出来ていなかったのだなと後から振り返ってみて思いました。<br /> 焦っていたとしても調査は怠らないようにすることで、次から防ぐことが出来ると考えています。</p> <h4 id="感想"><a href="#%E6%84%9F%E6%83%B3">感想</a></h4> <p>バグを埋め込んだ当時は本当にしんどかったです。この結果が原因でクビになったらどうしよう、とかずっと考えていましたが<br /> そんなことはなく、今もお客様先で働かせてもらっています。<br /> また、Twitter上でバグ埋め込んだ話を投稿したところ、フォロワーの方、大学の先輩からも励ましのコメントをもらえてとても温かったです。</p> <h4 id="最後に"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB">最後に</a></h4> <p>今はまた新たに調査を頼まれて、調査を行っている最中であります。</p> Yumihiki