🐷 What's Poku?A cross-platform test runner that brings the JavaScript essence back to testing. ⚡️ Quick Tutorials
🐷 What's Poku?A cross-platform test runner that brings the JavaScript essence back to testing. ⚡️ Quick Tutorials
modules: jmeter: version: 5.4.1 # ここに書いてあるバージョンを勝手にダウンロードしてくれる properties: log_level.JMeter: WARN log_level.JMeter.threads: WARN system-properties: org.apache.commons.logging.simplelog.log.org.apache.http: WARN 既存ツールのラッパーとして動作 デフォルトでは内部的にJmeterが実行されますが、以下のようなツールで作成されたスクリプトを流用することが可能です。 JMeter Gatling Locust Selenium Vegeta つまり、さきほどはYAMLでシナリオが記述可能とは言いましたが、もちろん既存のスクリプトを流用できるってことです。 いままで作り上げてきたスクリプトや
こんにちは!フロントエンドエキスパートチームの @mugi_uno です。 みなさんは Visual Regression Test は普段活用していますか? 昨今では事例もよく耳にするようになった印象です。一度使って手放せなくなった方もいるのではないでしょうか。 今回の記事では、通常のプロダクト新規開発とは異なる “脱レガシー” の文脈で Playwright を用いた簡易的な Visual Regression Test を試してみたので、導入に至る経緯と、どのように実施しているかを紹介します。 フロントエンドリアーキテクチャとサイレントリリース 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクトと称して、Closure Tools から React への脱レガシー作業が進行中です。プロジェクトの詳細については @koba04 が書いた次の記事をご覧くださ
「CEOに身代金を要求したい」 こんにちは、PSIRTマネージャのただただし(tdtds)です。この記事はfreee Developers Advent Calendar 2021 18日目です。 freeeにjoinしてから早くも14ヶ月がすぎました。freeeでは毎年10月に全社障害訓練をしていて、昨年は入社したてで右も左もわからないままAWS上の本番環境(のレプリカ)に侵入してDBをぶっ壊す役目をさせられたのも良い思い出です*1。 で、上の「CEOに身代金を要求したい」という物騒な相談は、今年の訓練計画の話です。話を持ち掛けてきたのはCIOの土佐。昨年は主要サービスが落ちて、開発チームが対応にあたる中、ビジネスサイドも顧客対応などで訓練参加しましたが、今年はさらに、経営サイドまで巻き込もうというゴール設定がされたわけですね。腕が鳴ります。 ゴールは「CEOに4BTCを要求する」 ゴー
マイクロサービスアーキテクチャの普及や、Webブラウザのほかモバイルやスマートスピーカーなどクライアントチャネルの多様化もあって、Web APIを前提としたシステムが増加している。当然、Web APIのテストも現場では大きな課題になってくるが、株式会社ベリサーブの朱峰錦司氏は「なぜ、そのテストを実行するのか、全員で共有できているチームはどれほどあるだろうか」と疑問を抱く。そして正しいテスト技法を少し覚えるだけでも、個々のテストに対する理解はぐっと深まるという。テスト技法の初歩を、実演も交えて解説してくれた。 株式会社ベリサーブ 研究企画開発部 サービス開発課 課長 朱峰錦司氏 テスト作りの過程を言語化するツールがテスト技法 朱峰氏は「今はソフトウェアプロダクトを1回作って終わりという時代ではない。プロダクトをどんどん進化、変化させていく時代だ」と指摘し、この状況に対応するために書いたテスト
ESLint の設定、見直せてますか? スタディスト 開発部 技術支援ユニットの笹木 (@s_sasaki_0529) です。 今回は ESLint の設定を ESLint でテストする という一見奇妙な表題で、 ESLint 設定周りの課題を解決したお話をします。 https://eslint.org/課題感ESLint には標準で多数のルールが組み込まれており、それぞれに詳細なオプションが用意されています。それに加えて、豊富なサードパーティ製のルールや、設定を継承する仕組み(extends) まで揃っているため、設定パターンは無限にあると言っても良いでしょう。 コードベースが小さいうちは、 eslint:recommended のような推奨設定を継承するだけで、すぐにベストプラクティスを実践することができます。 しかし、Vue や TypeScript といった技術構成や、Pretti
マイケル・C・フェザーズ著の『レガシーコード改善ガイド』によると、「単体テストのないコードはレガシーコード」だという。大手企業に広く支持されている人事システム「COMPANY(カンパニー)」を開発しているWorks Human Intelligenceも、これまで結合テストに頼った開発フローを採っており、製品開発はザ・レガシーコードと言えるものだった。だが、そんな開発環境が改善され、今ではすべての開発者が単体テストを書くようになったという。Works Human Intelligenceではどのようにして脱レガシーコードを実現したのか。DXエンジニアの寺尾拓氏が2年間に及ぶ開発環境の改善への取り組みを語った。 株式会社Works Human Intelligence DX Engineer 寺尾 拓氏 レガシープロダクトをリファクタリングするために単体テストを整備 「プロダクト開発部門に配
Web 開発者は HTTP レスポンスをよく見る。 以前 CDN を導入する際に、キャッシュがヒットしているかどうか、どこのエッジがキャッシュを返しているかを確認するためにヘッダをよく見ていた。また、ヘッダだけではなく、TTFB といったレスポンスタイムも気にしている。とにかく HTTP レスポンスをよく見る。 HTTP レスポンスを確認する3つの方法 Chrome さえあれば DevTools を見て一目瞭然である。 とはいえ、コマンドラインで確認したい時がしばしばある。 GUI を操作するよりも手軽である。 その場合はcurlコマンドを叩けばよい。 これでプロトコル、ステータス、ヘッダが分かる。 また、レスポンスタイムを測りたければ、その名もttfb.shというcurlをラップしたコマンドラインツールがある。 https://github.com/jaygooby/ttfb.sh この
本稿は MSW(Mock Service Worker)エコシステムのうちの一つ mswjs/data を試してみた記事です。記事中のサンプルコードは以下で公開しています。 mswjs/data とは 仮想 DB をブラウザ(インメモリ)に展開する、データモデリング・リレーションライブラリです。MSW 単体ではハードコードされたフィクスチャのみの定義となりますが、mswjs/data を併用することで、データ駆動型 API モックを作成することが可能になります。使い始めは簡単で、以下の様にスキーマを定義しfactory関数で DB インスタンスを生成します。 import { factory, primaryKey } from '@mswjs/data' const db = factory({ user: { id: primaryKey(String), firstName: Str
2022.01.12 何度も挑戦し挫折してきたE2Eテスト、ついにSaaSのAI自動テストが福音となるか?!の巻 D.M.です。E2E テストのツール mabl について書きます。 TL;DR ・mabl はお手軽で素晴らしい。初期設定が簡単ですぐに開始できる。テスト作成とスケジュール設定が非常に簡単。修正もすぐにできる。 ・さすがに Google reCAPTCHA は突破できない(できたらそれはそれでヤバい)。Webアプリ側で仕様上の特殊な処理を設けるしかなさげ。 ・テストメール生成機能もあり非常に便利。(今回はうまく使えず。。) ・壊れたら自動でいい感じにしてくれる Auto Healing がすごい。逆に Auto Healing されたら困る、 NG にしたいケースでは Auto Healing をOFFにしたり、 Assert で正しい値が出ているかチェックするという逃げ道もあ
皆様フロントエンドのテストを書いていらっしゃいますでしょうか? フロントエンドのテストを書くときには API コールする処理を全てモックする必要があります。外部の API をコールする処理をテストに含めると API サーバーが落ちているなどの外部の要因によってテストが失敗してしまう可能性がありますし、テストを実行するたびに実際に API をコールしてしまうとサーバーに負荷がかかってしまうなど外部に対しても悪影響を与えてしまいます。 さて、従来のモックする手段としては Jest のモックを利用して axios や fetch などのモジュールをモック化する手法がよく使われていたかと思います。 最近のテスト手法として API コールをモックする際に Jest ではなく Mock Service Worker (以下 msw )を使用する手法が注目されています。実施にどのように使用されているのか
こんにちは、CX事業本部 IoT事業部の若槻です。 今回は、JavaScriptのテストフレームワークJestを使用して、ReactアプリケーションのUIテストの自動化をしてみました。 ReactアプリのUIテストをするためには Reactアプリケーションのユーザーインターフェース(UI)のテストを自動化する場合、次のような観点が考えられます。 DOM要素の出力が期待通りであるかのテスト コードの変更前後でDOM要素の出力に差分が発生していないか(又はしているか)のテスト 特に後者のテストは、ある時点の画面のスナップショットを用意したテストとなるため、スナップショットテストと呼びます。 そして、これらいずれのUIテストもJestを使用して自動化が可能です。 やってみた テスト環境の作成 テスト対象となるReactアプリケーションを新規作成します。 $ npx create-react-ap
「AVA 4.0.0」では、テストファイルがデフォルトでワーカースレッドにて実行されるようになり、実行速度がわずかに高速化したほか、実験的に搭載されていた、AVAのメインプロセスのワーカースレッドにプログラムをロードして、テストワーカーで実行されているコードと通信する機能である共有ワーカーが正式提供となっている。 また、CLIではテストファイルのサブセットを選択するためのパターンが提供可能になるとともに、.gitディレクトリ(またはファイル)があるディレクトリを見つけるまで、親ディレクトリにある構成ファイルを検索するようになり、スナップショットにはレポートファイルの再生成に必要なすべての情報が含まれるようになったほか、実行に失敗したテストファイルを記録するようになり、再度の実行時に失敗したテストファイルを優先して実行するようになった。 さらに、ESモジュールの完全なサポート、型推論を備えた
プログラマーのジュリア・エバンスさんが、DNSを使った実験が行えるサイト「mess with dns」を公開しています。 mess with dns https://messwithdns.net/ New tool: Mess with DNS! https://jvns.ca/blog/2021/12/15/mess-with-dns/ DNSを用いた実験には「DNSレコードを作成することに抵抗がある、あるいはドメインを持っていない」「DNSクエリが見えないため何が起こっているのかを理解するのが難しい」「どういった実験を行うべきかわからない」といった問題があります。こういった問題を解消し、実際にどのような実験を行えばいいかを例示しながらDNSの動作を学ぶことができるというのが、「mess with dns」です。mess with dnsでは用意するのが面倒なドメインがあらかじめ用意さ
Merpay Advent Calendar 2021 の 8 日目はメルペイフロントエンドチーム の @tanakaworld がお送りします。 はじめに メルペイは金融サービスであり、品質の維持・向上に日々取り組んでいます。フロントエンドチームでは、約 2 年前からリグレッションテストの自動化に取り組み始め、直近の 1 年間はインテグレーションテストの自動化にもチャレンジしてきました。本記事ではメルペイフロントエンドチームに於けるテスト自動化の方針とその全体像について振り返ってみたいと思います。 フロントエンドプロダクトに関わるテストは次のものが挙げられます。これらをひとつずつ順番に見ていきたいと思います。 ユニットテスト インテグレーションテスト シナリオテスト リグレッションテスト テストの種類とそのカバレッジ対象 1. ユニットテスト ユニットテストは Jest を用いて、主に
2020年3月28日にオンライン開催されたJAWS DAYS 2020での発表資料です。 https://jaws-ug.doorkeeper.jp/events/105155 https://jawsdays2020.jaws-ug.jp/session/fargate%e3%81%a8lambda%e3%81%a7%e4%bd%9c%e3%82%8b%e3%82%b9%e3%82%b1%e3%83%bc%e3%83%a9%e3%83%96%e3%83%ab%e3%81%aae2e%e3%83%86%e3%82%b9%e3%83%88%e5%ae%9f%e8%a1%8c%e5%9f%ba%e7%9b%a4/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く