Zennの「Test」のフィード
フィード

クラシフィケーションツリー技法ってなに?
Zennの「Test」のフィード
はじめに今回はテスト技法の一つ『クラシフィケーションツリー技法』についてまとめてみようと思います。 クラシフィケーションツリー技法とはこのテスト技法は以下のような特徴を持ちます。テスト対象の想定される振る舞いは複数の考慮要素の組み合わせにより導出される考慮要素の値は同値分割により分岐的にまとめることが出来る考慮要素は論理的に繋がりがあり飛躍がなくMECEであるテスト対象の想定される振る舞いを網羅する際、そのテストケースの導出時の論理的な切り口として同値分割の手法を用いることで、テストを網羅的で効率的に実施することが出来る技法です。同じブラックボックステスト技...
4時間前

ユニットテストがしやすいコード構成について過去を振り返って考えてみた
Zennの「Test」のフィード
はじめにインテグレーションテスト主体でテストを書いていく場合、テスト実行時間が長い問題が出てきた。(インスタンスをたくさん並べてパラレル実行にするとかやりようはあると思う)解決するためには出来る限りユニットテストに寄せた方が良いが、どういったコード構成ならユニットテストに寄せやすいのか?考えた。 今あるアーキテクチャから選べばいいじゃんという話もあるが。。。既存アーキテクチャだとなんかしっくりこないのでしっくりくるのを考えてみた。全部に当てはまる正解はないので、自分の関わってきたシステムを振り返り、それらを踏まえて考えてみる。実際に本番稼働していたシステムを元に考える...
1日前

Vitest 4の新機能 expect.schemaMatching とHonoとZodでスキーマ駆動でテストをやる
2
Zennの「Test」のフィード
はじめにこんにちは、株式会社アサインでエンジニアをしているうちほり(@showichiro0123)です。2025年10月22日にリリースされたVitest 4には、テスト駆動開発やスキーマ駆動開発を加速させる新機能が多数追加されました。中でも私の目を引いたのは、Zodなどのスキーマライブラリと統合できるexpect.schemaMatchingです。本記事では、Vitest 4の新機能を概観しつつ、expect.schemaMatchingを使ったスキーマ駆動テストの実践方法を、Honoを使ったWeb APIの開発例を交えて紹介します。 Vitest 4の主要な新機能ま...
2日前

JaSST'25 Kyushu前夜祭で非同期の機能をテストする基盤について発表しました #jasst_kyushu
Zennの「Test」のフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。本日JaSST'25 Kyushu前夜祭というイベントにて、私がメールやSlackの通知を起点にした非同期な機能に対する自動テストの基盤を作成したことについて発表しました。内容としては、以下のブログに書いてあることをベースにこれまでの環境やインフラ面での工夫についても触れた形になります。https://zenn.dev/moneyforward/articles/11b02308de20b1 発表の内容私たちのチームでは今実際に稼働しているシステムのAPIを順に実行して、返ってくる値を検証するAPIテストの自動化...
2日前

Storybook と Vitest で userEvent 取り違えをなくす
Zennの「Test」のフィード
こんにちは Social PLUS のフロントエンドエンジニアのまっくすです。先日、Storybook を v7 → v8 にアップデートをしていた際に、Vitest のテストファイルに Storybook 用のモジュール@storybook/testing-library が紛れていたことに気がつきました。Storybook のアップデートに際して、@storybook/testing-library を @storybook/test に統合するために、@storybook/testing-library を devDependencies から削除したことで、Lintエラーが発...
2日前

Swift Testingで`@Test`のところにテスト準備の非同期副作用実行を書きたい
Zennの「Test」のフィード
筋トレした後のサウナしながらの時間で考えたので、ツッコミどころはあるかもしれません。もし他に良い案があったらコメントに記載をお願いします。 はじめにテストコードでテストケース前に副作用を実行する際に、そのテストケース直前に書いてテストケース自体には書かないということをやりたいことがあると思います。SwiftTestingではArrangeをテストの直前にかけるようになりましたが、非同期処理や副作用を実行できないのが惜しいなと思ってました。もちろんヘルパー関数などにしても良いですが、AAA(Arrange, Action, Assertion)をもっと目立つようにしたいのをSwif...
2日前

AI時代に備えるテストケース設計とTDD勉強会の実施記録
Zennの「Test」のフィード
はじめに今回は、社内で実施した「テストケースの考え方・テスト駆動開発(TDD)勉強会」の内容や開催意図を紹介します。勉強会は私が座学用のスライドと演習課題を用意し、約2時間の枠で開催しました。参加者は10名弱で、前半を座学、後半を演習に充てて質問を受けつつ双方向で進めました。 背景と課題感なぜこのタイミングで「テストケースの考え方・テスト駆動開発(TDD)勉強会」を企画したのかというと、AI駆動開発により開発スピードが非常に高速化する中で、「人間の認知を超えて氾濫するコードに対して如何に品質を保証するのか?」という問いが自分の中にあり、一つの鍵としてTDDがあると考えている...
2日前

テストの正しさは誰が保証する?——ミューテーションテストの実験
Zennの「Test」のフィード
このドキュメントについて本記事はユニットテストが本当に有効なテストになっているかを調べるための手法のミューテーションテストについて紹介します。次にミューテーションテストを効率的に実行するために提案された手法を検討し、最後に実際にJava, JavaScript, Pythonでミューテーションテストを実施するツールの紹介をします。 擬似テスト済みメソッドとミューテーションテストユニットテストを書いていると、そのテストが本当に有効なテストであるかという課題が発生します。一般的にはコードカバレッジを評価するケースが多いですが、テストでカバーされているにも関わらず、そのテストが...
3日前

Rubyの拡張ライブラリーにはインストールできるかのテストも書こう
1
Zennの「Test」のフィード
RubyGemを作っている時、ピュアRubyのgemでGitコミットしたファイルがそのまま配信されるようなのはあまり問題にならないですが、拡張ライブラリーみたいにユーザーのインストール時にコマンドが走ったり、Raccみたいにリリース直前にファイルを生成してパッケージに含めたりするような物は、リリースしてからインストールできなかったり動作しないことに気付いたりするものです(済みません……)。そういうのを事前に防ぐため、ユニットテストで「ちゃんとインストールできること」も確認するようにしましょう。と、言いたいことはこれで全てなんですが、折角なので例も置いておきます。ここではテスティング...
3日前

システムテスト仕様書:項目の選び方と作成する意味
Zennの「Test」のフィード
このドキュメントは、システムテスト仕様書にどのような項目を選び、なぜそれらを作成するのかを説明するガイドです。実務で使える観点と優先順位付けの考え方、テンプレート例を含みます。 1. なぜシステムテスト仕様書を作るのか(目的)要件どおりにシステムが動作することを保証するための「設計された検証計画」を持つ。ステークホルダー(開発、QA、プロダクト、運用)で期待値を合わせるため。不具合の再現性を高め、修正と回帰テストを効率化するため。テストの自動化やCI連携を行う際の入力資料として使えるため。 2. 項目を選ぶ際の基本的な考え方項目選定は“すべてを網羅する”ではなく“...
3日前

DroidKaigi 2025に参加してきました
Zennの「Test」のフィード
はじめにこんにちは!WED株式会社でAndroidの開発をしている松葉です!レシート買取アプリ「ONE」のAndroidの実装を担当しています。今回は9月に開催されたDroidKaigiに参加してきたので、参加した感想や心に残ったテーマを書いていこうと思います。毎年開催されているDroidKaigiですが、セッションや企業のブースを見て、KotlinMultiPlatFormなどを用いたクロスプラットフォーム開発、AI Agentや各種AIアシスタントを利用した開発支援といったテーマが多く目につきつつも、様々な領域でのAndroidならではの課題も話されていて、トレンドを追い...
3日前

0からフロントエンドにテストを導入した話
123
Zennの「Test」のフィード
こんにちは。株式会社EVERSTEELでソフトウェアエンジニアをしている日野原です。主にフロントエンドを担当しており、技術としてはNext.jsを使用しています。(詳しい技術内容はこちらを参照)少し前の話になりますが、ゼロからテストを導入したので、その過程や戦略について話していこうと思います。フロントエンドのテストを検討している方や、テストの運用方法を迷っている方の参考になるかと思います。 Reactアプリにおけるテスト戦略と実践ガイド一昔前はフロントエンド開発においてテストはあまり重要視されていませんでした。しかし、フロントエンドの複雑さが増したため、最近ではテストが重要...
4日前

アジャイルテストにおけるTesting Manifestについて自分なりに考えてみる
Zennの「Test」のフィード
はじめにアジャイルテストには"Testing Manifest"というものが存在します。詳しくは以下のブロッコリーさんのブログ&紹介されている書籍をご覧ください。https://nihonbuson.hatenadiary.jp/entry/TestingManifestoこれらはRegistered Agile Testing研修というScrum Inc.のトレーニングでも扱われています。この記事ではそれを引用します。(内容としては同等です)最後にテストするよりもずっとテストし続けるTesting throughout over testing at the end...
7日前

tips : SQL でデカルト積のテストデータを作成する
Zennの「Test」のフィード
対象読者SQL を多少実務で使ったことがある人≒ SQL にあまり詳しくない人テストデータを効率よく作成したい人SQL でデカルト積の組み合わせでデータ作れるんだ、と最近気づいたので tips として共有 こんな課題ないですか例えば飲食店サイトの検索 API のテストを記述する場合で考えてみます。簡単な「不動産サイト」のつもりで、下記のような ERD で考えてみますPROPERTY : 物件マスターテーブル について、検索 API を実装し、テストしたいとします。テストするには、テスト対象データが十分に豊かでないといけません。ここでいう十分に豊かとは...
7日前

スプレットシートのセル入力の最大文字数は50,000文字
Zennの「Test」のフィード
スプレットシートのセル入力の最大文字数タイトルままですが、スプレットシートのセル入力の最大文字数は50,000文字のようです。エラーのスクリーンショットです。
8日前

テストとQAとデバッグの違い
Zennの「Test」のフィード
動機『テスト』『QA』『デバッグ』という3つの単語は同業者の間で明確に区別されているが、同業者以外には混同されがちだ。これらの単語をよく使うIT業界の人の方が積極的に混同している節すらあるし、なんなら最近は質問と回答、すなわちQ&AをQAと呼ぶ勢力まで現れて大変だ。デジタル庁を筆頭に。日本の法令に関する多肢選択式QAデータセットいろいろ理由を考えたが「単純に知られていないだけでは?」と思ったので、改めて定義するためにこの記事を書いている。 免責事項話をわかりやすくするために、省略した部分が多々ある。 テストとは?同業者の間ではバイブルとも呼べるJSTQBの...
8日前

Playwright でのテスト信頼性向上 - 画像アップロード編
Zennの「Test」のフィード
はじめに最近WebアプリケーションのPlaywrightを用いたE2Eテストのテスト信頼性を向上する(flakinessを解消する)ために、用いた手法を本記事で紹介します。 解消したかったことWebアプリケーションで画像をアップロードして、その後にアップロードした画像が表示されることを確認するE2Eテストを実装していました。この「アップロードした画像が表示されること」を確認するために、画像要素のスクリーンショットによる判定をしていました。const [fileChooser] = await Promise.all([ page.waitForEvent("filech...
10日前

printfの再実装をしたたかにやってみる(5)
Zennの「Test」のフィード
まえおきこれはシリーズ記事です。https://zenn.dev/monksoffunk/articles/c311aab03d6dfchttps://zenn.dev/monksoffunk/articles/664f5407027e81https://zenn.dev/monksoffunk/articles/495a5096a5bc42https://zenn.dev/monksoffunk/articles/0bed0c1c94807d掲載するコードは説明のために書かれたものであり動作の保証はありません。また、完成形のコードは公開しません。ぜひご自身で書いてくださ...
11日前
