国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
ハンバグの結(jié)果の解釈
インジケータはどうですか?
短所
「検査官を監(jiān)督するのは誰ですか?この文は、権??力者の誠実さと説明責(zé)任に疑問を呈する議論でよく使用されます?;镜膜恕弗`ドを守るのは誰ですか?」ウォッチマン」。
ソフトウェアテストのコンテキストでは、「検査官を監(jiān)督する」という文章はどうですか?
ソフトウェア開発におけるテストとテストの重要性は何ですか?
ソフトウェアテストの詳細(xì)を?qū)Wぶための良いリソースは何ですか?
ソフトウェアテストの將來は何ですか?
ホームページ バックエンド開発 PHPチュートリアル テストをテストしますか?誰が監(jiān)視員を見ますか?

テストをテストしますか?誰が監(jiān)視員を見ますか?

Feb 14, 2025 am 09:41 AM

Testing Your Tests? Who Watches the Watchmen?

大企業(yè)、スタートアップ、またはあなた自身のために働いているかどうかにかかわらず、ユニットテストは有用であるだけでなく、しばしば不可欠です。単體テストを使用してコードをテストしますが、テストが間違っているか不完全な場合はどうでしょうか。テストをテストするために何を使用できますか? 検査官を監(jiān)督するのは誰ですか? Testing Your Tests? Who Watches the Watchmen?

キーポイント

  • バリエーションテストは、少數(shù)の変更されたテストで品質(zhì)を評価する手法であり、テスト自體のテストに使用できます。元のテストの「バリアント」またはバリアントを作成し、これらの変更がテストによって検出されるかどうかを確認(rèn)することが含まれます。
  • Humbugは、コードカバレッジを生成するために使用できるPHPのバリアントテストフレームワークです。ただし、PHPunit固有であり、異なるテストフレームワークを使用しているユーザーにとって問題がある可能性があります。
  • バリアントテストは価値がありますが、主にパフォーマンスに反映されている欠點(diǎn)もあります。これは、コード行の相互作用、テスト數(shù)、コードカバレッジのレベル、コードとテストのパフォーマンスなどの多くの要因に依存するため、これは遅いプロセスです。
  • アプリケーションの複雑さが増すと、100%のコードカバレッジを維持することの重要性が増加します。 Humbugのようなツールは、特にエンタープライズエコシステムでこのようなカバレッジを維持するために重要です。

突然変異テスト

Testing Your Tests? Who Watches the Watchmen? いいえ、それはそのような突然変異ではありません。バリエーションテスト(またはバリエーション分析)は、ソフトウェアテストの品質(zhì)を作成および評価するために使用される手法です。テストを非常に小さな方法で変更することが含まれます。各修正バージョンはバリアントと呼ばれ、テストは元のバージョンをバリアントとは異なる動(dòng)作にすることにより、バリアントを検出および拒否します。突然変異は元のコードのエラーであり、分析では、テストがこれらのエラーを検出するかどうかをチェックします。要するに、テストが突然変異の後もまだ有効である場合、それは良いテストではありません。

Humbugを使用した

突然変異テスト

Humbugは、PHPのバリアントテストフレームワークです。 Humbugがコードカバレッジを生成するには、マシンにXDebugをインストールして有効にする必要があります。その後、グローバルツールとしてインストールできます。

composer global require 'humbug/humbug'

の後、実行する場合

humbug
コマンドは、いくつかのハンバグのインストール情報(bào)と、humbug.jsonファイルがないことを示すエラーを確認(rèn)できる必要があります。

ブートプログラム

Humbugを構(gòu)成して使用する前に、テストできるプロジェクトが必要です。単體テストと突然変異テストを?qū)g行する小さなPHP計(jì)算機(jī)パッケージを作成します。 A /Calculatorフォルダーを作成しましょう。その中で、 /SRCおよび /テストフォルダーを作成しましょう。 /SRCフォルダーには、アプリケーションコードがあります。また、パッケージでphpunitを使用する必要があります。最良の方法は、作曲家を使用することです。次のコマンドを使用してphpunitをインストールしましょう

composer global require 'humbug/humbug'
計(jì)算機(jī)を作成しましょう。 /srcフォルダーで、calculator.phpファイルを作成し、次のものを追加します。

これはかなり単純なプログラムです?;镜膜仕阈g(shù)、パーセンテージおよび対數(shù)操作とπ値を返す関數(shù)を備えた単純な計(jì)算機(jī)。次に、 /テストフォルダーで、計(jì)算機(jī)の単體テストを作成しましょう。 PHPでのユニットテストのサポートが必要な場合は、このチュートリアルをご覧ください。 calculatortest.phpファイルを作成し、以下を追加します
humbug

これは初期のテストスタックになります。 phpunitコマンドを?qū)g行すると、それが正常に実行され、4つのテストと4つのアサーションが渡されます。すべてのテストに合格する必要があることが重要です。そうしないと、humbugが失敗します。

composer global require phpunit/phpunit

構(gòu)成humbug

humbugは、humbug.json.distファイルを作成して、または次のコマンドを?qū)g行して自動(dòng)的に構(gòu)成することができます。

このコマンドを?qū)g行すると、いくつかの質(zhì)問に答えるように依頼します:

<?php
namespace package\Calculator;

class Calculator {

    /**
     * 基本運(yùn)算
     */
    public function add($a1, $a2) {
        return $a1 + $a2;
    }

    public function subtract($a1, $a2) {
        return $a1 - $a2;
    }

    public function multiply($a1, $a2) {
        return $a1 * $a2;
    }

    public function divide($a1, $a2) {

        if ($a2 === 0) {
            return false;
        }

        return $a1 / $a2;
    }

    /*
     * 百分比
     */

    // 這將返回 a1 的 a2 百分比
    public function percentage($a1, $a2) {
        return ( $a1 / $a2 ) * 100;
    }

    /*
     * π
     */

    // 返回 π 的值
    public function pi() {
        return pi();
    }

    /*
     * 對數(shù)
     */

    // 返回以 10 為底的基本對數(shù)
    public function log($a) {
        return log10($a);
    }

}

どのソースディレクトリを含めたいですか?

ここでは、ソースコードディレクトリであるSRC/を使用します。
  • ソースディレクトリからどのディレクトリを除外したいですか? は、テストしたくない外部ベンダーディレクトリなど、場合によっては役立ちます?,F(xiàn)在の狀況には適用されません。
  • シングルテストスイートタイムアウト(秒)。 これを30秒間使用しましょう。これは多すぎるかもしれませんが、すべてが実行するのに十分な時(shí)間があることを確認(rèn)したいと考えています。
  • テキストログはどこに保存しますか? humblog.txtデフォルト値として、保持します。
  • JSONログをどこに保存しますか(必要に応じて)? デフォルト値は空ですが、humblogjson.jsonに保存します。
  • 「humblog.json.dist」を生成しますか?このファイルが生成された後、提供されたばかりのすべての構(gòu)成値が含まれます。何かを変更したい場合は、手動(dòng)で編集できます。
  • humbug
  • を使用します
アプリケーションを?qū)g行してテストし、Humbugをインストールしたので、Humbugを?qū)g行して結(jié)果を確認(rèn)しましょう。

結(jié)果はこれに近いものでなければなりません:

ハンバグの結(jié)果の解釈

作成された突然変異の數(shù)は、テストをテストするためにHumbugによって導(dǎo)入された小さな変更の數(shù)にすぎません。殺された突然変異(。)は、テストを引き起こす突然変異です?;靵yしないでください、これは前向きな結(jié)果です!脫出変異(M)は、まだテストに合格する突然変異です。これは肯定的な結(jié)果ではありません。テストに戻って、欠落しているものを確認(rèn)する必要があります。覆われていない突然変異は、単體テストでカバーされていない行で発生する突然変異です。致命的なエラー(E)とタイムアウト(T)は、それぞれ致命的なエラーを引き起こし、それぞれ無限ループを作成する突然変異です。

インジケータはどうですか?

バリエーションスコアメトリックは、検出された変異の割合を表します。私たちの目標(biāo)は100%です。バリエーションコードカバレッジは、突然変異でカバーされているテストの割合を表します。バリエーションスコアメトリックは、既存のテストの有効性についてのアイデアを提供できます。 Humbugログを分析すると、9つの発見された突然変異といくつかの非常に悪いメトリックがあることがわかります。 humblogjson.jsonファイルをご覧ください。このファイルは、humblog.txtファイルのように自動(dòng)的に生成され、障害の原因、場所、理由に関するより詳細(xì)な情報(bào)が含まれています。パーセンテージ、π、および対數(shù)関數(shù)をテストしませんでした。さらに、數(shù)値を0で割っている場合をカバーする必要があります。欠落している狀況をカバーするためにさらにテストを追加しましょう:

composer global require 'humbug/humbug'

今回は、100%がすべての変異が殺され、完全なコードカバレッジがあることを意味します。

短所

突然変異試験とハンバグの最大の欠點(diǎn)は、パフォーマンスです。バリエーションテストは、コードの行、テストの數(shù)、コードカバレッジレベル、コードとテストのパフォーマンスなどの多くの要因に依存するため、プロセスが遅いためです。 Humbugは、初期テストの実行、ロギング、およびコードカバレッジも実行し、合計(jì)期間が増加します。さらに、HumbugはPHPunit固有であり、他のテストフレームワークを使用しているユーザーにとって問題になる可能性があります。つまり、Humbugは積極的な開発中であり、改善を続けます。

結(jié)論

humbugは、アプリケーションの壽命を維持するための重要なツールになります。アプリケーションの複雑さが増加するにつれて、テストの複雑さも増加し、特にエンタープライズエコシステムを扱う場合は、常に100%のテストを維持することが非常に重要になります。このチュートリアルで使用されているコードは、ここでクローン化できます。 Humbugを使用しましたか?他の方法で突然変異テストを行っていますか?これについてあなたのすべての考えを教えてください!

「インスペクターを監(jiān)督するのは誰ですか?」 この文の起源は「検査官を監(jiān)督するのは誰ですか?」

「検査官を監(jiān)督するのは誰ですか?この文は、権??力者の誠実さと説明責(zé)任に疑問を呈する議論でよく使用されます?;镜膜恕弗`ドを守るのは誰ですか?」ウォッチマン」。

ソフトウェアテストのコンテキストでは、「検査官を監(jiān)督する」という文章はどうですか?

ソフトウェアテストのコンテキストでは、「検査官を監(jiān)督するのは誰ですか?」テストが適切に機(jī)能し、正確な結(jié)果が得られるように、誰または何が監(jiān)視されているかを疑問視します。これは、開発中のソフトウェアの品質(zhì)と信頼性を保証するため、ソフトウェア開発の重要な側(cè)面です。

ソフトウェア開発におけるテストとテストの重要性は何ですか?

テスト検証とも呼ばれるテストテストは、ソフトウェア開発の重要な部分です。テストがソフトウェアの機(jī)能とパフォーマンスを正確に測定することを保証します。テストの検証がない場合、テストが誤検知または見逃したレポートを生成する可能性があるというリスクがあり、その結(jié)果、ソフトウェアの品質(zhì)と信頼性の不正確な評価が得られます。

テストが信頼性と正確であることを確認(rèn)するにはどうすればよいですか?

テストの信頼性と精度にはいくつかのステップが含まれるようにします。まず、テストが正しく設(shè)計(jì)および実裝されていることを確認(rèn)するために、テストを徹底的にチェックする必要があります。次に、テスト結(jié)果を既知の結(jié)果と比較して、テストを定期的に検証する必要があります。最後に、ソフトウェアが進(jìn)化するにつれてテストが正確であることを確認(rèn)するために、テストを継続的に監(jiān)視および更新する必要があります。

ソフトウェアテストの一般的な落とし穴は何ですか?

ソフトウェアテストの一般的な落とし穴には、テスト不足、誤ったテスト、およびテストの目的を理解していないことが含まれます。その他の落とし穴には、制限を理解せずに自動(dòng)テストへの過度の依存、およびテストの定期的なレビューと更新が含まれます。

グラフィック小説「ウォッチマン」とソフトウェアテストの関係は何ですか?

グラフィック小説「ウォッチマン」は、「検査官を監(jiān)督する」という文章を使用しています。ソフトウェアテストのコンテキストでは、この文を使用して、テスト自體の信頼性と精度に疑問を投げかけることができます。ウォッチャーが社會(huì)を保護(hù)する必要があるように、テストはソフトウェアの品質(zhì)と信頼性を保護(hù)する必要があります。しかし、ウォッチャーを監(jiān)視する必要があるように、テストを監(jiān)視する必要があります。

ソフトウェアテスターの役割は何ですか?

ソフトウェアテスターの役割は、テストを設(shè)計(jì)および実裝することにより、ソフトウェアの品質(zhì)と信頼性を確保することです。これらのテストは、エラーを識別および修正し、機(jī)能を検証し、パフォーマンスを評価するために使用されます。また、ソフトウェアテスターは、これらのテストを監(jiān)視および更新して、ソフトウェア開発プロセス中に正確に保つことを確認(rèn)する必要があります。

ソフトウェアテストスキルを改善するにはどうすればよいですか?

ソフトウェアテストスキルを向上させるには、継続的な學(xué)習(xí)と実踐が必要です。最新のテスト方法とツールとテストの設(shè)計(jì)と実裝を定期的に練習(xí)することに注意する必要があります。また、テストに関するフィードバックを求めて、あなたの間違いから喜んで學(xué)ぶべきです。

ソフトウェアテストの詳細(xì)を?qū)Wぶための良いリソースは何ですか?

ソフトウェアテストの詳細(xì)については、利用できるリソースがたくさんあります。これらには、オンラインコース、本、ブログ、フォーラムが含まれます。いくつかの推奨される本には、グレンフォードJ.マイヤーズによる「ソフトウェアテストの蕓術(shù)」、「ソフトウェアテスト:The Craftsman Method」によるPaul C. Jorgensen、Seim KarnarとJack Falke "Testing Computer Software" by Huang Q. Ruanが含まれます。

ソフトウェアテストの將來は何ですか?

ソフトウェアテストの將來は、技術(shù)の進(jìn)歩によって強(qiáng)く影響を受ける可能性があります。これには、テストにおける自動(dòng)化と人工知能の使用の増加、およびバーチャルリアリティやブロックチェーンなどの新興技術(shù)に適応するための新しいテスト方法の開発が含まれます。ただし、ソフトウェアテストの基本原則 - ソフトウェアの品質(zhì)と信頼性を確保することは、同じままです。

以上がテストをテストしますか?誰が監(jiān)視員を見ますか?の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPに認(rèn)証と承認(rèn)を?qū)g裝するにはどうすればよいですか? PHPに認(rèn)証と承認(rèn)を?qū)g裝するにはどうすればよいですか? Jun 20, 2025 am 01:03 AM

tosecurelyhandLeauthenticationAndauthorizationInizationInization、followTheSteps:1.LwayShashPasswordswithPassword_hash()andverifyusingpassword_verify()、usepreparedStatementStatementStatementStatementStatementStain、andstoreUserdatain $ _SessionAfterlogin.2.implementRementRementRementRementRementRementRementRole

最新のPHP開発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? 最新のPHP開発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? Jun 23, 2025 am 12:56 AM

postaycurrentwithpdevellyments andbest practices、follow keynewsourceslikephp.netandphpweekly、egagewithcommunitiessonforums andconferences、keeptooling and gradivallyadoptnewfeatures、andreadorcontributeTopensourceprijeprijeprijeptrijeprijeprests.

PHPとは何ですか、そしてなぜそれがWeb開発に使用されるのですか? PHPとは何ですか、そしてなぜそれがWeb開発に使用されるのですか? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebdevelopmentduetoitseaseaseaseaseasease、SeamlessintegrationWithhtml、widespreadhostingsupport、andalargeecosystemincludingframeworkelavelandcmsplatformslikewordspresspressinsinsionsisionsisionsisionsisionsionsionsisionsionsionsisionsisions

PHPタイムゾーンを設(shè)定する方法は? PHPタイムゾーンを設(shè)定する方法は? Jun 25, 2025 am 01:00 AM

tosettherighttimezoneInphp、usedate_default_timezone_set()functionthestthestofyourscriptwithavalididentifiersiersuchas'america/new_york'.1.usedate_default_timezone_set()beforeanydate/timefunctions.2.2.Altertentally、confuturethephp.inifilebyset.

オペレーティングシステム(Windows、MacOS、Linux)にPHPをインストールするにはどうすればよいですか? オペレーティングシステム(Windows、MacOS、Linux)にPHPをインストールするにはどうすればよいですか? Jun 20, 2025 am 01:02 AM

PHPをインストールする方法は、オペレーティングシステムごとに異なります。以下は特定の手順です。1。WindowsユーザーはXAMPPを使用してパッケージをインストールしたり、手動(dòng)で構(gòu)成したり、XAMPPをダウンロードしてインストールしたり、PHPコンポーネントを選択したり、環(huán)境変數(shù)にPHPを追加したりできます。 2。MACOSユーザーは、Homebrewを介してPHPをインストールし、対応するコマンドを?qū)g行してApacheサーバーをインストールして構(gòu)成できます。 3。Linuxユーザー(Ubuntu/Debian)は、APTパッケージマネージャーを使用してソースを更新し、PHPと共通拡張機(jī)能をインストールし、テストファイルを作成してインストールが成功したかどうかを確認(rèn)できます。

PHPでのユーザー入力を検証して、特定の基準(zhǔn)を満たすことを確認(rèn)するにはどうすればよいですか? PHPでのユーザー入力を検証して、特定の基準(zhǔn)を満たすことを確認(rèn)するにはどうすればよいですか? Jun 22, 2025 am 01:00 AM

tovalidateuserinputinphp、usebuilt-validationfunctionslikefilter_var()andfilter_input()、applyRegularexpressionsforcustomformatsusususussusorphoneNumbers、checkdatatypesfornumerueSlikeageorpricepriceprice

session_destroy()を使用してPHPでセッションを破壊するにはどうすればよいですか? session_destroy()を使用してPHPでセッションを破壊するにはどうすればよいですか? Jun 20, 2025 am 01:06 AM

PHPでのセッションを完全に破壊するには、最初にセッションを開始するにはSESSION_START()に電話してから、session_destroy()を呼び出してすべてのセッションデータを削除する必要があります。 1。最初にsession_start()を使用して、セッションが開始されていることを確認(rèn)します。 2。その後、SESSION_DESTROY()を呼び出してセッションデータをクリアします。 3。オプションですが推奨:グローバル変數(shù)をクリアするための手動(dòng)で$ _Sessionアレイを解除します。 4。同時(shí)に、セッションCookieを削除して、ユーザーがセッション狀態(tài)を保持しないようにします。 5.最後に、破壊後にユーザーのリダイレクトに注意を払い、すぐにセッション変數(shù)を再利用しないでください。そうしないと、セッションを再起動(dòng)する必要があります。これを行うと、ユーザーが殘留情報(bào)を殘さずにシステムを完全に終了することが保証されます。

PHP(serialize()、unserialize())のデータシリアル化とは何ですか? PHP(serialize()、unserialize())のデータシリアル化とは何ですか? Jun 22, 2025 am 01:03 AM

thephpfunctionSerialize()andunserialize()areusedtoconvertcomplexdatastructostorestorestorustorasandabackagain.1.serialize()c onvertsdatalikecarraysorobjectsraystringcontainingtainingtainingepeandStructureinformation.2。

See all articles