エムスリーテックブログ

エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

Claudeが実装したE2Eテストをレビューするツールを自作してみた

こんにちは。エムスリーのQAチームの須賀です。

私が担当するチームでは、開発経験のないQAエンジニアの方もClaudeを用いてPlaywrightのE2Eテストを実装しています。 Claudeを用いることでE2Eテストの実装自体は簡単になりましたが、Claudeが実装したコードは「テスト実行は成功するがテスト手順や操作対象が誤っている」こともあります。そのため、Claudeが実装したE2Eテストの振る舞いが正しいかどうかは人がチェックする必要があります。

自分でE2Eテストを実装する場合は、実際の画面を見ながら実装するため「このコードが画面のどの要素を操作しているか」は感覚的に分かります。

一方、Claudeにテストコードを書かせる場合、例えば次のようなコードを見ても、削除対象が正しいかどうかを確認するには一手間必要です。

await page.getByRole('row', { name: orderId }).getByRole('button', { name: '削除' }).click();

そこで、私はE2Eテストのテスト手順が正しいかをレビューするためのツールを作りました。今回はそのツールを紹介いたします。

続きを読む

geohash について知ったので、パン屋巡りに使えないか考えてみた

夏の旅行で撮った馬の写真
※ 記事とは何の関係もない、夏の旅行で撮った馬の写真

メディカルマーケティングオートメーションチームの山本(@hiro_o918)です。 本記事はメディカルマーケティングオートメーションチーム(Unit2)のブログリレー2日目の記事です。 前回は中村さんの「Rustで自己言及プログラムであるQuineを作っていく」でした。

最近、場所をハッシュ値で持つ geohash という概念を学びました。休日にたまにパン屋巡りをするのですが、これを応用すれば効率的にパン屋を巡れるんじゃないかと思いついたので、考えたことを書いていこうと思います。 ただ、人間の胃には限界があるため、実際にこのとおり巡るのは難しく、あくまで乱数で作ったダミーのパン屋を使ったシミュレーションです。前半は「次に行く 1 軒を探す」話、後半は「それを繰り返して、全部のお店を回る順番を作る」話になります。

続きを読む

Rustで自己言及プログラムであるQuineを作っていく

はじめに

エムスリー株式会社 メディカルマーケティングオートメーションチームの中村(@inakam00)です。 本記事はメディカルマーケティングオートメーションチーム(unit2)のブログリレー1日目の記事です。

エムスリーテックブログではお馴染みとなりつつあるQuineを、今回はRustで作ってみました。

  • はじめに
  • Quineについて
  • RustでM3 Quineを作る
    • 完成品
    • コードを3つのパートに分ける
    • 空白の代わりにコメントを使う
    • マスク情報も英字にしてコードに溶け込ませる
    • raw文字列と文字エスケープ
      • raw文字列の終端記号
      • 置換処理の重複防止
      • 空白文字の保持
  • おわりに
  • 編集後記
  • We are hiring!!
    • エンジニア採用ページはこちら
    • カジュアル面談もお気軽にどうぞ
    • インターンも常時募集しています
続きを読む

git worktree大増殖で困っていた

Gitのworktreeサブコマンドは、AIエージェント開発が普及してから急によく知られるようになった感があります。実際にこれが登場したのはもう10年前、2016年のことだそうですね。私自身は業務の性質上、複数の依頼案件を並列で進めることが多くてAIエージェントが出てくる前からworktreeみたいなことをしていました。同じリポジトリを何個もローカルに別々にcloneしてあっちへ行ったりこっちへ来たりと作業していたんです。それで昨今の流行でworktreeサブコマンドの存在を知ったときには悔しいのなんの。

とはいえ、worktreeを使って(AIエージェントも使って)超多並列で開発業務をやっているとやはり問題になってくるのがworktreeディレクトリが溢れかえってしまう問題です。ディスク残量を圧迫される、とまでなる方は少ないと思いますが、脳のコンテキストが圧迫されます。どのディレクトリがなんだっけ? 我々の脳のコンテキストサイズはそう大きくはありません。こんにちは、エムスリーエンジニアリンググループUnit9(エビデンス創出プロダクトチーム)の三浦[記事一覧 ]です。データ基盤チーム & Unit9ブログリレー5日目の記事になります。前回は木田さんのKestraとAmazon EKSのキャパシティプランニング - JVMに思いを馳せながらでした。

続きを読む

RecSys 2026の論文を紹介するぜ!

こんにちは。エンジニアリンググループのAI・機械学習チームに所属している鴨田 です。弊チームでは毎週1時間の技術共有会を実施しており、各自が担当するプロダクトの技術や、最近読んだ論文を紹介しています。9/27〜10/1までRecSys 2026が開催されていたこともあり、同学会の論文読み会となりました。

本ブログでは輪読会で取り上げた論文を紹介します。また、2026年の内容が公開される前の8月末から実施していたため、その期間に実施したRecSys 2025の論文紹介も合わせて掲載します!

RecSysTopページから素材を拝借し組み合わせた画像

続きを読む

新卒1年目からKPIオーナー。任せて、支えるエムスリーのPdM育成

こんにちは。エンジニアリンググループ プロダクトマネージャーの杉本です。2025年4月に新卒で入社し、デジスマ診療のチームでプロダクトマネジメントを担当しています。デジスマ診療は、診療の予約・問診・決済といった医療機関の業務をDX化し、患者さんの診療体験そのものを改善するサービスです。

シルバーウィークに行った八丈島

エムスリーのPdMは、1年目から課題の発見、開発のリード、KPIのオーナーまで一貫して任せてもらえます。この記事では、任せてもらう側だった私から見た「任せきりにしない環境」を紹介します。

続きを読む

この数字、成果にできますか? ABテストの落とし穴を公開データで確かめる全5問

こんにちは。AI・機械学習チームの高田です。

施策の効果検証では、発生頻度の低いイベントをKPIに置くことがあります。母数が小さいぶん、集計定義のちょっとした違いで数字が動きやすくなります。「test群が勝っています」と報告を受けたとき、その数字をどこまで信じてよいのか。判断に使う観点を一度整理しておきたいと考えていました。

続きを読む