デバッグの仕事で使う言葉の中には類義語として認識されているものがいくつかあります。
それぞれの言葉について、
意味の違いはあるのかなどについてお話しさせていただきます。
こんにちは、転すけ(てんすけ)です。
IT系のフリーランスを10年以上やっています。
デバッグからIT業界に入り、スマホアプリ開発を中心にキャリアアップを重ねてきました。
そのキャリアから培った経験を基に情報を発信しています。
「デバッグ」と「テスト」と「検証」の違い
デバッグ作業を行うにあたり、
・〇〇をデバッグする
・〇〇をテストする
・〇〇を検証する
というようにいくつかの表現を用いる事があります。
基本的にそれぞれ同義という認識で使われがちですが、
本来の意味合いは違うものであるという点もあります。
どのように違うのかについて以下にまとめます。
◽️デバッグ
バグを取り除く作業を指す。
バグを見つけた上でそのバグを修正するまでの工程が該当するため、
エンジニアの領域とも言える。
補足:デバッグとは、”bug” を打ち消すという意味の言葉で “debug” と記述するものである
◽️テスト
バグを見つける作業を指す。
あくまで検知した上で報告する事が目的なので、
バグの修正作業は別途担当者にまわる事となる。
◽️検証
テストと同義
上記のように、
本来「デバッグ」とはバグを見つけた上で直すまでの工程を指すため、
エンジニアリングの領域も兼ねる業務ですが、
昨今では「デバッグ=バグを見つける事」という認識で使われることも多くなっています。
話は少しそれますが、
そもそも言葉というものは、時代の移ろいによって認識が変わり、
「本来の意味とは違うが、現在はこれが正解である(浸透している)」
というケースが生まれる事もあります。
例①【役不足】
本来の意味:本来の能力よりも簡単で軽い仕事や役割を与えられること
現在浸透している意味:本来の能力よりも重くて手に余るような仕事や役割を与えられること
例②【話のさわり】
本来の意味:話の要点および印象深い部分や、聞かせどころ
現在浸透している意味:話の頭の導入部分のこと
デバッグについてもこの例と似ている点があり、
現在においては「バグを見つけること」という認識でも間違いとはなりません。
ただ、本来の意味も理解した上で「デバッグ」という言葉が認識できると、
テスト/検証との差別化がしやすいと思います。
「デバッガー」と「テスター」の違い
上記の「デバッグ」と「テスト(検証)」の関係性と基本的には同様です。
◽️デバッガー
デバッグ(バグ検知~修正)を担当する人
(デバッグをプログラムで行う場合もあり、その実行プログラムをデバッガーと呼ぶ場合もある)
◽️テスター
テスト(バグ検知)を担当する人
この「デバッガー」と「テスター」についても、
本来の意味合いでは、修正までを行うエンジニア領域を含むか否かの差がありましたが、
最近の使われ方としてはどちらも「バグを検知する人」という意味合いで使われます。
尚、本来の意味合い通りのデバッガーについて、
「バグの発見&修正のみを担当するデバッグ専門のエンジニア」ということになりますが、
このようなエンジニアがいるプロジェクトほぼ皆無と言え、
基本的にどの開発チームにおいても、
バグの検知はテスターが行い、修正はエンジニアが行うというのが一般的です。
(せっかくエンジニアなのだから、バグ処理専門として配置するよりも、色々な機能開発に関わった方がチームとしても自身としてもプラスになるという考えが大きい)
そのため、
本来の意味合いから少しズレて「デバッガー」も「テスター」も同じである、
という認識が浸透したのだと考えられます。
(筆者の経験の中でも、デバッグ専門エンジニアを置くチームは見た事がありません)
「デバッグ」と「デバック」の違い
結論から言うと「デバック」は間違いです。
先にも触れた通り、
「デバッグとは、”bug” を打ち消すという意味の言葉で “debug” と記述するものである」
と言う点であるためです。
これに付随した間違いとして、
「デバッカー」
と言う表現も散見しますが、
同じ理由で間違いなので注意が必要です。
【正】
デバッグ(debug)
デバッガー(debugger)
【誤】
デバック
デバッカー
今回はデバッグ関連の言葉について、
類義語や間違えやすい言葉についてお話しさせていただきました。