#12 自動テストについての考え方を残します
※本noteは 2020/12現在のsomekichiの考えを記すものです。
きっかけ
somekichiは今年の4月から、半年と少しの間QAエンジニア・SETエンジニアとして、自動テストに向き合ってきました。
今回は少し特殊なのですが、そんな「自動テスト」についての現時点でのsomekichiの考え方を残しておきたくnoteを書いておこう。と思い立ちました。
できるだけ正直に自動テストについての捉え方をお話していきたいと思います。
コスト削減を目的としたテスト自動化をするべきではない
よくあるテスト自動化の大義名分として、「手動テストのコスト削減」というものが挙げられたりしますが、somekichiの意見としては「コスト削減の意味合いでテスト自動化に取り組むべきではない」と感じています。
もちろん自動テストを作る側の力量や経験にもよるかと思いますが、基本的にテスト自動化の保守コストは、開発コストと同等、もしくはそれ以上になることが多いように感じます。
なので、経営層からすると、コスト削減できないじゃん!?となり、せっかく作った自動テストがたち消えてしまう。なんてことになりかねません。
また、手動テストを自動テストに置き換えることができるか。という点においても、全てが全て自動テストに置き換えることは不可能であると考えています。
自動テストに向いているテストケースも存在すれば、手動テストが向いているテストケースも存在します。
なので、私たち自動テストを作る側としても、コスト削減以外の良い点に目を向けていかなければいけません。
テスト自動化をする目的
somekichiが考えるテスト自動化の価値は以下になります。
1.機械的にテストができる
2.時間帯/回数問わずテストができる
3.リグレッションテストの実施
1.機械的にテストができる
自動テストの良い点は、常に一定の動きをするというところです。
プログラムされた命令を動かしているだけなので、テストの品質にブレがありません。
手動テストの場合はそうはいかず、人が変わればチェック観点が変わることもありますし、ヒューマンエラーも起き得ます。
2.時間帯/回数問わずテストができる
人力でテストを行うにも、時間帯や回数に限界があります。
リリースをした後のテストは人力でチェックすることもあるでしょうが、夜中のテストは負担も大きいです。
そんな時に自動テストがあれば、テストの負担も軽くすることができます。
3. リグレッションテストの実施
自動テストは、影響が出るはずがない部分をチェックするのに役立ちます。
この部分はテストしなくても良いだろうと思われる部分にも、稀に不具合が出る場合がありますが、あくまで「稀」なので、チェックする人も少ないのです。
なので、特に根幹機能などは自動テストでカバーし、影響がありそうでもなさそうでもテストさせると良いでしょう。
somekichiの感想
今回は、somekichiのテスト自動化についての考えを紹介させていただきましたが、somekichiがまだ知らない技術や手法・これから出てくる技術や手法により解決していけるかもしれません。
今後も学ぶことを忘れず、QA/SETエンジニアとして成長を忘れないようにしていきたいと思います。
このnoteは今後も見返し、価値観がどれだけ変わったかの指標としたいと思います。
よろしれけばサポートよろしくお願いします!クリエイターとしての活動に活用させていただきます!