![【保存版】ソフトウェアテストとは?現役管理職が[稼げる手順]を徹底解説](https://software-test.jp/wp-content/uploads/what0.jpg)

迷える転職者
ソフトウェアテストって何?

迷える転職者
デバッグとテストは同じ意味?

迷える転職者
ソフトウェアテストの給料水準ってどれぐらいなの?
- 未経験からソフトウェアテスト業界を目指す
- 異業種からソフトウェアテスト業界を目指す
- 自らの学びをレベルをアップしたい
本記事からわかること
- ソフトウェアテストとは何か?
- ソフトウェア開発におけるテストの役割
- ソフトウェアテスト業界の給料水準
ソフトウェアテストとは何か?

テストの必要性

- リリース後重大事故に繋がらないため
- リリース後ユーザーが安心して使っていただけるため
- ユーザーに満足していただけるため
リリース後重大事故に繋がらないため
ソフトウェアテストを怠ると重大事故に繋がるケースがあります。 例えば、飛行機の制御装置など、人の命がかかるような場合、テストを怠ってしまうと取り返しのつかないことになってしまう恐れがあります。 その分、より一層厳格なテストが求められます。 このようにソフトウェアテストといっても内容は様々です。 主には以下にように様々なジャンルが存在します。- 飛行機制御装置のような人命に関わるソフトウェア
- 主に企業で導入されている大型企業向けソフトウェア
- ゲームなどのエンターテイメント性のあるソフトウェア
- ユーザーからの失墜
- 契約の打ち切り
- 損害賠償の請求
リリース後ユーザーが安心して使っていただけるため
この会社の商品であれば問題ない そのように信頼を勝ち取ることはとても大切です。 逆に、毎日不具合が頻繁に発生し、毎回臨時アップデートを繰り返してしまっていては如何でしょうか。 そのソフトウェアを安心して使えるというには程遠いはずです。 様々なユーザーがいらっしゃいますし、全てのユーザーの要望を取り入れる形でソフトウェアを開発するのは難しいです。 ですが、前述したようなソフトウェアの場合、少なからず離脱していくことでしょう。 ですから、そうならないためにもソフトウェアテストのレベルが求めらるのです。ユーザーに満足していただけるため
これも前述した内容と似ているのですが、一例を挙げると以下の通りです。- 不具合が頻発するとユーザーの不満が溜まる
- 使い勝手が悪いとユーザーの不満が溜まる
- メンテナンス期間が頻発および長時間に渡るとユーザーの不満が溜まる
- 不具合が滅多に発生しない
- 使い勝手が良い
- メンテナンス期間が短い
テストの7原則

一つずつ紐解いていきます。引用元:JSTQB公式ページ FLシラバス
- テストは欠陥があることは示せるが、欠陥がないことは示せない
- 全数テストは不可能
- 早期テストで時間とコストを節約
- 欠陥の偏在
- 殺虫剤のパラドックスにご用心
- テストは状況次第
- 「バグゼロ」の落とし穴
テストは欠陥があることは示せるが、欠陥がないことは示せない
不具合が見つからなかったとしても正しさの証明にはならないということです。 例えば、テストをおこない、不具合が全く見つからなかったとします。 ただ、その時実行したテストケース上で不具合が見つからなかっただけで、もしかしたらテストケース外のところに不具合が潜んでいたかもしれません。 ですので、不具合が「ゼロ」だからといって安心してはいけないのです。全数テストは不可能
すべての組み合わせをテストすることは「不可能ですし、効率的ではありません。」ということです。 小さな機能でしたら何十通りの組み合わせでテストが可能ということもありますが、大きな機能のテストのなると全組み合わせは何千通り、何万通りになることも少なくありません。 その全てをテストするのは効率的でなく、以下の考えでテストをすることが重要です。- これまでの結果に基づいてテストする箇所を絞り込む
- これまでにテストをあまりしていない箇所を重点的にテストする
- 実際のユーザーの動きを想定してテストする
早期テストで時間とコストを節約
開発工程では不具合を後で発見すればするほどプログラムを修正するのに時間がかかります。 修正に時間がかかるということはコストもかかるということです。 ですから、時間とコストを節約するためには、できるだけ早い段階でのテストが求められるのです。 具体的には以下の段階からテストに入れるとベターです。- 要件定義
- 要件定義のレビュー お客様と要件を詰めた際の要件定義の部分から参加し口出しをすることができれば、ソフトウェアテストの観点からも見ることが出来てベター
- 仕様書作成
- 仕様書のレビュー 要件定義がまとまった後の仕様書(プログラムやシステムを構築するための設計書)作成段階から参加できれば、仕様書の間違いなどがあった場合、いち早く気づけるのでベター
- プログラムを書く
- コードレビュー 動いたものに対してテストするのではなく、プログラムを書いた際、そのコードによっておこなうレビューであり、プログラムが完成する段階、コードを書いた直後に気づけるのでベター
欠陥の偏在
バグはシステムの全面的に発生するのではなく、大部分は特定のモジュールでバグが発生しやすいという話です。 その特定のモジュールというのは一例を挙げると、境界値というものがあります。 例えば、半角数字4文字〜8文字が入力可能なテキストボックスがあったとします。 ここでの確認方法は以下の通りです。- 半角数字3文字
- 半角数字4文字
- 半角数字8文字
- 半角数字9文字
- 半角数字3文字
- エラーになること
- 半角数字4文字
- 入力可能なこと
- 半角数字8文字
- 入力可能なこと
- 半角数字9文字
- エラーになること
- 最小文字数未満
- 最小文字数
- 最大文字数
- 最大文字数超過
- この部分はバグが多くなっている
- ここの部分はバグが少ない
殺虫剤のパラドックスにご用心
何度も同じテストを繰り返していると最終的にはバグが発見できなくなるという例えです。 なぜバグが発見できなくなってしまうのかというと、抗体が出来てしまうというからになります。 風邪になってそれに適合した薬が投与されると抗体ができ、次からは風邪になりにくくなることもありますが、いわばそれと似たような現象なのです。 バグが発見でなくなるのは良いことのように思われがちですが、前述したように以下のようなケースもあるということを念頭に置いておかなければなりません。- テストケースだけでバグの検出が賄えない
- バグはテストケース外のところで発生する
- バグは見えない部分に潜んでいる
テストは状況次第
状況が異なれば、テストの方法も変わるということです。 例えば、以下のような部類でテスト方法が異なります。- 24時間稼働の飛行機制御システム
- 企業で導入されている業務用会計ソフト
- ゲームソフト
「バグゼロ」の落とし穴
これはいわばソフトウェアテストの肝と言える部分です。 お客様やPM(プロジェクトマネージャ)が設計した要件通りにシステムを構築したとしても、ユーザーとしてはその構築した機能が使いにくかったりする場合があります。 ですから、テストをする側としても要件通りにシステムが構築されているかばかりに焦点を当てるのではなく、ユーザビリティ、いわゆる使い勝手が良いか良くないかに焦点を当ててテストすることも重要です。 ユーザー目線に立ってテストを確認するということになります。ソフトウェア開発におけるテストの役割

デバッグとテストの違い

デバッグ
デバッグの定義は、以下のように定められています。故障の基となる欠陥を見つけて、解析し、取り除く一連の開発活動 引用元:JSTQB公式 FLシラバス
テスト
テストの定義は、以下のように定められています。実行することでソフトウェアに存在する欠陥に起因する故障を示す 引用元:JSTQB公式 FLシラバス定義だけではわかりにくいので、以下の表にまとめました。
デバッグ | テスト |
---|---|
開発者担当者 | テスト担当者 |
故障の基となる欠陥を見つけて、解析し、取り除く一連の開発の活動 | システムを確認し不具合を見つけて開発者へフィードバックする作業(解析、取り除く作業は行わない) |
ソフトウェアテスト業界の給料水準

ソフトウェアテスト業界で給料をアップさせる方法

- エンタープライズ業界に転職する
- テストマネージャーになる
- マネージャーになる
- エンタープライズ業界に転職する
- 業務経験を積む
- テストマネージャーになるために学習する
- 資格を取得する
- マネージャーになる
- 業界
- 業務
- 役割
ソフトウェアテスト業界と業務内容

- ソフトウェアテスト業界の区分け
- 業務内容の違い
- 将来的に給料をどれぐらいもらいたいのか
- 将来的にどこのポジションで活躍したいのか
- 将来的にどこの業界で働きたいのか
業界
ソフトウェアテストといっても業界は様々です。 大きく分けると以下2つの業界が有名です。- エンターテイメント
- エンタープライズ
- ゲーム
- 音楽
- 配信
- 企業向け会計ソフト
- 金融系システム
- 採用マッチングサービス
業務
今置かれている業務内容によっても給料が異なるのは当然のことです。 ソフトウェアテスト業界の場合、以下のように異なります。- テスト実行者
- テスト設計者
- テストリーダー
- テストマネージャー
- JSTQB(またはISTQB) Foundation Level合格者
- 業務経験3年以上
- ISTQB
- ISTQBはJSTQBの海外版と考えていただければ問題ないです。 JSTQB頭文字のJはJapanのJで、ISTQB頭文字のIはInternationalのIになります。
ソフトウェアテスト業界の役割

- 知識を見につける
- スキルアップする
- 資格取得する
役割
上記の業務とも一部重複する部分は出てきますが、役割によっても給料は異なってきます。 ソフトウェアテスト業界の役割とは主に以下になります。- テストリーダー
- テストマネージャー
- チームリーダーまたは課長
- マネージャーまたは部長