新卒1年目のUXデザイナーが、自動テストについて思うことをしたためたお気持ちポエムです。
すみません、タグ何つけたらいいかわからない…
私について
くふうカンパニーの株式会社みんなのウェディング で、みんなのウェディングというサービスを作っているUXデザイナーです。新卒です。最近は、あるキャンペーンページの改修デザインをして、マークアップまですることが多いです。おそらく他のデザイナーさんよりはちょっとだけマークアップヂカラが高いのかな?と最近は思っています。言うて大したことはないです。
弊社の自動テスト
どのような構成かなどはここに書いてます。私は書いてることはあまりよくわかりません。
同期に教えてもらった自動テストの話
自動テストでは、このコードによって正しく動作するか?をテストしています。
何か変更が行われた時、テストが落ちるのは自然なことです。なぜなら、当初想定していた動きと違うことが起きるような変更がされているからです。なので、新しい変更では、その変更内容が正しく動作するかのテストも書かなければならない…と解釈しています。
同期に、デザイナーとして業務をする中で、私が関わりそうなテストとしてfeature spec
と system spec
のことを軽く教えてもらったことがあります。
この辺のテストでしていることとしては、Chromeなどのブラウザで、自分で操作をしてみてちゃんと動いてるかな?と確認するのを、自動化している、そういった確認の上での作業指示を書いているイメージ、と教えてもらいました。だから、当然テストで指定しているclassが書き換わったらテストは落ちます。なので、例えばフォームなどの見た目の改修を行っただけでも、テストを書き換えなければならなくなる、というわけですね。
弊社では、このあたりをcapybara
で書いていて、これを参考にするといいよ!というリンクも教えてもらいました。良い同期だ…
本題
では、なぜ私が自動テストに興味を持っているのか、仲良くしたいと思っているのかを書いていきます。
大きく分けて理由は2つです。
自分の変更が影響する箇所はなるべく自分で直したい
まず、先ほども述べましたが、マークアップなどの些細な変更でも、テストが落ちることがあります。その際、テストが落ちることはなんなのか 何を意味しているのかを知ることがまず重要だと感じています。
テストが落ちたけど、なぜかわからない。エンジニアに教えてもらおう、エンジニアに解決してもらおう…という流れは良くないと思っていて、自分が行った変更なのに、なんだかわからないけど動いているところがあるぞ、という状態になってしまうと感じています。
もちろん、共同開発などで、エンジニアにしかわからない箇所がある、とか、デザイナーにしかわからないデザインの話がある、とかは当然だと思います。でも、例えばこのページの見た目をなおしたら、テストが落ちてしまった…エンジニアさん助けて><となるのは、正直悔しい気持ちもあります。ある意味自分でできる範囲を増やしたい、という欲求なのかもしれません。
当然、自分だけではわからない時もあるし、そういう時は素直に聞きにいくことも大事です。でも、聞かなくてもできるようになると、自分のできる範囲が増えて自信につながるような気がします。
エンジニアに頼らないとできないことを減らしたい
私は、自分ができないことを減らすということは、誰かに頼ることが減ると考えています。
自動テストの話でいうと、エンジニアに頼ることが減ると考えています。
なぜ、エンジニアに頼ることを減らしたいのかというと、単純に弊社のエンジニアは忙しいからです。いや、多分どこ行ってもどの職種でも忙しくない人はいませんけど…とにかく、質問しに行って教えてもらう、という時間をあまりたくさんエンジニアに取らせたくないなあと思っています。
特に、自動テストのちょっとした小さい対応でも、積み重なれば大きな工数となるなあと思っているので、がっつり実装していく期間なんかはそれで毎回聞きにいくとかを避けたいという気持ちです。
さらに、聞きにいくことがあったとしても、「全くわからない」状態で行くのは本当に避けたいので、ある程度知っていたいとも思います。
実際、自分が誰かに何かを教える立場になった時。「なんだかよくわかんないけど、なんかおかしいんだよね」と言われるのと、「こういうことをしたらここがおかしくて、よく読んだらここがおかしいかもしれないけど対処法がわからないんだよね」と言われるのとでは、後者の方が原因を考えやすいです。そして、私は後者の状態でエンジニアに聞きにいきたい。そのために自動テストに歩み寄っていきたいな…と思います。
終わりに
将来的な自分のスキルとしても、自動テストに関しては「書けないけど、なんで必要なのか、どんなことをするためのものなのか」なんかは知っているのが良いかな、と思います。
もちろん、「下手に触っておかしくするならエンジニアに任せてくれ!」という人や、「え、それってデザイナーやらなくて良くない?」みたいな考え方もあると思います。
でも私は、単純な興味もあるので、少しでも歩み寄っていこうと思います。なお、デザイナーだってこうであるべきだよね!みたいなことは考えておらず、あくまでも私がこうですよ、という話ですのでそこはご了承ください。
あまり、私以外の人が読んでも何かを得られる記事にはなりませんでしたが、ここまで読んでいただきありがとうございました。
くふうカンパニーには燃えるわくわく新卒デザイナーがいるぞという印象だけでも持っていただけたら幸いです。