なぜ、テスト自動化は失敗しやすいのか?
テスト自動化はテストケースをコード化することや自動実行することができるため、手動テストでは困難な繰り返しテストや大量のテストケースの実行が可能になる。だが、2022年のデブサミで実施したアンケートでは、「テスト自動化の経験者のうち、約3分の1はやめてしまっている」という結果が出ている。
テスト自動化が成功すれば、「勝手にテストをしてくれる」「正確に実行してくれる」「バグの発見し放題」といった利点があるにも関わらず、なぜなかなかうまくいかないのか。まずは、テスト自動化の失敗しやすいポイントが言及された。
石原氏は、テスト自動化が失敗しやすい要因として、「エンジニアが忙しくてメンテナンスができない」「自動化できる人が限られて推進できない」「自動化ツールが高額で行き渡らない」という3つのポイントを挙げている。
失敗ポイント1:エンジニアが忙しくてメンテができない
開発・実装だけではなく、自動化もテストもできるエンジニアはそう多くはない。どうしても業務のアサインが集中するため、プロジェクトが忙しくなってくると、メンテナンスが放置・後回しになってしまいがちである。
担当エンジニアが別の案件に異動してしまうと、これまで書いたテストスクリプトが解読できずに使えなくなってしまう。これが多くの自動化が途中で断念せざるを得なくなった理由の大きな一つ。いわゆる属人化とも言える。
失敗ポイント2:自動化できる人が限られて推進できない
自動化に対応できる人が限られており、アサインできない点も大きなポイントだ。さまざまな言語でプログラミングができるベテラン、高スキルな人材は、エンジニア市場にそう多く存在するわけではない。
さらに、自動化のためにチームを組むには複数人が必要となる。人も集められないし、コストもかかるという課題も大きい。
失敗ポイント3:自動化ツールが高額でいきわたらない
自動化ツールのライセンスが高額なため、チーム全体に行き渡らない場合もある。人材不足やコスト面から考えると、全員経験者でチームを組むのは現実的ではない。
自動化の経験がない、もしくは少ないメンバーを集めてOJTで育てたいが、ツールが高額なので、全員に与えることが難しいのも課題の1つである。
テスト専門会社の作ったテスト自動化ツール「T-DASH」とは
こうしたテスト自動化の失敗しがちなポイントを乗り越えるべく、テスト専門会社であるバルテスが開発したテスト自動化ツールが「T-DASH」だ。どのように解決できるのか、その対策となる特徴が以下スライドのように紹介された。
やはり大きな特徴は、日本語で書いたテストケースがスクリプトになることである。すぐに使えて操作が簡単であることや、月額3690円という月4000円を切るコストで運用でき、開発スピードを拘束かできる点も嬉しい点ではないだろうか。
「テスト現場で使いたいときに誰でもすぐに使える点にこだわって、テスト専門会社ならではのテスト自動化ツールをつくりました」(石原氏)
T-DASHを活用して開発現場の課題を解決した事例を紹介
実際にT-DASHを使って開発現場の課題を解決し、テスト自動化の利点を高めた事例が3つ紹介された。
リグレッションテストをするために
あるECサイトのWebフロント案件では、デグレードが高頻度で発生している課題があった。原因は、開発チーム内でアドホックテストを簡単にしているだけだったこと、時間がないときはテストをせずに本番リリースしていたこともあったことだ。
開発チームの自動化を実装できる人が自動化に時間をさけない、3週間1スクリプトで年間15回のアップデート、いつも忙しくて時間を割けないので高価なツールの導入を検討する時間すらとれない状況だった。
そこでT-DASHを活用してリグレッションションテスト実装を行ったところ、それまで常に4名体制で10日間(2人月分)、4名が半月分の工数を割く必要がある状態だったものが、6名体制で5カ月分(30人月)となった。増えたように思えるが、5カ月目から2人月分が1人日、つまり40分の1の負担で済むようになったのである。
「リグレッションテストもできるようになり、品質は上がり工数は下げることができました。運用フェーズの負担を軽減させた上で課題解決することができた好事例です」(石原氏)
自動化導入をするために
ある大手サプライヤーの社内システム開発案件では、テスト自動化の導入・実装のためのエンジニアを4人集めて、自動化導入チームを組もうとしていた。しかし、フリーの自動化ツールは複雑で難しいため、開発スキルが必要となるが、エンジニア単価が非常に高い。有償の自動化ツールは高額で準備が難しいといった事情から苦戦していた。
スクリプトが書けるエンジニアを集めるには、単価150万円×4人で600万円かかってしまう。だが、T-DASHを使ったところ、自動化エンジニア1人(150万円)とQAエンジニア3人(単価80万円×3=240万円)で390万円。約35%のコストを下げることができた。
「インターフェースが簡単で、日本語で使えることができたため、開発スキルがなくても実質2日で、合流できるレベル習熟することができました」(石原氏)
自働化の構築・実装でテストケースを削減
ある保険会社の申し込み受付ページの開発案件では、20万件の膨大なテストの実施がサービスローンチのために必要だった。チェック作業もテストデータの準備作業もすべて人手で行っていたが、人の手では捌き切れず、短期間ではローンチできない状況だった。
自動化スキルを持った人材がいないこと、テストを行うタイミングが夜ということもあり、リリース要件を満たせない。20万件のテストケースをテストするためには、1日1万件を手動でテストする必要があったが、大量すぎて捌けないため、T-DASHを使ってこの自動化の構築・実装を行った。
T-DASHでは、1人・1か月で夜間作業のみの制約の中、4日間でテストを完了することができた。さらに次月以降は、実質80分の1まで工数が削減できている。RPA的な使い方も可能であり、CI/CD連携が可能になったことについてもメリットを提供することができたと、石原氏は振り返っている。
バルテスの社員がテスト自動化のエキスパート集団であること、テスト自動化の経験・スキル向上に関する取り組みなども紹介された。
- 社員全員にライセンス付与している
- 入社時研修で全員が必修科目として受けている
- 社内エバンジェリスト認定制度を導入している
- テストツールとして標準利用 など
最後に石原氏は、開発現場のQCDクオリティのD(Delivery・納期)を早くするために、Q(Quality・品質)を削りがちになることを指摘。以下のように語り、セッションをまとめた。
「QCDを充実させるためには、Qを削らずにむしろ上げることが大切です。結果として、手戻りが減り、コストもカットできる。納期も早くなるでしょう。Qは自動化で担保することで、うまい、安い、早いを実現し、快適な自動化ライフを送りましょう」(石原氏)