テストエンジニアに最も重要なスキルは「リスクを見抜く力」?

動画編集

テストエンジニアやQAエンジニアに必要なスキルはいくつもあります。
その中で、僕が最も重要だと思っているのはリスクを見抜く力です。

ここでいうリスクを見抜く力とは、単に異常系のテストケースを多く作ることではありません。

どこで不具合が起きやすいのか。
その不具合が起きた場合どれくらい大きな影響があるのか。限られた時間の中で、どこを優先して確認するべきかを判断する力と思っています。



スポンサーリンク

すべてをテストすることはできない

実務では全ての条件を確認するだけの時間や人員はありません。

画面、入力値、権限、端末、通信状態、データの組み合わせまで考えれば、確認対象はいくらでも増やすことができます。

しかしそれら全てを見ることは実質的に不可能だからこそテストエンジニアには優先順位を決める力が必要です。

たとえば発生する可能性は低くても、他人の個人情報が見えてしまう不具合は優先して確認するべきです。
一方で影響が小さくほとんど発生しない条件に時間を使いすぎるのは効率的ではありません。
テストケースの件数を増やすことより、こういった重大な問題を見落とさないことのほうがはるかに大切です。



正常系を軽視するわけではない

開発者がすでに確認している正常系をQA側でも同じ条件で何度もなぞることにはやるたびに疑問があります。
もちろんログイン、購入、決済、データ登録など、主要な機能が動くかの確認は必要です。

ただ、開発者と同じ操作を繰り返すだけではテスト担当者が分かれている意味が薄くなります。
テストエンジニアは「開発者が想定していない条件を考える役割」があり、それもかなり重要だと思っています。

・ボタンを連打したらどうなるか
・入力途中で戻ったらどうなるか
・権限の違うユーザーで操作したらどうなるか
・複数画面から同じデータを更新したらどうなるか。

こうした壊れ方を予測できるかでテスト設計の質は変わります。



仕様書にないリスクも考える

仕様書どおりに動いていても、プロダクトとして問題がないとは限りません。

権限ごとの表示条件が抜けていたり、エラー後の状態が決まっていなかったり、二重送信への考慮がなかったりすることも多々あります。

その場合、「仕様書に書いていないから確認しない」で終わらせるべきではありません。
しかしテストエンジニアが勝手に仕様を決めるのも違います。

漏れや矛盾に気づいたら開発者やプロダクト担当者へ確認し、チームとしてどうすべきかを決める必要があります。



リスクを説明できて初めて価値になる

冒頭で「リスクを見抜く力」がテストエンジニアには最も重要と言いましたが、リスクに気づくだけでは足りません。

どの条件で発生し、誰に影響し、なぜ優先して確認するべきなのかを説明できなければ、なぜそれがリスクなのかを正しく伝えられないからです。

テストエンジニアの価値は、テストケースを大量に作ることではないと思っています。
まだ誰も確認できていない危険な場所を見つけ、重大な問題がリリースされる前に止める。

それがテストエンジニアの真の仕事の一つだとも思っています。

そのために必要なのが、「リスクを見抜く力」です。

コメント