Abbeal

Learning

Kent C. Doddsの Testing JavaScript — 率直なレビュー

シニアエンジニアのAlexandre Limが、Kent C. DoddsのTesting JavaScriptをレビュー。Testing Trophyを使ってJavaScriptアプリをテストする方法を教えるコース。メンタルモデルから具体的なパターンまで、E2EからReact Testing Libraryまで、急成長クライアントでテスティング導入をリードした実話とともに。

5 min
Alexandre LimLinkedIn

AbbealのシニアエンジニアKent · アジア拠点・東京。React、フロントエンドテスティング、ソフトウェアクラフトマンシップ。

Alex LimのTesting JavaScript修了証明書
私のTesting JavaScript修了証明書。

Testing JavaScriptとは?

Testing JavaScriptは、Kent C. Doddsによるオンラインコースで、Testing Trophyの手法を使ってJavaScriptアプリケーションを効率的にテストする方法を学ぶ。コースはJavaScriptでWebアプリケーションを開発した経験を必要とするが、テスティング部分は初心者向けだ。8つのモジュールから構成され、各モジュールに多数のビデオレッスンが含まれている。

コースの中核となる約束:どんなJavaScriptアプリケーションでもスマートかつ効率的にテストする方法を学ぶこと。

Kent C. Doddsは、Reactエコシステムでよく知られているソフトウェアエンジニアで、多くのオープンソース貢献がある。彼はReact Testing Libraryの作者だ。教育の経験もあり、Testing JavaScriptから確かな品質を期待できる。

なぜこのコースを受講したか?

ソフトウェアクラフトマンとして、信頼性の高いアプリケーションを提供するためにテスティングは必須だ。より良いテスト方法を探し、テスティングスキルを向上させることは、クライアントに最善を提供するために必要だ。私は以前Enzymeを使っていて、React Testing Libraryとそのテスティング哲学に興味があった。ライブラリの作者からJavaScriptテスティングのコースを受講すること以上に良いものはおそらくないだろう。

Testing JavaScriptはその約束を果たしたか?

JavaScriptテスティングのエコシステムが初めてなら、このコースはあなたにとって価値があるだろう。ベテランであっても、まだいくつかのことを学び、テスティングに関する新鮮な視点を得ることができる。コースで扱われるモジュールはランディングページで確認でき、投資する価値があるか判断できる。

私の場合、テスティング経験はあったが、それでも多くを学んだ。個人プロジェクトや仕事のプロジェクトに直接適用できる確かな基盤を得られる。私は学んだすべてを適用し、一緒に働いた開発者たちに教えることができた。

数年前、大きな資金を調達して急成長フェーズに入っていたクライアントと仕事をした。アプリにはフロントエンドテストがなかったが、E2Eテスティングはあった。コードベースが成長するにつれて、E2Eテスティングだけに頼ることはできなくなった。なぜなら遅く、すべてのユースケースをカバーできないからだ。

経営層にもっとテストを追加する時間を取るよう説得するのは常に難しいが、私たちは粘り強く交渉してチャンスを得た。チームは私がTesting JavaScriptを修了していることを知っており、既存のコードベース内でテストシステムを構築するリードを取ることを提案してくれた。

私はこの挑戦を受け入れ、すべてのツールとベストプラクティスがフロントエンドチームに統合されるまで取り組みを主導した。テスト駆動アプローチに向けて文化をシフトさせようと努力し、テストはすべてのタスクのdefinition of doneに追加された。少しずつ、コード品質が向上し、保守性が容易になり、副作用が減り、「良い仕事」をする満足度が上がった。ほとんどの開発者は高品質で信頼性の高い機能を提供することに誇りを持っている。

コースを修了した後、私はフロントエンドテスティングのgo-toパーソンになった。約束を果たすことを超えて、このコースは今日まで私が恩恵を受け続けている機会を開いてくれた。

似たような案件がありますか?

アーキテクトと話す