タグ

t-wadaのブックマーク (11,301)

  • 信頼不能なテストは「テスト失敗に対する鈍感さ」を生む 信頼性を損なわないために大切な“偽陽性”と“偽陰性”を減らすこと

    Qiita Conferenceは、ソフトウェア開発者が集まり、最新の技術や最先端の挑戦・ソフトウェアの未来についての考えや知見を共有し、つながる場を創出する、「Qiita」が開催するオンライン技術カンファレンスです。ここで和田卓人氏が「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ(2023年5月版) 」をテーマに登壇。次に、自動テストの信頼性について話します。前回はこちらから。 自動テストに対して信頼がだんだん失われていく時とは 和田卓人氏:第2回は偽陽性と偽陰性というような話をしていきます。 我々はコードとしてテストコードを書き日々そのテストを回しながら開発をして、お客さまに価値を迅速に提供しようとするような時代を生きています。 そういった時に、その自動テストの一つひとつが信頼できるかどうかもとても大事になるわけです。自動テストがあるけれど、その結果が信頼できないと(

    信頼不能なテストは「テスト失敗に対する鈍感さ」を生む 信頼性を損なわないために大切な“偽陽性”と“偽陰性”を減らすこと
    t-wada
    t-wada 2023/08/23
    #QiitaConference での講演「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ」レポート記事の第2回では「偽陽性」「偽陰性」という言葉を通して、信頼性の高い自動テストはどういうものかを説明します。
  • 和田卓人氏が教える、自動テストの使い方 学びを自動テストとして書く「学習用テスト」という考え方

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

    和田卓人氏が教える、自動テストの使い方 学びを自動テストとして書く「学習用テスト」という考え方
    t-wada
    t-wada 2023/08/22
    #QiitaConference での講演「サバンナ便り - 自動テストに関する連載で得られた知見のまとめ」が全4回のレポート記事になりました。初回として、学びを自動テストとして書く「学習用テスト」という考え方を説明しています。
  • 1年以上インボイス制度対応をして、業務とシステムを踏まえて法整備がされるべきだと思った - SaaSベンチャーで働くエンタープライズ部長のブログ

    受取請求書処理SaaSのプロダクトマネージャーとして、この1年以上プロダクトのインボイス制度対応を行ってきました。 請求書の受け取り、仕訳処理、支払処理などを行うB2BSaaSだったのですが、インボイス制度自体が非常に複雑で対応方法に非常に頭を悩まされてきました。 法制度自体が過度に複雑なため、業務もプロダクトの設計もユーザー体験も複雑にならざるを得ない点を感じました。 インボイス制度は増税観点で批判されることも多いのですが、業務自体の生産性やエンジニアの開発生産性にも影響を及ぼすと感じ、今回は法制度の複雑性に焦点を当てていきます。政治的な内容はあまり書くつもりはないのですが、昨今あまりに業務をおざなりにして法制度が作られることが気になるので課題意識を書いてみたいと思います。 インボイス制度とは インボイス制度によって業務負担が増える 適格請求書を逐一確認する業務負担が増える 適格請求書か

    1年以上インボイス制度対応をして、業務とシステムを踏まえて法整備がされるべきだと思った - SaaSベンチャーで働くエンタープライズ部長のブログ
    t-wada
    t-wada 2023/08/22
    "複雑な法制度は業務の生産性を犠牲に" "税収向上だけが目標指数になってしまって、副作用として業務効率化や開発生産性の効率が下がることに目を向けない、そんなことが軽減税率のあたりからよく起きていないか"
  • 第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp

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

    第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp
    t-wada
    t-wada 2023/08/22
    #wdpress で連載しているコラム『サバンナ便り』の第7回「テストコードの認知負荷」が #gihyojp で公開されました。なるべく専門用語を使わずにテストコードの読みやすさ、分かりやすさに寄与する要素を解説しています。
  • 102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm

    MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software DesignをテーマにしたエピソードのPart3です。今回は「認知負荷」についてひたすら語っていただきました。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 認知負荷 (Cognitive Load) とは何か? 書籍:チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 “クソコード” という言葉をなんとかしたい 認知資源の消費量 課題内在性負荷 と 課題外在性負荷 波動拳 課題内在性負荷が高いことは、悪いことではない 循環的複雑度 99. Podcastを編集する技術 w/ tomiyama における課題外在性負荷の下げ方 例外と課題外在性負荷の関連 横断的関心事 アスペクト指向プログラ

    102. A Philosophy of Software Design (3/3) w/ twada | fukabori.fm
    t-wada
    t-wada 2023/08/16
    ポッドキャスト fukabori.fm の ep.102 に出演し、名著『A Philosophy of Software Design (2nd ed)』をテーマに話しました。今回はなんとなく使われがちな「認知負荷(Cognitive Load)」という言葉を深掘りしていきます #fukabori
  • 101. A Philosophy of Software Design (2/3) w/ twada | fukabori.fm

    MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software DesignをテーマにしたエピソードのPart2です。今回は「例外」についてひたすら語っていただきました。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 書籍における例外・エラーの扱い Define error out of existence 例外はなぜ複雑性を増大させるのか? プロダクションレベルのコードにおけるエラーハンドリングの分量 結果に着目する設計へのシフト 防御的プログラミングとは Design by Contract エラーを適切に出すための「適切」とは その例外は回復可能なものかどうか?プログラミングミスなのか?という観点 エラーの運用側への通知 例外のバッドパターン:例外を catch

    101. A Philosophy of Software Design (2/3) w/ twada | fukabori.fm
    t-wada
    t-wada 2023/08/12
    ポッドキャスト fukabori.fm に出演し、名著『A Philosophy of Software Design (2nd ed)』の第10章「Define Errors Out Of Existence」を軸足に、エラーや例外、それらのハンドリング、ロギング等の設計についてお話をさせていただきました
  • React

    2023年度リクルート エンジニアコース新人研修の講義資料です

    React
    t-wada
    t-wada 2023/08/12
    新卒向けReact研修の皮を被った全222ページ(!)の圧倒的資料
  • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)

    こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

    株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)
    t-wada
    t-wada 2023/08/11
    リクルートの新人研修資料を今年も公開いたしました。ブラウザ、React、Next.js、Webアクセシビリティ、事業価値とエンジニアリング、TOC、TPS、A/Bテスト、検索結果の品質向上、現代的システム開発概論などなど特盛りです
  • 100. A Philosophy of Software Design (1/3) w/ twada | fukabori.fm

    MP3ファイルをダウンロード 内容紹介 twadaさんをゲストに、A Philosophy of Software Designをテーマに色々と語っていただいたエピソードです。 出演者 話したネタ 書籍:A Philosophy of Software Design, 2nd Edition 資料:“A Philosophy of Software Design” を30分でざっと理解する 記事:ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 記事:【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 書籍の翻訳は出ない? Working Code isn’t Enough ストラテジックアプローチ と タ

    100. A Philosophy of Software Design (1/3) w/ twada | fukabori.fm
    t-wada
    t-wada 2023/08/02
    ポッドキャスト fukabori.fm の ep.100 公開収録に出演し、名著『A Philosophy of Software Design (2nd ed)』をテーマにお話をさせていただきました。何卒よろしくお願いします! #fukabori
  • 和田卓人(t_wada)さんをお呼びして「質とスピード」の社内講演をしていただきました! - stmn tech blog

    こんにちは、スタメンCTOの松谷(@uuushiro) です。 7/25に、 和田卓人さん (以下、t_wadaさん)をお呼びし、「質とスピード」の社内講演会を開催しました! t_wadaさんにご依頼したきっかけ スタメンが提供する「エンゲージメントプラットフォーム TUNAG(ツナグ)」はスタメンの創業事業で、サービス提供から約7年が過ぎました。この約7年間、プロダクト成長に注力してきた中で、内部品質や開発効率などに関する課題が後手に回っていました。 TUNAGが成長軌道に乗ってきた今、今後もエンジニア組織をスケールさせながら、継続的にプロダクトの価値を素早く世の中に届けていくために、開発者体験(DevEx)に関する明確な戦略が不可欠だと考えており、この課題に集中して取り組むために、今年の4月からCTO室にDevEx(Developer eXperience)チームを立ち上げ、2023

    和田卓人(t_wada)さんをお呼びして「質とスピード」の社内講演をしていただきました! - stmn tech blog
    t-wada
    t-wada 2023/07/26
    "弊社の代表や他の職種メンバーも参加" "Slackチャンネルは大盛りあがりで、学びになるだけでなく非常に楽しい時間" "「質とスピード」の講演は、我々スタメンにおける「内部品質に対する共通認識」の構築を加速"
  • twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal

    挨拶 こんにちは。2023年04月に入社した、minne事業部エンジニアの@kazuです。 この度、弊社GMO ペパボ(以下、ペパボ)では2022年に引き続き、今年も日のTest-Driven Development(TDD) の第一人者である @t_wada さんをお招きしてTDDワークショップを開催しました。前回:『t_wadaさんによるTDDワークショップを開催しました』 なぜTDDワークショップを開催しているのかについては、こちらの記事『ふつうの開発と TDD ワークショップ』で詳しく説明していますのでご覧ください。 さて、それでは今回のTDDワークショップで何をしたのか、どんな気づきがあったのかなどについて、参加パートナーからそれぞれお話ししてまいります。 具体的な研修内容 概要 ワークショップは、事前に各参加パートナーが基調講演/ライブコーディングの動画を予習し、動画内でのラ

    twadaさんによる2023年度版TDDワークショップを開催しました - Pepabo Tech Portal
    t-wada
    t-wada 2023/07/07
    今年特に印象に残ったのはGitHub Copilot等のコーディング支援AIを多くの参加者が活用していることでした。開発フローの質とスピードに大きな影響を与える変革の年であり、TDDの世界もまた大きく変わると再認識しました
  • 結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、サイボウズの永田です。 私は、サイボウズの開発部、アジャイル・クオリティで、アジャイルの品質を探求する活動をしています。 この記事では、2023年3月9日、JaSST Tokyo 2023テクノロジーセッションで発表させていただいた内容を、より解説を入れながら紹介します。 結合テストの自動化にQAはどうかかわっていったか 今回取り上げる事例では、kintoneフロントエンド刷新プロジェクト(フロリア)で結合テストの自動化を決定した際に、QAメンバーがどのように関与し、困難に直面しながらも、信頼性の高いテストコードを作成するに至るまでの過程をご紹介します。 フロリアについては次のブログをご覧ください。 blog.cybozu.io テストのポリシー ~このミッションにおけるQAのチャレンジ~ フロリア内で新しく3つのチームが立ち上がった際、各チームのテスト戦略の中心を、自動

    結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ
    t-wada
    t-wada 2023/07/07
    "各チームのテスト戦略の中心を、自動テストへと移行させることに決定" "QAと開発者のコラボによるテスト設計の議論により、より品質に確信が持てる結合テストのコードを設計できるように" いい事例発表だ
  • CommonJSからES Modulesへの移行する方法。トップダウンかボトムアップか

    Secretlint v7でCommonJS からES Modulesへの移行を行いました。 Secretlint v7.0.0をリリースしました。Pure ESMへの書き直し この記事では、CommonJS(CJS)からES Modules(ESM)への移行を行った経緯と、移行する方法について紹介します。 CJSからESMへの移行は、率直に言えば単調な作業で、メリットが見えにくい作業です。 しかし、将来的にCJSよりもESMが主流になることは間違いないので、移行することは必要です。 移行の作業は、移行方法が決まれば大部分は機械的な書き換えが可能です。 では、実際にどうやって移行したのかを紹介します。 ESMへの移行の影響は依存元へと連鎖する Secretlintのリポジトリはmonorepoになっていて、だいたい40コぐらいのパッケージが含まれています。 そしてパッケージ間で依存関係があ

    CommonJSからES Modulesへの移行する方法。トップダウンかボトムアップか
    t-wada
    t-wada 2023/07/06
    CJSからESMに段階的に移行していく手法が丁寧に説明されていて素晴らしい。ESMの性質を考えると依存ツリーの葉側ではなく根側から移行するのが良い
  • 第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp

    このコラムの主なテーマは、信頼できる実行結果にできるだけ短い時間でたどり着く自動テスト群の構築です。稿では、テストダブルをうまく活用してテストピラミッドを構築する戦略を立てます。 信頼性の高い自動テスト群を求めて 自動テスト全体の中長期的な信頼性を守るために、図1のようにLargeからMediumへ、MediumからSmallへテストサイズを適宜下げ、テストピラミッドを構築します[1]。テストサイズとは、単一プロセスに閉じたテストをSmall、単一マシンに閉じたテストをMedium、そういった制約がないテストをLargeテストと呼ぶ分類基準です。 図1 テストピラミッド サイズダウンを考えるとき、テストダブルの活用が思い浮かびます。テストダブルとは、自動テストに使用する偽物、代用品のことです。単一プロセスや単一マシンに収まらない外部依存を偽物に置き換え、テストサイズを下げます[2]。 テ

    第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp
    t-wada
    t-wada 2023/06/28
    #wdpress の連載『サバンナ便り』の第6回「自動テストのサイズダウン戦略」が #gihyojp で公開されました。互換性の観点からテストダブルを捉え直し、1.テストダブルを使わない 2.作らない 3.工夫して作る の順番で検討します
  • 質とスピード(AWS Dev Day 2023 Tokyo 特別編、質疑応答用資料付き) / Quality and Speed AWS Dev Day 2023 Tokyo Edition

    AWS Dev Day 2023 Tokyo GS-1-2 | 6月 22 日(木)10:55 - 11:45

    質とスピード(AWS Dev Day 2023 Tokyo 特別編、質疑応答用資料付き) / Quality and Speed AWS Dev Day 2023 Tokyo Edition
    t-wada
    t-wada 2023/06/23
    AWS Dev Day 2023 Tokyo ゼネラルセッション講演資料を公開しました。講演時間に合わせて内容を絞りつつ改訂しました。 #AWSDevDay
  • t_wadaさんの「レガシーコード改善ワークショップ」体験記🦁 - コドモン Product Team Blog

    こんにちは!コドモン開発部の加藤です。 すっかり暑くなってきましたね。我が家ではが換毛期を迎えて、家中毛だらけになりながらも日々なんとか暑さを乗り切っています。 最近コドモンでt_wadaさんにレガシーコード改善ワークショップを行っていただきました。 今回はそのワークショップの様子についてレポートしていきます! レガシーコード改善ワークショップの概要 t_wadaさんの紹介 ワークショップの目的と内容 目的 1.午前の部 2.午後の部 ワークショップ中のハイライト 午前の部 活発な実況チャンネル🗣️ テストを書いただけでは設計はよくならない、を実感する😬 質問コーナーではE2E肥大化の課題に注目が集まる👀 午後の部 最初のテスト作成をライブコーディングで学ぶ💪 実践を始めると意外と手が動かない……🥺 人が1on1を受けている姿をみられるの貴重👏 まとめ レガシーコード改善ワー

    t_wadaさんの「レガシーコード改善ワークショップ」体験記🦁 - コドモン Product Team Blog
    t-wada
    t-wada 2023/06/22
    株式会社コドモンにお招きいただき、レガシーコード改善ワークショップを行いました。研修用のSlackチャネルを実況や質疑応答にフル活用し、効果的な研修を行うことができました。ご参加ありがとうございました!
  • サバンナ便り〜自動テストに関する連載で得られた知見のまとめ(2023年5月版)〜 / Automated Test Knowledge from Savanna 202305 edition

    2023/05/17(水) Qiita Conference 2023

    サバンナ便り〜自動テストに関する連載で得られた知見のまとめ(2023年5月版)〜 / Automated Test Knowledge from Savanna 202305 edition
    t-wada
    t-wada 2023/05/18
    Qiita Conference 2023 基調講演の講演資料を公開しました。自動テストの知見をまとめています。最近行っている講演の最新版です。 #QiitaConference
  • 『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS

    WEB+DB PRESSは,2023年8月発売のVol.136をもって隔月刊誌としては休刊させていただきます。物価上昇による製作費の高騰など諸般の事情により,今回の決定に至った次第です。 突然の休刊案内にてたいへん恐縮ではございますが,何卒ご理解を賜りますよう,お願い申し上げます。 22年以上の長きにわたり,絶大なご支援をいただきましたことを,厚く御礼申し上げます。 弊誌で扱っていた分野のコンテンツは,今後も弊社刊行のSoftware Designやgihyo.jp,書籍などで提供させていただきます。また,必要な場合には「特別号」の編集・刊行なども検討してまいります。 最後に,皆様の一層のご活躍を心より祈念しております。

    『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS
    t-wada
    t-wada 2023/05/02
    vol.1からの読者で、何度か特集を書かせていただいて、キャリアを通じてお世話になった雑誌でした。そしていま、連載中の雑誌が休刊するという希有な経験をしようとしています。寂しい。最終回どうしようかな……
  • ようこそ | ja 🇯🇵 | docs

    GitHub Copilot パターン&エクササイズ のドキュメンテーションへようこそ! 👋 このコミュニティ駆動のオープンソースガイドは、GitHub Copilot のベストプラクティスを提供することに専念しています。 あなたのプロジェクトにこれらの慣行を理解し、評価し、統合するのを簡単にすることが私たちの目的です。 🚀 `�抌U このドキュメントは、開発者がGitHub Copilotや他のAI駆動のツールをより良く使用するのを助けるために、GitHubのカスタマーサクセスアーキテクト @yuhattor によって提供されています。 GitHubの公式ドキュメントではなく、個人やコミュニティの意見が反映されたコミュニティドキュメントとしての特性を持ちます。 ぜひコントリビューションをして、あなたの意見もこのに反映させてください。 これらのパターンの一部は個々の環境で効果が実証さ

    ようこそ | ja 🇯🇵 | docs
    t-wada
    t-wada 2023/04/27
    "このドキュメントでは、GitHub Copilot などをつかった AI ネイティブ開発におけるベストプラクティスを特定の形式でまとめて、簡単に理解、評価、そしてあなたの状況に適用できるようにしています"
  • コード品質はやはりビジネスに影響を与える - mtx2s’s blog

    私たちソフトウェアエンジニアは、コード品質についてしばしば論ずるけれども、ではコード品質の良し悪しがどれほどビジネスに影響するのかと問われると、回答に窮する。只々、「コード品質が悪いと変更により多くの時間がかかります」だとか、「欠陥の修正に追われて開発時間が奪われます」だとか、個人の経験やエンジニア的一般論に頼った定性的な説明に終始するしかない。ソフトウェアを繰り返し変更する頻度が高いほど、コード品質が開発時間に影響を与えるのは確かにそのとおりだと思えるが、はたしてそれは、どれほどのインパクトなのだろうか。 2022年の研究論文 "Code Red: The Business Impact of Code Quality – A Quantitative Study of 39 Proprietary Production Codebases" では、コード品質がビジネスに与えるインパクト

    コード品質はやはりビジネスに影響を与える - mtx2s’s blog
    t-wada
    t-wada 2023/04/27
    コード品質(保守性)のビジネスインパクトを時間という形で計測した論文の解説。低品質なコードに含まれる欠陥は高品質なコードの15倍。開発時間は高品質なコードの平均2倍、最大9倍、そして予測可能性が著しく低下