サービスの不具合・バグ対応の分析を少々

サービスの不具合・バグ対応の分析を少々

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

どうも、さむらいです。
お恥ずかしい話ですが、、今まで当IT本部では何が理由でその不具合・バグが発生したのかを振り返って分析するようなことはしていませんでした。なぜなら我々は常に前を向いて新しいものを創りだしてきたから。過去など振り返らないのだ。

でもいい加減同じ不具合・バグも積み重なってきたので、そろそろその根治方法を考えださなければならぬ。ということで去年発生した不具合・バグを分析してみました。

2015年の動作不具合・バグは104件

改めて数字にすると結構多いですねこれ・・・。

フェーズ毎の内訳は以下の通り
本番運用中:55件
リリース前のテストフェーズ:49件

種別毎の内訳は以下の通り(多いやつだけ抜粋)
仕様漏れ:18件
コーディングミス:20件

上記の他にも、テスト仕様書が間違っていたため、テスト結果がNGになったり、そもそもの要件が間違っていたり、作業手順が間違っていたりといった内容が散見されます。

コーディング時の注意事項(ルール化はされていない)

コーディングする際、社内でも注意しているのが IE8 以下向けの記述。もうとっくに Microsoftのサポートが切れたブラウザ ですが、大手のイントラネット環境では根強く使われているしぶといブラウザです。

当社サービスは IE8 を含む下記のブラウザで動作保証しているので、プログラマはブラウザの挙動に左右されないコーディング、もしくはユーザーエージェント毎に個別の記述が求められます。

フォームアシスト(EFOサービス)の動作保証ブラウザ
IE7〜IE11
Edge
FireFox(一部機能を除く)
Safari(一部機能を除く)
Opera
Chrome

サイトパーソナライザ(ウェブ接客)の動作保証ブラウザ
IE8〜IE11
Edge
FireFox
Safari
Opera
Chrome

サイトパーソナライザはスマートフォン向けの for スマホサービスもあるので、iPhone Safari と、Chrome 、Android Chrome 等も動作保証しています。

つまり機能アップデートの度に、上記ブラウザをすべて検証しているのです。
※もちろん全部の機能の再検証はできないので、アップデート機能に関連する周辺機能を中心に検証します。

IE8以下向けに気をつけているもの(一部)

IE8 以下には、下記のアレがありません。
console オブジェクト
getElementsByClassName 関数

一部サービスには console.log に処理結果を出力しているものもあるので、IE8 ではこの処理が行われないようにしておかなくてはなりません。

それから FireFox は関数を定義する前にその関数を呼び出すことはできません。(スクリプト言語なら普通だと思うけど、Chrome とかはよしなにしちゃうんですよね・・・)

この辺の記述の順序も、ブラウザごとに厳密に検査しなければならないので、チェックポイントは結構多いです。

で、不具合・バグの内容を一部だけご紹介。

※以下は当社から告知した内容の一部です。

「機能の一部が動作しない事象について。」

この原因はとっても単純で、本番環境にアップされるべきファイルの一部がアップされていなかった(結構ざっくり書いてます)というとっても基本的な作業ミスです。

原因はいろいろあって

1.本番に切り替えるディレクトリ構造がやや複雑だった
2.作業手順書が作成されていなかった
3.本番切替後の動作検証範囲から該当箇所が漏れていた

などなど、結構お粗末ですね・・・こんなのブログで書いていいんだろうか。

その他ありがちな障害

上記の不具合・バグを受けて、再発防止策が検討され、今ではダブル・チェックはもちろんのこと、作業手順書の作成ならびにレビューによる第 3 者チェックなど、チェックポイントを増やしました。その体制構築するの遅くない?と言われそうですが、しょうがない。

だって前だけ向いて走ってきたのだもの。(深く反省)

とはいえ、結局人間がチェックするので、みんなの頭の中から漏れちゃうとどうしようもないんですが、社内的にはどんどん自動化を進め、不具合のない商品を目指して頑張っています!

これからも応援よろしくお願いします。

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ

内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
ぼくたちの失敗|ベテランエンジニア達の若き日の苦悩... 6月半ばを過ぎ、新人エンジニアのみなさんも仕事に慣れてきた頃合いではないでしょうか。 しかし慣れは油断を生み、油断はミスを招くものです。当然、ミスをすれば怒られることもありますよね。 世の中には理不尽なことで怒られてしまうケースもあ...
老後のはなし|66歳でプログラミングを始めた猟師... みなさんは自分の老後のことを考えていますか? 老後がハッキリしているのであれば、その老後のために財産をとっておくということも考えることでしょう。しかし、実際にはハッキリしていないため、なかなか老後のことを真剣に考えないというのが、ほと...
『アウトプット』の重要性|オープンソースを公開する!... プログラミングにまつわるスキルのみならず、正常な人間は常に成長したいと願うもの。 成長には「インプット」が重要です。 ただ、みなさんは自分への「インプット」だけを気にしていませんか? 自分の成長に見合ったキャリアを築くのであれば、...