並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 433件

新着順 人気順

Testの検索結果121 - 160 件 / 433件

  • 容量偽装USBメモリ検出アプリ『ValiDrive』が登場。偽物かどうかを簡単に判別 | ニッチなPCゲーマーの環境構築Z

    容量を偽装した偽物の大容量USBメモリを検出するフリーソフト・アプリ『ValiDrive』が登場しました。 『ValiDrive』がどういったものか、制作者のGibson Research Corporationは以下のように述べています。 私は格安で売られていた1TBおよび2TBのUSBメモリを12台購入しました。しかし、そのすべてが容量を偽装した偽物でした。 偽物のUSBメモリはPC上では1TBおよび2TBとして認識されます。しかし、実際には64GBしかありませんでした。使用量が64GBを超えると、新しいファイルは保存されなくなります。PC上ではファイルが存在するように見えますが、ストレージ上には存在しないためファイルを開いても中身は空っぽです。 ValiDriveは、こういった容量を偽装したUSBメモリを見分けるために、ストレージスペース全体にわたってランダムな検査を実行します。 購

      容量偽装USBメモリ検出アプリ『ValiDrive』が登場。偽物かどうかを簡単に判別 | ニッチなPCゲーマーの環境構築Z
    • Playwrightを使ったE2Eテストを導入した話 - インフラ編 Playwright × Allure Report × AWS - Uzabase for Engineers

      はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日は Playwright を使ったE2Eテストの導入について、紹介させていただきました。 今回は作成したテストをAWS 基盤上で動かす方法を紹介させていただきます。 前回の記事 tech.uzabase.com E2Eテスト実行のタイミング NewsPicksでは 下記のタイミングで E2Eテストを実行させています。 ①リリース時のカナリーデプロイ後 NewsPicks ではカナリーリリースを採用していてカナリーへのデプロイが完了した後、カナリーに向けてE2Eテストが動きます。 ②開発環境デプロイ後 動作確認をしたい場合に feature ブランチなどでデプロイ後 E2Eテストを実行できるようにしています。 本記事では主に 「②開発環境デプロイ後」 を例に紹介します。 実行方法 具

        Playwrightを使ったE2Eテストを導入した話 - インフラ編 Playwright × Allure Report × AWS - Uzabase for Engineers
      • テストプロセスが自走するチーム体制をめざして QA が取り組んでいること - Techtouch Developers Blog

        はじめに 前提情報 プロダクトチームの体制 Four Keys の Elite を目指して 品質保証の課題 1. テストの重複 2. 刻々と変化するチーム体制 3. 属人化したテストケース管理 改善策:テストプロセスの変更とテストケース管理ツールの導入 1. テストプロセスの改善〜Test It Yourself〜 2. テストマネジメントツールの導入 おわりに はじめに こんにちは、テックタッチで QA PM (Quality Assurance Project Manager)をしている shutty です。先日はテストエンジニア向けの合宿型ワークショップ WACATE2023 冬に初めて参加してきました。実行委員をはじめとして参加者全員の熱量を全身に浴びてきました。 この記事では最近テックタッチの開発チームで行なっているテストプロセスの改善について紹介します。 前提情報 プロダクトチ

          テストプロセスが自走するチーム体制をめざして QA が取り組んでいること - Techtouch Developers Blog
        • ペーパーテストだけで選抜した子の人生~のヤツ

          追記 2023/11/14 ツッコミくれた増田やいろいろ教えてくれた増田本当にありがとう! こういう知らないこと知れるってのはマジで脳汁でるな!!!特に「逆だと思う」って教えてくれた増田!指摘読んでてうっひょーーーなるほど!指摘嬉しい!!ってなったぞ!本当にありがとう!!!! オラはXとかインスタ?とかやってないから、ネットの流行りははてなとトゥゲッターとスラドでしか知れない程度の情弱ボッチだけど、書いたことに対してみんなにいろいろツッコミ受けて、新しいこと知れるのやっぱ楽しいな!って久々に実感した!改めてありがとう! ----- オッス。オラ英語成績が2だった上に底辺工業高校卒なので、多分誤読してるかも。みんなの知識をオラに分けてくれ! 「ペーパーテストだけで選抜した子」の人生を35年間追跡調査すると、ペーパーテストで劣った子と比較してクリエイティビティ・芸術の分野でも上回っていたという

            ペーパーテストだけで選抜した子の人生~のヤツ
          • 「線虫がん検査つぶし」であらわになった、PET検診の不都合な真実

            きはら・ひろみ/宮城県出身。大学在学中にコピーライターとして働き始め、20代後半で独立してフリーランスに。西武セゾングループ、松坂屋、東京電力、全労済、エーザイ等々、ファッション、流通、環境保全から医療まで、幅広い分野のPRに関わる。2000年以降は軸足を医療分野にシフト。「ドクターズガイド」(時事通信社)「週刊現代?日本が誇るトップドクターが明かす(シリーズ)」(講談社)「ダイヤモンドQ」(ダイヤモンド社)などで、企画・取材・執筆を深く、楽しく手掛けてきた。2012年、あたらす株式会社設立(代表取締役)。近年は医療系のWebサイト、動画制作(企画・ライティング・プロデュース)にも力を入れている。 &慢性痛~知っておきたい慢性痛のホント(横浜市立大学ペインクリニック内科との協働制作) https://www-user.yokohama-cu.ac.jp/~mansei2/ あるペインの少女

              「線虫がん検査つぶし」であらわになった、PET検診の不都合な真実
            • テストコードを負債化させない上手な付き合い方 / Test Code Management

              XUnit Test Patterns に筆者の経験則を落とし込んでまとめています。 2024/01/25 TechBrew in 東京 〜技術的負債と共に歩むプロダクトの成長〜 の登壇資料です。 https://findy.connpass.com/event/306451/

                テストコードを負債化させない上手な付き合い方 / Test Code Management
              • 第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp

                サバンナ便り ~ソフトウェア開発の荒野を生き抜く~ 第7回テストコードの認知負荷 ~テストの名前⁠⁠、構造⁠⁠、情報量を工夫する~ 開発の現場では、既存のテストコードから仕様を読み解く機会がよく訪れます。そのようなとき、テスト対象の仕様やテストの意図を読み解きやすいテストとそうではないテストがあることに気付きます。今回はテストコードの読み解きやすさに寄与する要素を考えます。 認知資源と認知負荷 人間は何かを読み解くときに脳のリソース(脳内のワーキングメモリ)を使います。リソースの量は有限で、個人差があります。このような脳のリソースは「認知資源」と呼ばれています。 人間が何かを読み解くときに認知資源が何にどのくらい割かれているかという概念を「認知負荷」と言います。「⁠どのくらい」は状況に左右されます。たとえば、読み解く対象を知っているかどうかで認知資源が割かれる量は変化します。「⁠何に」も状

                  第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp
                • GitHub Actions のみで、actions/cache も使わない最軽量の VRT

                  Web アプリケーション開発での VRT 導入は、ちゃんと運用するとなると以下のような多くの検討事項を伴います。 Storybook のストーリーベースで比較するか?それとも実アプリケーションの URL ベースで比較するか? CI 上でアプリケーションをビルドして dev server を立ち上げるか、それともデプロイ先のアプリケーションにアクセスするか? スクリーンショットの比較はどのように行うか?比較時の閾値はどのように設定するか? 比較元のスクリーンショットはどのように用意するか?例えば Amazon S3 などのストレージ や GitHub Actions の actions/cache を使用する場合など コミットハッシュを用いて比較元のスクリーンショットを特定する場合、マージ先のコミットハッシュに紐づくスクリーンショットが存在しない時の対応は? VRT の結果で差分が出たが、そ

                    GitHub Actions のみで、actions/cache も使わない最軽量の VRT
                  • Storybook をフル活用してテストを実装したその後の話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                    この記事は、CYBOZU SUMMER BLOG FES '24 (Frontend stage) DAY13 の記事です。 こんにちは、フロリアでエンジニアとして活動している hacchan です。 現在 kintone ではフロリアというプロジェクトの中で、Closure Tools から React への移行作業に取り組んでいます。 以前、そのフロリアのチームの 1 つである Reactone チーム が Storybook をフル活用してテストを実装した話 を紹介しましたが、今回はそのアフターストーリーを紹介します。 Storybook のフル活用はやめた 以前の Reactone チームでは、Storybook の Test Runner を使って、Integration Test を実行するなど、Storybook をフル活用してテストを実装していましたが、新たな領域の刷新を開

                    • Findyの爆速開発を支える「システムを守るテストコード」の実例3選 - Findy Tech Blog

                      こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 弊社では本番環境へのデプロイを1日に複数回実行していますが、本番環境での不具合の発生率は低いです。 次の画像は弊社のあるプロダクトの直近1年のFour Keysの数値です。 平均で1日2.3回の本番デプロイを行っていますが、変更障害率は0.4%程度を維持しています。単純計算ですが、1年で障害が2件程度の水準です。 また、平均修復時間は0.3hとなっており、障害が発生しても20分以内には復旧できていることがわかります。 この数値を維持できている理由の1つにテストコードの品質があると考えています。 システムで発生する不具合を自動テストが検知することで本番環境への不具合の混入を事前に防ぐことができ、仮に不具合が発生したとしても修正内容が他の箇所に影響が出ないことをテストコードが保証してくれるため迅速に修正できるから

                        Findyの爆速開発を支える「システムを守るテストコード」の実例3選 - Findy Tech Blog
                      • E2Eテストの運用を属人化しないための3つの取り組み - ANDPAD Tech Blog

                        はじめに こんにちは。QCの佐藤です。 月日が経つのは早いもので、QCメンバーも増え、多くのメンバーがブログを書いてくださっており嬉しい限りです😊*1 ANDPADで韻を踏む - ANDPAD Tech Blog アンドパッドラップの作り方 - ANDPAD Tech Blog QAがGoで始めるテストデータ作成の自動化 - ANDPAD Tech Blog ANDPADのQualityControlを紹介します!2023 - ANDPAD Tech Blog 私がブログを書いたのはもう2年前...(徐々に間隔が長くなっている...) 今回は私の担当しているプロジェクトでの、E2Eテスト管理・運用方法についてお話します。 以下のような課題ってE2Eテストあるあるですよね (´;ω;`) E2Eテストの運用が属人化してしまっている... むか~しに作ってからはただ回しているだけ... テス

                          E2Eテストの運用を属人化しないための3つの取り組み - ANDPAD Tech Blog
                        • Web フロントエンドのテストと持続可能な方針の組み立てを考える | Offers Tech Blog

                          Offers を運営している株式会社 overflow の あほむ でございます。 今回はプロジェクトで Web フロントエンド領域のテストを書くにあたって方針を決めた際の ADR をブログ向けに再整理したものをお届けします。 テストコードを書くべきか書かざるべきか 逃げ切りが確約された作り捨ての納品プロジェクトでもなければ、継続的なメンテナンスを前提にテストコードは書くべきが現代のソフトウェアエンジニアにおける共通了解でしょう。 急がば廻れ、ほとんどの場合においてテストコードを書くメリットがデメリットを上回るものと捉えられています。ここでは書かなくても良いケースをあえて論じることをしませんが、個別具体でテストが不要と断定できるときはそうすればよいでしょう。 テストを整える工数をどう捉える TDD (Test Driven Development テスト駆動開発) に代表される、テストコー

                            Web フロントエンドのテストと持続可能な方針の組み立てを考える | Offers Tech Blog
                          • あなたのしらない米国所得申告システム - tomoima525's blog

                            確定申告の時期なので、米国の一風変わった(?)所得申告システム(Information Return)と連携するアプリケーションを開発した話について書こうと思う。 米国の所得申告 所得申告システム、FIRE 不思議なファイルフォーマット みよ、これがメジャーの仕様書だ レスポンス(多分速達のほうが早い) 初心者には厳しすぎるテスト環境 FIREへの申告自動化ツールを開発する おわりに 米国の所得申告 米国で申告義務のある人は、だいたい1月 - 4月の間に確定申告(Tax Return)を行う。この際、所得申告に関する数々の書類を提出する。例えば、雑所得がある場合は 1099-MISC、ギャンブルの収益は W-2G といった具合だ。 書類には膨大な種類がある じゃあこの書類は誰が用意するのかというと、支払った側になる。例えば契約社員は1099-NECという書類が申告に必要になるのだが、これを

                              あなたのしらない米国所得申告システム - tomoima525's blog
                            • Rails のブラウザテストを Playwright で動かすようにしたらデバッグが簡単になって捗った

                              Omotesando.rb #91 (https://omotesandorb.connpass.com/event/299381/) で発表した資料です。

                                Rails のブラウザテストを Playwright で動かすようにしたらデバッグが簡単になって捗った
                              • WEBアプリのE2Eテストを自動化 ~ Playwrightの機能紹介とコード例 | DevelopersIO

                                npm init playwright@latest 実行すると @playwright/testがインストール playwrightの設定ファイル(playwright.config.ts)が追加 サンプル用のテストコードが追加 が行われます。 テストコード自動生成 playwrightにはブラウザ操作でテストコードを生成する機能があります。 package.jsonのscriptsに以下を追加してnpm run test:genするか、 "test:gen" : "playwright codegen" npxでも実行できます。引数のURLは任意です。 npx playwright codegen http://localhost:3000/

                                  WEBアプリのE2Eテストを自動化 ~ Playwrightの機能紹介とコード例 | DevelopersIO
                                • t-wadaさんの開発生産性の観点から考える自動テストを聴講して悔い改めたこと - shoudaiの日記

                                  t-wadaさんのセッションを聴講したこと 2024/6/29に開発生産性カンファレンスに参加してきました。 その中でなんでもかんでもE2Eテストでも実行してしまうことがあるけど、 悪ではないけどデメリットもあるよ。って話がありました。 speakerdeck.com スライドP47のアイスクリームコーンとピラミッドの図だけはご参照ください。 頭の中にその図が残っているため、前提になってます。 セッションの概要 アジェンダからざっくりお話は 信頼性の高い 誤検知(テストとして正常であるはずがエラーになってしまう)や見逃し(エラーがあっても正常にしてしまう)がないこと 実行結果 実行結果値だしたり、エラー原因が特定しやすいテストを書くこと 短い時間で到達 確認したい観点を確認できる最小のテストスコープ(単体テスト、結合テストなどの粒度)でテストできるようにすること 状態に保つ 短い時間で到達

                                    t-wadaさんの開発生産性の観点から考える自動テストを聴講して悔い改めたこと - shoudaiの日記
                                  • 和田卓人氏が教える、自動テストの使い方 学びを自動テストとして書く「学習用テスト」という考え方

                                    Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここで和田卓人氏が「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ(2023年5月版) 」をテーマに登壇。まずは、セッションテーマと学習用テストについて話します。 本セッションのレギュレーション 和田卓人氏:よろしくお願いします。みなさん、こんばんは。和田卓人です。今日は「サバンナ便り」というタイトルで、自動テストに関する知見についてお話ししたいと思います。 まず今日のレギュレーションといいますか。どんどん話していくんですが、オンラインの講演はライブ感とかリアルタイム感とか、そういったところがとても大事になってきます。 なので、みなさんもTwitterで「Qi

                                      和田卓人氏が教える、自動テストの使い方 学びを自動テストとして書く「学習用テスト」という考え方
                                    • Storybook 腐らせない

                                      この記事は 株式会社ゆめみの23卒 Advent Calendar 2023 8日目の記事です。 現代のWebフロントエンド開発において、コンポーネントの効率的な管理と可視化が求められる中、Storybookは開発者にとって欠かせないツールとなっています。Storybookは、コンポーネントをアプリケーションから隔離して単体で表示できるツールです。 しかし、このように有用なStorybookが「腐ってしまう」ことがあります。この記事で「腐る」とは、コンポーネントをStorybookに表示するための設定であるStoryが最新の状態に更新されていない、またはプロジェクトにとって負債になっている状態を指します。例えば、以下のような状態が「腐っている」状態にあたります。 npm run storybook するとそもそもエラーがでて表示されない Storyの存在しないコンポーネントやコンポーネント

                                        Storybook 腐らせない
                                      • Postmanでつくる決済システムの非同期処理テスト

                                        From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE

                                          Postmanでつくる決済システムの非同期処理テスト
                                        • Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ

                                          春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できるdocker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む並列テストしやすくなるので、テストの実行速度が向上するGoにおいて、複数のパッケージを同時にテストするとき、 -p 1 で絞らずに済むTestcontainers とはhttps://test

                                            Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ
                                          • 個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき

                                            「個人開発してるWebサービス」というのは Pixela のことで、runn とは @k1loW さんが開発しているオペレーション自動化ツール/パッケージです。 pixe.la github.com Pixela は、そのユーザーインターフェースとして基本的に Web API のみを提供しているサービスで(サービスを利用するための各種操作は基本的にすべて Web API に対する HTTP リクエストによって行う必要がある)、現在そのローンチから6年目を迎えるサービスです。 blog.a-know.me ありがたいことに、世界中のユーザー(特に、プログラミング初学者の方によくご利用いただいているようです)に継続的に使っていただけているサービスになっており、登録ユーザー数はもうすぐ7万人に到達しようとしているところです。開発・メンテナンスに係る私の人件費を除けば、黒字運営を続けることもできて

                                              個人開発してるWebサービスの API のシナリオテストに runn を使ってみたけど、とてもよかった - えいのうにっき
                                            • Ultimate Guide to Visual Testing with Playwright

                                              As your web app matures, it becomes challenging to ensure your GUI doesn’t break with any given update. There are a lot of browsers and devices, and countless states for every one of your components. Unit tests ensure your code remains consistent, and E2E tests will ensure your system remains consistent, but neither will catch visual anomalies, layout issues, or platform compatibility issues. Ente

                                              • axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした

                                                Web アクセシビリティに興味があったので、まず機械的なチェックツールから学んで知識を増やそうということでこのサイトに @axe-core/playwright と markuplint を導入してみました。 @axe-core/playwright のセットアップ 既に Playwright が導入されている状況を想定し進めます。まず@axe-core/playwright をインストールします。 pnpm add -D @axe-core/playwright このサイトの場合 VRT として Playwright を動かしているテストがあるので(過去資料)、そのプロセスに同居する形で axe を実行することにしました。 e2e.test.tsimport AxeBuilder from "@axe-core/playwright"; import type { Page, TestI

                                                  axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした
                                                • Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば

                                                  Go言語でテストを書く際のベストプラクティスとして、テーブル駆動テスト(Table dirven tests) というのが推奨されている。ようはデータとふるまいを分離しましょうという話で、正直わざわざ名前をつけるようなものでもなかろうという気持ちもないではないが、まあ話がはやくていいね。 けどみんなほんとにこれで満足してるの? と疑問に思うところはある。テストが落ちたときに表示される行番号がテストケースによらず一定で、どのテストが落ちたのかを探すのに一手間かかってしまう。 たとえば以下のコードをテストする際、 package eg import "testing" func TestExample(t *testing.T) { testcases := []struct { name string a, b int sum int }{ {"1+1", 1, 1, 99}, {"2+2"

                                                    Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば
                                                  • 「実装例から見る React のテストの書き方」をアップデートする

                                                    社内の人から、自分が以前書いた次の記事が「便利で助かった!書いた時から何かアップデートある?」ってメッセージがきた。 そんな便利だなんてどうもありがとうございますウフフ、と思いながら書いた日を見てみると 2022-08-09 だった。もうすぐ 2 年経とうとしてる。時の流れが早くて怖い。 この記事に書かれた実装例はリポジトリにまとめていたんだけど、当然、何かメンテをしていたわけもなく、2022 年当時の状態がそのまま残っていた。 せっかく便利に思ってくれる人がいたので、内容をアップデートする。 アップデートまとめ メジャーバージョンのリリースやビルドツールの統一の観点で Jest から Vitest に移行 useFakeTimers({ shouldAdvanceTime: true }) @testing-library/reactを v15 にバージョンアップ MSW を v2 にバ

                                                      「実装例から見る React のテストの書き方」をアップデートする
                                                    • ダイハツ工場の稼働停止、人口1万人のうち4000人がその従業員というすごい依存度の街が「企業城下町の弱点」の代表例になってしまいそう

                                                      リンク テレ朝news 「税収面で心配な面も」“城下町”にも打撃 ダイハツ全工場稼働停止 再開のめど立たず ダイハツ工業は26日、大阪にある本社工場の稼働を停止しました。これで、完成車を生産する国内4工場、すべてがストップしました。 福岡県の久留米工場と大分県の中津工場も稼働停止。それに伴い、福岡県は、関連する中小企業を支援する窓口を開設しました。県によりますと、ダイハツグループと取引があり、売り上げが1%以上の企業は、県内で181社に上るということです。 同じく工場がある滋賀県竜王町。人口1万人あまりの町で、ダイハツは2つの工場を持ち、4000人以上の従業員を抱えています。いわゆる“城下町”です。 焼肉店を覗 リンク ダイハツ工業株式会社 期間社員採用ホームページ 滋賀(竜王)工場について|ダイハツ工業株式会社 期間社員採用ホームページ ダイハツ工業株式会社 期間社員採用ホームページ -

                                                        ダイハツ工場の稼働停止、人口1万人のうち4000人がその従業員というすごい依存度の街が「企業城下町の弱点」の代表例になってしまいそう
                                                      • 望ましい自動テストとは|どのようなテストが開発生産性と開発者体験を共に高めるのか|Tech Team Journal

                                                        自動テストの重要性が広く認知されるようになった一方、自動テストの活用に課題を抱える組織も依然として多く見受けられます。 本記事では『Developer eXperience Day 2024』(主催:日本CTO協会)における和田卓人氏によるセッション「望ましい自動テストとは:どのようなテストが開発生産性と開発者体験を共に高めるのか」の内容をお届けします。 和田卓人氏 執筆活動や講演、ハンズオンイベントなどを通じて自動テストやテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『事業をエンジニアリングする技術者たち』(ラムダノート、2022)編者。 なぜ自動化テストを書くのか 和田 卓人です。インターネット上ではt-wada

                                                          望ましい自動テストとは|どのようなテストが開発生産性と開発者体験を共に高めるのか|Tech Team Journal
                                                        • 自動テスト全体の信頼性を維持するためにはどうするか 「ブレない基準でピラミッドを作り、スモールに切り出していく」

                                                          Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここで和田卓人氏が「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ(2023年5月版) 」をテーマに登壇。最後に、テストダブルとテストピラミッド、サイズダウン戦略について話します。 テスト用に使う偽物「テストダブル」 和田卓人氏:じゃあ次。テストダブルの話にいきます。「忠実性と決定性のトレードオフを理解しよう」という点です。これはもうちょっとあとにまた出てきます。 テストダブルというもので、モックオブジェクトとかスタブとかを使って、本物ではない偽物をテスト用に使ってテストをすることはよくありますよね。 データベースの偽物とか外部システムの偽物とか、Amazon

                                                            自動テスト全体の信頼性を維持するためにはどうするか 「ブレない基準でピラミッドを作り、スモールに切り出していく」
                                                          • sqlcとdockertestでデータベースを使ったテストを書こう | gihyo.jp

                                                            Goにおけるデータベース操作とテスト Goでデータベースを操作する際には、標準パッケージであるdatabase/sql、GORM、entなどの様々な選択肢が存在します。多くのライブラリではGoのコードを定義してSQLを生成しますが、sqlcはSQLをコンパイルしてGoのコードを生成するのが特徴のライブラリです。 このアプローチには、最終的に実行されるSQLが明らかであることやデータベースとやりとりするためのデータ構造を自分で定義する必要がないことといったメリットがあります。また、コンパイル時にSQLを解析し型や引数名の間違いを検出できます。そしてなにより、非常にシンプルです。 本記事では、sqlcの一歩進んだ使い方としてdockertestと組み合わせたテストの書き方について紹介します。dockertestとは、Dockerコンテナを立ち上げてテストを実行するための使いやすいコマンドを提供

                                                              sqlcとdockertestでデータベースを使ったテストを書こう | gihyo.jp
                                                            • フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ

                                                              こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の全4記事中の3記事目です。前回はこちら。 www.m3tech.blog 9 JWT の実装 9.1 JWT概説 9.2 OpenID Connect の JWT 9.3 ヘッダーとペイロードの実装 9.4 署名の実装 公開鍵と秘密鍵を生成する 署名処理を作る 10 JWKS URI の実装 (GET /openid-connect/jwks) 11 RelyingParty で ID トークンの検証をする 12 OpenID Connect Discovery エンドポイントの実装 (GET /openid-connect/.well-known/openid-configuration) まとめ We're hiring 今回は全4回中の第3回目です。 (

                                                                フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ
                                                              • 「単体テストの考え方/使い方」が主張するたった一つのこと

                                                                はじめに 読書会をやってみました オープンロジのエンジニアのrikuto(@riku929hr)です。 社内で「単体テストの考え方・使い方」というテストに関する有名な本の読書会を実施し、1回1時間、15回の開催を経て読み切りました。 原著は「Unit Testing Principles, Practices, and Patterns」で、Oreilly Learning Platformでも読むことができます。 400ページにもわたる本で、読み切るのには大変な手応えがありました。 たぶん読書会のようなものを開催しない限り、僕自身読みきれなかったかもしれません。 しかし読んでみると、著者が主張しているのはごくシンプルなことでした。 この記事のタイトル、ちょっと嘘ついてます タイトルには、「主張するたった一つのこと」としていますが、細かく言えば1つではありません。 この本が主張することはそ

                                                                  「単体テストの考え方/使い方」が主張するたった一つのこと
                                                                • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                                                                  概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                                                                    pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                                                                  • AWSを使用したアプリケーションのローカルテスト

                                                                    AWSを使用したアプリケーションのテスト方法 AWSを使用しているアプリケーションの開発時に問題となるのは、どのようにテストを実施するかという問題が発生します。 この時の選択肢は次の通りとなります。 単体テスト時にAWSのモックを作成してテストを行う AWS上にテスト用の環境を用意してテスト時に接続してテストを行う LocalStackを使用してローカルにAWSサービスのエミュレーターを動かしてテストする 単体テスト時にAWSのモックを作成してテストを行う 単体テスト時にモックアップする方法はテストに都合のいいデータを返せるため容易にテストが行えます。 モックの作成に手間がかかりますし、思い込みでモックを作成してバグを作成する場合もありますが、Motoなどを用いることでこれらの問題は軽減できるでしょう。 ただし、あくまで単体テストでしか使用できません。例えば複数プロセスを連携するようなテス

                                                                      AWSを使用したアプリケーションのローカルテスト
                                                                    • 米MSと日立で品質を極めてきた2人が、マネーフォワードCQOに就任。日本企業が囚われている品質保証の呪縛とは?

                                                                      TOPインタビュー米MSと日立で品質を極めてきた2人が、マネーフォワードCQOに就任。日本企業が囚われている品質保証の呪縛とは? 株式会社マネーフォワード CQO 池田 暁 2002年に日立グループに入社、情報通信系、医用系、自動車系と多様なドメインにて品質保証活動を推進。Web業界に転身後、マネーフォワードに入社。社外ではNPO法人ASTER理事やJaSST実行委員等活動中。著書には、『実践ソフトウェア・エンジニアリング 第9版』や『SQuBOKガイド V3(共著)』、『[改訂新版]マインドマップから始めるソフトウェアテスト(共著)』がある。 株式会社マネーフォワード CQO 高橋 寿一 MicrosoftやSonyにて、ソフトウェアテスト業務や品質担当部長を務める。Microsoft退社後にフロリダ工科大学大学院に入学し修士号(ソフトウェア工学)を、その後広島市立大学にて博士号(情報工

                                                                        米MSと日立で品質を極めてきた2人が、マネーフォワードCQOに就任。日本企業が囚われている品質保証の呪縛とは?
                                                                      • Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog

                                                                        はじめに 背景 やりたいこと Why MSW? 導入手順 詰まったこと defaultのtimeout設定時間が短い CIで落ちた時の検証方法がわからない 認証後のストレージの状態が入ってこない 今後の展望 おわりに はじめに enechainでフロントエンドエンジニアをしている@Shunya078です! 自分の所属するGXデスクでは『日本気候取引所 - Japan Climate Exchange』(以下JCEX)のサービス開発を行っており、その中でReactを使用したフロントエンドの開発を担当しています。 リグレッションテストは運用を考えると、設計から導入した後、どう管理していくかまで検討する点が多く存在します。 JCEXは去年の年末にリリースされたばかりのサービスで、まだブラウザまで含めたリグレッション相当になるテストレイヤーが導入できておらず、存在しませんでした。 今回は新たに自チ

                                                                          Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog
                                                                        • E2E 自動テストの布教に立ち塞がる5つの壁と打ち込んだ楔

                                                                          この記事は、Magic Moment Advent Calendar 2023 19日目の記事です。 こんにちは、 Magic Moment の一人だけ QAE の yano です。 一人だけの QAE が GUI を用いた E2E 自動テスト(以降、自動テストと表記)を書いて運用していくことは、自動テストの新規作成やメンテナンスを行うには限界がありますし、他の QA 活動が進まなくなるという問題が出てきてしまいます。 そこで今回は QAE ではなく開発メンバが主体となって自動テストの運用をできるように仕組みを整える必要がありました。 本記事では自動テストを開発メンバに布教していく際に感じた5つの壁と、壁に対して打ち込んできた楔について書かせていただこうと思います。 1の壁 : 何のための自動テストか分からない ユニットテストはあるけど自動テストはないという現場ですと、漠然と自動テストもあ

                                                                            E2E 自動テストの布教に立ち塞がる5つの壁と打ち込んだ楔
                                                                          • Puppeteer、テスト自動化の次世代標準「WebDriver BiDi」に対応開始。Firefoxもサポートへ

                                                                            Puppeteer、テスト自動化の次世代標準「WebDriver BiDi」に対応開始。Firefoxもサポートへ Node.jsでヘッドレスブラウザを用いたテスト自動化のためのフレームワーク「Puppeteer」が、ブラウザ自動化の次世代標準である「WebDriver BiDi」(「BiDi」は双方向を表すため、読みは「ウェブドライバー バィディ」とのこと)への対応を開始しました。 Puppeteerは、ChromiumベースのWebブラウザに対してChrome DevTools Protocolを用いて通信することで、Webブラウザの操作を自動化するとともに、コンソールに表示される情報やログなどの収集、画面キャプチャなどの取得によって、テストの自動化を効率化してくれる機能を備えています。 このPuppeteerが、現在策定中の次世代標準の「WebDriver BiDi」に対応を開始しま

                                                                              Puppeteer、テスト自動化の次世代標準「WebDriver BiDi」に対応開始。Firefoxもサポートへ
                                                                            • TypeSpec、Orval、Storybook を使ってフロントエンドのモック生成を自動化する

                                                                              はじめに フロントエンド開発において、効率的かつ一貫性のあるモック生成は非常に重要です。本記事では TypeSpec、Orval、Storybook の 3 つのツールを使用して自動生成でモックを実現する方法を紹介します。 TypeSpec は、大規模な API を提供するために Microsoft が開発し、使用している新しい API 記述言語です。 Orval は、OpenAPI 仕様から TypeScript のクライアントコードを生成するツールです。これにより、最新の API 仕様に基づいたクライアントコードを常に保持し、API との通信がスムーズに行えるようになります。 Storybook は、コンポーネントを独立して開発・テストするためのインタラクティブなツールです。コンポーネントの見た目や動作を個別に確認できるため、UI の一貫性を保ちながら効率的に開発を進めることができます

                                                                                TypeSpec、Orval、Storybook を使ってフロントエンドのモック生成を自動化する
                                                                              • APIテスト アーキテクチャ

                                                                                テックリードとして2つのプロジェクトのテスト自動化を推進しています(本業)。 この記事では、プロジェクトでの経験を踏まえ、APIテストの位置づけ、システム上のスコープ、2つの方式について説明します。 この記事の目的 これから新規/既存WebシステムのAPIテストを自動化する人に向けて、APIテストの位置づけ・システム上のスコープ・2つの方式を紹介し、よりよいアーキテクチャを選択してもらうこと 想定読者 この記事は、テストピラミッドの考え方を採用し、以下のような方針でテスト自動化を進めることが前提です。 ユニットテスト、UIテスト、APIテストのように、粒度・観点の違うテストをバランスよく用いて、品質を効率的に担保する ユニットテストなどのより小さい粒度のテストで品質の大部分をカバーし、APIテスト、E2Eテストなどのより大きい粒度のテストをできる限り削減する 上記の前提を読んでも理解できな

                                                                                  APIテスト アーキテクチャ
                                                                                • 何をテストするか・どのような状況とシナリオか・期待される結果は何か 明日からでもすぐにできるアンチパターン回避メソッド

                                                                                  何をテストするか・どのような状況とシナリオか・期待される結果は何か 明日からでもすぐにできるアンチパターン回避メソッド テスト品質を向上させよう! 〜 アンチパターン回避メソッド 〜 #1/2 「いのりん」推し Kanon氏:Kanonと申します。今日は、「テスト品質を向上させよう!」ということで、アンチパターン回避メソッドをお話ししようかなと思います。 まず簡単に自己紹介です。もしかしたらご存じの方もいらっしゃるかと思うんですけど、虎の穴ラボという会社でお仕事をしています。最近、3次元に嫁が1人できまして、2次元にはいっぱい(嫁が)います、という感じですね、はい(笑)。 (会場笑) 本業ではあんまりPHPを書いていなくて、サーバーサイドのKotlinとNext.jsを使っていて、副業と、あと前職までの4年半ぐらいがずっとPHPで、今も触っているという感じでした。 例に漏れず、アニメ、漫画

                                                                                    何をテストするか・どのような状況とシナリオか・期待される結果は何か 明日からでもすぐにできるアンチパターン回避メソッド