並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 80件

新着順 人気順

単体テストの検索結果1 - 40 件 / 80件

  • 「単体テスト」再入門! 開発の現場でバグを確実に洗い出す最適な手法と、テストケースの作り方 - エンジニアHub|Webエンジニアのキャリアを考える!

    「単体テスト」再入門! 開発の現場でバグを確実に洗い出す最適な手法と、テストケースの作り方 単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 ソフトウェアのテストにおいて、最初のフェーズである単体テスト。若手Webエンジニアの中には、いきなり単体テストを任されて戸惑った方もいるでしょう。仕方なく現場で踏襲されているやり方に従っているだけ、ということもあるのではないでしょうか? 今回は、単体テストの定義から手法、未来の展望までを、日本におけるソフトウェアテストの第一人者・高橋寿一さんが解説します。 単体テストとは(各社ばらばらな単体テストの定義を再定義) コードベースの単体テスト 命令網羅(C0カバレッジ) 分岐網羅(C1カバレッジ) よくある(コードベースの)単体テストの間違い 機能単位の単体テスト 例:複雑なソート機能のテス

      「単体テスト」再入門! 開発の現場でバグを確実に洗い出す最適な手法と、テストケースの作り方 - エンジニアHub|Webエンジニアのキャリアを考える!
    • ITエンジニアが投票した「ITエンジニア本大賞2024」発表。単体テストの考え方/プログラマー脳/ プロジェクトマネジメントの基本が全部わかる、など

      ITエンジニアが投票した「ITエンジニア本大賞2024」発表。単体テストの考え方/プログラマー脳/ プロジェクトマネジメントの基本が全部わかる、など 「ITエンジニア本大賞」は、仕事の役に立った本、初学者におすすめの本、ずっと手元に置いておきたい本など、おすすめの本をITエンジニアがWeb投票で選ぶイベントです。 主催は翔泳社ですが、対象となる書籍は出版社を問わず技術書、ビジネス書全般となっています。刊行年も関係なく、これまで大賞に選出された書籍を除き、この1年を振り返っておすすめしたい書籍が対象となります。 今回発表されたのは技術書部門とビジネス書部門それぞれのベスト10です。現時点では50音順に並んでいます。 以下は選出された技術書部門とビジネス書部門それぞれのベスト10を、Amazon.co.jpへのリンクと画像、概要で紹介したものです(アフィリエイトリンクは含まれていません)。正式

        ITエンジニアが投票した「ITエンジニア本大賞2024」発表。単体テストの考え方/プログラマー脳/ プロジェクトマネジメントの基本が全部わかる、など
      • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

        はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の本旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

          たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
        • 新卒1年目が荒れ果てた開発環境に1年間でCIを導入し単体テストを布教した話 - Qiita

          この記事は 「Develop fun!」を体現する Works Human Intelligence Advent Calendar 2020 21日目の記事です。 昨日の記事は@sparklingbabyさんのStream API がもっとわかる記事でした。 あらすじ 私は2019年にWorks Human Intelligence(正確には分社前の会社)に新卒入社し、 19年10月からプロダクト開発部門に配属され、SETエンジニアとしてとある製品のJava開発環境の改善に取り組んでいます。 ざっくりとプロダクト開発を紹介するとこんな感じです。 3万クラス程度ある大規模Java Webアプリケーション 開発環境はEclipseを使用 開発者のOSはWindowsのみ Before 私が開発チームに参加した時点では 部門として新規開発に注力しており、足下の環境改善をやる担当者がおらず、 い

            新卒1年目が荒れ果てた開発環境に1年間でCIを導入し単体テストを布教した話 - Qiita
          • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

            こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 本記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

              t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
            • 単体テストの考え方/使い方 の感想文 | フューチャー技術ブログ

              はじめにTIG EXU真野です。 積読を消化しようというテーマの、読書感想文連載 の1冊目は、単体テストの考え方/使い方 です。 書籍の基礎情報です 2022年12月28日発売 Unit Testing Principles, Practices, and Patterns の翻訳書。原著は2020年1月14日に発売 テーマ 質の高いテストを行い、ソフトウェアに価値をもたらそう!単体(unit)テストの原則・実践とそのパターン プロジェクトの持続可能な成長を実現するための戦略 単体テストの原則・実践とそのパターン コード例は C# であるものの、どの言語でも適用できる汎用的な内容とのこと 中を見ると、微妙にC#特有ぽいところに1箇所悩みましたが、それ以外はその通り 翻訳者の須田さんは、他にもセキュア・バイ・デザイン: 安全なソフトウェア設計 やOAuth徹底入門 セキュアな認可システムを適

                単体テストの考え方/使い方 の感想文 | フューチャー技術ブログ
              • フロントエンドにおける「単体テストの考え方/使い方」

                本稿における「単体テスト」とは自動テストにおける単体テストを指します。手動テストのことではないので、ご了承ください。 単体テストの考え方/使い方という本を読みました。筆者自身、「単体テストはプロダクションコードの付属」という意識がどこかにありました。この本を読んで、単体テストについてあまりに何もわかってなかったことに気付かされ、単体テストの設計はプロダクションコードの設計と同じくらい重要という意識に変わりました。何のために単体テストをやるのか、いいテストとは、「単体」とは、など多くの点で学びを得られ、また、多くのプラクティスとアンチパターンを知ることができました。 本稿はこの本を読んで得られた学びを、フロントエンド開発、特にコンポーネント開発に適用することを試みた際のまとめです。より詳細な解説を求む方には本を手に取ってもらう前提で、できるだけポイントを抑えられるようにまとめることを目指しま

                  フロントエンドにおける「単体テストの考え方/使い方」
                • 優れたテストスイートの4本の柱を学ぶ - 「単体テストの考え方、使い方」を読んだ - $shibayu36->blog;

                  良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;に引き続き、ソフトウェアテストの知識について言語化を進めたいと考え、「単体テストの考え方、使い方」を読んだ。 単体テストの考え方/使い方 作者:Vladimir Khorikovマイナビ出版Amazon この本では優れたテストスイートの4本の柱を「退行に対する保護」「リファクタリングへの耐性」「迅速なフィードバック」「保守しやすさ」と定義し、これらの観点で優れたテストスイートを作る方法について教えてくれる。またこの4つの柱はトレードオフの関係にあるため、単体テスト・統合テスト・E2Eテストがそれぞれどの観点を重視すべきかなどについても言語化してくれている。 自分はこの本は非常に勉強になった。なぜなら単体テスト・統合テストの指針が明快に記述されていて理解しやすく、また

                    優れたテストスイートの4本の柱を学ぶ - 「単体テストの考え方、使い方」を読んだ - $shibayu36->blog;
                  • 「まともに単体テストを書ける人は実はすごく少ない」 市場バグを発生させない“単体テストで対処する”という考え方

                    品質やテストといった活動が「本質的にアジャイルになって変わらなければならない」といった問題を定義し、その解決手段を提案する「今、全エンジニアに求められる『アジャイル開発での品質視点の変化』」。ここで株式会社デジタルハーツホールディングスの高橋氏が登壇。最後に、あらためて参加者からの質問に回答します。前回はこちらから。 どうすればうまくリファクタリングができるか 高橋寿一氏(以下、高橋):じゃあここでもう1回Q&Aタイムを取ります。 高木陽平氏(以下、高木):ありがとうございます。今Q&Aにまだ質問が上がっていないみたいなので、ちょっと私から質問します。リファクタリングをしなければいけないところって、逆に手をつけられないようなけっこう複雑怪奇な部分だと思うんです。そこらへんはどうすればうまくリファクタリングができるんでしょうっていう(笑)。 高橋:まず、日本人がすごくリファクタリングが嫌いな

                      「まともに単体テストを書ける人は実はすごく少ない」 市場バグを発生させない“単体テストで対処する”という考え方
                    • 単体テストを書かない技術 #phpcon_odawara

                      PHPカンファレンス小田原2024での発表資料です https://fortee.jp/phpconodawara-2024/proposal/4d39c7ef-058c-4648-b1d7-5510497e0d81

                        単体テストを書かない技術 #phpcon_odawara
                      • ハンズオン:React チュートリアルからはじめる TypeScript と単体テスト

                        import { useState } from 'react'; function Square({ value, onSquareClick }) { return ( <button className="square" onClick={onSquareClick}> {value} </button> ); } function Board({ xIsNext, squares, onPlay }) { function handleClick(i) { if (calculateWinner(squares) || squares[i]) { return; } const nextSquares = squares.slice(); if (xIsNext) { nextSquares[i] = 'X'; } else { nextSquares[i] = 'O'; } on

                          ハンズオン:React チュートリアルからはじめる TypeScript と単体テスト
                        • 単体テストの考え方/使い方を読んだ。読んでよかった。 - Mitsuyuki.Shiiba

                          読んでよかった book.mynavi.jp 評判通りよかった そっかーなるほどなぁ。面白いなぁ。と思うことがいろいろあった とはいえ、著者の主張全てに同意というわけではなく「著者はそう考えるんだな。自分は違う考えだな」と考えさせられる部分もいくつかあった 苦手な部分もあった 古典学派とロンドン学派に分けて話を展開しているのはあまり好きじゃないなと思いながら読んだ 定理やマトリクスに当てはめて話を展開する部分があって、いくつかは無理やりだったり話をややこしくしていたりするように自分は感じた。そういう部分は苦手だなぁと思いながら読んだ というのが全体の感想。内容はとてもよかったし、苦手な部分もそれはそれで考えさせられたので、読んでよかった。ってことでパラパラめくりながらメモを書いていこう あらためて意識したい2本 「第4章 良い単体テストを構成する4本の柱」の中の2本が、当たり前のことではあ

                            単体テストの考え方/使い方を読んだ。読んでよかった。 - Mitsuyuki.Shiiba
                          • 単体テストは「2:8の法則」でだいたい品質が担保できる 網羅率・期待値を担保した適切なソリューション

                            上流品質を担保するために必要な3つのこと 高橋寿一氏(以下、高橋):Dailyで上流品質を担保するために必要な3つのことです。単体テスト、リファクタリング、要求仕様、ユーザーストーリーのテストケース展開という3つのアクティビティをしっかりやっていただくと、上流でも品質がかなり担保されていくんじゃないのかなと思っています。 単体テストに関しては、基本的には「網羅率を担保してください」みたいなことなので、シンプルです。ただ、まだまだ知られていませんが、0から70パーセントとか80パーセントに持ってくるのは地獄のような作業なので、だいたいみなさん諦めちゃうんです。 でも、テクノロジーが進んでいるのでそこまでやる必要はなくて、「2:8の法則」ですよね。ソフトウェア全体の2割の危ないところだけをテストすれば、だいたい品質は担保されますという。超いい加減な言い方をしましたが、そういうものがあります。

                              単体テストは「2:8の法則」でだいたい品質が担保できる 網羅率・期待値を担保した適切なソリューション
                            • 「単体テストの考え方/使い方」が主張するたった一つのこと

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

                                「単体テストの考え方/使い方」が主張するたった一つのこと
                              • React でつくるフォーム UI の単体テストと TDD

                                はじめに 最近「単体テストの考え方/使い方」を読みました。 普段フロントエンドエンジニアとして実装をしている中で、自分が作っている単体テストについての言語化をサポートしてくれました。 この記事では、フォーム UI の実装を通して、コンポーネントに対する効果的な単体テストについて考察し、具体的なテストの書き進め方の一例を提示してみます。 最終的な成果物 この記事で実装するフォーム UI の最終的な成果物は codesandbox で確認できるようにしています。右のペインの「Tests」をクリックするとテストも実行できます。 注意 この記事は「単体テストの考え方/使い方」(以下、本書)の内容に触れていますが、読んでいなくても理解できるように補足をしているつもりです。それぞれのトピックで、文中に本書の該当ページの番号を「(p123)」のように表示しています(いずれも初版のものです)。 react

                                  React でつくるフォーム UI の単体テストと TDD
                                • Composition API + Jestでコンポーネントを一切マウントせずに書けるフロントエンド単体テストパターン - ANDPAD Tech Blog

                                  どうもこんにちは! 2021年4月にANDPADにジョインし、現在チームでフロントエンドの開発をしている鳩です。 こちらのVue Composition APIをチームで導入して得られたメリット - ANDPAD Tech Blogでも取り上げられていますが、私のチームでもOptions API + Vuex で実装されていたコンポーネントをComposition API + without Vuex のパターンへ書き換えを行っています。 Composition APIへ書き換える最大のメリットは、コンポーネントのロジック部分の多くを単なるJavaScript関数として切り出せるので、コンポーネントとロジックを疎結合な状態に分離でき、単体テストが恐ろしく書きやすくなるという点です。 そんなわけで、コンポーネントを一切マウントせずに書けるフロントエンドあるあるテストパターンを紹介していこうと

                                    Composition API + Jestでコンポーネントを一切マウントせずに書けるフロントエンド単体テストパターン - ANDPAD Tech Blog
                                  • 統合テスト vs 単体テスト、なぜ統合テストの方が重要なのか――CoderPadが解説

                                    統合テスト vs 単体テスト、なぜ統合テストの方が重要なのか――CoderPadが解説:テストピラミッドとテストトロフィー コーディング面接に使われるWebサービスなどを手掛けるCoderPadは2022年3月29日(米国時間)、エンドツーエンドテスト、統合テスト、単体テスト、静的テストを比較し、統合テストの重要性を解説したブログ記事を公開した。 概要は以下の通り。 最近では、多様なテストやプログラミング言語に対応した開発者向けツールが出回っている。 エンドツーエンド(E2E)テストでは、「Cypress」「Puppeteer」「Webdriver」「Selenium」などのツールが選択できる。単体テスト、統合テスト、静的テストのツールは、特定の言語向けのものが多い傾向にある。「JUnit」「Jest」「pylint」「mocha」や、「Visual Studio」のビルトイン単体テスト機

                                      統合テスト vs 単体テスト、なぜ統合テストの方が重要なのか――CoderPadが解説
                                    • 単体テストの考え方/使い方|マイナビブックス

                                      単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略 著作者名:Vladimir Khorikov 編集者名:須田智之 書籍:4,488円 電子版:4,488円 B5変:416ページ ISBN:978-4-8399-8172-3 発売日:2022年12月28日 内容紹介 質の高いテストを行い、ソフトウェアに価値をもたらそう! 単体(unit)テストの原則・実践とそのパターン ― プロジェクトの持続可能な成長を実現するための戦略について解説。 優れたテストを実践すれば、ソフトウェアの品質改善とプロジェクトの成長に役立ちます。逆に間違ったテストを行えば、コードを壊し、バグを増やし、時間とコストだけが増えていきます。生産性とソフトウェアの品質を高めるため、優れた"単体テスト"の方法を学ぶことは、多くの開発者とソフトウェア・プロジェクトのために必須といえるでしょう。 本書“

                                        単体テストの考え方/使い方|マイナビブックス
                                      • testingパッケージを使った Webアプリケーションテスト 単体テストからE2Eテストまで / gocon2022spring

                                        https://gocon.jp/2022spring/sessions/a10-s/ Go Conference 2022 Springの登壇資料です。 資料の中のリンクはブログで紹介しています。 https://budougumi0617.github.io/2022/04/25/gocon2022spring/

                                          testingパッケージを使った Webアプリケーションテスト 単体テストからE2Eテストまで / gocon2022spring
                                        • 単体テストの考え方/使い方 社内読書会をしました - BASEプロダクトチームブログ

                                          この記事はBASE アドベントカレンダー 2023の24日目の記事です。 基盤グループ エンジニアの田中 (@tenkoma) です。 2023年5月から8月にかけて、書籍「単体テストの考え方/使い方」の読書会を社内有志でしました。 読書会の様子や感想をまとめます。 書籍「単体テストの考え方/使い方」について 単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略 | マイナビブックス 単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略 | 達人出版会 2022年12月に出版されました。 2020年1月に出版されたUnit Testing Principles, Practices, and Patterns (Manning)の翻訳書です。 単体テストについて定義し、その価値を最大限に高めるための方法について解説されています。 書籍への期待

                                            単体テストの考え方/使い方 社内読書会をしました - BASEプロダクトチームブログ
                                          • go-smtp-mockをSMTPのモックサーバにして単体テストする | フューチャー技術ブログ

                                            はじめにTIG真野です。 バックエンドのアプリケーションの上で、メール送信するコードがある場合の単体テストをどう実現するか悩みました。 メールには、タイトル・本文・From・TO・CC・BCCなど複数の設定値がありますし、SMTPサーバの接続情報もあります。これらを表現する構造体のモデルだけに絞った検証に留めることは、気が進みませんでした。時代はインフラレベルでダミーサーバを動かしモックする方向で動いています。SMTPでメール送信し、その送信結果をテストコード上で取得&検証する一連の流れを行って動作を確かめたいと思いました。 方法として、澁川さんのMailSlurperを使って6桁のコードの送信コードのテストをするで紹介されたMailSlurperを使うか迷いましたが、以下の点で牛刀だなと感じました。 メール送信するのはごく一部の機能(私の場合は1機能。今後増える見込みは現時点で見えなかっ

                                              go-smtp-mockをSMTPのモックサーバにして単体テストする | フューチャー技術ブログ
                                            • フロントエンド:単体テストの観点

                                              対象読者 Jest や Testing Library のテストの書き方は理解しているが、何をテストすべきかわからないという方。 動機 近年、フロントエンドでもテストを書くことが重要視されるようになってきました。 テスト導入する際、共通で利用するコンポーネントや関数などをテストする記事は多いですが、何をテストすべきかについての記事が見当たらなかったため、私が意識してるテスト観点を執筆しようと思いました。 まず初めに各種テストの説明 単体テスト 関数やメソッドなどの最小単位の部分を個別にテストする手法のこと。 利用ツール例 Jest React-Testing-Library 結合テスト 複数のコンポーネントが、互いにうまく動作していることをテストする手法のこと。 利用ツール例 Jest React-Testing-Library End to End (E2E)テスト ユーザーが実際にシス

                                                フロントエンド:単体テストの観点
                                              • 「生成AIを使わない手はない」、GitHub Copilotで単体テストのコードを生成

                                                「私のスキルのうち90%の価値が0ドルに下がり、残りの10%のレバレッジは1000倍になった」──。Javaの単体テストフレームワーク「JUnit」の生みの親であるKent Beck(ケント・ベック)氏が2023年に対話型AI(人工知能)サービス「ChatGPT」を試した際のX(旧Twitter)の投稿に含まれる文章である。生成AIで代替できる能力は無価値になった半面、創造性など人間にしかない能力は生成AIのおかげで飛躍的に発揮しやすくなったという意味だ。 この言葉が象徴するように、生成AIは人のあらゆる活動に多大な影響を与えている。システム開発分野でも、コード生成AIの登場でコーディングの効率が大きく向上した。 ソフトウエアテストも例外ではない。テストコードの自動生成や自動実行ツールの機能強化などで生成AIの活用が進んでいる。米調査会社のIDCは、生成AIを利用したツールが2028年まで

                                                  「生成AIを使わない手はない」、GitHub Copilotで単体テストのコードを生成
                                                • 「GAFAM」から学ぶ、自動テスト手法――アジャイル開発で単体テストの“確からしさ”を検証する、ミューテーションテストとは

                                                  「GAFAM」から学ぶ、自動テスト手法――アジャイル開発で単体テストの“確からしさ”を検証する、ミューテーションテストとは:海外企業に学ぶテスト自動化(1) 海外の先進的企業の事例を基にテスト自動化に使われる手法を解説する本連載。第1回は、アジャイル開発において単体テストを検証する「ミューテーションテスト」について。 今の時代に「海外に学ぶ」というタイトルは反感を覚える方がいるかもしれませんが、残念ながら日本のソフトウェア企業と「GAFAM」(Google、Amazon.com、Facebook、Apple、Microsoft)との技術力の差は大きいです。それは日本の技術者が米国などの海外の技術者より劣っているという話ではなく、企業の利益の差が大きいと思っています。例えば、Googleの利益は約4兆円で、利益率約20%、1人当たりの利益は約7000万円、Microsoftの利益は約6兆円、

                                                    「GAFAM」から学ぶ、自動テスト手法――アジャイル開発で単体テストの“確からしさ”を検証する、ミューテーションテストとは
                                                  • pytest で単体テストの方法まとめ - Qiita

                                                    概要 Python には pytest という単体テストを書く機能があり、便利なのですが、他の言語と若干仕様が異なるので、よく使う機能を備忘録としてまとめておきます。 テストの書き方・実行方法 CreateXxx というクラスが print_aaa というメソッドを持っている場合のテストケース。 import pytest from xxx import CreateXxx, XxxError class TestCreateXxx: # 通常の評価 def test__can_print_aaa(self): xxx = CreateXxx() assert xxx.print_aaa(111) == 'aaa' # エラーがでることを評価 def test__can_raise_error(self): xxx = CreateXxx() with pytest.raises(XxxE

                                                      pytest で単体テストの方法まとめ - Qiita
                                                    • JavaScriptを単体テストする流行りのフレームワークJestを試してみる - Qiita

                                                      Jestとは JestはJavaScriptの単体テストのフレームワークです。 https://jestjs.io/ja/ テストランナーだけでなく、モック機能やカバレッジの取得を使用することができます。npmのトレンドとしては2019年から伸びてmochaを超えるものとなっています。 https://www.npmtrends.com/jest-vs-jasmine-vs-mocha-vs-qunit この記事は公式のサンプルコードを弄ってその挙動を確認するものとなっています。 また、実験環境は以下の通りです。 OS:MacOS Catalina 10.15.6 node.js: v14.10.1 簡単なはじめ方 jestを使用するためにnode.jsのプロジェクトを以下のように作成します。 # package.jsonを作成する npm init -y # package.jsonにj

                                                        JavaScriptを単体テストする流行りのフレームワークJestを試してみる - Qiita
                                                      • ITエンジニアが投票した「ITエンジニア本大賞2024」発表 単体テストの考え方/AWS運用ノウハウ/ プロジェクトマネジメントの基本が全部わかる、など

                                                        この記事は新野淳一氏のブログ「Publickey」に掲載された「ITエンジニアが投票した「ITエンジニア本大賞2024」発表。単体テストの考え方/プログラマー脳/ プロジェクトマネジメントの基本が全部わかる、など」(2024年1月17日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。 「ITエンジニア本大賞」は、仕事の役に立った本、初学者におすすめの本、ずっと手元に置いておきたい本など、おすすめの本をITエンジニアがWeb投票で選ぶイベントです。 主催は翔泳社ですが、対象となる書籍は出版社を問わず技術書、ビジネス書全般となっています。刊行年も関係なく、これまで大賞に選出された書籍を除き、この1年を振り返っておすすめしたい書籍が対象となります。 今回発表されたのは技術書部門とビジネス書部門それぞれのベスト10です。現時点では50音順に並んでいます。 以下は選出された技

                                                          ITエンジニアが投票した「ITエンジニア本大賞2024」発表 単体テストの考え方/AWS運用ノウハウ/ プロジェクトマネジメントの基本が全部わかる、など
                                                        • Amazon.co.jp: 単体テストの考え方/使い方: Vladimir Khorikov (著), 須田智之 (翻訳): 本

                                                            Amazon.co.jp: 単体テストの考え方/使い方: Vladimir Khorikov (著), 須田智之 (翻訳): 本
                                                          • 単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略

                                                            単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略 Vladimir Khorikov(著), 須田智之(訳) マイナビ出版 4,488円 (4,080円+税) 関連サイト本書の関連ページが用意されています。 単体テストの考え方/使い方 | マイナビブックス内容紹介質の高いテストを行い、ソフトウェアに価値をもたらそう! 単体(unit)テストの原則・実践とそのパターン ― プロジェクトの持続可能な成長を実現するための戦略について解説。 優れたテストを実践すれば、ソフトウェアの品質改善とプロジェクトの成長に役立ちます。逆に間違ったテストを行えば、コードを壊し、バグを増やし、時間とコストだけが増えていきます。生産性とソフトウェアの品質を高めるため、優れた"単体テスト"の方法を学ぶことは、多くの開発者とソフトウェア・プロジェクトのために必須といえるでしょう。 本書“単体

                                                              単体テストの考え方/使い方 プロジェクトの持続可能な成長を実現するための戦略
                                                            • Ivyが単体テストにもたらした恩恵 - Qiita

                                                              今年のAngularアドカレはテストの話題が豊富ですね。 Angular8 ユニットテストが動かねぇ! や はじめてのユニットテストを書く前にモック実装で手が止まってしまわないために など、テストコードを書く上での知見が色々と紹介されています。 僕自身も3年前のアドカレで、Zone.jsがいかにAngularのテストに貢献しているかとかを書いたりしたことがあり、Angularの色々な機能の中でもテスト周りは特に好きな部分の1つだったります。 さて、Angularで直近ホットだった話題といえば、やはりIvyは外せません。 Ivy自体は基本的に内部構造の変更であるため、アプリケーションコードの書き方そのものに影響する話ではないですが、AoT(Ahead of Time)コンパイルをデフォルトにするための布石であり、バンドルサイズの削減やビルドプロセスがシンプルになる、といった効果については聞い

                                                                Ivyが単体テストにもたらした恩恵 - Qiita
                                                              • 単体テストの考え方/使い方 まとめ

                                                                著者は古典学派のスタイルを好んでいて、本書では古典学派の定義を採用している テスト対象の焦点をクラスに当てるのは間違っていて、1単位の振る舞いに焦点を当てなければいけない。 また、ロンドン学派のスタイルだと単体テストがテスト対象の内部的なコードと密接に結びつく傾向があるため、賛同できない。 3章 単体テストの構造的解析 AAAパターンという単体テストの構造を用いることで、全てのテストケースに対して簡潔で統一された構造を持たせることができる。また、この構造に慣れることで読みやすさが向上し、保守コストを下げることにつながる。 準備フェーズ(Arrange)フェーズ...ケースの事前条件を満たすように、テスト対象システムとその依存の状態を設定するフェーズ 実行(Act)フェーズ...テスト対象の振る舞いを実行するフェーズ 確認(Assert)フェーズ...実行した結果が想定した結果であることを確

                                                                  単体テストの考え方/使い方 まとめ
                                                                • 【BigQuery】クエリの単体テストを書こうと思ったけど壁が厚くてどうしようか悩んでいる話 - St_Hakky’s blog

                                                                  こんにちは。 久しぶりのブログ投稿になってしまったのですが、今日は「クエリの単体テストを書こうと思ったけど、壁が厚くてどうしようかなと思った話」を書きたいと思います。 はじめに言っておきますが、この記事は特に何か解決策があるわけでもなんでもなく、「ただ、クエリの単体テストを書こうとするとこんな問題にぶち当たって、それに対してこうしたらいいとは思ったけど、誰か最高のソリューションない?笑」って聞きたかったから書いただけの記事です笑*1 この記事のモチベ 最近、BigQueryを使ったデータ分析基盤とやらを開発しているのですが、「テスト書いてないとかお前それ @t_wada さんの前でも同じこと言えんの?」って言う状態になり、「これ真面目にやろうとするとどうなるんだ」って言うことで真面目に対峙してみました*2。 ここで言う「真面目に」と言うのは、「入り得る全パターンのデータに対する集計があって

                                                                    【BigQuery】クエリの単体テストを書こうと思ったけど壁が厚くてどうしようか悩んでいる話 - St_Hakky’s blog
                                                                  • 「単体テストの考え方/使い方」を読んでテストの本質を学ぶ(第1部) - Qiita

                                                                    はじめに どうもこんにちは、もきお(@mokio_50)です。 今までなんとなく書いてきたテスト。テストの質について考えたことって意外とないですよね?えっ、それは自分だけだって?笑 そんな自分にテストの考え方を改めて考えさせてくれた本がこちら。今回から3部に渡ってこの本の要約というか感想文をつらつらと書き連ねたいと思います。 書籍情報 質の高いテストを行い、ソフトウェアに価値をもたらそう! 著作者名:Vladimir Khorikov 編集者名:須田智之 Unit Testing Principles, Practices, and Patternsの翻訳書。 1章 なぜ単体(unit)テストを行うのか? 1章では主に以下について記載されていました ・なぜ単体テストを行うのか ・テスト網羅率(カバレッジ)について ・価値のあるテストとはなにか 個人的に2つ目が読んでて興味深かったです。それ

                                                                      「単体テストの考え方/使い方」を読んでテストの本質を学ぶ(第1部) - Qiita
                                                                    • TypeScript の単体テストで Jest 使おう - Qiita

                                                                      単体テストライブラリーっていっぱいありますね… Most in-demand JavaScript testing tools in 2020 の翻訳 上の記事に上げられてるだけでも沢山あります。 Jest Mocha Storybook Cypress Enzyme Ava Jasmine Puppeteer とりあえず数の暴力に従って Jest をやってみて使い方をまとめてみました。 ひな型作成 以下のコマンドを叩いてプロジェクトのひな型を作ります。

                                                                        TypeScript の単体テストで Jest 使おう - Qiita
                                                                      • 単体テストの単位はコードではなく振る舞いである

                                                                        単体テストの単位はコードではなく振る舞いである 2023.01.07 単体テストの目的は、ソフトウェア開発プロジェクトを持続可能なものにすることです。この目的を達成するための単体テストの機能の 1 つにリファクタリングに対する耐性が上げられます。これは内部のコードを変更した前後でも、外部の振る舞いから見た振る舞いが壊れていないことを保証してくれる度合いです。この耐性が高ければ、開発者は安全にコードを変更できます。 この記事では、単体テストをコード単位で書いた場合と振る舞い単位で書いた場合をそれぞれ提示して、リファクタリングに対する耐性がどのように異なるのかを見ていきます。 単体テストの目的は、ソフトウェア開発プロジェクトを持続可能なものにすることです。この目的を達成するための単体テストの機能の 1 つにリファクタリングに対する耐性が上げられます。これは内部のコードを変更した前後でも、外部の

                                                                          単体テストの単位はコードではなく振る舞いである
                                                                        • Slack、ASTと大規模言語モデルを組み合わせて15,000の単体テストの80%を自動変換する

                                                                          Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                            Slack、ASTと大規模言語モデルを組み合わせて15,000の単体テストの80%を自動変換する
                                                                          • Flutterで単体テストを書く - Qiita

                                                                            以前こちら(TODOアプリで比較するAndroid(MVVM)とFlutter(Provider)の違い)の記事で紹介した、TODOアプリの単体テストを書いてみました。 やってみてわかったことを共有します。ここはこうすれば解決する!とかこうした方がいい!とかあればコメントくださると嬉しいです。 筆者のレベル Flutterの実務経験なし(やり始めて半年未満) 普段はSIerでインフラエンジニア インフラ周りといってもオンプレミスしかしらない・・・ やったこと 以前私が書いたTODOAppSample-Flutterで単体テストを行いました。 全コードはこちら 基本的には以下の公式ドキュメントにやり方が書いてありますのでご参照ください。 An introduction to unit testing 必要な準備 pubspec.yamlに以下のようにflutter_testが追加されている必

                                                                              Flutterで単体テストを書く - Qiita
                                                                            • 単体テストでスクリーンリーダーをシミュレートする Virtual Screen Reader

                                                                              単体テストでスクリーンリーダーをシミュレートする Virtual Screen Reader 2024.03.16 Virtual Screen Reader は単体テストのためにスクリーンリーダをシミュレートするライブラリです。このライブラリを使うことでマウスやキボードの操作をテストするように、スクリーンリーダーにより期待する読み上げが行われるかどうかをテストできます。なお、Virtual Screen Reader はあくまでスクリーンリーダーの挙動を模倣したものであり、現実で使われているスクリーンリーダーによるテストを代替するものではないことに注意してください。

                                                                                単体テストでスクリーンリーダーをシミュレートする Virtual Screen Reader
                                                                              • AAA を意識して単体テストを書く - Pepabo Tech Portal

                                                                                こんにちは。EC事業部CREチームの rotelstift といいます。 私は主にカラーミーショップへのお客様からの技術的なお問い合わせに答え、希望された機能追加や発覚したバグの修正などを担当しています。 プログラマという職業に就いたのはペパボが1社目で35歳からというスロースターターですが、ペパボという会社はいるだけで成長できる会社だということを実感しています。 今回は、職業プログラマになる前はほとんど書いたことの無かったテストコードについて学んだこととして、読みやすさを劇的に改善する AAA (arrange, act, assert) と呼ばれる指針の解説をしたいと思います。 なお、この記事では RSpec を題材にした単体テストを扱います。 読みにくいテストコードの例 まず最初に、以下のテストコードを見てみましょう。なんか読みにくいと感じます。これが読みにくいのは AAA の各要素

                                                                                  AAA を意識して単体テストを書く - Pepabo Tech Portal
                                                                                • データ ウェアハウスを BigQuery に移行するなら、Dataform による BigQuery UDF の単体テストを実施しましょう | Google Cloud 公式ブログ

                                                                                  データ ウェアハウスを BigQuery に移行するなら、Dataform による BigQuery UDF の単体テストを実施しましょう ※この投稿は米国時間 2021 年 10 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。 BigQuery への移行時には、BigQuery ネイティブ関数の充実したライブラリを利用して分析ワークロードを強化できます。既存の関数は、独自のユーザー定義関数(UDF)で拡張することも可能です。人間誰しもミスをするものなので、単体テストを作成して UDF が正しく動作するかを検証することをおすすめします。Dataform のコマンドライン ツールはこのニーズを満たし、すべての UDF の単体テストをプログラムで実行できるようにします。 2020 年に Google Cloud が買収した Dataform は、BigQuery

                                                                                    データ ウェアハウスを BigQuery に移行するなら、Dataform による BigQuery UDF の単体テストを実施しましょう | Google Cloud 公式ブログ