翻訳者 | Zhu Xianzhong
##改訂 | Sun Shujuan
はじめに一般的に、ソフトウェア テストは次のような傾向があります。比較的単純です: すべての入力 => 既知の出力。しかし、ソフトウェア テストの歴史を振り返ると、多くのテストが推測のレベルに留まっていることがよくあります。つまり、テスト中に開発者はユーザーの操作プロセスを想像し、予想される負荷を見積もり、それにかかる時間を分析してからテストを実行し、現在の結果をベースラインの回答と比較します。回帰がないことが判明した場合は、現在のビルド計画が正しいと見なされ、後続のテストを続行します。回帰があった場合は、それを返します。ほとんどの場合、出力はすでにわかっていますが、出力をより明確に定義する必要があります。回帰の境界は明確であり、それほど曖昧ではありません。実際、ここで機械学習 (ML) システムと予測分析が登場し、曖昧さを解消します。
テストが完了したら、パフォーマンス エンジニアは結果の算術平均と幾何平均だけでなく、関連するパーセンテージ データも確認します。たとえば、システムの実行中、最も遅いリクエストの 10% はシステム エラーが原因であることがよくあります。このエラーは、常にプログラムの速度に影響を与える状態を引き起こします。
データ内で利用可能な属性を手動で関連付けることもできますが、ML の方がデータ属性をより速くリンクできる可能性があります。不正なリクエストの 10% を引き起こす条件を特定した後、パフォーマンス エンジニアは、動作を再現するテスト シナリオを構築できます。修正の前後にテストを実行すると、修正が修正されたことを確認できます。
#機械学習とデータ サイエンスのパフォーマンス
機械学習はソフトウェア開発の促進に役立ち、開発テクノロジーをより堅牢にし、さまざまな分野や業界のユーザーのニーズに応えやすくします。パイプラインや環境からディープラーニング アルゴリズムにデータをフィードすることで、因果関係のパターンを明らかにできます。予測分析アルゴリズムとパフォーマンス エンジニアリング手法を組み合わせることで、より効率的かつ高速なスループットが可能になり、エンド ユーザーが自然なシナリオでソフトウェアをどのように使用するかについての洞察が得られ、開発者が運用環境で欠陥製品が使用される可能性を減らすことができます。問題とその原因を早い段階で特定することで、開発ライフサイクルの早い段階で問題を修正し、実稼働への影響を防ぐことができます。全体として、予測分析を活用してアプリケーションのパフォーマンスを向上させる方法をいくつか紹介します。
- 根本原因を特定します。 機械学習技術を使用して可用性やパフォーマンスの問題の根本原因を特定し、注意が必要な他の領域に焦点を当てることができます。その後、予測分析により各クラスターのさまざまな特性を分析し、理想的なパフォーマンスを達成し、ボトルネックを回避するために必要な変更についての洞察を提供します。
- アプリケーションの健全性を監視します。 機械学習テクノロジーを使用してリアルタイムのアプリケーション監視を実行すると、企業はシステム パフォーマンスの低下を適時に検出し、迅速に対応できます。ほとんどのアプリケーションは、アプリケーション全体のステータスを取得するために複数のサービスに依存しています。予測分析モデルは、アプリケーションが正常に実行されているときにデータを関連付けて分析し、受信データが外れ値であるかどうかを識別できます。
- ユーザー負荷を予測します。 当社では、将来アプリケーションにアクセスするユーザー数に対応できるよう、インフラストラクチャのサイズをピーク ユーザー トラフィックに依存しています。このアプローチには変化やその他の未知の要因が考慮されていないため、限界があります。予測分析により、ユーザー負荷を視覚化し、対応に向けてより適切に準備できるようになり、チームがインフラストラクチャのニーズと容量使用率を計画するのに役立ちます。
- 手遅れになる前にダウンタイムを予測します。 アプリケーションのダウンタイムや機能停止を事前に予測することは、予防策を講じるのに役立ちます。予測分析モデルは、以前の停止シナリオに従い、同様の状況を監視し続けて、将来の停止を予測します。
- しきい値の表示をやめて、データの分析を始めてください。 可観測性と監視によって生成される大量のデータは、1 週間に最大数百メガバイトを必要とします。最新の分析ツールを使用する場合でも、何を探しているのかを事前に知っておく必要があります。その結果、チームはデータを直接見るのではなく、アクションのトリガーとしてしきい値を設定することになります。成熟したチームでも、データを詳しく調べるのではなく、例外を探します。これを軽減するために、モデルを利用可能なデータ ソースと統合します。次に、モデルはデータをフィルター処理し、時間の経過とともにしきい値を計算します。この手法を使用すると、モデルに履歴データが入力されて集約され、人間が設定するのではなく季節性に基づいたしきい値が提供されます。アルゴリズムに基づいてしきい値を設定すると、トリガーされるアラートの数が減りますが、その一方で、これはより優れた実用性とより高い価値にもつながります。
- データセット全体を分析し、関連付けます。 データはほとんどが時系列であるため、時間の経過とともに変化する個々の変数を確認するのが簡単になります。多くの傾向は、複数の指標の相互作用から生じます。たとえば、応答時間は、同じターゲット上でさまざまなトランザクションが同時に発生している場合にのみ低下します。人間にとって、これはほぼ不可能ですが、適切にトレーニングされたアルゴリズムは、これらの相関関係を発見するのに役立ちます。
予測分析におけるデータの重要性
「ビッグ データ」は通常、データ セットを指します。はい、それは大規模なデータセットであり、速度は急速に向上し、内容は大きく変化します。このようなデータの分析には、そこからパターンや情報を抽出できるようにするための特殊な方法が必要です。近年、ストレージ、プロセッサ、プロセスの並列処理、およびアルゴリズム設計の改善により、システムは大量のデータを適切な時間内に処理できるようになり、これらの方法がより幅広く使用できるようになりました。有意義な結果を得るには、データの一貫性を確保する必要があります。
たとえば、各プロジェクトは同じランキング システムを使用する必要があるため、あるプロジェクトがキー値として 1 を使用し、別のプロジェクトが 5 を使用する場合、たとえば「DEFCON 5」を使用する人は「DEFCON 1」を意味します。 ”; その場合、処理前に値を正規化する必要があります。予測アルゴリズムは、アルゴリズムと、アルゴリズムが入力するデータで構成されます。ソフトウェア開発では、最近まで削除されるのを待ってアイドル状態にあった大量のデータが生成されます。ただし、予測分析アルゴリズムはこれらのファイルを処理して、検出できないパターンについてこのデータに基づいて質問し、回答することができます。たとえば、「未知のものをテストするのは時間を無駄にしていますか? 使用シナリオは?」などです。
- パフォーマンスの向上はユーザーの幸福度とどのように関係するのでしょうか?
- 特定の欠陥を修正するにはどれくらい時間がかかりますか?
- #これらの質問とその回答は、何が起こる可能性があるかをより深く理解するために、予測分析が目的としています。
- 分類: 分類は、セットの結果を予測するために使用されます。入力データ まず、コレクションをさまざまなカテゴリに分割します。
- 回帰: 回帰は、出力変数が実数値のセットである場合に、セットの結果を予測するために使用されます。入力データを処理して予測を行います。たとえば、使用されているメモリの量、開発者が作成したコード行などです。最も一般的に使用される予測モデルは、ニューラル ネットワーク、デシジョン ツリー、線形回帰およびロジスティック回帰です。
- 分析環境の欠陥
- カスタマー エクスペリエンスに対する評価の影響
- 問題のパターンを特定する
- より正確なテスト シナリオなどを作成する
- 欠陥の種類
- 欠陥が発見された段階
- 欠陥の根本原因は何ですか
- 欠陥は再現可能ですか
アルゴリズム
予測分析のもう 1 つの主要なコンポーネントはアルゴリズムであり、慎重に選択または実装する必要があります。モデルはますます複雑になり、入力データの変化にますます敏感になり、予測を歪める可能性があるため、シンプルに始めることが重要です。分類と回帰という 2 種類の問題を解決できます (図 2 を参照)。
ニューラル ネットワーク
ニューラルネットワークは例から学習し、過去のデータと現在のデータを使用して将来の価値を予測します。そのアーキテクチャにより、データに隠された複雑な関係を特定することができ、私たちの脳がパターンを検出する方法が再現されます。これらは、データを受け入れ、予測を計算し、単一の予測として出力を提供する多くのレイヤーで構成されています。デシジョン ツリー
デシジョン ツリーは、特定のオプションの潜在的なリスクを予測するために、一連の「if/then」オプションで結果を提示する分析手法です。収入。すべての分類問題を解決し、複雑な質問に答えることができます。図 3 に示すように、デシジョン ツリーは、将来の意思決定を説明するためにデータを枝状のパーティションに分割するさまざまな方法を認識するアルゴリズムによって生成されるトップダウン ツリーに似ています。意思決定パスを特定するのに役立ちます。
読み込みに 3 秒以上かかる場合は、ツリー内の 1 つのブランチがカートを放棄したユーザーである可能性があります。この下の別の分岐は、それらが女性であるかどうかを示す場合があります。分析によると、女性は衝動買いをする可能性が高く、この遅れが反芻につながる可能性があるため、「はい」の答えはリスクを高めます。
#図 3: デシジョン ツリーの例
線形回帰およびロジスティック回帰
回帰最も一般的な統計手法の 1 つです。これは、ブラック フライデー セール中に各サービスに追加するリソースの数など、数字を見積もるときに重要です。多くの回帰アルゴリズムは、変数間の関係を推定し、大規模な混合データ セット内の重要なパターンと変数間の関係を見つけるように設計されています。これは、単純な線形回帰モデル (データに適合する直線関数の計算) からロジスティック回帰 (曲線の計算) まで多岐にわたります (図 4)。
全体的な比較 | #リニアリターン|
ロジスティック回帰 |
|
## は、今後数か月でユーザー トラフィックが急増するリスクなど、連続的な範囲の値を定義するために使用されます。 |
#これは、古いセットに基づいてパラメータを予測する統計的手法です。これはバイナリ分類、つまり y=0 または 1 のデータセットに最適に機能します。1 はデフォルトのクラス を表します。その名前は、変換関数 ( は論理関数 ) に由来しています。 |
y=a bx として表されます。ここで、x は出力 y を決定するために使用される入力セットです。係数 a と b は、x と y の関係を定量化するために使用されます。ここで、a は切片、b は直線の傾きです。 |
論理関数で表されます: where、β0 は切片、β1 はレートです。トレーニング データを使用して、予測結果と実際の結果の間の誤差を最小限に抑える係数を計算します。 |
目標は、ほとんどの点に最も近い直線を当てはめて、y と直線の間の距離または誤差を減らすことです。 |
# S 字曲線を形成し、しきい値を適用して確率を二項分類に変換します。 |
以上が機械学習は高品質のソフトウェア エンジニアリングを強化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ジェマの範囲で言語モデルの内部の仕組みを探る AI言語モデルの複雑さを理解することは、重要な課題です。 包括的なツールキットであるGemma ScopeのGoogleのリリースは、研究者に掘り下げる強力な方法を提供します

ビジネスの成功のロック解除:ビジネスインテリジェンスアナリストになるためのガイド 生データを組織の成長を促進する実用的な洞察に変換することを想像してください。 これはビジネスインテリジェンス(BI)アナリストの力です - GUにおける重要な役割

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

導入 2人の専門家が重要なプロジェクトで協力している賑やかなオフィスを想像してください。 ビジネスアナリストは、会社の目標に焦点を当て、改善の分野を特定し、市場動向との戦略的整合を確保しています。 シム

Excelデータカウントと分析:カウントとカウントの機能の詳細な説明 特に大規模なデータセットを使用する場合、Excelでは、正確なデータカウントと分析が重要です。 Excelは、これを達成するためにさまざまな機能を提供し、CountおよびCounta関数は、さまざまな条件下でセルの数をカウントするための重要なツールです。両方の機能はセルをカウントするために使用されますが、設計ターゲットは異なるデータ型をターゲットにしています。 CountおよびCounta機能の特定の詳細を掘り下げ、独自の機能と違いを強調し、データ分析に適用する方法を学びましょう。 キーポイントの概要 カウントとcouを理解します

Google Chrome'sAI Revolution:パーソナライズされた効率的なブラウジングエクスペリエンス 人工知能(AI)は私たちの日常生活を急速に変換しており、Google ChromeはWebブラウジングアリーナで料金をリードしています。 この記事では、興奮を探ります

インパクトの再考:四重材のボトムライン 長い間、会話はAIの影響の狭い見方に支配されており、主に利益の最終ラインに焦点を当てています。ただし、より全体的なアプローチは、BUの相互接続性を認識しています

物事はその点に向かって着実に動いています。量子サービスプロバイダーとスタートアップに投資する投資は、業界がその重要性を理解していることを示しています。そして、その価値を示すために、現実世界のユースケースの数が増えています


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
