なぜ、テスト自動化は失敗しやすいのか?
テスト自動化はテストケースをコード化することや自動実行することができるため、手動テストでは困難な繰り返しテストや大量のテストケースの実行が可能になる。だが、2022年のデブサミで実施したアンケートでは、「テスト自動化の経験者のうち、約3分の1はやめてしまっている」という結果が出ている。
テスト自動化が成功すれば、「勝手にテストをしてくれる」「正確に実行してくれる」「バグの発見し放題」といった利点があるにも関わらず、なぜなかなかうまくいかないのか。まずは、テスト自動化の失敗しやすいポイントが言及された。
石原氏は、テスト自動化が失敗しやすい要因として、「エンジニアが忙しくてメンテナンスができない」「自動化できる人が限られて推進できない」「自動化ツールが高額で行き渡らない」という3つのポイントを挙げている。
失敗ポイント1:エンジニアが忙しくてメンテができない
開発・実装だけではなく、自動化もテストもできるエンジニアはそう多くはない。どうしても業務のアサインが集中するため、プロジェクトが忙しくなってくると、メンテナンスが放置・後回しになってしまいがちである。
担当エンジニアが別の案件に異動してしまうと、これまで書いたテストスクリプトが解読できずに使えなくなってしまう。これが多くの自動化が途中で断念せざるを得なくなった理由の大きな一つ。いわゆる属人化とも言える。
失敗ポイント2:自動化できる人が限られて推進できない
自動化に対応できる人が限られており、アサインできない点も大きなポイントだ。さまざまな言語でプログラミングができるベテラン、高スキルな人材は、エンジニア市場にそう多く存在するわけではない。
さらに、自動化のためにチームを組むには複数人が必要となる。人も集められないし、コストもかかるという課題も大きい。
失敗ポイント3:自動化ツールが高額でいきわたらない
自動化ツールのライセンスが高額なため、チーム全体に行き渡らない場合もある。人材不足やコスト面から考えると、全員経験者でチームを組むのは現実的ではない。
自動化の経験がない、もしくは少ないメンバーを集めてOJTで育てたいが、ツールが高額なので、全員に与えることが難しいのも課題の1つである。