【保存版】現役管理職が教える失敗しないテストプロセス完全解説《ソフトウェアテスト》
- キャリアアップするためには何をすれば良いか
- テストプロセスとは何か?
- テストスキルを磨きたい
このように疑問を持たれている方も大勢いらっしゃるのではないでしょうか。
誰しもが早くキャリアアップをしたいと考えていると思いますが、キャリアアップするにも具体的に何をどうすれば、どこまでキャリアは伸ばせるのかという点が曖昧になっています。
私は、現在ソフトウェア業界で約10年間従事しており、今では管理職という立場になっています。
ただ、10年前は管理者という立場からはほど遠く、たった一人の「テストをする人」という形でした。
ですが、私はそこで止まるのは嫌だったため、努力と経験を積み重ね、管理職という立場になることができました。
そこで、この記事では、未経験からソフトウェアテスト業界に転職し、次のステップへスムーズにいくための道標として、私の経験に基づく知識や実践方法まで完全解説します。
この記事を読めば「ソフトウェアテストにおけるテストプロセス」が全てわかるようになります。
私が約10年間ソフトウェアテスト業界で従事し、管理職という立場になった今だから見える知識や経験を凝縮しました。
以下の方々、どなたでもスキルアップを目指せる内容となっております。
- 未経験からソフトウェアテスト業界に入社したが、まだ右も左もわからない
- テストプロセス?何?それ美味しいの?
- 徐々に知識が深まってきたけどもう少しスキルアップしたい
- 早くキャリアアップしたい
- 将来は管理職を目指している
ソフトウェアテスト業界で、今以上に知識を付けて、早く昇給・昇格したい、キャリアアップしたいと考えている方はぜひ最後まで読んでください。
本記事からわかること
- キャリアアップのためのテストプロセス
- テストプロセスとは何か?
- ソフトウェアテスト未経験者が抑えておくべきポイント3選
キャリアアップのためのテストプロセス
結論から言うと、どこまでできるかによってポジションと給料が決まります。
ここでは、テストプロセスにおいての何ができるか三段階にわけて、以下の指標で示します。
- ポジション
- 給料
- 次のステップ
具体的に以下で解説します。
テスト実行
いわゆるテスターと言われる方々です。
ポジション、給料、目指すべき次のステップとして以下に表で示します。
ポジション | テスト実行者 |
給料 | 240万〜360万/年収 |
次のステップ | テスト設計者 |
給料は一番少なく未経験から転職すればほとんどの人がここからスタートです。
まずは、給料を上げたりキャリアアップしたいと考えているのであれば、まずはテスト設計者を目指すことになります。
テスト設計
テスト設計者と言われる方々です。
ポジション、給料、目指すべき次のステップとして以下に表で示します。
ポジション | テスト設計者 |
給料 | 360万〜420万/年収 |
次のステップ | テストリーダー |
テスト実行のみの時と比べて給料は上がります。
次のポジションにステップアップするには、テスト計画ができるようになることです。
テスト計画ができるようになれば、ほぼテストリーダー以上のポジションとなります。
テストリーダー以上のポジションとなると、管理職も狙えるポジションですので給料は大幅に上がります。
テスト計画
テストリーダーと言われる方々です。
ポジション、給料、目指すべき次のステップとして以下に表で示します。
ポジション | テストリーダー以上 |
給料 | 420万/年収〜 |
次のステップ | テストマネージャー |
ここまでくれば、各プロジェクトでテストリーダー以上のポジションを担うことができます。
管理職も目指せるポジションのため、ここで止まることなく、更なるキャリアアップを目指すことが可能になります。
テストプロセスとは何か?
JSTQBによると、テストプロセスは以下のように定義されています。
JSTQB FL シラバス
- テスト計画
- テストのモニタリングとコントロール
- テスト分析
- テスト設計
- テスト実装
- テスト実行
- テスト完了
ですが、実際にはここまでフェーズごとにしっかり区切られているわけではありません。
どちらかと言うと流れるように無意識でこれらの作業をおこなっている場合がほとんどです。
その流れとは、主に以下の三段階にわかれます。
- テスト計画段階
- テスト設計段階
- テスト実行段階
具体的には以下のとおりです。
テスト計画段階
作業内容 | 説明 |
---|---|
テスト計画書作成 | テスト計画書を作成します。 |
テストモニタリング | テスト計画書で定義したものと実際の進捗を継続的に比較する活動です。 |
テストコントロール | 上記のテストモニタリングで継続的に進捗を比較し、そこにもしズレなどが生じてきた場合は対策を講じる活動で、もし、スケジュールなどが大幅な変更になった場合は、テスト計画書に修正も加えます。 |
いわゆるテストモニタリングとテストコントロールはセットで考えることが必要になってきます。
また、テストモニタリングとテストコントロールに関しては、テスト計画段階でおこなえばそれで終わりではなく、テスト工程全てにおいて必要なフェーズで、いつにおいてもテスト計画に修正を加えないといけない場合は修正を加えるのです。
テスト設計段階
作業内容 | 説明 |
---|---|
テスト分析 | 「何をテストするか」を決定します。 |
作業内容 | 説明 |
---|---|
テスト設計 | 「テスト分析で決定したもの(何をテストするか)をどうテストするかを決定します。 |
テスト実行段階
作業内容 | 説明 |
---|---|
テスト実装 | テストの実行に必要なものすべてを準備します。 |
「必要なものすべて」と言われてもピンと来ないかもしれませんが、具体的には以下のようなものです。
- テストケース
- テスト環境
- テストで使用するテストデータ
テスト実行をするときのために準備しておかないといけないもの全てと覚えておくと良いでしょう。
作業内容 | 説明 |
---|---|
テスト実行 | 準備したテストケースに従ってテストをおこないます。 |
テストをおこない、不具合が見つかったものに関しては不具合レポートに記載し、開発者へフィードバックをします。
作業内容 | 説明 |
---|---|
テスト完了 | テスト計画書で定義したテスト終了基準の定義に基づいてテストが完了したかどうかを判断します。 また、完了したテストの全活動のデータを集め、プロジェクトから得た情報などをまとめます。 |
それでは各工程について詳しくみていきます。
通常、テスト計画から始まりテスト実行に終わるのですが、本記事は未経験者が多く読んでいることを想定して、以下の順番でレベルごとに解説していきます。
- テスト実行
- テスト設計
- テスト計画
テスト実行
プロジェクトにおける製品に対しての不具合があるかをチェックするお仕事です。
いわゆるテスターと言われる方々で、テスト設計者が別にいる場合、テスト実行のみをおこなうケースがございます。
主な業務内容とは以下のとおりです。
- テスト設計者が作成したテストケースに従ってテスト実行をする
- テストケースを用いないで自らの感覚で様々な箇所を触り不具合を探す
テストケース | 簡潔にお伝えすると、ソフトウェアテストを実施する際に用意される実行条件や実行手順、期待される結果などの組み合わせとなります。 要するに、このテストケースに記載されていることを元にテストを実行すれば、このソフトウェアに不具合があるかどうかがわかる仕組みになっているのです。 |
- 誰がテストをしても同じ結果が得られるようになっている
- 不具合があるか問題ないかが一目でわかる
という形になっており、ソフトウェアテストにおける指標になります。
テスト設計
テスト実行するための指標となるテストケースを作成するお仕事です。
テストケースの意味は前述しましたが、テストケースを作成する際のポイントとしては以下2点です。
- 誰がテストをしても同じ結果が得られるテストケースを作成する
- テスト実行者が迷わないようなテストケースを作成する
- テスト実行者から質問が出ないようなテストケースを作成する
一つずつ紐解いていきます。
誰がテストをしても同じ結果が得られるテストケースを作成する
正確性の問題です。
- 前提条件
- 実行手順
- 期待結果
上記を正確に記載することが大切です。
もし、正確性に欠けるテストケースだったとしたら、認識の相違が発生し、テスト実行者の判断で結果を誤ってつけてしまうケースになることもあります。
本当は不具合があるにも関わらず、パスしてしまっていたらどうでしょうか。
最悪の場合、リリース後に不具合が発覚し、お客様からのクレームにも繋がりかねません。
これがもし、命の危険が左右される飛行機の監視システムや医療機器などの場合、もっと取り返しのつかないことになってしまいます。
そのため、テストケースを作成する際、ここの要素はもっとも重要なのです。
テスト実行者が迷わないようなテストケースを作成する
要するに、出来るだけ細かくわかりやすく記載するということです。
また、テスト実行者はあまり画面設計書や詳細設計書などを見る習慣がありません。
そのため、プロジェクトにおける製品の仕様を全てテストケースに落とし込むことが大切です。
テストケースには簡易的に記載し、後は、「画面設計書を見てください。」だけだと不親切というわけです。
テスト実行者が迷わないようなテストケースを意識して作成していきましょう。
テスト実行者から質問が出ないようなテストケースを作成する
上記の「迷わないようなテストケース」と一緒に考えると良いです。
もし、テスト実行者が迷ってしまうようなテストケースを作成してしまった場合、必ずテスト設計者に質問がきます。
ですので、テストケースを作成する際には「テスト実行者から質問が来ないようなテストケース」も意識して作成すると良いでしょう。
テスト計画
テスト工程全ての計画を立てるお仕事です。
計画を練り、テスト計画書というドキュメントを作成します。
そして、そのテスト計画書をプロジェクトマネージャーに提出し、「今回のテストはこれでいきます。」と、予め認識を合わせておくことが大切です。
このテスト計画によって、全てのテスト工程が進んでいきますので、テストの中で一番重要な工程と言えます。
もし、このテスト計画が正確性の欠くものでしたとしたら、テスト計画通りテストを進めることができなく、プロジェクト自体を計画通り進ませることができなくなります。
その結果、工数が予想以上に増え、予算オーバーになってしまうこともあるのです。
私も実際、過去に関わったプロジェクトで(私自身は計画していないが関わったことのあるプロジェクト)、計画や見積もりの甘さで、予定工数の倍かかってしまったというケースがありました。
ここまでになると、会社に大幅な損失を与えてしまい、下手したら始末書などの対応をしなければいけません。
ですので、そこまで重要だということを念頭において、テスト計画の段階でしっかりと確実に計画を練っておきましょう。
ソフトウェアテスト未経験者が抑えておくべきポイント3選
ソフトウェアテスト未経験者が転職活動する上で抑えておくべきポイントは以下の3点です。
- ソフトウェアテストとは?
- ソフトウェアテスト業界の用語
- ソフトウェアテスト業界のキャリアアップ方法
前項でテストプロセスに関して解説しましたが、他にもソフトウェアテスト未経験者がはじめに覚えておくべきポイントがあります。
未経験からソフトウェアテスト業界への転職を成功させるために、事前にこれらを理解しておくことが大切です。
詳しくは以下で解説しています。
ソフトウェアテストとは?
結論から言うと、出来上がったシステムが仕様通りになっているか、使いにくくないかなどをチェックするお仕事です。
ただし、チェックすると言っても、その内容は奥深く、ただ単に無闇にチェックすれば良いというものではありません。
では、どのようにチェックするのが一番効率なのか、詳しくは以下の記事で解説していますので、ぜひご覧ください。
ソフトウェアテスト業界の用語
はじめからロケットスタートするためにも、ソフトウェアテスト業界で使用する用語を覚えておくことは大切になります。
用語を知るのと知らないとではキャリアアップに大きな差が出ます。
なぜなら、実践でも専門用語を用いて会話することが多くなるからです。
その際に頭が珍紛漢紛になっていては、取り残されてしまいます。
取り残されるどころか、「何も知らない人」のレッテルを貼られてしまうことも多いです。
ですので、そうならないためにもソフトウェアテスト業界の用語を初めから覚えておくことが必要なのです。
ソフトウェアテスト業界の用語集として、以下の記事で詳しく記載していますので、こちらも併せてご覧ください。
ソフトウェアテスト業界のキャリアアップ方法
ソフトウェアテスト業界でキャリアアップする方法は、主に下記の3点です。
- 転職エージェントを使う
- 資格取得をおこなう
- 本で学習する
なぜなら、給与を上げる場合、転職して給与を上げるか、知識を身につけて給与を上げるかの2つしかないからです。
私はソフトウェアテスト業界に入って、もう10年以上にもなりますが、この2つどちらも経験したことがあります。
具体的に言うと、
知識を使って転職したという形です。
ソフトウェアテスト業界の知識を身につけ、経験を活かし、取得するべき資格を取得し、その知識と経験を面接の時にアピールしたのです。
その結果、年収100万円以上アップということも実現することができました。
このように、ソフトウェアテスト業界におけるキャリアアップ方法を最初に学んでおくことで、そこに向けてブレることなく進むことができるようになります。
ですので、まずは、ソフトウェアテスト業界におけるキャリアアップ方法を頭の中に入れましょう。
詳しくは以下の記事で解説していますので、ぜひご覧ください。
まとめ:失敗しないテストプロセス完全解説《ソフトウェアテスト》
ソフトウェアテストのテストプロセスの全ては以下のとおりです。
JSTQB FL シラバス
- テスト計画
- テストのモニタリングとコントロール
- テスト分析
- テスト設計
- テスト実装
- テスト実行
- テスト完了
このプロセスを大きく三段階に分けて解説します。
テスト計画
テストを計画し、テスト計画書を作成します。
以下の点においてまとめましたのでご覧ください。
- 重要なポイント
- 注意点
- 詳細
重要なポイント
- テストを計画通り進めるために一番重要な工程
- テスト計画書をプロジェクトマネージャーに提出する
- プロジェクトマネージャーとテスト計画の認識合わせをする
注意点
- 見積もりが甘いとプロジェクトが失敗してしまう
- 見積もりが甘いと場合によっては会社に大損害を与えてしまう
- その結果、信用を失ってしまうこともある
詳細
主には以下の記事で解説していますので、こちらも併せてご覧ください。
※現在作成中のため少々お待ちください。
テスト設計
テスト実行するために仕様を把握しテスト設計書、テスト仕様書を作成します。
以下の点においてまとめましたのでご覧ください。
- 重要なポイント
- 注意点
- 詳細
重要なポイント
以下の3点を意識してテスト設計することが重要になります。
- 誰がテストをしても同じ結果が得られるテストケースを作成する
- テスト実行者が迷わないようなテストケースを作成する
- テスト実行者から質問が出ないようなテストケースを作成する
注意点
- 設計が甘いと不具合を検出しにくい
- そのためお客様の信頼を失ってしまうともある
- 最終的にはお客様のクレームにつながってしまう
詳細
主には以下の記事で解説していますので、こちらも併せてご覧ください。
※現在作成中のため少々お待ちください。
テスト実行
テスト設計フェーズで作成されたテスト仕様書を元にテスト実行をおこないます。
以下の点においてまとめましたのでご覧ください。
- 重要なポイント
- 注意点
- 詳細
重要なポイント
- ソフトウェアが想定した動作になっているかを確認する
- 不具合が潜んでいないか確認する
- ユーザビリティ(使い勝手)が良いか確認する
注意点
もしうっかり不具合を見逃してしまったとした場合、以下のような事態になることも考えられます。
- 重大事故やお客様の失墜につながる
- 重大事故に繋がった場合多大な損害賠償を請求されることもある
- お客様だけではなく所属する会社にも多大な損失を与えてしまうことになる
その為、以下の能力が求められます。
- 的確に不具合を検知する能力
- ユーザー目線に立って考えることができる能力
詳細
主には以下の記事で解説していますので、こちらも併せてご覧ください。
※現在作成中のため少々お待ちください。