
ソフトウェア業界で当たり前のように飛び交っている「不具合」という言葉。
会社によって意味合いは多少変わってきますが、
今回はJSTQBでの定義をもとに「不具合」という言葉について見ていきます。
JSTQB(ジェイエスティーキュービー)とは?
JSTQBとは、日本におけるソフトウェアテスト技術者資格認定の運営組織で、 各国のテスト技術者認定組織が参加しているISTQB(International Software Testing Qualifications Board)の加盟組織として2005年4月に認定されています。
JSTQB認定テスト技術者資格(http://jstqb.jp/committee.html) より。
ISTQBは「国際ソフトウェアテスト資格認定委員会」と呼ばれる、
ソフトウェアテスト技術者の国際的な資格認定団体です。
一般的には資格のことを指して「JSTQB」と使われることが多いです。
ソフトウェア業界では有名な資格となっており、
この団体の定義をもとに言葉や手法について話をされることも多いため、
本業界で働いている方で1度は聞いたことのある人も多いのではないでしょうか。
JSTQBにおける不具合という言葉
結論からお伝えすると、JSTQBでは「不具合」という言葉は使われません。
ではJSTQBではどのように定義されているのでしょうか。
エラー、欠陥、故障の3種類
不具合に関連する言葉として、JSTQBでは
エラー(Error)
欠陥(Defect)
故障(Failure)
の3種類が定義されています。
エラー(Error)
間違った結果を生み出す人間の行為。
ソフトウェアテスト標準用語集 日本語版 Version 2.3.J02 より。
人間の行為のことを指しているため、
「そもそもの認識が違っており別の実装をした」
「眠くてタイプミスをしたまま実装した」
などが当てはまることになります。
誤り(Mistake)
- JSTQBでは、「誤り」という言葉もエラーと同義として定義されています。
欠陥(Defect)
コンポーネント又はシステムに要求された機能が実現できない原因となる、コンポーネント又はシステムに含まれる不備。
ソフトウェアテスト標準用語集 日本語版 Version 2.3.J02 より。
たとえば、不正なステートメント又はデータ定義。実行中に欠陥に遭遇した場合、コンポーネント又はシステムの故障を引き起こす。
システム内に存在しているコード、ドキュメント不備などが当てはまります。
多くは人間の「エラー」によって生成されます。
認識違いで実装したもの(エラー)により、仕様通りに作られていないプログラム(欠陥)が出来る
といったイメージです。
バグ(Bug) / 問題(Problem)
- JSTQBでは「バグ、問題」という言葉も欠陥と同義として定義されています。
故障(Failure)
コンポーネントやシステムが、期待した機能、サービス、結果から逸脱すること。
ソフトウェアテスト標準用語集 日本語版 Version 2.3.J02 より。
欠陥を発見すると「故障」が見つかります。
つまり、欠陥がある状態でも発見されなければ故障にはなりません。
注意したい点として、「欠陥=故障」とはならないという点です。
> 期待した機能、サービス、結果から逸脱すること
とあるように、欠陥がある際に必ずしも故障になるというわけではありません。
例えば、テストの実施者のテストミスかもしれないですし、
そもそも要件自体が間違っているかもしれません。
不具合という言葉は使われない?
不具合という言葉はJSTQBでは定義されていません。
Wikipediaを見てみると、
不具合は、障害や欠陥、不良品、バグという言葉を使うことを回避するための、日本語特有の言い回しと考えられる。
「不具合」『フリー百科事典 ウィキペディア日本語版』より。
と説明されており、日本語特有の言い回しということがわかります。
普段皆さんが使っている「不具合」という言葉を定義するならば、
欠陥も故障も含んだ意味合いで使っているのではないでしょうか。
簡易の関係図

伝わる言葉を使おう
今回紹介したのはJSTQBで定義されている言葉です。
これがIT業界の標準となり誰でも伝わるものになればよいのですが、QA業界はまだ未成熟ということや、会社によって品質保証のやり方が大きく異なるため、現実そうは行かないことが多いです。
例えば、「故障」という言葉は現場で一般的には使われないため、

〇〇さん、このボタン押すと故障します!
といっても上手く伝わらない可能性は高いです。
(筆者は故障と聞くとハード的なものが壊れたイメージを持つ)
実際のコミュニケーションでは正しく伝わることが大切なので、
JSTQBの定義に固執せず、その人に伝わる言葉でコミュニケーションを取りましょう!
資料を作るときに便利
何か資料を作る際には、このJSTQBに準拠した言葉を使うことはオススメです。
当然、資料であっても伝わりやすい言葉を使った方が良いのは間違いはないので、
どこまで準拠した言葉を使うのか、あらかじめ準拠した言葉を使う旨を伝えるなど、
工夫をして資料を作るのが良いでしょう。
まとめ
不具合という言葉は曖昧で、JSTQBでは定義されていないということがわかりました。
筆者の過去の経験として「不具合やバグ」という言葉を使った際に
「不具合ってなに?」「それはバグではないから」
と言われてしまうプロジェクトもありました。
そういった場合にも対応できるように、知識として持っておいて損はありません。
JSTQBのFLはだれでも受験が可能なので、興味のある方は是非勉強してみてください!
注意
JSTQBは改訂が行われるため、本記事で書いている定義から変わる可能性があります。