このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生して議論が噛み合わなくなっていました。意味の希薄化(Semantic Diffusion)とは、新しく作り出された用語が広まる際に本来の意味や定義が弱まって伝わる現象です。 私(和田)はTDDと関わりの深いキャリアを歩んできました。Kent Beckの著書『テスト駆動開発』の翻訳者であることもあり、TDDの正
この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました。ですが、講師ではなく中の人になったからこそできる色々な取り組みがあり、3ヶ月である程度形になりました。本記事では、DDDを広めるための取り組みについて、極力再現性がある形を意識しつつ、ご紹介したいと思います。 入社時の状況 なにをしたか テストの話が多い理由 実施内容詳細 TDD Boot Campの@t_wadaさんの基調講演観賞会を行った Serviceクラスを1パブリックメソッドにした レイヤーごとのオブジェクトの依存関係を整理 レイヤーごとのテスト方針 クラス名の重要性 参照実装を作成した 「責務」と「テスト」の重要性
先日twitterを見ていたら、こんなつぶやきを拝見して、個人的に侵入テスト申請には色々思い入れのある身であるため、ビックリした「とある診断員」です。 あれ?AWSの侵入テスト申請いらなくなりました? pic.twitter.com/Z6ULU10SMy— 三ツ矢 ◎=3 (@328__) March 1, 2019 このブログでもとりあげましたが、今までAWSはペネトレーションテストや脆弱性診断などを実施する際に、AWS側への事前の申請が必要だったのですが、今回ポリシーの変更があったらしくどうやら不要になったようです。 ということで、私も自分で確認をしてみました。 Penetration Testing -Amazon Web Services (AWS) 現在日本語版サイトは、翻訳が間に合ってないようでまだ更新されてないようですが(2019/3/5確認)、英語版の方は記載内容がガラリ
外部サービスとの連携などのテストを行う際、テスト環境に制約があったり処理に時間がかかるなどの理由でHTTPモックサーバーが欲しくなることがあります。本記事ではGo言語で書かれたHTTPモックサーバー、Mmockをご紹介します。MmockMmock |GitHubMmockはGo言語で書かれたHTTPモックサーバーです。 README.mdでは、主な特徴として以下があげられています。 JSONもしくはYAMLでのモック定義 レスポンスにフェイク用のデータ or リクエストのデータを利用できる パラメータを含んだパスを定義可能 ワイルドカードによるマッチング メソッド、URL、クエリパラメータ、ヘッダ、クッキー、リクエストボディでリクエストをマッチング リスタートせずにモックを編集可能 ブラウザでのリクエストおよびログの参照 シナリオに沿ったステートフルな振る舞い 部分的なプロキシモ
ご機嫌よう、ガラパゴスのおとめです。 先日出社したら机に「Amazon Web Services 負荷試験入門 ークラドの性能の引き出し方がわかる」という本がおもむろに意味ありげに置かれていました。 さて、負荷試験と言ったらまず攻撃ツールに考えが及びますね? たとえばJMeterとかが有名どころかしらん? 先述の本には以下の攻撃ツールが掲載されています。 Apache Bench Apache JMeter Locust Tsung Erlangで書かれたTsungが掲載されているのが興味深いところですが、 ガラパゴスではwrkやGatlingが使われたりしています。 そこで今日はGatlingについてお話してみようと思います。 なぜGatling? 例えばJMeterでシナリオテストを作成する時はGUIで操作したりするかと思います。保存するとXMLが吐き出されましたね? でもシナリオが複
秋のJavaScript祭 in mixi 〜秋のJavaScript収穫祭〜 2016-10-15 https://javascript-fes.doorkeeper.jp/events/52089
2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1.PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい
「ロボットは東大に入れるか」プロジェクトでぶつかった「ある疑問」国立情報学研究所(NII)の社会共有知研究センター。 「ロボットは東大に入れるか(東ロボ)」プロジェクトで知られる人工知能(AI)の研究チームが、子どもたちの読解力テストに着手した。 なぜ、AI研究者が「読解力」に関心をもつのか。 そこには、AIの限界を探る研究の過程でぶつかった、ある疑問が関係している。 センター長の数学者・新井紀子さんに話を聞いた。 今日(11月14日)の「東ロボ 2016成果報告会」で冒頭あいさつする新井紀子教授。東ロボプロジェクトは2011年にスタートしたAIは国語が苦手――なぜ、AI研究者が「読解力」に関心を? 東ロボは、問題を解き、正解も出すが、読んで理解しているわけではない。 現段階のAIにとって、文章の意味を理解することは、不可能に近い。 そうすると、特に難しいのが国語と英語だ。 国語では、20
こんにちは、QAエンジニアの井上恵一です。好きな飲み物は一番搾りと韃靼そば茶です。 初回からニッチなネタではありますが、昨年入社した直後に行った、iPad アプリのテスト仕様書の管理方法を見直したときの話を紹介しようと思います。 見直しのきっかけ トレタは飲食店向けの予約/顧客台帳アプリです。だれでもかんたんに使いこなせるシンプルさを追求してはいますが、製品の進化に伴ってそのテストケース数はすでに数千という単位にまで膨れあがっています。 製品の品質を安定させるためには、テストの内容自体をブラッシュアップすることが重要なのは言うまでもありません。ただ、安定した製品を永続的に提供していくためには、それに加えて、膨大なテストケースを効率よくメンテナンスし続けるためのプロセス作りも欠かせません。 入社のタイミングでトレタのテスト設計を担当することになったので、テストケースの管理方法についてもいち
この記事の最新版は、githubで管理されています。 これはHaskell Advent Calendar 2012の5日目の記事です。 Haskellで作成したパッケージに対して、単体テストを書くための最新情報をお届けします。 要約 要点は4つです。 利用者に見せたい振る舞いは、doctest で書く 利用者に見せたくない振る舞いは、hspec で書く テストを自動化するフレームワークとしては Cabal を使う doctest でもhspec でも、純粋なコードに対しては、できるだけ QuickCheck などの性質テストを書く この記事で一番伝えたいのは、3) です。例題としては、Base64 という符号化を取り上げます。Base64 は知っていると仮定して話を進めますので、知らない人はあらかじめWikipedia の Base64 の説明でも読んで下さい。 この記事で利用するコ
Misoca開発チームの黒曜です。 仙台へ温泉旅行に行ったついでに、アースキャンディが一時期話題になっていた仙台市天文台に足を伸ばしてみました。 常設展示やプラネタリウムも良かったのですが、なにより口径1.3mのひとみ反射望遠鏡が大迫力で素晴らしかったです。 夜は温泉宿へ行ったので観望会には参加できなかったのが残念でした。 Misocaならリモートワークができるので、いっそ仙台に長期滞在してみようか… 受発注機能とミニマムリリース さて、Misocaでは最近、受発注に関する機能を強化しています。 このブログを書いている時点で見積書をメールで送信すると、サイト上で見積に関するやりとりや発注を行えるようになっています。 しかし、受発注に関する一番最初のリリースは「通常の見積書受信画面に発注ボタンが出て、発注通知を送れる」というだけの大変シンプルなものでした。 受発注に関する機能はなるべくミニマ
渡辺です。 DevelopersIOでの100本目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnitLambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnitLambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterやGitHubでフィードバックを! JUnit Lambd
はじめに こんにちは、Python界の情弱です。最近は色々とPythonの開発環境も変化してきていて、ようやくPython2.xとPython3.xを行き来しながら開発する体制が整ってきたという印象を受けています。ここしばらくは色々と試していたのですが、ようやく鉄板っぽい方法にたどり着いたのでメモしておきます。 なお、後半はPythonに限らない内容なので、他のLLを使っていても使えそうかなと思っています。この環境を設定すると何ができるのかというと、以下のことすべてが、無料で、自鯖を立てることなく行えます。 開発環境の整理(virtualenv) ローカルでの複数環境のテスト容易化(tox+pytest) CIによるテスト(Travis-CI) ドキュメントの自動ビルドおよびドキュメントの公開(ReadTheDocs) 概要 とりあえず全体像を先に共有しておきます。ちょっとでかいですがご了
WEB+DB PRESS の Vol.83 で、負荷テストの記事を書いたので是非読んで頂きたい。 2014/10/24 発売ですので、既に購入頂いてる方も多いと思います。電子書籍版もありますので物理的な媒体に興味がない方はPDF を買って下さい。 WEB+DB PRESS Vol.83@Gihyo Digital Publishing 今回の記事における対象読者について JMeter だ、JMeter を撃滅せよ。負荷テストスクリプト書くのにGUI なんぞいらないのですよ。 素人騙すんなら、それでいいかも知らんけども、そういう事じゃないでしょう。GUI なしでも書けますよって、そのヤヴァイ XML を俺に見せるな。 負荷かけてる最中にサーバより先に死んだりするような負荷テストツールを後生大事に使うのをやめて欲しいのです。 今回は、新進気鋭のツールであるところのGatlingを紹
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く