【保存版】《レベル別徹底解説》現役管理職が教えるソフトウェアテスト業界用語まとめ
- ソフトウェアテスト業界に転職する上で知っておいた方が良い用語は?
- ソフトウェアテスト業界でスキルアップするために知っておいた方が良い用語は?
- ポジションを上げる上で知っておいた方が良い用語とは?
こういった疑問に答えます。
この記事から得られること
- 【初級編】ソフトウェアテスト業界の用語まとめ
- 【中級-上級編】ソフトウェアテスト業界の用語まとめ
- 【失敗しない方法】転職する前にソフトウェアテスト用語を覚えるべき理由
【初級編】ソフトウェアテスト業界の用語まとめ
初級編では、対象者を以下に絞って用語をまとめました。
以下に当てはまる方は是非用語を覚えていただけたら幸いです。
用語を覚えることで、転職後もスムーズに業務に入っていくことができ、評価者から良い評価をされることは間違いありません。
- 未経験でこれからソフトウェアテスト業界に転職ようと考えている
- まだソフトウェアテスト業界のことを何も知らない
- これからソフトウェアテスト業界で稼いでいきたい
ソフトウェアテスト業界未経験者にもわかりやすく解説します。
【初級編】ソフトウェアテスト業界の用語まとめ ア行
アジャイル開発
- システムやソフトウェア開発におけるプロジェクト開発手法のひとつ
- 大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返して開発を進める
- 従来の開発手法に比べて開発期間が短縮されるため、アジャイル(素早い)と呼ばれている
インテグレーションテスト
- 複数のモジュールを結合した時に正しく機能するかを確認するテスト
- 主にモジュール間の接続点(インターフェース)がうまく機能するかを確認する場合と、結合した状態で外部から見て一体として正しく機能するかを確認する場合がある
- 結合テストと同意
- 統合テストと同意
ウォークスルー
レビュー手法の一つで、レビューイが成果物の内容をレビューアに説明すること。
主な目的
欠陥の発見、ソフトウェアプロダクトの改善、異なる実装方法の検討、標準や仕様へ の準拠の評価
その他の目的
- さまざまな技法やスタイルに関するアイデアの交換、参加者のトレーニング、合意の形成
- レビューミーティング前の個々のレビューアによる準備は任意
- 典型的には作業成果物の作成者がレビューミーティングを主導する
- 書記は必須
- チェックリストの使用は任意
- シナリオ、ドライラン、シミュレーションの形態を取る場合がある
- 潜在的な欠陥の記録やレビューレポートを作成する場合がある
- 運営により、きわめて非形式的のものから、高度に形式的なものまである
受け入れ基準
ユーザー、顧客、その他の認可団体が、コンポーネントやシステムを受け入れる場合、満たさねばならない基準
受け入れテスト
- システムが、ユーザーのニーズ、用件、ビジネスプロセスを満足するかをチェックするための公式なテスト
- このテストにより、システムが受け入れ基準を満たしているかどうかを判定したり、ユーザー、顧客、その他の認可団体がシステムを受け入れるかどうかを判定したりすることができる
エンドユーザー
- ある製品を実際に使ったり消費したりする人や組織のこと
- 製品の作り手や売り手から見て、直接の顧客(クライアント)や所有者と、実際の利用者が異なる場合に用いられる概念
【初級編】ソフトウェアテスト業界の用語まとめ カ行
開発環境
- 開発中の機能を見てもらう時などに使用する場所
- stagingよりさらにカジュアルな環境で、簡単に作って潰すような使われ方をするためにリソースはケチって立てることが多い
- development/dev環境とも呼ばれる
キャッシュ
- 英語でCacheと表記し、貯蔵庫、隠し場所という意味を持ちます
- よく使うデータを取り出しやすいところにあらかじめ準備しておく仕組み
- 身近な例→インターネットでページを閲覧した際、一度アクセスしたページのデータをブラウザで一時的に保管し、2回目以降にアクセスした際、表示スピードを上げる
結合テスト
- 複数のモジュールを結合した時に正しく機能するかを確認するテスト
- 主にモジュール間の接続点(インターフェース)がうまく機能するかを確認する場合と、結合した状態で外部から見て一体として正しく機能するかを確認する場合がある
検証環境
- 本番リリース前の動作検証を行う場所
- ほとんど本番に近い環境だが、サーバースペックは落としてあったり、外部API接続がテスト環境につながっていたりなどが異なる
- staging/stg環境とも呼ばれる
【初級編】ソフトウェアテスト業界の用語まとめ サ行
サブスクリプション
- amazon primeみたいなイメージ
- 月額料金でサービス受けられるけど、商品代は別途必要みたいな形
システムテスト
- 開発したシステムが期待通りに動作するか、構築したシステムが仕様通りの昨日や性能要件を満たしているか確認するテスト
- 総合テストと同意
スクラム
- アジャイルソフトウェア開発におけるプロジェクト管理のための反復型でインクリメンタル型のフレームワーク(枠組み)
- アジャイル開発参照
セッション
- 通信の開始から終了までを指す
- ネットワークに接続中のユーザがWebサイトを訪れ、サイト内で動作する一連の流れを1つの単位
- Webサイトにアクセスして、そのサイトから出て行くかブラウザを閉じるまでが1セッションとなる
総合テスト
- 開発したシステムが期待通りに動作するか、構築したシステムが仕様通りの昨日や性能要件を満たしているか確認するテスト
- システムテストと同意
ソフトウェア
- コンピュータを動かすプログラムのこと
ソフトウェアテスト
- コンピュータを動かすプログラムの不具合チェックすること
【初級編】ソフトウェアテスト業界の用語まとめ タ行
単体テスト
- プログラムを構成する比較的小さな単位(ユニット)がここの機能を正しく果たしているかどうかを確認するテスト
- 通常、関数やメソッドが単体テストの単位(ユニット)となる
- コード作成時などの早い段階で開発者によって実施されることが多い
デグレーション
- 退化や悪化という意味で、システムやプログラムの不具合を修正した時、ほかに新たな不具合やバグが発生してしまう状態のこと。
- デグレーションが起こるケース→
- 1.ソフトウェアのバージョンアップによって、機能低下を招いた
- 2.不具合修正をしたのに、別の不具合が発生した/バグが再発した
デプロイ
- 開発した機能やサービスを利用可能にする作業
- 開発環境から検証環境へアップロードしてテストに使用できる状態にすること
- ソフトウェアをインストールする作業
結合テスト
- 複数のモジュールを結合した時に正しく機能するかを確認するテスト
- 主にモジュール間の接続点(インターフェース)がうまく機能するかを確認する場合と、結合した状態で外部から見て一体として正しく機能するかを確認する場合がある
- インテグレーションテストと同意
- 結合テストと同意
【初級編】ソフトウェアテスト業界の用語まとめ ハ行
バッチ処理
- 一定量の(あるいは一定期間の)データを集め、一括処理するための処理方法
- バッチ処理の対義語としてリアルタイム処理があります。
- 身近な使用例→在庫管理、テストの自動化など
バリデーション
- 入力内容や記述内容が要件を満たしているか、妥当性を確認すること
- 入力フォームなどでよく使用される入力チェック
ビルド
- プログラマーが作成したプログラムの元ネタ(ソースコード)から、実際に動くプログラムを作り出し、利用者に引き渡せる配布可能なパッケージを生成する一連の工程全体
品質
- ユーザーが要求している性質や性能のことで、ユーザーが満足しているかどうかによって品質の良し悪しが決定します。
- 仮に、一般的には問題なく動くシステムだったとしても、ユーザーの要求通りでなければ品質が悪いというわけです。
品質管理
- 品質管理という意味であり、英語ではQualityControlの略語でQCと呼ばれる場合もあります。
- リリースするまでの間に品質が一定水準を満たしているかをチェック、管理をします。
- その水準は企業や顧客によって異なるため一律はしていないという点はあります。
品質保証
- 品質保証という意味であり、英語ではQualityAssuranceの略語でQAと呼ばれる場合もあります。
- 世の中にリリースされたシステムやアプリの品質を企画からリリース後に至るまで保証したり、サポートをします。
- リリース後に至ってもシステムの状況によっては修正をおこなったり、顧客の要件を満たすためにサポートするということです。
負荷テスト
- 大量のデータを投入し、高い負荷をかけてソフトウェアが正常に機能しているか確認するテスト
- 「単体テスト」や「結合テスト」だけでは見つけられない不具合があるため行われる
- 想定のユーザー数でも耐えることができることを確認するためのテスト
- 使用されるツール→ApacheJmeter,httperf,TheGrinderなどがあります。
本番環境
- エンドユーザーが利用する環境
- システムが製品として実際に稼働している環境
- production/prod環境とも呼ばれる
【初級編】ソフトウェアテスト業界の用語まとめ マ行
モーダル
- 子ウィンドウのこと
- 閉じるまで親ウィンドウの操作ができない
【初級編】ソフトウェアテスト業界の用語まとめ ヤ行
ユニットテスト
- プログラムを構成する比較的小さな単位(ユニット)がここの機能を正しく果たしているかどうかを確認するテスト
- 通常、関数やメソッドが単体テストの単位(ユニット)となる
- コード作成時などの早い段階で開発者によって実施されることが多い
- 単体テストと同意
【初級編】ソフトウェアテスト業界の用語まとめ ラ行
リグレッションテスト
- 回帰テスト、退行テストなどとも呼ばれ、プログラムの一部を修正した時に、その影響でほかに不具合が出ていないかをチェックするために行う。
- デグレーションが起こっていないかどうかを検証するために実施するテスト。
レビューア
- レビューをおこなう人
- 仕様書などのドキュメントを間違いがないかチェックする人
- テスト観点の観点漏れがないかチェックする人
- テストケースに漏れがないかチェックする人
レビューイ
- レビューをされる側の人
- レビュアとは逆の人
- レビューの対象となる成果物の作成者
【初級編】ソフトウェアテスト業界の用語まとめ A-Z
API
- ApplicationProgrammingInterfaceの略称、
- インターフェイスとは、コンピュータ用語でいうと、「何か」と「何か」をつなぐものという意味を持ち、APIとは、この「何か」と「何か」が「アプリケーション、ソフトウェア」と「プラグラム」をつなぐもの
- 簡潔に言うとソフトウェアの機能を共有できる仕組みです。
Cookie
- ユーザーとサーバー間で特定の情報をやり取りするファイル
- 閲覧中のWebサイトからスマホやパソコンに保存される情報
- Webサイトを訪れたユーザー情報を一時的に保存する仕組み&データ
- 保存されるデータ例→ID、パスワード、メールアドレス、訪問回数など
develpment環境
- 開発中の機能を見てもらう時などに使用する場所
- stagingよりさらにカジュアルな環境で、簡単に作って潰すような使われ方をするためにリソースはケチって立てることが多い
- 開発環境とも呼ばれる
- dev環境と略される場合もある
Hotfix
- ソフトウェアに発見された不具合を解消するために配布される修正プログラムのうち、問題に迅速に対応するため緊急に発行されるもの
- クライアントが製品の現在のリリース内で問題を発見し、次の大きなリリースまで修正されるのを待つことができない場合に使用される
JSTQB
- JSTQBとは、日本におけるソフトウェアテスト技術者資格認定の運営組織で、各国のテスト技術者認定組織が参加しているISTQB(InternationalSoftwareTestingQualificationsBoard)の加盟組織として2005年4月に認定されています。
- ISTQBの加盟組織の各国団体は資格および教育・訓練組織認証について相互認証を行っています。つまり、JSTQBが運営するソフトウェアテスト技術者資格は海外でも有効な資格となっています。
- JSTQBは次のような3つの委員会(Commitee)から構成されています。それぞれの委員会は国内における品質保証関連の研究を行っている研究者、高いスキルを持つテストエンジニアやコンサルタントなどを中心に構成されています。
- 公式サイトより引用:
JSTQB
modal
- 子ウィンドウのこと
- 閉じるまで親ウィンドウの操作ができない
N/A
- NotAvailableの略語
- 該当なしの意味
- テストケースを用いたテスト実行において、仕様変更などにより該当項目が存在しなくなった場合、該当項目の結果蘭に「N/A」と記載、または選択する場合がある
NT
- nottestの略語
- テストしない/テスト対象外の意味
- テストケースを用いたテスト実行において、該当項目はあるけど開発が途中だったり現在のフェーズでは対応しない場合、項目の結果欄に「NT」と記載、または選択する場合がある
- 「NT」にする場合、備考欄にその理由を記載する
- 基本的に開発側と同意が取れてから対応する
production環境
- エンドユーザーが利用する環境
- システムが製品として実際に稼働している環境
- 本番環境とも呼ばれる
- prod環境と略される場合もある
QA
- QualityAssuranceの略語で日本語では品質保証という意味になります。
- 世の中にリリースされたシステムやアプリの品質を企画からリリース後に至るまで保証したり、サポートをします。
- リリース後に至ってもシステムの状況によっては修正をおこなったり、顧客の要件を満たすためにサポートするということです。
QC
- QualityControlの略語で日本語では品質管理という意味になります。
- リリースするまでの間に品質が一定水準を満たしているかをチェック、管理をします。
- その水準は企業や顧客によって異なるため一律はしていないという点はあります。
SDK
- softwaredevelopmentkitの略称であり、日本語ではソフトウェア開発キットと訳されます。
- 特定のソフトウェアを開発する際に必要なツールのセット(APIのライブラリ、サンプルプログラム、技術文書などが含まれる)のこと
staging環境
- 本番リリース前の動作検証を行う場所
- ほとんど本番に近い環境だが、サーバースペックは落としてあったり、外部API接続がテスト環境につながっていたりなどが異なる
- 検証環境とも呼ばれる
- stg環境と略される場合もある
UDID
- 端末一台一台に割り振られている重複のない番号
- 案件ではDeployGateからアプリをインストールするためにUDIDを登録してもらう必要がある(iOSのみ)
- 登録されていない場合、DaployGateからアプリをインストールしようとすると「UDIDisnotincluded」となりインストールができない(iOSのみ)
UDP
- UserDatagramProtocolの略でコネクションレス型のプロトコル
- TCPに比べ信頼性がないものの高速に転送を行うことができる。
- 主な使用用途は、音声通話、Videoストリーミング、マルチキャスト通信、ブロードキャスト通信、少量のデータ転送など
【中級-上級編】ソフトウェアテスト業界の用語まとめ
以下の用語に関しては、用語そのものや用語の意味が難しく、初めは理解できない部分も多々あると思います。
ですが、ライバルに差をつけるためにもしっかりと覚えておくことが大切です。
誰でも理解できるようなことはライバルも理解出来ていることがほとんどですが、誰もが理解しにくいようなものはライバルも理解していないことが多いです。
ですので、そのライバルと差をつけるためにも、しっかりと学習を進めてください。
【中級-上級編】ソフトウェアテスト業界の用語まとめ カ行
カバレッジ
- 網羅率
- 全体のどれくらいを網羅できているかのこと
- テストカバレッジ(全テストに対する進捗率)のこと
クロスサイトスクリプティング
- ユーザからの入力内容をWebページに表示するWebアプリケーションにおいて、ウェブサイト(標的サイト)の脆弱性(XSS脆弱性)を利用した攻撃手法
- 身近な例→入力フォームにHTMLタグやJavaScriptタグが入力された場合、その内容をそのまま実行してしまう。
- 対策としてエスケープ処理などが行われる
- ウェブページの表示に影響する特別な記号文字(「<」、「>」、「&」等)を、HTMLエンティティ(「<」、「>」、「&」等)に置換する
クロスサイトリクエストフォージェリ
- セッションが有効になっている状態で、悪意のある第三者が作成したURLにアクセスすると、意図しない情報を送信してしまう攻撃を指す。
- 2005年頃、mixiで日記にあるリンクをクリックすると、自身の日記にも同様の内容を投稿してしまう「はまちちゃん事件」が流行、問題となった。
- 対策は、リクエストトークンの整合性を確認したり、HTTPのRefererヘッダで送信元のチェックを行う等。
【中級-上級編】ソフトウェアテスト業界の用語まとめ サ行
ステートメントカバレッジ
- 命令網羅率
- すべての処理をおこなうように指定した内の全体に対するテストの進捗率
【中級-上級編】ソフトウェアテスト業界の用語まとめ タ行
ディレクトリトラバーサル攻撃
- ファイル共有画面やWebサイト似て、相対パスを悪用して、本来はアクセスできないディレクトリにアクセスする攻撃方法。
- URL欄に../を入れることで、上位ディレクトリにアクセスできるので、それを悪用し、データを壊したり盗んだりする。
- 対策は、ロールを正しく設定して対象のディレクトリ以外はアクセスできないようにしたりする、Webサーバの設定を適切にする等。
デシジョンカバレッジ
- テストの対象となるプログラムコードのうち、判定条件(デシジョン)の真/偽を実行した割合
- 100%のデシジョンカバレッジは、100%のブランチカバレッジと100%のステートメントカバレッジの両方雨を意味する
- 100%のデシジョンカバレッジの達成は、100%のステートメントカバレッジの達成を保証する。逆は保証しない
【中級-上級編】ソフトウェアテスト業界の用語まとめ ハ行
ブランチカバレッジ
- 分岐網羅率
- テストの対象となるプログラムコードのうち、条件文の真/偽を実行した割合
【中級-上級編】ソフトウェアテスト業界の用語まとめ A-Z
OSコマンドインジェクション
- Webアプリケーションで、本来実行するコマンドと同時に別のOSコマンドを挿入する攻撃方法。
- PHPのexecコマンドやPythonのsystemコマンド等のLinuxコマンドを実行するコマンドを悪用する。
- 例えば、システムで想定している値の後に「;ls-l」と入力して送信すると、カレントディレクトリの格納ファイルも一緒に返す。
- 対策方法は、Linuxコマンドで使用する特殊文字をエスケープ処理する等
SQLインジェクション
- インジェクション」とは、英語で「注入」を意味し、不正な「SQL」の命令を攻撃対象のウェブサイトに「注入する(インジェクションする)」サイバー攻撃の総称
- 身近な例→ウェブページによくあるログイン画面でIDのフォームに1’or’1’=’1′;–と入力するとパスワードがコメントアウトされたSQL文になり、パスワードなしでログインできてしまう
- 対策方法には「プレースホルダ」を使いSQL文を組み立てたり、エスケープ処理などを行う
【失敗しない方法】転職する前にソフトウェアテスト用語を覚えるべき理由
転職する前にソフトウェアテスト業界の用語を覚えるべき理由としては以下の3点です。
- ロケットスタートできる
- 同期のメンバーを出し抜くことができる
- 先輩や上司から一目置かれる
経験者なら出来るのはわかるのですが、未経験者入社で業界のことを熟していれば先輩や上司たちの間で以下のような会話がなされます。
未経験者入社って聞いてたけどいったい何者?
これなら中級者と言っても通じるね。
そこまでできるならチームリーダーとしてチームをまとめてもらおう!
何でも仕事熟してくれてほんと助かる。次の昇給候補にしよう!給料上げよう!
そして、管理職および評価者に一目置かれるようになり、次の昇給候補になる場合がほとんどです。
ですので、最短でのキャリアアップのため、必要最低限の準備をしておくことはとても大切なのです。
ソフトウェア業界で主に使用する用語について覚えておきましょう。
【未経験者】キャリアアップで転職エージェントを活用する方法
転職エージェントとコミュニケーションを取る際、キャリアアップを見越したコミュニケーションを取る必要があるということです。
多くの方は転職活動のゴールを転職においています。
そのため、転職した後のギャップに苦しめられることが多々あります。
その失敗を最小限に抑えるためにも、転職活動時点で将来のキャリアアップを見越した形で転職エージェントとコミュニケーションを取っておくことが必要です。
具体的には以下の事柄をコミュニケーションの中に盛り込めば問題ないです。
- 将来性のある会社か
- ベンチャーか上場企業か
- 設立何年か
- 社風はどのような形か
- 過去に入社した人はどれくらいで昇給しているか
- 過去に入社した人は約何年で昇格しているか
- 下からでも上に上がる仕組みが整えられているか
もちろん上記の全てが転職エージェントの方でわかるわけではありません。
ただ、相談をしないと話になりません。
相談はいくらしても問題ありませんので、これらのことも踏まえて相談するべきということです。
もし転職エージェントには不明なところがあったとしても、調べてもらえることがほとんどになります。
ですから、将来の自らのキャリアアップのためにもと転職エージェントとコミュニケーション取り、しっかりと準備しておくことが大切です。
また、そのオススメの転職エージェントについては、以下の記事で詳しく書いていますので、こちらからご覧ください。
ソフトウェアテスト未経験者が抑えておくべきポイント3選
ソフトウェアテスト未経験者がはじめに抑えておくべきポイントとして以下の3点が挙げられます。
- ソフトウェアテストとは何か
- ソフトウェアテスト業界で使用する用語
- キャリアアップ方法
転職してロケットスタートできるかどうかは、転職前に事前準備をしているかしていないかによって変わってきます。
転職した直後にロケットスタートをするためには、上記の3点を全ておこなうことで可能となるのです。
詳しくは以下の記事でまとめていますので、こちらをご覧ください。