YAPC::Hakodate 2024 での登壇資料です。 https://fortee.jp/yapc-hakodate-2024/proposal/a91375cf-5d1c-4abf-bedf-b291c685e056
ソフトウェアエンジニアリングの第一人者・和田卓人氏が、効果的な自動テスト戦略について解説しました。ユニットテストの定義の曖昧さから生じる問題点を指摘し、Googleが提唱する「テストサイズ」の概念を紹介。さらに、テストピラミッドの再解釈と最適化について論じ、テストサイズに基づくアプローチがビルドパイプラインの効率化にもたらす利点について解説しました。前回の記事はこちら。 短時間でのテスト実行 和田卓人氏:ということで、じゃあ、次にいきます。短い時間で到達するというアジェンダ、3ポチ目ですね。 「信頼性の高い」、これはテストの結果に嘘がないという話でした。「実行結果」、これは信号として、また問題箇所の絞り込みとしてのテストの実行結果にこだわろうという話でした。そういったテストを、短い時間で到達する、信頼性の高い結果に短い時間で到達する状態を保つ。短い時間で。 ユニットテストの定義の曖昧さ と
マナリンクではかれこれ2年くらいPHPUnitでテストコードを書いていますが、恥ずかしながらこれまでカバレッジを取得したことがなかったので、方法を調べて簡単にまとめてみました。 ※ざっと3時間くらい調べたり試した内容を記載しているため、今後修正したり、運用を改善する可能性があります。 テストカバレッジとはテストコードがソースコード(プロダクトコード)のうちどれくらいの割合を実行しているかを示す指標のことです。 せっかくテストコードを書いていても、プロダクトコードのうちほんの一部しか実行していなければ、漏れが多いと言えます。テストカバレッジを計測することで、どの程度テストコードが網羅できているかの一つの指標になります。 補足:テストカバレッジがあまりに低いコードはテストが足りていないといえますが、一方で、テストカバレッジが100%に近いからといって完璧にテストできていると言えるわけではありま
2022/09/13 Xdebug徹底解説!環境ごとの設定方法から仕組みまでどこよりも詳しく解説します PHP Visual Studio Code この記事では、PHPのデバッグツール「Xdebug」の導入方法と基本的な使い方、その仕組みについてどこよりも詳細に解説いたします。これであなたもデバッグマスター間違いなし!敬遠されていた方や仕組みをよく分からず使っていた方はぜひ参考にしてみてください。 目次 XdebugでできることXdebugの導入方法開発環境への導入1. Xdebugのインストール2. php.iniの修正3. IDEの設定を行う4. 実際にステップ実行をしてみよう補足: ステップ実行の種類についてステップイン(F11)ステップオーバー(F10)ステップアウト(shift + F11)Docker環境に導入する方法(リモートデバッグ)1. DockerfileにXdebu
高品質のソフトウェアを開発する Tarcio Saraiva氏とAdam Crough氏が,オーストラリアのメルボルンで開催された第1回のカンファレンスで,品質の高いソフトウェアの開発について講演した。InfoQは,ソフトウェアの品質についての見解と高品質がもたらすビジネス上のメリット,品質を管理する方法について両氏に聞いた。また,高品質のソフトウェアを提供する上でのテストの持つ役割や継続的インテグレーションが品質に持つ意味,さらには高品質のソフトウェア製品の提供を望む企業へのアドバイスなども聞いた。 InfoQ: ソフトウェアの品質とは何なのか,お二人の意見を聞かせてください。 Saraiva: バグが少なく機能に優れた,そしてコードの理解が容易な,よりよい製品への方向性を決める,概念的目標だと思います。この方向性は内部的な視点 – 開発者のような – からも,外部的な視点 – エンドユ
I’ve been writing unit tests regularly for 2-3 years now, and doing full-blown test-driven development (TDD) full time for about the last year. Throughout this whole time, I keep noticing the same thing over and over: Published Nov 4, 2009 For certain types of code, unit testing works brilliantly, flows naturally, and significantly enhances the quality of the resulting code. But for other types of
インプルの矢島です。 私は業務でLaravelを書きますが、テストコードの網羅率など気にする機会がありました。Laravel 9にはtestコマンドにオプションをつけることで網羅率を検出できる機能がリリースされたため、試してみることにしました。 環境 Laravel 9Laravel SailXdebug 3.1.5 ※インストール方法 コード クエリパラメータで送信されてきた食べ物が、好きな食べ物かどうか判断するコードを書きます。(適当なコードで申し訳ないです。。) // .env SAIL_XDEBUG_MODE=develop,debug,coverage // FoodController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class FoodController exten
数ヶ月前、私はJames O Coplienの ほとんどのユニットテストが役に立たない理由 という記事に出会いました。Jamesはほとんどのユニットテストは無意味であると考えていて、タイトルは内容をそのまま正確に表しています。彼は 追加記事 で議論をさらに展開しています。私は彼の議論に大変興味をそそられました。というのは、私はユニットテストから多くの利益を得ているからです。私たちはどうしてこのような異なる見解を持つに至ったのでしょうか? 私が何かを見逃したのでしょうか? 結局のところ私は彼の見解に賛成できませんでした。以下は彼の記事に対する私の意見です。 ユニットテストが必要な場合 私の経験では、ユニットテストはアルゴリズムロジックに対して行う時に最も有益です。結合度の高いコードについてはその性質から特に有益ではありません。結合度が高いコードはユニットテストのために多くのモックオブジェクト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く