見出し画像

テスト自動化経験を雑につぶやいてみる

背景

開発未経験でテスト自動化に挑戦して今年で3年目になりました。
僅かな案件にスプリットPEの立場でE2E自動テストの実装に携わりましたが、1年以上関連業務に関わることができない環境に置かれています。

会社のせいにするのは楽ですが、自主的な活動もあまり取り組めていなかったので、今回はテスト自動化経験の感想を自由に書きながら今後の取り組みなどを考えたいと思います。

どんなツールを使ったの?

①Selenium

■言語
Java
■期間
2週間
■所感
テスト自動化研修で使用。
初めはお手本のスクリプトを写経して動かしましたが、分からない呪文をひたすら書いてて頭がおかしくなりそうでした。
ページオブジェクトは見てみぬフリをした。

②WebdriverIO

■言語
JavaScript
■期間
1ヶ月
■所感
お手伝いのような感じで自動テスト実装中の案件にJoin。
既存コードを見たり、async/awaitの非同期処理による待機に感動しながら、システムの設定を初期化する共通処理のクラスを実装。
実装した共通処理はテストシナリオから呼び出す訳ですが、研修でページオブジェクトを理解してなかったツケが回ってきたのは言うまでもない。

③MagicPod

■言語
-
■期間
1ヶ月
■所感
有償のローコードツールを調査でMagicPodを担当しました。
直感的な操作で自動テストを作成でき、AIによるオートヒーリングや画像差分チェックにひたすら感動していました。
機能が豊富でトライアル期間に満遍なく触れなかったことと、先日聴講したイベントでも注意点にあげられていたのですが、運用面のトライアルを高頻度に出来なかった反省があります。
また、作業終盤にMagicPod社の紹介セミナーに参加したところ、代表自ら質問に対して回答や提案をしてくださりカスタマーサクセスの好感度が爆上がりしました。

④Selenium(Selenide)

■言語
Java
■期間
1年半弱
■概要
自動テストが運用されている大規模Webサービス案件でデビューを果たす。
スクラム開発(2週間スプリント)でスクリプト実装とメンテナンスを確実に遂行するプレッシャーと闘いながらも、社会人歴1X年で1,2を争うほど充実した期間を過ごしました。
Selenideは素の状態よりコーディングが容易で量が抑えられたお陰で初期にメンタルが砕けなかったのかなと思います。
この頃になるとページオブジェクトの概念も理解できていて、継承もなんとか使えるようになっていました。
また、①②の案件はロケーターの指定がXPath中心でしたが、この案件ではCSSセレクターにも慣れてロケーター使い分けの勘所を掴めました。
超難しい処理の実装は先輩のお膳立てもありましたが、日々出来ることが増えて少し自信が付いた時期でもあります。

⑤Autify

■言語
JavaScript
■期間
6ヶ月弱
■概要
④と同じ案件で、自動テストの一部をSeleniumからAutifyに移行しました。
Autifyを使うことは確定路線でしたが、テスト対象のシステムで「あれはできる」「これはできない」といった技術調査の段階から関われたのは貴重な経験でした。
③のMagicPodと同様にAutifyもレコーディング機能で直感的に自動テストを作成できることと、JSスニペットが充実しているのでJavaScriptの実装は想像よりだいぶハードルが下がったと思います。
さらに、Seleniumではコスト面でCI環境が必要十分な形で導入されていなかった経緯があり、Autifyの並列実行により自動テストの実行時間が大幅に削減されたことはスプリント期間に追われているチームにとって福音でした。

自主的にできそうなこと

とにかく触れる機会を作ることを最優先として、スモールスタートで無理なく取り組めそうなことを3つ挙げてみました。今年中に2つはやりたい。

  • Playwrightを触ってみる

  • mablのトライアルでローコードツールの知見を広げる

  • Autifyの認定プログラムを受講する

今後について

キャリア的にも悩める子羊なので、どうしようかと偶に唸っています。

  • 技術力不足でSETの方向は難しいと思うのですが、どこに向かうにせよテスト自動化経験が少ないのでもっと場数を踏みたい

  • QAらしいQA現場にもっと触れたい
    (人により定義は様々ですが、テストはしていてもQAをしている現場はあったりなかったりするので)

方向性が定まっておらず中途半端ですが、QA活動の中でテスト設計とE2E自動テストの実装や運用に関わり、さらに経験を積むことができたら自分の中ではある程度納得感があるのかなと思っています。

以上です。

この記事が気に入ったらサポートをしてみませんか?