こんなに盛り上がるAIはとても楽しみです!
著者 | Mush Honda
プランナー | Yun Zhao
昨年末、一夜にして人工知能が再び人気を集めました。 2 つは本物そっくりで、次に「乗馬宇宙飛行士」は忘れられません。次に、テキスト生成画像を生成する公的著作権で保護された描画 AI である Stable Diffusion、そして最後の「キング ボム」である ChatGPT が続きます。デビューし、OpenAI の多くの面目を獲得しました。春節期間中であっても、インターネット上では人工知能の波の最高潮が本当に仕事を奪ってしまうのではないかと懸念し、「危機に瀕している」と嘆く人が多かった。しかし、現実は本当にそうなるのでしょうか? AI はコンピュータ アプリケーション ソフトウェアのルネッサンスをもたらすのでしょうか?この記事では、特定の分野での応用を例として、AI の機器化の 3 つの段階を説明し、AI が完全に自律的に発展すべきではない、または発展できないいくつかの理由を説明します。さらに、著者は実際の AI キャラクターがどのようなものであるべきかを共有しました。私たちは警戒する必要がありますが、パニックに陥る必要はありません。
「人工知能により、納期は数分から数秒に短縮されます。」 「サプライヤーと顧客は安価でユーザーフレンドリーなエクスペリエンスの時代に戻り、コンピュータのアプリケーションソフトウェアがその到来をもたらします」
残念ながら、安価なストレージ スペース、高速処理速度、すぐに入手できる AI トレーニング機器、インターネットのおかげで、この約束はすでに薄れており、誇張された誇大宣伝に変わりました。
ソフトウェア テストを例に挙げて、「ソフトウェア テストにおける人工知能の応用」を検索すると、システムは潜在的な購入者に約束された一連の「魔法の」ソリューションを返します。多くのソリューションは、手作業を削減し、品質を向上させ、コストを削減する方法を提供します。少し奇妙なのは、一部のメーカーが自社の AI ソリューションがソフトウェア テストの問題を完全に解決できると約束していることです。その文言はさらに衝撃的です。ソフトウェア テストの「聖杯」です。この考え方は、このように言えます。人々を困難や心配から解放します。これにより、ソフトウェア開発サイクルから解放され、テストサイクルが短縮され、より効果的かつシンプルになります。
AIは本当に全能の「聖杯」になれるのか?さらに、AIが人間に完全に取って代わるべきでしょうか?こうしたほとんど不条理な誇大宣伝をやめるべき時が来ました。
1. 本当の真実
現実の世界では、ソフトウェア開発プロセスから人間を排除することは、はるかに複雑で困難です。ウォーターフォール、迅速なアプリケーション開発、DevOps、アジャイル、その他の方法論を使用するかどうかに関係なく、ソフトウェア開発の中心にいるのは人です。それは、作成するソフトウェアの境界と可能性を定義するのは人だからです。ソフトウェアテストでは、ビジネス要件が不明確であることが多く、常に変化するため、「目標」も常に変化します。ユーザーは使いやすさの変化を要求しており、ソフトウェアの変化によって何が可能になるかについての開発者の期待さえも要求します。
ソフトウェア テスト (品質保証という用語を含む) の元の標準と方法は、製造製品テストの分野から生まれました。この場合、製品は明確に定義されており、テストはより機械的ですが、ソフトウェアの特性は順応性があり、頻繁に変化します。ソフトウェア テストは、品質保証に対するこの均一なマシン アプローチには適していません。
現代のソフトウェア開発では、開発者が予測できないことや知ることができないことがたくさんあります。たとえば、ユーザー エクスペリエンス (UX) の期待は、ソフトウェアの最初の反復後に変化する可能性があります。具体的な例としては、次のようなものが挙げられます: 人々は、画面の読み込み時間の短縮やスクロールの高速化に対する期待を高めていますが、ユーザーはもはや人気がなくなったため、画面の下に長時間スクロールすることを望んでいません。
さまざまな理由により、人工知能は、その作成者ですら予測できないことを独自に予測したりテストしたりすることはできません。したがって、ソフトウェアテストの分野では、真に自律的な人工知能を実現することは不可能です。ソフトウェアテストの「ターミネーター」の作成は、マーケティング担当者や潜在的な購入者の興味をそそるかもしれませんが、そのような展開は幻になることは間違いありません。むしろ、AI と人間が協働するという状況においては、ソフトウェア テストの自律性がより意味をなします。
2. AI は 3 つの成熟段階を通過する必要がある
ソフトウェア テスト AI 開発は基本的に 3 つの成熟段階に分かれています段階:
- 運用段階 (Operational)
- プロセス段階 (Process)
- システム段階 (Systemic)
現在、人工知能に基づくソフトウェアテストの大部分は運用段階にあります。最も基本的な動作テストには、テスターが何百回も実行するルーチンを模倣するスクリプトの作成が含まれます。この例の「AI」は決してスマートではなく、スクリプトの作成、繰り返しの実行、結果の保存を短縮するのに役立ちます。
プロシージャル AI はオペレーショナル AI のより成熟したバージョンであり、テスト担当者がテスト生成に使用します。その他の用途としては、テスト カバレッジの分析と推奨、欠陥の根本原因の分析と労力の見積もり、テスト環境の最適化などが挙げられます。 Process AI は、パターンと使用法に基づいて合成データの作成を容易にすることもできます。
手続き型 AI の利点は明白で、テスト実行戦略を設定する際にテスターが負うリスクの一部を相殺して回避するための追加の「目」を提供します。実際のアプリケーションでは、手続き型 AI により、変更されたコードのテストが容易になります。
- 手動テストでは、テスターがアプリケーション全体を再テストし、コードが変更されたときの意図しない結果を探すのが一般的です。
- 一方、手続き型 AI は、アプリケーション全体の大規模な再テストではなく、単一ユニット (または限定された影響範囲) のテストを推奨できます。
このレベルの AI では、開発時間とコストにおいて明らかな利点が見られます。
しかし、焦点が第 3 段階である体系的な AI に切り替わると、将来は滑りやすい坂道となり、報われない約束になる可能性があるため、全体像は曖昧になります。
3. 信頼性の低い体系的な AI
体系的な (または完全に自律的な) AI テストが不可能である理由 (少なくとも現時点では不可能)、理由の 1 つは、AI が次のことを行う必要があることです。広範なトレーニング。テスターは、プロセス AI がソフトウェアの品質を適切に保証する単体テストを提案してくれると確信できます。ただし、システム AI の場合、テスト担当者はソフトウェアがすべての要件を満たしているかどうかを高い自信を持って知ることはできません。
このレベルの人工知能が本当に自律型である場合、人間が想像できないものも含め、考えられるすべての要件をテストする必要があります。次に、自律型 AI の前提と結論を検討する必要があります。これらの仮定が正しいことを確認するには、信頼性の高い証拠を提供するために多大な時間と労力が必要です。
自律的なソフトウェア テストを完全に実現することはできません。なぜなら、人々はそれを信頼しないでしょうし、これは完全な自律性を達成するという目標と前提を失うことに等しいからです。
4, 人工知能にはトレーニングが必要
#完全自律型人工知能は神話ですが、サポートと拡張が可能ですソフトウェアの品質に関して人間の努力に匹敵するインテリジェンスを実現することは、価値のある目標です。この場合、人間が AI をサポートできます。テスターは、AI と AI が依存する絶えず進化するトレーニング セットを監督、修正、指導するのに辛抱強く取り組む必要があります。課題は、テスト ソフトウェアのさまざまなバグにリスクを割り当てながら、AI をどのようにトレーニングするかです。このトレーニングは継続的に行う必要があり、テスト領域に限定されません。自動運転車メーカーは、道路を横断する人と自転車に乗っている人を区別できるように人工知能を訓練しています。
テスターは、AI の機能に対する信頼を築くために、過去のデータに基づいて AI ソフトウェアをトレーニングおよびテストする必要があります。同時に、真の自律型 AI は、テストで将来の状況 (開発者のガイダンスとユーザーのガイダンス) を予測する必要がありますが、これは過去のデータに基づいて行うことはできません。代わりに、トレーナーは独自の偏見に基づいたデータセットに基づいて AI をトレーニングする傾向があります。こうした偏見は、目の見えない人が確実性のために馬が定められた道から外れないようにするのと同じように、人工知能の探索の可能性を制限します。 AIが偏っていれば見えるほど、その信頼性は低くなります。 AI が受けられる最良のトレーニングは、リスクの確率を処理し、最終的に人間によって評価されるリスク軽減戦略を導き出すことです。
5. リスク軽減策
#結局のところ、ソフトウェア テストはテスターの達成感と自信にかかっているのです。彼らは、開発者やユーザーに問題を引き起こす可能性のあるコード変更だけでなく、初期実装によって起こり得る結果を測定および評価します。しかし、ソフトウェア テストでアプリケーション クラッシュのあらゆる可能性が完全に調査されたとしても、信頼性が 100% であることは不可能であることは否定できません。手動で実行されるか自動で実行されるかにかかわらず、すべてのソフトウェア テストにはリスクの要素が存在します。
テスターは、コードが問題を引き起こす可能性に基づいてテスト範囲を決定する必要があります。また、リスク分析を使用して、カバー範囲外のどの分野に重点を置くべきかを決定する必要があります。 AI がユーザー アクティビティの連鎖の任意の時点でソフトウェア障害の相対確率を決定して表示したとしても、テスターは依然として手動で計算を確認する必要があります。
人工知能は、歴史的なバイアスの影響を受けるソフトウェアの継続性の可能性を提供します。しかし、AI のリスク評価とリスク軽減レシピに対する信頼性はまだ高くありません。
AI 対応のソフトウェア テスト ツールは、テスターの手作業を軽減しながら現実的な結果を生み出すのに役立つ実用的かつ効果的である必要があります。
ソフトウェア テストにおける AI の最もエキサイティングな (そして潜在的に破壊的な) 導入は、AI 開発の成熟度の 2 番目のレベルである手続き型 AI です。 Katalon のある研究者は次のように述べています、「ソフトウェア テストに適用される AI の最大の実用的な用途は、自律テスト作成の最初の段階であるプロセス レベルです。このとき、私は自分で作成できる自動テストを作成できるようになります。」
自律的かつ自律的な人工知能、ソフトウェア テスト プロセスへの人間の参加をすべて置き換えるなどは、すべて誇大宣伝です。 AI が人間の作業を強化および補完し、テスト時間を短縮すると期待する方が現実的であり、望ましいです。
参考リンク: https://dzone.com/articles/ai-in-software-testing-the-hype-the-facts-the-pote
以上がこんなに盛り上がるAIはとても楽しみです!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









vue.jsのオブジェクトに文字列を変換する場合、標準のjson文字列にはjson.parse()が推奨されます。非標準のJSON文字列の場合、文字列は正規表現を使用して処理し、フォーマットまたはデコードされたURLエンコードに従ってメソッドを削減できます。文字列形式に従って適切な方法を選択し、バグを避けるためにセキュリティとエンコードの問題に注意してください。

概要:Vue.js文字列配列をオブジェクト配列に変換するための次の方法があります。基本方法:定期的なフォーマットデータに合わせてマップ関数を使用します。高度なゲームプレイ:正規表現を使用すると、複雑な形式を処理できますが、慎重に記述して考慮する必要があります。パフォーマンスの最適化:大量のデータを考慮すると、非同期操作または効率的なデータ処理ライブラリを使用できます。ベストプラクティス:コードスタイルをクリアし、意味のある変数名とコメントを使用して、コードを簡潔に保ちます。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

MySQLの起動が失敗する理由はたくさんあり、エラーログをチェックすることで診断できます。一般的な原因には、ポートの競合(ポート占有率をチェックして構成の変更)、許可の問題(ユーザー許可を実行するサービスを確認)、構成ファイルエラー(パラメーター設定のチェック)、データディレクトリの破損(テーブルスペースの復元)、INNODBテーブルスペースの問題(IBDATA1ファイルのチェック)、プラグインロード障害(エラーログのチェック)が含まれます。問題を解決するときは、エラーログに基づいてそれらを分析し、問題の根本原因を見つけ、問題を防ぐために定期的にデータをバックアップする習慣を開発する必要があります。

Vue axiosのタイムアウトを設定するために、Axiosインスタンスを作成してタイムアウトオプションを指定できます。グローバル設定:Vue.Prototype。$ axios = axios.create({Timeout:5000});単一のリクエストで:this。$ axios.get( '/api/users'、{timeout:10000})。

700万のレコードを効率的に処理し、地理空間技術を使用したインタラクティブマップを作成します。この記事では、LaravelとMySQLを使用して700万を超えるレコードを効率的に処理し、それらをインタラクティブなマップの視覚化に変換する方法について説明します。最初の課題プロジェクトの要件:MySQLデータベースに700万のレコードを使用して貴重な洞察を抽出します。多くの人は最初に言語をプログラミングすることを検討しますが、データベース自体を無視します。ニーズを満たすことができますか?データ移行または構造調整は必要ですか? MySQLはこのような大きなデータ負荷に耐えることができますか?予備分析:キーフィルターとプロパティを特定する必要があります。分析後、ソリューションに関連している属性はわずかであることがわかりました。フィルターの実現可能性を確認し、検索を最適化するためにいくつかの制限を設定しました。都市に基づくマップ検索

リモートシニアバックエンジニアの求人事業者:サークル場所:リモートオフィスジョブタイプ:フルタイム給与:$ 130,000- $ 140,000職務記述書サークルモバイルアプリケーションとパブリックAPI関連機能の研究開発に参加します。ソフトウェア開発ライフサイクル全体をカバーします。主な責任は、RubyonRailsに基づいて独立して開発作業を完了し、React/Redux/Relay Front-Endチームと協力しています。 Webアプリケーションのコア機能と改善を構築し、機能設計プロセス全体でデザイナーとリーダーシップと緊密に連携します。肯定的な開発プロセスを促進し、反復速度を優先します。 6年以上の複雑なWebアプリケーションバックエンドが必要です

MySQLパフォーマンスの最適化は、インストール構成、インデックス作成、クエリの最適化、監視、チューニングの3つの側面から開始する必要があります。 1。インストール後、INNODB_BUFFER_POOL_SIZEパラメーターやclose query_cache_sizeなど、サーバーの構成に従ってmy.cnfファイルを調整する必要があります。 2。過度のインデックスを回避するための適切なインデックスを作成し、説明コマンドを使用して実行計画を分析するなど、クエリステートメントを最適化します。 3. MySQL独自の監視ツール(ShowProcessList、ShowStatus)を使用して、データベースの健康を監視し、定期的にデータベースをバックアップして整理します。これらの手順を継続的に最適化することによってのみ、MySQLデータベースのパフォーマンスを改善できます。
