「ソフトウェアテストを自動化できれば開発効率は上がるが、そもそも導入できるかどうか分からない。」
「テスト自動化に踏み切りたいが、導入コストに対して成果が出るのか確信を持てない。」「自動化したスクリプトをメンテナンスできない。」
テスト自動化に関する様々なお悩みをお持ちの方は多いのではないでしょうか。
こうした悩みに応えるのが、ソフトウェアのテスト自動化を本格的に導入する前段階で、自動化の適合性や効果、コストメリットなどを検証する「フィージビリティスタディ」です。
そこで、そもそも「フィージビリティスタディ」とは何なのか? テスト自動化とどういう関係があるのか? といったことや、利用するメリットなどを、バルテスでフィージビリティスタディに関わる村上に話を伺いました。
今回話を伺ったプロ
- 村上 崇
バルテス株式会社 R&D事業部 事業部長
大手SIerにて制御系ソフトウェア開発、脆弱性検証ツールの開発、テスト自動化、ソースコード検証などの開発寄りの第三者検証サービス業務を担当。その際、ソフトウェアテストの将来性・魅力を感じ、テスト専門会社であるバルテスに2017年3月に入社。主にテスト自動化プロジェクトに従事。テスト自動化ツール「T-DASH」の開発責任者。
- もくじ
「フィージビリティスタディ(feasibility study)」とは?
――はじめに基本的なことをお伺いしますが、「フィージビリティスタディ(feasibility study)」とは、ソフトウェアテストでは一般的な用語でしょうか?
フィージビリティスタディは日本語で「実現可能性調査」ともいいますが、ソフトウェアテスト業界に限らず、プロジェクト実現の可能性を導入前に見極めるために行う調査のことです。
実は、テスト自動化というのは、調査をしてみないとそもそも導入可能かどうか、コストメリットがあるのかがわからない面が多いので、それを判断するための事前調査というのは、とても大切な作業なんです。当社では、定量的なフィージビリティスタディを行うことで、お客様のシステムが自動化に向いているかいないか、自動化すべきかを数値化して、見える形で判断してレポートしています。
「フィージビリティスタディ」をお勧めする理由
――バルテスでは、なぜフィージビリティスタディサービスをはじめたのでしょうか?
ソフトウェアテストの自動化は不確実性の高い業務です。ここでいう不確実性とは言い換えると「やらなきゃわからない」ということです。そのため、事前に様々な視点からテストが自動化できるかを調査・分析して、どれだけ効果が見込めるかを判断してお客様にお伝えするため「UIテスト自動化フィージビリティスタディ」を開始しました。
――いきなりテストを自動化しても上手くいかないケースが多いから、フィージビリティスタディが必要ということなのでしょうか?
なぜフィージビリティスタディが必要かといえば、やはり「自動化って失敗しやすいよね」という話に尽きると思います。実は、100%実施しようと思っていてもフタを開けたら半分も実現できなかったケースが多々あるのです。そうなってから「残り半分はどうするの?」となっては困るので、あらかじめお客様に問題点を認識していただいたり、当社と一緒に対策を考えたりするためにフィージビリティスタディをするわけです。
――自動化できるか調査した1300ケース中、自動化の対象にならないものが390件もあり、逆に自動化対象が624件という数値がありました。意外とこの事実は業界では広く認識されていないのですね
そうだと思います。以前は、テスト自動化導入支援サービスなどからいきなり自動化に入っていましたが、いろいろ問題があり、失敗事例も多く、自動化は難しいといわれてきました。自動化が失敗する一例としては、既存テストケースを全て自動化してしまうケースがあります。1度しか実行しないケースまで自動化すると費用対効果がかなり悪化してしまうからです。
そこで事前に「できること」「できないこと」をレポーティングしてお客様に認識していただいた上で、導入効果を見極めてから自動化を導入しましょうという流れを作る第一歩としてフィージビリティスタディを用意しました。
――これまで、ソフトウェアテストの自動化はなぜ難しかったのでしょうか?
例えば、テストケースの作りや自動化する対象の作りが「人」に依存していたことがあげられます。テストする上では様々な制約がありますが、人の記憶等に依存していて、どこにもその記載がなかったりして、実際に第三者がテストをしようと思っても手間とコストがかかっていました。なぜなら、書いていないところまで調査しないといけないからです。具体例としては「マイページ」のような部分が自動化できなかったり、コストがかかったりすることになりやすいです。
この問題を解決するためには、事前に自動化できるかできないかの検討に加えて、費用対効果が高いところ、つまり自動化の効果が高いところを最初に見極めることが重要になってきます。
――例としてあげてくださった「マイページ」はエンドユーザーごとに内容が違うからでしょうか?
ケースによりますが、マイページなどでは自動テストに適した状態を作るのが難しいことが挙げられます。マイページの内容に対し、「正しい」の記載ひとつで、名前が正しいとか住所が正しいとか、メールアドレスが正しいとか、いろいろなものを判断しなければならなくなるため、何が「正しい」のか判定するための要素を個々に見ていかなければならなくなり、結果、コストがかかってしまうわけです。
――依頼側もプロのソフトウェア開発者ですが、それでも問題の切り分けが困難で自動化が難しくなるのですね
私はそう思っています。基本、開発者の大半はテストが嫌いかもしれませんね。以前、私はSIerで開発していましたが、その頃の経験としているのは、テストの「前」ができていない状態でテストをしていたということです。どんどんバグが出てきて、バグを修正することで別のどこかに影響が出てデグレードが起きて修正して......と、いつまでも終わらない開発になってデスマーチが起きてしまっていました。
言い換えると、テストと言うよりも、テストケースができていないとか、テストをするためのソフトウェアの出来とか要件を満たしていなかったことが大きいと思います。
――ということは、フィージビリティスタディでチェックして、品質が足りなかったので一歩戻って修正するという立ち返り方も考えられますか?
はい、当然考えられますね。フィージビリティスタディで判明した問題点を改善しないと、自動化したときに効果が見込めないことが先にわかるので、そこをお客様が改善しても良いですし、そこを当社がお手伝いするといったご提案をして対応しています。開発プロセス等にまで話が及ぶときは当社でいうと『クイックサーベイ』といったサービスが対象になってきます。
――"自動化だけ"が目的になってしまうと失敗する可能性が高そうですね
大きなコストがかかる前に問題点を正確に知ることができるのがフィージビリティスタディの一番のメリットだと思います。
事前のヒアリングで伺うことですが、運用体制や保守も考慮しています。よくあるのは開発担当者が自動化の運用も兼任するケースです。兼任すると別の通常業務に追われることが多いので、テストを自動化したあとの保守体制も整備しないと問題があるといった点までレポーティングしています。
「テスト」となると品質保証部門が担当しても「自動化」には開発が紐付けされることが多く、すぐ兼任になっていることが多いようです。この兼任をなくすために『T-DASH』等を活用してほしいと思っています。
「30日間」で高い精度で適合性等をレポートできる背景にあるもの
――バルテスのフィージビリティスタディは基本的に「30日間」で実施することになっていますが、これは標準の期間ですか?
基本的に1ヶ月でやりあげています。テストケースの量や対象システムの規模が大きいものになると1.5~1.8ヶ月くらいかかりますが、ほとんどが1ヶ月で終わっています。
この1ヶ月にはひとつ条件があって、サンプリングしたテストケース・機能を対象にしているということです。1ヶ月間で何10万ケースはできないので、1ヶ月間でできる範囲を絞って実施しています。この範囲は、事前のヒアリングをして、テスト工数や優先度、機能、インパクト、実現したいことを明確にして見極めています。
――この見極めが的確にできる「経験値」がバルテスにはあるのですね
そうですね。最初にヒアリングをした時点で、パッと見でポイントがわかるイメージです。当社はいろいろなドメインの自動化を経験してきていて、テストを自動化すると苦しむポイントを知っています。また、期間を絞ってその範囲で的確に分析していくことを得意にしていますので、何が必要で何が必要でないかを見極められるのです。
フィージビリティスタディ レポートサンプル
テストケース分析は、本当に全部やろうと思ったら、何ヶ月もかかる作業ですが、それを30日間で的確なボリュームと高い精度でできることに当社の強みを出せていると思っています。
――ところで、開発会社が自社内でフィージビリティスタディをすることはできますか?
おそらく難しい......と思います。当社ではいろいろなドメインの自動化を実施しているので、他の事例と比較して評価でき、自動化の適合性や費用対効果を客観的に考えることができます。費用対効果の考え方は企業ごとに違いますが、それを一定のルールに則って定量的にお見せできるのが当社のサービスのメリットとなっています。自社内だけではこの比較ができないので、良いか悪いかの判断が難しいのではないでしょうか。
また、フィージビリティスタディで出されるレポートが何に使われるかというと、自動化をやるための稟議書を書くために情報を使うことがあると思います。そういう意味でも、私たちが第三者の目で作る定量的な客観的なレポートは利用価値があるのではないかと考えています。
テスト自動化で人はもっとクリエイティブになれる!
――フィージビリティスタディやテスト自動化を使うメリットを教えてください
人と機械を上手く分けて、機械ができることは機械にやらせて、人はもっとクリエイティブで収益性の高いことをできるようになるといいと思います。一番大きなポイントはここですね。
当社内でも、わざわざ人がやらなくもいいことはツールにやらせています。もっとモチベーションを持って創造性を高めて、スピードアップしてお客様にも貢献できるようになれるのがフィージビリティスタディとテスト自動化を使うメリットです。
――テスト自動化を検討中の企業担当者の方にひとことお願いします
バルテスは数多くのドメインの自動化を手掛けていて経験があるので、客観的に比較、評価できる「第三者の目」として活用していただけると思います。プロの目で見て、プロとして説明できるのが強みです。
キーワードとしていえば、やはり「自動化は難しい」といえます。フィージビリティスタディのメリットは、自動化の問題を客観的に数値化して評価して、なぜ難しいのかを可視化でき解決できることと、本格導入前に自動化の適合性や適正なコストがわかることです。自動化についてお困りの点などがあったら、まずお声がけをいただきたいですね。
たしかに、フィージビリティスタディを行うのにもコストはかかりますが、事前調査を行うのと行わないのとでは、その後の運用コストが何倍、何十倍も変わってくる可能性があります。導入前の『転ばぬ先の杖』的にご利用いただけると、効果が見える化でき、結果的に成功への近道になると考えています。
テスト自動化の転ばぬ先の杖 フィージビリティスタディサービス
テスト自動化に踏み切りたいが、導入コストに対して成果が出るのか確信を持てない。自動化したスクリプトをメンテナンスできないなど、テストの自動化プロジェクトの懸念はありませんか。「フィージビリティスタディ」では、実際に自動テスト環境を構築し、効果・プロジェクトに対する自動化適正を評価・検証するフィージビリティスタディ(効果検証)で、自動化の効果を見える化します。