news

「異常系」テストの重要性

「異常系」テストの重要性

皆さんこんばんは、情報システム部の細谷です。

 

今回はセキュリティ、、とは関係ないのですが、先日受けたセミナーにて、テストの軽視、、、というより、

知らないから行われない「異常系」のテストについて触れてみようと思います。

 

一般的にテストというイメージは「問題が無いか確認する」という認識かと思いますが。

開発ではもう一段階分類分けがありまして、それが「正常系」と「異常系」になります。(もう少しきちんと分けるなら「準正常系」というものありますが。今回はそれも異常系として説明します。)

 

まずはそれぞれを簡単に説明

正常系テスト、これは「設計通りに動くか」というテストです。

異常系テスト、これは「設計の想定外の操作をした時にどう動くか」というテストです。

 

きちんと動くかといわれると、前述の「設計通り」を多くの方は考えると思いますが、実は「使いにくい」システムの原因となるのが後者の異常系テストになります。

 

具体的な例があったほうがいいと思いますのでこちらの画像をご覧ください。(クリックで拡大します。)

はい、このサイトのお問い合わせページです。

 

見ての通り、お名前の入力があり、会社の情報の入力あり、一部は必須入力でと見たままの機能ですね。

画像にはありませんが、「お問い合わせ」という事で、『送信』ボタンもあるはずですよね。

 

正常系テストの場合

=================

・お名前に漢字が入力できる

・お名前(カナ)にカタカナが入力できる。

・電話番号が入力できる

・送信ボタンを押し、上記の入力が担当者に通知される

=================

になります。

「当たり前でしょ」と思われますが、その通りで正常系のテストは「当たり前」の事がちゃんとできているかの確認になります。

 

それに対して、異常系テストは

=================

・お名前の項目が未入力では送信ができない

・お名前(カナ)に漢字や記号、アルファベットが入力できない

・電話番号に数字とハイフン(-)以外の文字が使えない

・入力中に更新ボタンを押す

=================

といった、「それはやったらだめだよ」といったものの確認になります。

要するに「間違えちゃったらどうなる?」という確認ですね

 

なぜ異常系が大事なのでしょうか?

それは簡単で「全員が100%きちんと出来ないから」ですね、作った人は「どう動かせばいいのか」というのを把握していますが、

システムに初めて触る人は見た目の「思い込み」で動きます。

 

例えばデータの「削除」ボタンですが、普通なら「削除の確認」が出ると思いますよね。

これが出ないサービスがたまにあります。なので、間違って削除ボタンを押して「やべっ、キャンセルを、、、」と思った時にはデータが消えてしまって、、、

という現象があったとよく耳にします。(というより対応したことがあります。)

 

なので、そういったうっかり発生する「失敗」を、事前に担保するための「異常系」テストという事ですね。

これはシステム開発だけでなく、「自分が行動するときのフロー」にもつなげられるので、覚えておいてくださいね。

 

それでは本日はこの辺で失礼します。

良き週末を。