はじめに こんにちは、クラスター株式会社でソフトウェアエンジニアをやっているid:shiba_yu36です。 クラスターではGoの自動テストをCircleCIで実行しています。入社して以降、この自動テストの実行時間が少し長いと感じたため、調査と改善を進めてきました。結果として速度を改善できたので、この記事でGoの自動テスト高速化のための調査と改善手法について共有したいと思います。 はじめに Goの自動テストで課題だったこと 最終的な結果 自動テスト高速化の流れ テスト実行時間のボトルネックを調査する CircleCIのTIMINGタブで大まかなボトルネックを調査する make testのボトルネックを調査する 高速化でやるべきことを決定する 1つずつ改善し結果を計測する go generateの成果物をレポジトリにcommitし自動テスト上では実行しない: 2分短縮 ビルドキャッシュを用い
こんにちは、あるいはこんばんは。すぱ..すぱらしいサーバサイドのエンジニアの(@taclose)です☆ 弊社では先日テスト駆動開発(以降、TDDと呼ぶ)ハンズオン勉強会を開催しました! 今回の記事の内容はズバリ2つ 誤解してる!?テスト駆動開発の良さ!学ぶ事の意味! TDDハンズオン勉強会を開催する意図や実施内容、感想! 読者のターゲットは TDDを誤解している人 TDDハンズオン勉強会を弊社でもやろう!とか思ってる人 を想定していますっ。 誤解されがちなTDD、記事にするには書ききれないTDD...なるべく小難しい内容は省いて興味を持ってもらうための記事を書いてみようと思います! テスト駆動開発(TDD)は良い物だ! テスト駆動開発(TDD)とは何か? TDDに対する誤解 TDDハンズオンについて TDDハンズオンの趣旨 TDDハンズオンの計画 事前準備 スケジュールと概要 TDDハンズ
2024年度の大学入学共通テストが2024年1月13日、14日の2日間で実施された。筆者の息子は受験学年ではないが、テレビニュースで試験の様子が流れるとなぜかそわそわしてしまう。 今どきは共通テストの同日模試といったものが存在する。一部の予備校が受験学年未満の学生を対象に、試験当日もしくは数日以内に共通テストと同じ問題を使って試験を実施するのだ。この同日模試に参加した息子が、試験を受けた直後、私と会って最初に口にしたのが「『WWW』って何?」だった。 2025年度の共通テストから国公立大学受験の必須科目として「情報Ⅰ」が加わる。2024年度には情報Ⅰの問題はないが、息子が受験した同日模試では予備校が情報Ⅰの問題を独自に作成していた。 息子が質問してきたのは同日模試の情報Ⅰの問題で、WWWが取り上げられていたからだ。問題文の正否を答えさせる内容で、その問題文を要約すると、「インターネットでは
はじめに 題で強調しているのは、下に引用する文に書かれていたものです。 福島の #甲状腺検査 は過剰診断という不利益が生じえる検査です。世界では無症状の人(症状とは甲状腺にしこりがある,嗄声)には推奨されない検査にかわりました。人生を変えることもある検査。検査するだけでなく、何か見つかった時どうするかまでが検査です。 pic.twitter.com/NQHneeHM4Q— こどもを甲状腺がんの過剰診断から守る医師の会 SaveChildrenOverdiagnosis (@MKoujyo) 2023年8月21日 福島の #甲状腺検査 は過剰診断という不利益が生じえる検査です。 この文章は、福島で実施されている甲状腺がん検診の実施に疑問を呈する流れで書かれています。つまり、甲状腺がん検診の再考、あるいはもっとはっきりと言えば、検診の実施に反対する理由として、 過剰診断という不利益が生じえる
はじめに Flutter好きの皆さんこんにちは! アルサーガパートナーズ株式会社でFlutterエンジニアをしているtaiseiです! 突然ですが皆さん、FlutterでUIの開発を進める中で、「このUIはどんなデバイスでも適切に表示されるのだろうか..?」と不安に感じたことはありませんか? レスポンシブデザインはもちろんのこと、テキストのフォントや色、ダークモードの表示など複数のデバイスで複数の画面を一回一回チェックするのは骨の折れる作業ですし、開発を進める中で副作用によってUIが変更され、気付かないうちに開発が進んでしまうといったこともあります。 そこで、これらの問題を解決する方法として、Golden TestというUIテスト手法があります!! 今回はこのGolden Testについて、設定から基本的な使い方、私が実際に遭遇したエラーに対するトラブルシューティング等を解説していこうと思
Stay organized with collections Save and categorize content based on your preferences.
上記以外で特筆すべき点として、他の開発者(≒チームメンバー)にとっては、変更の影響をほとんど受けずに、ノーコストで上記恩恵を受けられる点があります。 これは Vitest の Jest に対する高い互換性のおかげでテストコードの書き方に大きな変更がなかったことと、テスト実行コマンドを npm-scripts によって隠蔽していたことによるもので、移行したことに気づきさえしない可能性もあります。 Vite を使ってないのに Vitest 使ってええんか? 今回 Jest から Vitest への移行を行ったプロジェクトは、開発サーバーやプロダクションビルドには Webpack を使用しており、Vite は一切使用していませんでした。 そういったプロジェクトにおいても、Vite をベースとしたテストフレームワークである Vitest は使用して良いものでしょうか? これについては Vitest
はじめに 株式会社hitocolorのKanonとしてはお初にお目にかかります。実は2024年2月からhitocolor様に副業先としてジョインさせていただいてます。 hitocolor様ではkokoroeというeラーニングサービスの開発をお手伝いしています! hitocolor様にjoin後、最初に着手した本格的な案件が今回の記事で書くStrykerの導入です。 Stryker自体は本業[1]の方の社内勉強会で登場したTOPICSで、その時から関心を持っていました。 本業の方ではそれよりも優先度の高いタスクがたくさんだったので導入の目処がなかったのですが、hitocolor様の方で提案したところ「いいね!」とおっしゃっていただき導入する運びになりました。 そして導入にあたっていろいろやったことを、「せっかくなので記事として公開してみよう!」とお話をいただき今に至ります。 Mutation
Greenmask is a powerful open-source utility that is designed for logical database backup dumping, obfuscation, and restoration. It offers extensive functionality for backup, anonymization, and data masking. Greenmask is written entirely in pure Go and includes ported PostgreSQL libraries, making it platform-independent. This tool is stateless and does not require any changes to your database schem
こんにちは。kimihiro_nです。 今回はアプリケーションの動作を保証するために不可欠なテストコードの書き方についてです。 特に外部依存要素のテストに焦点を当ててみていきたいと思います。 外部に依存するテストコード 皆さんはアプリケーションのテストコードを書いていますか? 内部的な状態を持たず、入力と出力が常に変化しない関数であれば、テストコードを書くのは比較的容易です。実際に関数を呼び出ししてその出力と期待値が一致しているかをみればテストすることができます。 しかし実際にアプリケーションを開発する場合、データベースへの接続だったり外部へのAPI呼び出しだったりといった外部の状態に依存した処理が含まれることが多いです。このような場合、素直にテストを書くのが難しいです。 多くの場合モックを利用して実際のデータベース呼び出しを置き換えたり、テスト用のリソースをdockerなどで構築してダミ
©︎ 自己紹介 平田敏之(tarappo) かんたんな経歴 • DeNA SWET → 10X(2022/04 -) 領域 ・「開発生産性の向上」「品質の担保」をミッション 2024 10X, Inc. ©︎ JaSST Kansai 24 - アブストラクトより 皆さんはどのようにして「プロダクトの品質」を担保していますか? そのための活動はテスト実施以外にも多岐にわたります。 ① しかし、これらの活動を品管メンバーだけで実施するのは難しいです。 10Xでは、品管メンバーがリードしながら、組織全体で品質を担保するために様々 な取り組みを行っています。 ② 例えば、開発チームの一員としての活動や、組織全体への働きかけなどです。 本発表では、弊社で実際に行っている事例を基に、組織全体で品質を担保するため の具体的な取り組みを一つ一つ紹介していきます。 これにより、皆様が自社での品質向上に役立
こんにちは、最近久々にソロキャンプをしてきました菅野です。 AWS上で、 様々なAIモデルを利用できるようになるサービス、Amazon Bedrockがリリースされました、と書き続けてそろそろひと月が経過しております。 楽しみながら様々なモデルを利用していたらあっという間に時間がたってしまいました。 今回は、BedrockのClaudeV2モデルを用いてPythonコードとテストコードを生成してみようと思います。 Bedrockの説明は、以下を参照してください。 acro-engineer.hatenablog.com 「Fizz Buzz」の生成 プログラミングの初歩も初歩、定番の課題といえばFizz Buzzです。 1-100までの数字のうち、3の倍数の時にはFizzを、5の倍数の時はBuzzを、3の倍数且つ、5の倍数の時はFizzBuzzと、それ以外の時はその数字を表示するプログラム
Findyでエンジニアをしている松村(@shakemurasan)です。 以前、弊社の栁沢が「RailsのCIのテスト実行時間を10分から5分に高速化した話」という記事を投稿しました。 tech.findy.co.jp 本記事ではその少し前のお話、そもそもRSpecの実行時間自体にまだまだあった伸びしろ、特にFactory周りの問題をTestProfというgemを活用して解消していった話となります。 当時のRSpecの実行時間状況 TestProfとは TestProfでの分析結果 改善1. 関連したレコードを複数件作成しているFactoryを1レコードに減らす 改善2. テストで必要最小限なレコードのみを作成する RSpecの実行時間の改善結果 考察 当時のRSpecの実行時間状況 これまでにもテスト実行時間の短縮のための取り組み(CI側でのマシンの並列起動および並列実行)はしており、そ
2023年6月27日に開催されたFLEXY meetupのテーマは「フロントエンドのテスト」です。 技術の進化とともにバックエンドとフロントエンドが疎結合になる今、フロントエンド領域ではテストの重要性が高まっています。 一方、現場レベルではテストコードを書いたことがなく、何から始めるべきなのか悩みを抱えているエンジニアは多いのではないでしょうか。 そこで今回は、実際にフロントエンドのテスト導入を行っている古川さん、nus3さんの2名がディスカッション。「フロントエンドテストはじめの一歩」として今、何ができるのかを実例も交えながら教えていただきました。 イベント概要 技術の進化に伴い、アーキテクチャレベルでバックエンドとフロントエンドが疎結合になった今、フロントエンド領域におけるテストの重要性について注目が集まっています。 一方でまだ手法が広まっておらず実際にテストコードを書いたことがないた
こんにちは!バクラク事業部 Platform Engineering 部 DevOps チームの id:sadayoshi_tadaです。今期の呪術廻戦のアニメは原作にない描写が描かれてて最高でした。 この記事は LayerXテックアドカレ 49日目の記事です。前日は id:watau_lx さんによる 継続的なパフォーマンス改善のプロセスを紹介します でした。明日は kakeruさんが担当します。この記事では AWS の学習型カンファレンスである、re:Invnent 2023 で登場した AWS Backup Restore testing を検証した内容をまとめていきます。なお、re:Invent 2023 でのアップデートや新サービスをさらえる AWS re:Invent 2023速報 の資料と動画をもしチェックされてない方がいたら年末年始のタイミングでチェックしてみてください🔎
Docker社がTestcontainersの開発元AtomicJar社の買収を発表。Dockerでの統合テスト環境を強化 Docker社がTestcontainersの開発元であるAtomicJar社の買収を発表しました。 Big news! @AtomicJarInc is now part of @Docker! Together, we will continue to invest in and extend the open-source project that we all love @testcontainers. Read the blog by @bsideup: https://t.co/rh2rW8Q5PY pic.twitter.com/AEKHZWXKr6 — Testcontainers (@testcontainers) December 11, 2023
こんにちは、MedPeerの開発を担当している森田です。 今回は私が開発に参画しているMedPeerに元々E2Eテストで利用していたCapybaraと、reg-cliを利用してビジュアルリグレッションテスト(以下VRT)を行える環境を整備したので、それについてご紹介させていただきます。 なぜ、VRTを導入するのか? VRTの要件と技術選定 実際に構築したVRT基盤の概要 VRT基盤の具体的な話 System Spec内でスクリーンショットを取得する reg-cliでスクリーンショットの差分をチェックする 分かりやすいコマンドでVRTを実行できるようにする CIで差分をチェックする OS間での利用フォントによる違いを吸収する おわりに 参考にさせて頂いた資料 なぜ、VRTを導入するのか? MedPeerでは元々System Specを活用したE2Eテストを利用してフロントエンドを含めて品質を
1人目PM→PMのチーム化の変遷で起きた“異なる見え方” 「イチ事業家としての振る舞い」から「権限委譲の意識」へ PM1人から、PM2人3脚を経て、PM4人チームになった話 長井氏の自己紹介 長井大輔氏:私は途中ジョインというより、私自体が創業メンバーの1人なので、そういった目線でPMが増えてきた経緯みたいな話をできればと思っています。 まず簡単な自己紹介です。あらためまして、長井と申します。COOという役回りです。川崎出身で、ディー・エヌ・エーに新卒で入社して、当時は飛ぶ鳥を落とす勢いだった「Mobage」の事業をやって、そのあとに新規事業をやったり、子会社に行ったり、カーシェアリングのサービスを立ち上げたり。約7年間在籍してそういったことをやっていました。 その後はBCG Digital Venturesという、ボストンコンサルティンググループという外資向けのコンサルティングファームの
Amazon SESで 不特定多数の宛先にメールを送信する場合、十分なウォームアップと、配信制限(バウンス)に加え、予兆となる配信遅延についても、見逃さないようにしてご利用ください。 Amazon SES、 Gmail 宛に 1日 1万通規模のメール送信に利用できる事を確かめるため、 約1ヶ月かけて 30万通のテストメールの送信を実施。 その送信結果の確認を試みる機会がありましたので、紹介させて頂きます。 SESの設定 認証 Easy DKIM、カスタム MAIL FROM ドメインを設定しました。 DMARC関連設定も実施しました。 SESで送信したメールのDMARCレポートをCloudflare DMARC Management で確認してみた 設定セット IPプールはデフォルトとしました。 Virtual Deliverability Managerは有効化しました。 全てのログをF
こんにちは、UPSIDERで日々モバイルアプリ開発をしているふっくです。 UPSIDERでは今後、よりアプリ開発に注力し決済プラットフォームの中核的な役割を果たすことを目指しています。 今回は、今後の開発・運用を目指して考えたFlutterアプリ向けのアーキテクチャを紹介します。 ネイティブアプリの世界で触れてきた色々なアーキテクチャ・フレームワークを参考に、開発の後半でも順調にスケールさせることができるように、工夫を凝らしました。 本アーキテクチャで作ったサンプルアプリもあるので、ぜひ以下のリンクから見てみてください。 https://github.com/upsidr/flutter_architecture_blueprint デモはこちら https://upsidr.github.io/flutter_architecture_blueprint/ 対象読者 目指すところ 参考に
Storybook is the industry standard workshop for building, documenting, and testing UI components. It’s used by leading development teams at organizations like Shopify, Gov.UK, and NASA. One of the biggest benefits of developing in Storybook is that you get tests for free. Each isolated component example—or “story”—is a UI test. And if you want to test data fetching and user interactions, Storybook
Last time, we saw how deleting stuff from a test case can be an easy and fun route to the root cause of a bug. It’s less easy and less fun when the test cases get big. The inner loop of test-case reduction can get old quickly: delete stuff, run the special command, check the output to decide whether to backtrack or proceed. It’s rote, mechanical, and annoyingly error prone. Let’s make the computer
実はOffersMGRでもDatadog Synthetic Test を用いてテストを行っていました。 しかし、シナリオが2つしか無くカバー範囲も狭く、デグレが起こっても検知出来ない状況でした。 今回のPlaywrightを使ったE2Eテストの導入では既存シナリオの移行とOffersMGRの全ページが健全に動作しているかのチェックを目的としました。 今後を見据えた設計と運用 BtoCももちろんですが、BtoBのプロダクトは特に成長していくとともに安定したサービス提供が求められるのでテストの重要度は高くなります。 そのため、E2Eテストや結合テストの拡充は必然的に実施していくことになります。 一応、特定のComponentに対象を絞る事によってE2Eテストでも結合テストが出来ます。 しかし、E2Eテストは結合テストと比べ実行速度が遅く、最終的なテスト量はE2Eテスト < 結合テストが理想で
先日 Vercel の@leeerob氏が次のようなツイートをしていました。 I'm working on updated testing docs for the @nextjs App Router. next@canary supports Jest for server & client components, metadata, server-only, and more なんと next@canary で、Server Components の Jest でのテスト実行がサポートされているとのことです!これは試さないと! next@13.4.19 時点での Server Components テストの課題 Next.js App Router で開発するときの大きな課題の一つがテストで、現状では Server Components と testing-library を組み合わ
厳寒期の2月にマイカーである2022年製テスラモデルYパフォーマンスを使用して、真冬の北海道のEV性能や北海道の充電インフラを調査する、毎年恒例の「北海道遠征」レポート。後編では、氷点下25℃という過酷な状況での車中泊について紹介します。 ヒートポンプ式エアコンは正常に作動するか? 前編では、関東埼玉から北海道陸別まで1350kmという超長距離を移動(青森〜函館はフェリーを利用)した際の電費や充電行程などをレポートしました。 【関連記事】 テスラ『モデルY』北海道遠征【前編】埼玉→北海道陸別の充電や電費レポート(2024年3月29日) 後編では、「日本一の寒い町」をアピールする陸別において、一晩暖房をつけっぱなしにして車中泊を行うと、どれほどの電気を消費してしまうのかという暖房電力消費量テストを敢行しました。 最新のEVは、ヒートポンプシステムを搭載しているケースが多く、熱を生み出すだけで
In an increasingly digital age, the internet serves as a vital resource for information, communication, commerce, and entertainment. However, for the millions of people living with disabilities, navigating the web can present significant challenges. Web accessibility addresses these challenges by ensuring that websites, tools, and technologies are designed and developed to be usable by everyone, r
Safetest is a powerful UI testing library that combines Playwright, Jest/Vitest, and React for a powerful end-to-end testing solution for applications and component testing. With Safetest, you can easily test the functionality and appearance of your application, ensuring that it works as expected and looks great on all devices. Safetest provides a seamless testing experience by integrating with yo
テスト自動化のために作られたIDE「Aqua」、JetBrainsが正式公開。Webインスペクタ、HTTPクライアント、テストランナー、デバッガーなど統合。個人向けは無料 JetBrainsは、テスト自動化のためのテストコード作成や自動テストの実行などに最適化した統合開発環境「Aqua」の正式版を公開しました(β版登場時の機能紹介)。 Aquaはテスト自動化でよく使われるJava、Python 、JavaScript、TypeScript、Kotlin、SQLなどの言語と、Selenium、Playwright、Cypressなどの主要なフレームワークをサポート。 クラスやシンボルなどを認識するスマート検索や、安全な名前の変更と削除、メソッドの抽出、変数の導入、変数またはメソッドのインライン化などのリファクタリング支援機能も備えています。 JUnit、TestNG、Pytest、Jest、
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く