UIテスト自動化でSIerのExcelスクショは滅びるのか

先日 JJUG CCC 2016 Fall に参加してきたってブログに書いたとおり、JJUG CCC 2016 Fallに参加してきました。

直接セッションは聞いていないのですが、 @backpaper0さんの 「Selenideを試行錯誤しながら実践するブラウザ自動テスト」というセッション中に流れてきたツイートがきっかけでタイトルの内容について考えてみたので書いてみます。

@backpaper0 さんの当日の資料は以下になります。

考えるきっかけになったのは、@khasunuma さんの以下ツイート。

@khasunumaさんは同イベントで Payara Micro の設計と実装 という発表をしています。Payara Microを利用している人には有用な情報が目白押しなので、見ることをオススメします。

8年間SIerにいますが、Selenideを導入すればそれで大量の失業者が発生するとは思えないってのが自分の考えです。

ただ、新人や若手がテスト要員(≒スクショ要員?)としてプロジェクトに突っ込まれ、死んだ目をしたテスト実行エビデンス取得マッスィーンになっているのを何回も見ているので心が痛いところです。

ツイート見ると蓮沼さんもツラい経験を多くしてそうですね(´;ω;`)ブワッ… エビデンスの偽造…うっ頭が…

エビデンスの作成は面倒ですし、出来ることならスクショを撮ってExcelに貼り付けて…なんてことはやりたくは無いというのには同意です。

とはいえ、そんな簡単に撲滅できるような話ではないと考えています。

以下自分のツイート。

別のプロジェクトにいる後輩とやり取りをしているのですが、UIテストの自動テストはテストスクリプトの作成にそれなりにコストがかかります。

UIの変更が頻繁に入る場合、パッケージやサービスとして提供するので回帰テストの頻度が多い場合などはテストスクリプト作成コストを回収できる、もしくは回帰テストを行えるメリットが大きい場合などは採用を検討すれば良いと思います。

採用を検討すれば良い と書いたのは、そこには組織文化や、プロジェクトのコンテキスト、メンバーのスキルセットなど絡んでくるので、そこも含めて検討する必要があるからです。

そして、全てにおいて適用する / しない ではなく、特定のページのみ採用するメリットがあるのであれば部分的に導入するのも良いと思います。

自分がテスト戦略や計画において採用するテスティングフレームワークを決定でき、コスト度外視で採用できるならすれば良いですが、それで顧客や会社からの信用が得られるかは別の話です。

例えばUIの自動テストがコスト的に採用が難しい場合、手動でテストを行い、必要であればエビデンスとしてスクリーンショットを取得します。

その作業は単純作業でツラいものになりますが(どう感じるかは人によるでしょうが)、そういった作業は以下のようなツールを利用することでツラミを和らげてくれます。

手動テストは嫌だからUIテストを自動化する、ではなく、コストのバランスなどを見ながら自動化可能なところを自動化していけば良いのではないでしょうか。

また、そもそもエビデンスとしてスクショが必要なのかどうか顧客に確認することも大事です。 伝統的に取得しているから今回も…ではなく、本当に必要なのかどうか確認しましょう。 スクショにかかっていたコストを新機能の開発に充てられればお互い幸せになれます。

まとめ

思考停止でUIテスト自動化を する / しない の二元論で考えず、自分たちに合った手法やツールを検討・採用すれば良いと思います。 タイトルに対しての今現在の個人的な回答は、顧客がエビデンスとしてスクショを望み続ける前提で コスト度外視すれば可能だが、そんなことは有り得ないので滅びない です。

とはいえ、各ブラウザの仕様が統一されていき、Selenideのようなフレームワークがもっと洗練され導入コストが下がってくれば未来はわかりません。(全く別の素晴らしいソリューションが出てくることもあるかもしれません)

そんな未来がきたとき、死んだ目をしたテスト実行エビデンス取得マッスィーンのままだと新しい仕事に有りつけず失業してしまうので、そうならないようなスキルを身に着けておくようにしましょう。

…そんな未来が早く来ると良いですね(遠い目)