見出し画像

Blazorでテスト自動化をやってみよう!!(1)

Blazorで初のテスト自動化に挑戦してみることにした

利用技術:

<開発環境>

  • dotnet 8.0(Blazor Web App)

  • Microsoft Extensions Configration

  • Tailwind CSS

  • Visual Studio 2022

<テスト自動化関連>

  • xUnit(単体テスト自動化)

  • Selenium(ブラウザテスト自動化)

  • FluentAssertions(テストコード簡潔化)

本記事のターゲット層: テスト自動化に関心はあるが、よくわからなくて踏み出せていない層

(1) 記事の内容について

やはり、この記事を見た人には、私と同じように「テスト自動化に挑戦したいけどよくわからない」「どういう風に学習すればいいの!!」という感じで悩みを抱える人が、独学でテスト自動化を学習してもらえるようにしたいと思います。

そのため、最初は学習ステップを苦悩を含めてありのままお伝えします。そして最後に、効率よく学習するにはどのように進めればよかったと思ったか。という反省点をまとめた内容を書きたいと思います。

(2) きっかけ

以前からテスト自動化には関心がありましたが、幾度も挑戦して幾度も心折れてきました。そのためしばらく触れてきませんでした。

理由は、単なるコーディングやインフラの構築とは概念が異なっているように感じられて、どのように初めて、どのように・どこで学習を進めればよいか、よく理解できなかったからです。

しかし、先月(2024年3月)に空き時間を使って、あまり力を入れてこれなかった技術の学習に力を入れようと思い立ちました。これは、私が2年ほど前からGithubを触り始めたこともあり、オープンソースを使った技術学習に慣れ始めたことも理由の一つに上がると思います。

そして、その力を入れてこなかったので頑張ろうと思った技術の一つがテスト自動化というわけです。

(3) そもそもテスト自動化とはなんぞや

テスト自動化についてはここで詳しく調べて記載しておりましたので参考にいたしました。

結局、感情面でいえば、テストのめんどうなところというのは、コーディング好きにとってはツマラナイフェーズだからだと考えています。それを効率よく消化して、楽しいコーディングに注力したいよね。というのが開発者目線の感性ではないでしょうか。

しかし、仕事として捉えると、つまり理性的に捉えると、テストから属人的な要素を(極力)排除して、テストにかける工数を削減して一定の品質を担保することで、生産性を向上させることにつなげる。ということになります。

この場合の生産性というのは、一定の人件費の中から多くの高品質なソースコードを生成して、利益につながりやすいシステム、あるいは、営業機会を多く生み出せる魅力的なシステムを生み出すということになるでしょう。プログラマー目線では高品質なソースコードを多く生み出すほど、生産性が高くなるということになります。

テスト自動化の性質上、属人性を排除したことのみ実行されるため、テストの工程全体としては、テスト自動化で実施したテストだけでは不十分になることは間違いありません。

必ず、テスト項目として漏れがないか、きちんと検証できたかは検討しなければなりません。テストに銀の弾丸はないのです。

次回は、実際にテスト自動化に挑戦したいと思います。

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