タグ

tddとコードに関するslay-tのブックマーク (19)

  • 【翻訳記事】BDDの考案者が執筆した記事「テストについて話し合わなくてはならない」を翻訳しました! - ブロッコリーのブログ

    目次 目次 はじめに(記事の見どころなど) テストについて話し合わなくてはならない テストの目的 「うまくいかないかもしれないものは何ですか?」 なぜテストをするのですか? この場合に限り…… テスト駆動開発 〜テストについて語る前に説明が必要です〜 テストについて話しましょう なぜすべてのテストを自動化しないの? テストカバレッジは有用な指標ですか? 「テストをシフトレフトする」とはどういう意味ですか? いつ、どこでテストすべきですか? 十分なテストとはどれくらいですか? おわりに はじめに(記事の見どころなど) 今回は著者人の許可をもらった上で、「テストについて話し合わなくてはならない」(原題は「We need to talk about testing」)を翻訳したので紹介します。 dannorth.net 記事はDaniel Terhorst-North(Dan North

    【翻訳記事】BDDの考案者が執筆した記事「テストについて話し合わなくてはならない」を翻訳しました! - ブロッコリーのブログ
  • ZOZOMO開発チームのユニットテスト戦略とテスト駆動開発 - ZOZO TECH BLOG

    はじめに ZOZOMO部プロダクト開発ブロックの木目沢です。 ZOZOMOで提供しているZOZOTOWN上での「ブランド実店舗の在庫確認・在庫取り置き」APIの開発に携わっています。 今回は、開発当初から現在に至るまでのユニットテスト戦略についてお話しします。 意識してテストを書いていたのにカバレッジが低い問題 2021年11月にリリースされたブランド実店舗の在庫確認・在庫取り置きの機能ですが、開発当初のユニットテスト方針は以下のようなものでした。 モデルのユニットテストは必ず書く モデル以外の箇所は可能な範囲でユニットテストを書く 当時は実装のコードよりテストコードを先に書くといった文化はなく、レビューでテストの有無や内容を指摘する程度のものでした。 カバレッジも取っており、GitHub上では見える化していたものの、いつの間にか確認する機会も失われていきました。 もちろん、リリース前には

    ZOZOMO開発チームのユニットテスト戦略とテスト駆動開発 - ZOZO TECH BLOG
  • モックは必要悪で、しないにこしたことはない - blog.8-p.info

    Mockitogomock が使いやすいせいか、単体テストというのはモックするものである、という思い込みがあるのか、人々がモックしすぎているのを時折みかける。 モックは必要悪で、しないにこしたことはない。外部の API サーバーとかはガンガン叩くわけにもいかないけれど、ファイル読み書きくらいは、実際にファイルを作ったり消したりしてしまっていい。/etc/passwd を消すとか、1GB のファイルを作るとかだと難しいかもしれないけれど、その場合でも、パスのプレフィックスを指定できるようにして、一時ディレクトリの中の etc/passwd を使うとか、ファイルサイズを指定できるようにするとか、逃げ道はいくつもある。そこを飛ばして「ファイル操作は一律モックしましょう」とか頑張りだすと辛いことになりがちだ。 モックの一番の問題は、番とテストで違うコードが走ることで、これは自動テストの価値

  • UnityでTDDハンズオンRepositoryを作っている - imog

    最近更新したのでちょっと宣伝。 github.com なにこれ 最近、副業だったりプライベートなどでUnityを使う人でテストに興味ある方を対象にTDDについてお話する活動などをしています。その際に座学としてお話することもあれば、ハンズオン形式で実際に手を動かして書いてもらうということもあります。その際に使うサンプルリポジトリです。 ぜひお手元で考えながら書いてみてください。勉強会の資料などで使っていただいても大丈夫です。 なぜやってるのか ゲーム開発はソフトウェア開発の中でもかなり複雑性が高いと感じています。そして性質上変更頻度も高い。ゲームごとに作り方が変わる以上これは仕方ないことだと考えています。だからこそより変化に対応できるようにテスタビリティの高いコードになっていてほしいと考えていますがその難易度、そしてそもそものテストコード文化というものがないためにテストコードが書かれているこ

    UnityでTDDハンズオンRepositoryを作っている - imog
  • フロントエンドのテストは皆のためのもの | POSTD

    テストとは人によって反応が分かれるものの1つであり、大喜びする人もいれば、見ないようにして去ろうとする人もいます。あなたがどちらの側であるにせよ、ここではフロントエンドのテストは皆のためのものであるということを説明します。実際、テストには多くの種類があり、それがテストに対して初めに恐れや混乱を感じる一因なのかもしれません。 この記事では、特に有名で広く利用されている種類のテストを扱います。なかには目新しいものはないと感じる読者の方もいらっしゃるかもしれませんが、少なくとも復習にはなるでしょう。どちらにせよ、筆者の目標は、この記事を通じて世の中のさまざまな種類のテストについて理解を深めてもらうことです。ここではユニットテスト、統合テスト、アクセシビリティテスト、ビジュアルリグレッションテストなどを一緒に見ていきます。 さらに、Mocha、Jest、Puppeteer、Cypressなど、各種

    フロントエンドのテストは皆のためのもの | POSTD
  • テストコードを書き始める前に考えるべきテストの話(2021年版) #scrumosaka / scrum_fest_osaka_2021

    以下のイベントの投影資料です。 https://confengine.com/conferences/scrum-fest-osaka-2021/proposal/15337 お問い合わせは https://twitter.com/nihonbuson まで。 【発表資料中のURL】 P12 ISTQBテスト技術者資格制度 Foundation Level シラバス 日語版 Version 2011.J02 http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018V31.J03.pdf#page=15 ※2011年版は現在リンク切れのため、最新版のシラバスのURLを掲載しています P17 概説テスト分析 http://www.slideshare.net/takashiyamasaki378/ss-55384920 P29 システム/

    テストコードを書き始める前に考えるべきテストの話(2021年版) #scrumosaka / scrum_fest_osaka_2021
  • タクシーアプリ「GO」Android版へ自動テストを導入するまでの道のり - DeNA Testing Blog

    こんにちは、Androidチームの田熊(fgfgtkm)と外山(sumio)です。SWETのAndroidチームでは、Androidのプロダクトに対して自動テストのサポートをしています。 この度株式会社Mobility Technologiesが提供するタクシーアプリ「GO」のAndroid版に対する、おおよそ2年間に渡る取り組みが終了しました。 記事では、この取り組みで行ってきた次の2点を紹介したいと思います。 「GO」のAndorid版に対してどのような自動テストを導入したか 開発チームに自動テストを定着させるまでにやったこと タクシーアプリ「GO」に対しての自動テスト導入 SWETのAndroidチームは「社内のAndroidエンジニアが自動テストを書くことを習慣化している」ことをゴールの1つとして、自動テストを普及させるための取り組みをしています。 その中でAndroidのテスト

    タクシーアプリ「GO」Android版へ自動テストを導入するまでの道のり - DeNA Testing Blog
  • TDD実践を経て変わったこと

    Qiita × Uzabase Tech Meetup#1 技術講演②「TDD実践を経て変わったこと」 で発表した内容になります。 https://connpass.com/event/210103/

    TDD実践を経て変わったこと
  • テストの自動化とテスト駆動開発

    組織としてテスト自動化に取り組むべき理由と、手段としてのテスト駆動開発を紹介する講演資料です。以下のような内容です。 ねらい: ・主に顧客向けの業務システム(B2B)を開発している、 ・プロジェクトベース、ウォーターフォールプロセスが主流の開発現場や運用保守の現場にいる、 ・マネージャーのかたに向け、 ・テスト自動化が自分たちのメリットになると納得してもらい、 ・その道筋として2つのアプローチを紹介して、 - テスト駆動開発 - ペアプログラミング ・組織的・長期的に取り組む価値を感じてもらう アジェンダ: 1.自動化したい理由 2.必要な人材を考える 3.テスト自動化の端緒 ~テスト駆動開発について~ 4.深めつつ広げる鍵 ~ペアプログラミングについて~ 5.見る夢について

    テストの自動化とテスト駆動開発
  • TDD研修 by t_wada さん を開催しました - Classi開発者ブログ

    こんにちは。エンジニアの原です。 先日、「テスト駆動開発」の翻訳者として知られるt_wadaさんこと和田卓人さんをお招きして、テスト駆動開発ワークショップの第1回目をオンラインで開催しました。 今回はその様子をお届けします。 日は Classi 株式会社様にお招きいただき、1日コースの TDD ワークショップをオンラインで行いました。参加される皆様のレベルが高めなので反転学習の要素を取り入れた研修を設計しましたが、予想以上に効果があったと手応えを感じています。ご参加くださいました皆様、ありがとうございました!— Takuto Wada (@t_wada) December 15, 2020 きっかけ Classiでは毎年外部講師をお招きして勉強会を行っています。 新卒研修を行う中で、「テストコードを実装する際の勘所」をどう伝えようかという話があり、第一人者のt_wadaさんをお呼びして研

    TDD研修 by t_wada さん を開催しました - Classi開発者ブログ
  • ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab

    この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました。ですが、講師ではなく中の人になったからこそできる色々な取り組みがあり、3ヶ月である程度形になりました。 記事では、DDDを広めるための取り組みについて、極力再現性がある形を意識しつつ、ご紹介したいと思います。 入社時の状況 なにをしたか テストの話が多い理由 実施内容詳細 TDD Boot Campの@t_wadaさんの基調講演観賞会を行った Serviceクラスを1パブリックメソッドにした レイヤーごとのオブジェクトの依存関係を整理 レイヤーごとのテスト方針 クラス名の重要性 参照実装を作成した 「責務」と「テスト」の重要性

    ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD] - little hands' lab
  • テストコードが増えるとバグは減るのだろうか? / Does more test code mean fewer bugs? - Speaker Deck

    Transcript ςετίʔυ͕૿͑Δͱόά͸ݮΔͷͩΖ͏͔ʁ�� ʮ���ˠ������ʯͰݟ͑ͨੈքͷ࿩� גࣜձࣾ;0;0ςΫϊϩδʔζ� ;0;0508/෦�J04νʔϜ� ໊औ�߂ฏ Copyright © ZOZO Technologies, Inc. © ZOZO Technologies, Inc. גࣜձࣾ;0;0ςΫϊϩδʔζ� ;0;0508/෦� J04νʔϜ ໊औ�߂ฏ 2019೥2݄ΑΓݱ৬ɻ ZOZOTOWN iOSΞϓϦͷ։ൃΛ͍ͯ͠·͢ɻ झຯͰݸਓ։ൃ΋ɻ 2 © ZOZO Technologies, Inc. 3 ���ˠ������ ʹ ͜ͷ�೥΄ͲͰ૿Ճͨ͠ςετΧόϨοδͷׂ߹ © ZOZO Technologies, Inc. 4 ���ˠ������ ����� ˞ܭଌର৅͸͜ͷ�೥ͷ։ൃͰؔ༩ͨ͠ϑΝΠϧʹߜ͍ͬͯΔ © ZOZO Te

    テストコードが増えるとバグは減るのだろうか? / Does more test code mean fewer bugs? - Speaker Deck
  • プライベートメソッドのテストは書かないもの? - t-wadaのブログ

    この文章の背景 この文章はプライベートメソッドのテストを書くべきか否かに関する knsmr さんのご質問に対して 2013/03/13 に QA@IT で回答したものです。残念ながらQA@IT のサービス終了(2020/02/28)と共にアクセスできなくなってしまったため、運営を行っていたアイティメディア株式会社様、開発を行っていた永和システムマネジメント様、そして質問をされた knsmr さんに許可とご協力をいただき、当時の回答をサルベージしてブログに転載する運びとなりました。 プライベートメソッドのテストはよく議論になるテーマですので、当時の回答を再編集し、knsmr さんのご質問も含め、ご利用いただきやすいライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で公開いたします。 目次 この文章の背景 目次 knsmr さんのご質問 私の回

    プライベートメソッドのテストは書かないもの? - t-wadaのブログ
  • TDDはゆるく実践しても大丈夫 - 千里霧中

    最近、TDDのテストコードは捨てても良いかみたいな議論を見ました。 これに対する自分個人の経験上の意見ですが、TDDは雑多にテストコードを使い捨てても効果を出せると思います。 もちろん、TDDで保守性が高く価値あるテストを書いて、捨てずにCIや中長期的なリファクタリングで再利用していくと、TDDの効果を増幅できます。ただ、それをするにはスキルや事前の工夫、労力が必要ですし、できる場面に限りがあります。 そういったことをやらず、もっとゆるい姿勢で取り組んでも、費用対効果をプラスにできる手法がTDDだと考えています。 今回は、そのTDDでゆるくしてもよいポイントを、実経験からまとめたいと思います。 TDDのテストは使い捨てでいい TDDのテストはプログラマのこまごまな課題に応じて累積的に作られるため、保守コストがかかるテスト・保守する価値の低いテストが生まれがちです。そのためテストの使い捨ての

    TDDはゆるく実践しても大丈夫 - 千里霧中
  • テスト駆動開発:実はそれは設計技術です

    テスト駆動開発(TDD)は、より優れたソフトウェアを持続的に早く提供するための確立された手法です。TDDは単純な考えに基づいている。製品コードを書く前に失敗するテストを書くことです。新しい行動が必要ですか?失敗するテストを書いてください。しかし、この一見単純な考えをうまく実行するには、スキルと判断が必要です。 TDDは当に設計のためのテクニックです。TDDの基礎は、小規模なテストを使用してボトムアップを早急に設計することであり、システムへの信頼を構築しながら迅速に何らかの価値を得ることです。よりよい名前はテスト駆動設計かもしれません。 設計方法としては、集中と単純さです。目標は、開発者が価値を提供する上で不要な余分なコードを書くことを防ぐことです。問題を解決するのに必要最小限のコードを書くことです。 多くの記事がTDDを行うことのすべての利点を誇りにしています。そして多くの技術会議の講演

    テスト駆動開発:実はそれは設計技術です
  • 2019-04-10 DevOps Days Tokyo 2019 Day2|諏訪真一

    2019/04/10 に開催された DevOps Days Tokyo 2019 Day2 のイベントレポートです。 ■Welcome to DevOpsDays 2019, Day Two!Alex Papadimoulis さん Sho Sato さん ●DevOpsDays Tokyo ・2017: Two DevOps Principles チームをまたいだコラボレーション Dev, Ops, QA, Management etc できる限りすべてを自動化する Builds, Deployments, Infra etc ・2018: DevOps in Japan エンプラ系企業が興味を示している SI系企業はDevOpsを検討している ・2019: DevOps is for Everyone あらゆる組織で実現は可能、巨大なエンプラでも 特殊な誰かのためだけのものではない エ

    2019-04-10 DevOps Days Tokyo 2019 Day2|諏訪真一
  • テストエンジニアの観点を持ってテスト書いていくぞな話 - kariadの戯言

    ごきげんよう。かりあどです。 12/15~16に開催されたWACATE2018 冬 〜C’mon baby ジドウカ〜 に参加してきました。 そこでテストエンジニアの方々と色々議論できたのでそれを書きます。 またt_wadaさんによる講演もとても素晴らしかったので感想を書きます。 WACATEそのものの感想よりも議論の内容を書きたいので、WACATEって何?という方はこちら。 wacate.jp 当初の予定は参加レポートだったのですが、議論した内容があまりにもよかったのと、個人的に振り返りたかったので急遽予定変更です。 なおこちらの記事はOisix ra daichi Inc. Advent Calendar 2018の18日目となります。 前日の弊社スーパーSREエンジニアの@morihaya55さんの記事はこちら adventar.org 開発者とテストの関わりについて 私は普段iOS

    テストエンジニアの観点を持ってテスト書いていくぞな話 - kariadの戯言
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です。 この記事の対象は「テストを書く技術がなく、テストを書く気がない」組織に所属する人です。 アジャイル開発において「テストコードは当然」なのか?という記事で(私の記事をきっかけとして)テストコードの「徹底」とか「カバレッジ100%」とかを批判し、トレードオフ

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
  • テスト駆動開発における進化的設計とデザインパターンの勘所とは?〜テスト駆動開発をやめて、なお残すべき習慣とは(9)

    前回から、書籍を辿り、TDDの再考を試みています。TDDを既に知っている、実践しているという人にとっては、TDDについて新しい発見、ジャメヴ(未視感)が起きれば幸いです。たとえTDDが不要だったとしても、不要だと判断したものが一体何だったのか知ることは欠かせません。 忘れないで、テスト駆動開発にもデザインパターンの話が出てくるよTDDはテストファーストやベイビーステップのインパクトがありすぎて、あまり目立っていないですが、書籍『テスト駆動開発』にもソフトウェアパターンの話が出てきます。そう、出てくるんですよ。 余談ですが、テスト駆動開発3部におけるSingletonパターンの説明はGoFの説明とは違ったユニークな内容になっています。(で確認してみてね) 1回だけ設計ではなく繰り返し設計注意点ですが、テスト駆動開発においてのソフトウェアパターンは、プロジェクト初期に1回だけパターンを使って

    テスト駆動開発における進化的設計とデザインパターンの勘所とは?〜テスト駆動開発をやめて、なお残すべき習慣とは(9)
  • 1