1. 雨宿りとWEBの小噺.fm
  2. Season 4-12. State of JavaSc..
2025-02-25 24:29

Season 4-12. State of JavaScript 2024 の結果を眺めよう 第五回〜テストツール・その他のツール編〜

spotify apple_podcasts youtube

はい,シーズン4-12では,このシリーズ「State of JavaScript 2024」の最終回になります!今回はテスティングフレームワーク(E2E,ランナー含む)や,その他のツールについて見ていきます💁


State of JavaScript 2024

https://2024.stateofjs.com/ja-JP/


ではでは(=゚ω゚)ノ


ーーーーー

📧 お便りはこちらから

https://forms.gle/utkE7JBKSReSdArPA


♫ BGM・SE

騒音のない世界「平成生まれ」

https://soundcloud.com/baron1_3/heysay

Anno Domini Beats「welcome」

https://youtu.be/947vwtHPFn4?si=Q7eeO_T3G-Bv_0rs

ユーフルカ「雨」

https://youfulca.com/2022/08/06/environmental_sfx/

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

サマリー

今回のエピソードでは、State of JavaScript 2024 の結果を基にテスティングツールやその他のツールの動向を分析しています。特にJEST、Cypress、Playwrightなどのライブラリが取り上げられ、それらの人気や使用状況が詳細に見られます。また、2024年のJavaScriptに関する調査結果を通じて、アストロやTypeScriptなどの最新フレームワークとツールについての見解が示されています。さらに、世界中のエンジニアの意見やトレンドに関する洞察も共有されています。

テスティングツールの総覧
皆さんこんにちは。雨宿りとWEBの小噺へようこそ。 パーソナリティーのkeethこと桑原です。
この番組では、目まぐるしく変化するWEB業界の中、 興味深い裏話や小噺など、ほっと一息つけるお話をお届けします。
今回の話題は、State of JavaScript 2024 の結果を眺めよう 第五回、最終回になります。
前回で、メタフレームワークのところまでお話ししたんですけど、 今回で最後、テスティングライブラリと
Other Toolsと、あとはコンクルージョンの話を見て 終わろうかなと思ってます。
他にもたくさん見る項目あるんですけど、 全部見ていくと、もう5、6回ぐらいプラスで喋ることになるので、
一旦ここで区切って、残りは皆さんの方で 見ていただければなと思っております。
では早速いきますが、テスティングツールですね。 今回のテスト、登場人物だけざっといきます。13個あります。
JEST、MOCA、Storybook、Cypress、Apetia、 TestingLibrary、Playlite、WebDriverIO、B-TEST、
Selenium、TestCafe、MockServiceWorker、NodeTestRunnerとなっております。 いつも通りビューのところから見ていきますね。
まずはユースエイジです。 過去に使ったことあるよっていう人の回答ですけども、
回答者の実に72%、1位はJESTですね。 2位が52%でStorybook、3位が45%でCypressですね。
ここから大体30%まで下がりつつ数字が伸びていって、 一番下はTestCafeが今回ワースト1位で3%ですね。
TestCafeはここ3年間ずっとワースト1位です。 回答者の中では使われてないといった結果になりました。
やっぱり1位のJESTがここ7年間ずっと1位を取り続けていて、 2位のStorybookと20%も差をつけていると。
他のライブラリーもそうですけど、 ほぼほぼ皆さんにも横並びでここから大きく変化することは来年もないんじゃないかなと思ったりはしていますが、
その中2つのライブラリーだけかなり右肩が上がっていて、 1つはBテストですね。
去年37%で今年は40%まで伸ばしてきました。 もう一つはPlaywrightですけども、Playwrightは去年28%だったのが今年36%で8ポイント伸ばしています。
PlaywrightもBテストも登場からずっと右肩上がりで前進し続けているので、 この2つが来年JESTに追いつくまでいかないにしても、
結構近いところまで行くんではないかと。 特にBテストに関しては本当50%超えて60%近く行くんじゃないかっていうのは僕の予想ですね。
Playwrightも結構近いとこ行くんじゃないですかね。 50%後半までワンチャン行くかなってところです。
少なくとも40%は絶対超えるだろうなと思いました。 追いつきプレイマーク。
Cypressが僕の中で結構有名だと思っていて、 Cypressはもちろんさっき言った通り3位なんですけど、
ここの画像が崩れて、ついにPlaywrightがドーンと上に来るんだろうなというような予想です。
私の大好きCodeCept.jsは残念ながらこのラインナップにすら名前が載っていないので、まあ仕方ないですね。
Puppeteerと組み合わせて使うとかなり使いやすくて、私はCodeCept.jsを個人だと書いてますし、 やれるんだったら進めたい感はありますけど、
まあでもPlaywrightの方がやれることもいっぱいあるのかもしれないし、 深くまだPlaywrightを触ったことないので、
世界はこれを選んでいるということでした。 続いてAwarenessですね。
聞いたことある、もしくは使ったことある、みたいな感じですね。 これに行くと数字ドーンと伸びてきます。さっきのも加えてってことになりますけど、
1位はやはりJESTで96%です。 2位がCypress、87%。3位がストーリーブック85%ってとこですね。
4位セレニウムですね。 5位Puppeteerといったところで、この辺は結構でも数字ほぼほぼ一緒ですね。
結構団子状態で、77%から87%。結構団子状態になってます。 で、ワースト1位はやはりテストカフェで、聞いたことある含めてもやはり18%なので、
テストカフェはだいぶ落ち目になってしまったなっていう感が否めないですね。 でまた他のライブラリーもそうですけど、大体皆さん横並びになっていて、
右肩あかりでずっと伸び続けているのがPテストとPlayLiteの図でした。 まあね知名度もどんどん取れてきているし、実績、ユーザー数の実績も増えてきたと。
その他の検討事項
いい話ですね。 続きましてインターレストを見ますと、トップはもうPテストです。
4年間ずっと1位を訓練し続けて、82%。 2位がPlayLiteで77%ですね。
3位が意外なところにノードテストランナー76%でした。 さっきのユーザーアウェアネスだとノードテストランナーはかなり下、
ワースト3位ぐらいにランクしてたんですけど。 まさかここでドーンと3位に来てます。インターレストはどういうものかというと、聞いたことある
という中でポジティブな印象を持っているっていう意見ですね。 他のライブラリーとかもほぼほぼ皆さん右肩下がっている、ノードテストランナーがいきなり
ドーンと初登場でランクしているのは結構すごいなと思いました。 他には唯一右肩上がっているのがテスティングライブラリーです。
こちらがですね去年51位だったんですけど、今回4%伸びて55%まで数字伸ばしています。 なんか良い変化があったとかライブラリーの進化があったのかちょっとわからないですけど、
他のやつは大体右肩下がっているのが伸びているのは意外でした。 続いてリテンションですね。使ったことがある中でポジティブな印象のものです。
こちらもですね1位Bテスト98%。 使ったことある人の中でもほぼほぼ皆さん満足されているという数値結果でした。
2位がプレイライト94%これもさすがですね。 3位がテスティングライブラリーで91%
4位Mock Service Worker88% 5位が先ほど同様ノードテストランナー87%なので、ノードテストランナーはまだ知名度も低いし使っていただいている人が少ない中、
使ってもらった方には満足度もしっかり提供できている。 その人たちがいろんな発信をしていることで、使ったことないけど聞いたことある人で結構良い印象を持っている
っていうようなブランディングもできているというふうに捉えて良い気がしました。 リテンションは結構数字そんなに悪くないかなってところですね。
Mockだけずっと下がり続けてきて、去年からMockだけちょっとだけ上がってますね数字。 9%ぐらい上がって61%といったところですね。
で他20%から30%ぐらいのところにいますけど、テストカフェが伸びていて、こちらもさっきおちべと言ったんですけど、使ってもらっている人の中でなぜか満足度が
ドーンと11%伸びているので、テストカフェが結構頑張っているのか、子さんのユーザー、テストカフェを使っていただいているユーザーへの満足度とか
体験の改良とかがあったのかもしれないですね。 11%も伸びるって結構すごいですよね。
回答者も毎年変化しているはずですので。 はい、ラストポジティビティです。
良い印象とか感情を持っているっていうような数字ですけど、先に言っていくとほぼ全部のライブラリーが右肩下がってますね。
ほぼというか全部です。上がっているライブラリー0ですね。 唯一Bテストだけ1%減でこれだけ一番ちっちゃいのかなってところです。
1位ももちろんBテストで86%。 2位がプレイライトで80%。3位テスティングライブラリーで69%。
結局使ったことある人の中で好印象と言っていますけど、ポジティビティっていうもうちょっと大きい括りになったものでいくと
皆さん右肩下がっているってことは全体としてそもそもテスティングツールに関して良い印象がちょっと薄れてきている。
楽しくなくなったとか書きづらくなったとか重くなったとかいろんなペインが後でグラフ出てくると思うんでそこで見たいですけど
いろんな理由でちょっと印象が良くなくなってきているっていうような傾向にあるというお話だそうですね。
その中ですね軒並み下がっているものが唯一1個だけあってそれがMock Service Worker MSWですけど
こちらがですね実に26%下がっておりまして去年78%で結構高かったんですけど今年52%まで下がってました。
どうしたんですかねMock Service Workerなんかでかいペインを生んでしまっているように見えますね。
もしあれば見てみますけどなければちょっと他のコメントなり何なりと見てみようかなと思いました。
続いていきましてOther Testing Toolsですね。
他のツール見ていきますけどこれもちょっと名前いっぱい出てくるのでざっと10個上から述べてみますと
Jasmine, Karma, BAN, Deno, QUnit, Jappa, Aiva, UVU, Web Test Runner, Chaiとなっております。
あとOther Answersというところですね。
テスティングラベラリーとしてはJasmineとかQUnit、あとAivaも出てきましたね。
Karmaはこいつ自体がテストっていうよりもテストを走らせるランナーですね。
懐かしいですね。
テスティングツールの人気
昔僕もKarmaずっと使ってましたし名前自体が好きだったので。
まあもう今は使わないですけどね。
続いてUsed At Workのものを見ますけどこれは他のいくつかのカテゴリーに分かれてるんですけど
All Responseのところここだけ多分十分だと思うので踏みますと
1位はやはりJSTOで62%、2位ストーリーブック40%、3位B-TEST34%、4位PlayWrite32%、3位プレスが5位で31%。
あと順位行くとテスティングラベラリー、Mocker、Puppeteers、Telenium、MSW、ノードテストランナー、Webドライバーテストカフェという続きます。
唯一50%を超えているのがやっぱりJSTOですね。
歴史も長いですし結構ユニットテストツールとしてほぼほぼこの子一興時代っていうのがありました。
めちゃめちゃ使いやすかったと思いますけど。
まあでは来年にはもうビートに食われるんだろうなっていうような印象はあります。
では続きましてテスティングツールズハピネスのグラフを見てみましょうか。
ハピネスなんですけど数字ほとんどここもう7年8年変わってないですね。
一番高かったのは2018年でその時ですら2.8ポイントで今年2024は2.5ポイントです。
ほとんど2.5ポイントのプラマイ1ポイントずつぐらいの変化しかないので
皆さんかもなく不可もなくかも不可も両方っていうところですね。
メリットもあるしデメリットもあるとこれはそうだよねって感じです。
僕みたいにテスト大好きっ子みたいな人間業務の8時間中ずっとテストかけて言われて全然聞き余裕として書く人間ならば話は変わるんですけど
皆さん一般的な開発者はクリエイティブなことをしたいと今そこに時間を使いたいと思いますので
まあそういう意味でテストっていうのはそんなドーンと上に伸べることはないんだろうなっていうような受け取り方をしました。
じゃあテスティングツールラストですけどペインポイント見てみましょう。
全部見ていく場所長いのでトップ3つ見ますね。
第1位はモッキングで16%コメントもちょっと284件あって見たいですけど長くなるので割愛します。
皆さんの方で見ていただければ2つ目がコンフィギュレーションというところで設定なんですね。
まあ設定もまあわかりますね。
テストそのままシンプルに書ければいいんですけど
やっぱりニッチなテストケースとかユーザーの体験からそれをどうやってテスト上で再現をするかみたいなことも考え出すと
いかにうまいことやるかっていうところ苦労するのはたくさんありますのでその辺があるんでしょうねっていうことでした。
こちらも12%の人が回答していてコメントは213件に上る見ていただければと思います。
3位はパフォーマンスです。
これは11%でまあまあこれもよくあるなと思いました。
システムとかアプリケーションがどんどん成長していって大きくなるにつれ実行するテストケースも増える比例して実行時間も長くなるし
単なる実行時間でテストケースが増えたからそれの分の足し算かと思いきや意外と掛け算になる時もあるし
何ですかね指数関数的に伸びる時もある。
まあでもテストケースしっかり見直さなきゃいけなかったりアーキテクチャ見直しをしたりとかもあるかもしれないですけど
パフォーマンスはほんとねテストにパフォーマンスあんま時間取られたくないなっていうのはありますのでこれが第3位で上がっておりました。
ツールのペインポイント
一応第4位にジェストって書いてますね。ジェストそのものにペインがあるというふうに言っててこれもなかなか面白いなと思いましたけど
細かいペインポイントはちょっと今回はすいませんが割愛させていただきます。
ではあとAzure ToolsですけどAzure Toolsも見ていくとたくさん出てきててライブラリーとかグラフィックス&アニメーションとかバックエンドフレームワークとかあるんですけど
全部見てたらきりがないのでまずはライブラリーからいきましょう。皆さんどんなの使ってます?ですけどよく使われているものは1位ローダッシュ43%
2位デイトFNS37%3位ZOTO36%第4位Moment 27%で第5位DJSで24%
あとパーセント端折りますけど6位RXJS7位JQuery8位YAP9位CoreJS10位Luxionって感じでした
実に5位までに時間管理ライブラリーが3つ上がっているっていうのでやはり皆さん時間の
マネジメント系は苦労されているし皆さん何かライブラリーに頼っているっていうのはよくわかりますねこれで
Momentで4位っていうのがまあいろいろ物語ってるなって感じはしますね 1位のローダッシュもローダッシュの中のどれを使っているかっていう感じはしました
ローダッシュって全部で一括りにしてしまえばそれはローダッシュになるでしょうって気持ちはわかりますけど
ローダッシュの中の例えばグループ系の関数を使っているっていうのもあるかもしれない 本来でもそういうのはローカルのプロジェクトの中に
ユーティルズだったりとかヘルパー的な関数できて そこでメンテナンスするっていうのも一つ選択肢としてありな気はします
僕も個人的にこれわざわざNPMで持ってくる必要が未だによくわからないなと思いながら そういう開発の皆さんもしてたりチームのメンバーもしてるのでそういうもんだなと思いながらも
個人的に何か違和感というかもやっていうか引っかかりながら使っているって感じですね あと第3位のゾド
バリデーションですよねバリデーションライブラリーもいくつか出てきたんですけど 先はもう猫もシャクシもゾドっていうような印象があります
他にもいくつか新しいの登場したと思いますけどすいません僕がまだキャッチアップ 追いつけていないので今のところゾドでいいんじゃないので気はします
PSでしっかり型もつけつつのバリデーションができるっていうのが大きいんでしょうね はいで飛んでついてバックエンドフレームワークス見ていきますけど
1位はダントツですね エクスプレスですまあこれはもう歴史が物語ってますよね
68%の人がエクスプレスを回答しますで2位がネストですね これもバックエンドとフロントエンドで両方型を一気通貫で使えるところが大きいんでしょう
いうことでこれ29%でした で3位ファスティファイ4位ストラピー第5位に炎
炎がまだ5位なんだっていうのをどう捉えるかですね 個人的にはもうちょっと伸びるかと思ったんですけど今とまだ5位です
まあでもこれは時間の問題で来年には一気に3位まで上昇している気はしてますけどね それぐらいパコ発ライブラリーだけあって
先人たちの良いところとかうまいこと吸収してペインポイントってのうまいこと解消して 重くないライトなライブラリーなんですけど開発する上で欲しいものっていうのは最低限全部
揃っているみたいな感触がありました僕には その意味で本当使いやすいし
エクスプレスなくても炎で良くないかっていう感じがしてます それぐらいもうプロダクションで耐えうる
AIツールの利用状況
機能が揃っていて使い勝手も良いなし書き心地も良いなと思いましたので まだ使とうない人ぜひ使ってみてください炎ですねあの日本人のゆうすけさんって方が作ら
あと他は関係ないので あとAIツールだけ見ましょうか
まあちょっと javascript 関係ないんですけど AIのお話が出ていてアンケート皆さん何を使われてるかってとこですね
1位はやはりダントツシャトジビティですこれ67% 2位がコパイロット48%
このサーベイはエンジニアのサーベイなので個人的にはコパイロットの方が上に来るかなと思ったんですけど
まあ開発する上でもシャトジビティを使っている 発車さんが多いんだろうなということがこれでわかりますね
第3位がクロードで23%なのでだいぶガンと下がりますね はい1位2位3位とそれぞれで数字が20%ぐらい落ちてきているので
なかなか厳しいんでしょうねで第4位ジェミン24%で第5位 カーソル11%第6位V0が9%ってことでした
V0低いのはなんでなんですかね僕個人開発ではV0めちゃくちゃ頼ってて かつすごい使いやすいし精度高いと思いました
僕の大好きライオットジェイスあれのコードを書かせてみてもだいぶ正確なコードだったし ちゃんと動くんですよね
なのでよく学習してるなって本気で思いましたのでV0いいと思ったんですけど なかなか世界はそうじゃないんだと
思います業務で使うかっていうと悩ましいとこですね だったらチャットGPTに課金した方が精度全体的な精度が高いのかもしれないですけど
まあ僕個人で使ってますけど フリーランスとか個人開発の人全然V0
フォーマスめちゃくちゃいいと思うし精度も高いので 興味ある人は使ってみてくださいという個人的な宣伝でした
あと僕はでも課金しているのはクロードですね 第3位のクロード この台本とか書いたりとかブログ書いたりとか
いろんな言語化をするときにクロードに壁打ちしてもらったりしてますので そんな感じですね
ではではライブラリーの以上で他のところ見ていきたいんですけど 既にやっぱ時間が長くなってきてしまったので今回は割愛したいと思います
他にもですねユースエイジの項目で気になったのは やっぱりAIコードジェネレーションとかユースケースの話とか
調査結果の共有
JavaScriptのペインポイントとか あとニュープロポーザルのところもなんだかんだやっぱ気になりますよね
次どんな進化が返ってくるのかなどなど 見たいしこの辺もちょっと注目してみたかったんですけど長いので割愛していきまして
最後 コンクルージョンのところを見て終了としようかなと思っています 2人の方が結論を書かれております
一人目はディベロッパーでありエデュケーターでありかつYouTuberでもあります フェルナンド・フェレイラさん
読み方分かるんですけど の方の
まず回答からコメント読みますと 数年前別のJFの現状みたいなタイトルの調査で
アストロに注目をしてみましたというタイトルですね 数時間使ってみてこの技術に惚れ込んでしまいました
ほとんど一目惚れでした 突然自分のウェブサイト管理ツールその他のオブジェクトを
アストロで再構築している自分に気づきました 今ではアストロは私のお気に入りのフレームワークだと
還元できます JavaScriptはダイナミックでエキサイティングなエコシステムであり
多くのライブラリやフレームワークが絶えず成長しています 再利用可能なコンポーネントからクライアントサイドサーバーサイト
静的ソリューションまで バニラJavaScript コミュニティパッケージ ライブラリ フレームワークを使って目標を達成する方法というのは
無数にありそれぞれがイノベーションの新しい機会を提供しています もちろん圧倒されるように感じるかもしれませんが
この多様性がJavaScriptを強力にし 成功するための賢い方法一つから数百まで与えてくれています
B-testやJEST ReactやSolid NodeやDeno Next.jsやAstro あるいはBlizzardのような全く新しいものなど
様々なツールに飛び込んで実験することを恐れないでください JavaScriptのようなコミュニティ 柔軟性 創造性を提供する言語は他にはありませんと
エンジニアの意見とトレンド
締められておりました 二人目の方はですね
シャンディパーソンという方です フロントエンドシニアソフトウェアエンジニア
ネットフリックス&コースインストラクターということで Netflixのシニアなエンジニアであり教えてる側の仕事もしてる方ですよと
女性の方ですね 5年弱前私は初めてTypeScriptを使うことの利点を知りました
スケーラブルで保守性の高いフロントエンドシステムの構築を目指すチームにとって TypeScriptとその利点を探求し始めたばかりの多くの
JavaScript開発者の一人でした TypeScriptの人気が急速に高まっているのを見て驚きました
アンケートの回答者の大多数が日常業務でTypeScriptを使用していることに感激しています 現在私の仕事でも個人的なプロジェクトでも
リアクト、TypeScript、ビート、ジェストがスタックとして使われています 大規模で急成長しているチームはこれらのツールにかけており
フロントエンド開発者を採用する際にはこれらの分野の専門知識を求めています だから他の組織でもこれらのツールが広く採用され
保持されているのを見ることは驚くことではありませんというふうにコメントされておりました こっちの方が近しい感覚はありますね
さっきの一人の方も結構共感はありますけど 今だとリアクト、TypeScript、ビート、ジェストみたいなスタック本当によく見ますね
ジェストがビーテストに多分置き換わっていくような感じはしますけど 少なくともTypeScript、リアクトっていうのはもうほぼディファクト感がありますね
ただ他の会話者の人たち皆さんが使っているのは不思議ではないし逆にそうじゃないものの方を聞いたとき興味がありますね
なぜその選択が技術選定に至ったのか 逆に他のものを切る、あえてリアクト、TypeScriptを切った理由は何なのかっていうのも気になりますね
もしあなたが私のようなら新しいフレームワークやライブラリを試し続けるよりもいくつかの必須ツールをマスターすることに集中したいでしょう
また私のように信頼できるフロントエンドツールの最新バージョンが安定リリースに達し 問題が解決されるまで採用を控えるかもしれません
あなたは一人ではないし試行錯誤の道を好む人には大きなメリットもありますというところで
茨の道まだ枯れてないんであれば大変かもしれないですけどそういうのを好む人は全然メリットありますし
枯れてからしっかり安定バージョンになって使いたい人はそういうのを待つのも一つですよといったところですね
以上、世界のエンジニアのいろんな傾向とか回答が見れてとても面白かったなと思います
では長くなりましたのでこれで今回の配信を終わりにしたいと思います
エンディングです
いかがだったでしょうか実に5回にわたってステートオブジャバスクリプト2024を見ていきました
去年も一昨年も僕はずっと見続けていて
予想の範囲を超えなかったものもあれば意外だったなっていうものをいくつかあって
かつ日本で僕はずっと生活をしてエンジニアとして動いている中
世界の方々がどういう選定をされたりいろんなコメントも見てましたけど
どういうような意思決定とか気持ちでこれを選ぶまたは選ばなかったみたいな
またここにはペインがあるみたいなコメントを見てて
そういうのはやっぱり世界と情報を得てそことシンクしたり
違ったりみたいな差別化差分を見るって結構大事なことだなって改めて感じましたね
本当無料でこの情報を見れるしこの運営をしていただいている中の方には本当感謝申し上げたいと思います
また今年もいろんなツールが誕生したり進化し続けていくと思いますので
一技術者として今のお仕事なり開発現場の中でこれが必要だっていうのはしっかり技術者として選定していきたいなというふうに思っていますし
新しいツールが来たらしっかり試してみて良いものはしっかり取り込んでいきたいなというふうに感じました
ではでは終わっていきたいとおもいます
この番組面白かったよという方ぜひチャンネル登録をお願いします
もし聞いていて気になることや話してほしいトピック感想などありましたら
概要欄のフォームやXでハッシュタグウェブ小話でつぶやいてください
ウェブはアルファベット小話は漢字でもひらがなでも大丈夫です
それではまた雨宿りしに来てください
今回もお聞きくださりありがとうございました
雨宿りとウェブの小話お相手はキースでした
さようなら
24:29

コメント

スクロール