日常の色々な事

開発の考えや映画やアニメなど、ごちゃごちゃしたものを書いてます。「本サイトはアフィリエイトが含まれています」

WebサイトのEtoEテストではKatalonStudioが良さげ

書いたこと

KatalonStudioが良いということ

良かったこと

  • 環境作成が楽
  • 事前知識がほぼ無しで使える(ブラウザのレコードが優秀)
  • GUI操作で完結する(プログラミング操作がほぼ不要)
  • ブラウザ切り替えが容易

感想

KatalonStudioが良かったです。

良かったと言っても何が良かったかがわからないと思うので細々書いていきます。

seleniumやtestcafeなどEtoEテストを行うときには大なり小なり開発環境の作成が必要になります。KatalonStudioは公式が出しているKatalonStudioをインストールするだけで完了します。

テストの作成で必要な手順が「レコード起動」「ブラウザでテストを行う」「テストケースをまとめる」の3つだけです。

「レコード起動」は単純にレコードボタンとURLを入れるだけなので実質的には「ブラウザでテストを行う」「テストケースをまとめる」の2手順でテストが作成できてしまいます。

手順を見てわかるようにプログラミングが入る要素がありません。テストケースはレコード起動後にブラウザの操作を自動的に記録してくれるのでブラウザの操作だけできれば作れます。テストケースをまとめるためには、ファイルを作成してまとめたいテストケースをクリックするだけになります。

なので、最初のテスト時にレコードしておき次回以降の自動化テストではスクリプトを実行するだけでテスト自動化が完成します。

 

しかも中がseleniumで動いているのでGroovyでのプログラミングにも対応しています。そのため、不慣れなので最初はブラウザ操作でテストを作成して慣れてきたらプログラミングを行うということもできます。

最後に

テスト自動化でハードルが高いのは環境作成と自動化スクリプトやライブラリの仕様を把握する点だと思います。

KatalonStudioは環境作成や仕様の把握の必要がほぼ無い上に普通に使う程度ならば無料で使えるのでとても便利です。ただ、CLI実行は有料になってしまうのでCIとしてはお金をださないと使えないです。

CLIとして使わずに、休み時間にGUI経由でのテストスクリプトを実行するなどすれば無料で使えるのでひとまずは十分かなと思います。

テスト自動化でやらかしたこと

書いたこと

フロントエンドのテスト自動化を導入して失敗したことと次はこうしようという改善点

背景

昨年、フロントエンドの単体テストとフロントバックを通したEtoEテストの自動化をプロジェクトで取り組みました。実際に開発するうちに時間的余裕がなく自動化テストに対応できなくなりました。

失敗したこと

  • プロジェクトメンバーの技術レベルを把握できていなかった
  • テスト作成に必要な時間の指標と見積もりが出せていなかった
  • テストを前提とした設計になっていなかった

失敗したこと詳細と改善

プロジェクトメンバーの技術レベルを把握できていなかった

開発時にプロジェクトメンバーから「テストライブラリの使い方やモックの方法を調べるのに時間がかかった。」や「調べてもわからないから教えて」という声が出ていました。実際にテストを作成するために必要な時間が2倍以上になっていたのでテストが重みとなり最終的にはやめてしまいました。ライブラリはjestとtestcafeという一般的なものを使用していましたが、一番初めにツールの使い方と勉強会、モックの共通化をしておくことで改善できたのかと思います。

テスト作成に必要な時間の指標と見積もりが出せていなかった

見積もり時にテストを作成した人は自分以外いなかったため、テスト作成に必要な時間が自分ベースの時間にになっていました。そのため、見積もり時にテスト時間を少なく見積もってしまい他のメンバーがテスト作成する時間を確保できませんでした。

改善としては、要素(axiosのモックがあると+?秒、cognitoのモックがあると+?秒など)ごとに必要時間を出して積み上げ式で計算したり、他の人に実際にテストを作成してもらって自分以外の時間を出すなどをすれば改善できたかと思います。

テストを前提とした設計になっていなかった

既存のプロジェクトに後からテスト自動化を導入したため、テストを前提としたつくりになっていませんでした。具体的にはhtml部分にテスト用のidやclassが指定されていないため、html要素を変更するたびに不要なテストの修正も必要になっていました。

改善としては、テストを前提とした設計に随時変更していくと良かったと思います。具体的にはhtml部分にidを振ったり、各機能ごとにファイルを分けることで機能ごとにモック化を行いやすいようにするなどです。

終わりに

テスト自動化はメンバーやソースがプロジェクトごとに違うため、プロジェクトごとに考える対応する必要があります。思い込みで自分以上のスピードで作業できるだろうと考えていたら、そうでもなかったということがわかりました。思い込みを排してちゃんとプロジェクトの特性を把握から始めることの大切さを知りました。

開発用ツール選定時に気を付けること

書いたこと

最近、業務で開発用ツールやライブラリ導入のために調査しました。その時の調査した点を書きます。

調査した点

  • ツールで問題が解決できるか
  • 学習難度は妥当か
  • ツールの使用感は妥当か
  • 導入に費用が必要か
  • 一般的に使用されているか

調査内容詳細

ツールで問題が解決できるか

導入した結果、問題が解消できないと意味がないのでツールで問題が解決できるのか?を調査しました。

調査内容としては以下のものを調べました。

  • 問題が解決できるのか
  • ツールの動作に時間がかからないか
  • 使用しやすいか

問題がすべて解消するのがベストですが、一部の問題の解消でも良いのでちゃんと調べます。

学習難度は妥当か

ツールを導入後にプロジェクトメンバーの誰にも使用できなければ意味がないため、ツールの使い方の学習が簡単かを調べる必要があります。

指標としては、次のものを調べています。

  • 公式のチュートリアルがわかりやすいか
  • ネット上に情報がたくさんあり、精度は高いか
  • 説明書をほとんど読まないで使用できるか 
導入に費用が必要か

IT系のツールは無料で使用できるものも多く、普通に考えると無料がベースになります。でも、無料のツールでも有料プランなどがあり有料プランじゃないと問題解決ができないことがあるので有料だからとあきらめないで有料で出来ることを調べてプロジェクトに必要かを検討します。

一般的に使用されているか

ツールが一般的に使用されているかを調査します。一般的に使用されている場合、セキュリティや動作の安定性などがある程度担保されている場合が多いです。

そのため、自身がセキュリティや動作の安定を調べるよりも短時間である程度の結果を得やすいです

調査内容としては以下を調べています。

  • 公式が出しているスポンサーや導入事例に知っている企業があるか
  • ネット上の資料を信頼できる人・企業が出しているか
最後に

調べた内容を見てプロジェクト内で使用すると使用した場合の時間・手間の削減などのメリットツールの費用・手間のデメリットを比較してメリットが多いようであれば導入すれば良いツール導入になるかと思います。

 

転職前と転職後のギャップがすごかった

書いたこと

転職前と転職後のすごかったギャップ

ギャップ一覧

  • 仕事が思ったより大変じゃなかった
  • チームメンバーが値踏みや見下す感じじゃなかった
  • 案外自分はできる

感想

仕事が思ったより大変じゃなかった

転職で給料が上がった上に、転職の面接時に「うちはレベル高いよ」と言われていたので業務が始まる2週間前ぐらいから寝れないほど不安に思っていました。
いざ業務が始まると向こうが遠慮しているのもあって、逆に作業量が減ったぐらいで全然大変じゃなかったです。

チームメンバーが値踏みや見下すような感じじゃなかった

新しい人が来ると「どのぐらいできるのだろう?」と思って値踏みされたり、レベル高い人が多いらしいので「見下されるかな?」と思ったのですが、そんなことはなかったです。
むしろ、良くわからない人なのではれ物に触るように扱われてました。

案外自分はできる

初めての転職だったので、今まで井の中の蛙だと思っていて、レベルが高いという事前情報から転職直後は常に下から伺いを立てるようにしていました。でも逆に向こうの作業について色々意見も言えたので十分外でも通用するんだなと自信が持てました。

最後に

転職直後に遠慮しているのは、向こうもこちらも一緒でした。そのせいで、お互いに言いたいことが言えずに向こうはこちらの作業スピードがわからないため少ない作業しか任せられず、こちらは向こうの技術レベルや文化がわからないので指摘ができないとマイナスなことが大量にありました。
自己評価が誤っていることが原因であるんですが、傍若無人ぐらいの心意気で行ってダメだったら「ごめんなさいm(_ _ )m」ぐらいのテンションの方が良かったなと1年たった今後悔しています。

コロナ禍中の転職が楽だった

書いたこと

コロナで楽だった2020年に転職したときの体験談と感想です。

楽だったこと

  • 会社への手続きのための出社が激減した
  • PCセットアップの手間がなくなった
  • 自分の色が強く出せた
会社への手続きのための出社が激減した

転職の時に面倒なのが書類の手続きです。本来は手続きのために何度も何度も会社に出社する必要がありました。でも、2020年にはコロナの影響で出社禁止になっていたので、1度の出社で手続きがすべて終わりました。そのおかげで、面倒な出社や同僚の非難の目にさらされることもなく手続きができました。1年たった現在でも転職後の会社への出社はたった5回という状況なので相当減りました。

PCセットアップの手間がなくなった

IT系の転職後には、必要なソフトなどをインストールするという作業がありますが、出社禁止のため、全部インストール済みのPCが郵送されてきました。そのため、PCのセットアップ系の作業をほとんどしなくてすんで良かったです。
パソコンが郵送で送られてきたときには、「まじかっ」とちょっと笑っちゃいました。

自分の色が強く出せた

転職後の印象付けはとても大切です。テレワークでの会議はどうしても発言している人に集中せざる負えないため、それを利用して自分のことを強く印象付けることができました。
特にこの頃は「テレワークは私服?スーツ?どっち?」という状況で、みんなが私服を選択する中、かたくなにスーツを選んだ自分は「いつもスーツ着ている人」として印象付けられました。

感想

タイミングや会社が良かったのもありますが、いい感じに出社禁止がかみ合って手間が減ってよかったです。テレワークに対応できるか否かですごく仕事へのストレスや効率が変わることを実感できてある意味良い経験だったのかな?と思います。
会社近くのラーメン屋めぐりができないのはつらいですが、良かったところに目を向けていきたいなと思います。