見出し画像

テスト自動化する理由ってなんなん?~JSTQB TAEシラバスを読んで、テスト自動化を学んでみる Vo.3~ 1.1 テスト自動化の概要と目的(2)

 こんにちは。
ちゃんとこのシリーズを継続できているな~と思いながら、記事を書いている今日この頃のJimmyです。
継続することも大事ですが、ちゃんと過去の記事修正も行っていきたいと思っています。

引き続きJSTQB TAEシラバスを読みながら、テスト自動化について学んでいきたいと思います。

はじめに

 今回は、1.テスト自動化の概要と目的の続きになります。
主に、テスト自動化の目的について触れていきたいと思います。

【JSTQB TAEシラバス構成】
0.イントロダクション(完了)
1.テスト自動化の概要と目的(←この続き)
2.テスト自動化の準備
3.汎用テスト自動化アーキテクチャ
4.導入のリスクとリスクヘッジ計画
5.テスト自動化のレポートとメトリクス
6.手動テストから自動化環境への移行
7.TASの検証
8.継続的な改善

注意事項

・このシリーズの投稿は個人の意見であり、所属企業・部門見解を代表するものではありません。
・また、テスト自動化のエキスパートではありませんので予めご了承ください。

テスト自動化の目的

 JSTQBでは、テスト自動化の目的は以下が含まれるとしています。

テスト自動化目的①テスト効率性の向上

 1つ目はテスト効率性の向上です。これを見た時に、効率性の定義に自信がなかったので、ISTQBの用語集で調べました。

・効率性
利用者が特定の目標を達成するための正確さ及び完全さに関連して、使用した資源の度合い。(ISTQB用語集)

これを今回の目的に当てはめると、以下が該当するのかなと感じました。

・限られた時間で十分なテストを実施したい(十分なテストってなんやってなりますが、それは顧客と合意することなのでふれない。。)
 ex.テスト実施件数、テスト実施回数、テスト範囲等

・テスト自動化によって、リソース(人的、時間)を有効活用したい

テスト自動化目的②機能カバレッジの拡大

 2つ目は機能カバレッジの拡大です。ここで、軽くカバレッジについて復習したいと思います。

・カバレッジ
テストスイートを使用して特定のカバレッジアイテムを判定または実行した度合い。パーセンテージで表す。(ISTQB用語集)

↑を今回の内容に当てはめると、機能カバレッジ≒機能のテストがどれだけ実行されたかを割合で表したものかなと思います。

より具体的なものにすると以下が該当すると思われます。 

・テスト自動化でリソースが余った分、いままで確認できなかったところまでをテストできるようにしたい。(テスト効率性も入ってそう。。)

・機能が追加すればするほどテストが膨大になり、手動テストだけでは確認できる数が限られるので、テスト自動化で確認できるテストを増やしたい。

テスト自動化目的③総テストコスト削減

 3つ目は総テストコスト削減ということで、これが一番最初に出てきそうな目的かなと思いました。たとえば、「テスト全体のコストがかかりすぎているから、テスト自動化を導入してコストを抑えたい」が挙げられます。

ただテスト自動化はすぐに効果があるものではなく、書籍「Experiences of Test Automation: Case Studies of Software Test Automation」によるとテスト自動化はテスト実施4回目で手動テストと自動化されたコストが逆転すると言われています。
そのため、相手には自動化を導入すると一旦コストが増えることを受け入れていただく必要があります。

テスト自動化目的④手動テスト担当者が行えないテスト実施

 4つ目は手動テスト担当者が行えないテスト実施です。
これを見た時、個人的にはあまりピンときませんでした。
書籍「システムテスト自動化標準ガイド」によれば、以下のようなテストが挙げられます。

・同じ入力を同じ時間間隔で正確に投入する

言われてみれば、確かに手動では神経を使うテストですね。。

テスト自動化目的⑤テスト実行期間の短縮

 5つ目はテスト実行期間の短縮です。テスト自動化目的③でも上げた、総テストコスト削減の一つかなと思いました。ほぼほぼ同じ意味と捉えています。(ちがったら教えてください。)

テスト自動化目的⑥テスト実行頻度の向上、テストサイクルに要する時間の短縮

 6つ目はテスト実行頻度の向上とテストサイクルタイムの短縮です。これもあまりピンときませんでしたが、SUTの信頼性を向上したという背景がありそうです。
テスト自動化によってテスト実行する回数を増やす⇒テスト実行数、件数が向上する⇒それでもバグが少ない⇒信頼性あがるといったイメージかなと思いました。(テストの質は置いといて。。)

おわりに

 今回はテスト自動化の目的を見てきました。個人的に「そうだな~」と思う目的もあれば、あまりピンと来ていない目的も見られました。
私自身、テスト自動化経験が少ないので、場数を踏むと理解できるかもと思いました。

書籍「ソフトウェアテスト自動化の教科書」によると、テスト自動化が失敗する要因の一つとして、テスト自動化自体が目的になってしまうことが挙げられます。テスト自動化を検討する上で、上記のような目的があるかは確認が必要になるでしょう。

しかし、シラバスに記載している内容を見ると、かなりふわっとしている内容が多いのかなと思います。
実際の案件では上記の目的だけでなく、その背景までを確認した方がよさそうだなと感じました。(そこが難しいのかも。。)

次回はテスト自動化を導入することによって得られる利点について、見ていきたいと思います。

今日はこの辺で。

次の記事はこちら

参考資料

ISTQBテスト技術者資格制度 Advanced Level Specialist シラバス テスト自動化エンジニア 日本語版 Version 2016.J01

ISTQB用語集

システムテスト自動化標準ガイド

Experiences of Test Automation: Case Studies of Software Test Automation

ソフトウェアテスト自動化の教科書 〜現場の失敗から学ぶ設計プロセス

この記事が気に入ったらサポートをしてみませんか?