お気に入りのアプリとのやり取りが成功するのは、品質保証 (QA) チームによる共同作業の結果です。これらの精力的な問題ハンターは、世界中のモバイル デバイス ユーザーが日々のニーズに依存しているアプリケーションのあらゆる側面が、リリースとアップデートのたびにスムーズに実行されることを保証します。
朝、目覚ましの音で目覚めるとき、天気をチェックするとき、愛する人にメッセージを送るとき、私たちはこの知られざる英雄たちに感謝しなければなりません。
チームの取り組みが失敗に終わったとき、チームは必ずニュースを耳にしました。多くのユーザーが、人気のある (そして非常に明白な) レビュー サイトに否定的なフィードバックを提供することを躊躇しませんでした。
現代のモバイル アプリ ユーザー (最近ではほとんどすべてのユーザー) が期待しているのは完璧さであり、QA チームの主な目標は、バグのない製品の展開を保証することです。
バグや問題が存在すると、アプリケーションはすぐに機能不全に陥る可能性があります。残念ながら、バグのないエクスペリエンスを保証するのは簡単な作業ではありません。そしてそれはますます複雑になるばかりです。今日のソフトウェア開発の世界はますます複雑になっており、この複雑さがもたらす多くの可能性やシナリオに対してテストを行うことは、テスト自体がますます複雑になり、リソースを大量に消費することを意味します。
モバイル アプリケーション開発の歴史を考慮すると、アプリケーションはますます複雑になり、より高度で頻繁なテストが必要になると予想するのは非常に合理的です。しかし、このようにしなければならないのでしょうか?ますます多くのスタッフと、ますます大規模な QA チームが必要になる運命なのでしょうか?
ここに至るまでの経緯を少し考えてみましょう。最近まで - 「うわー、これは本当に 1980 年代だったんだな、とずっと前に」 - ソフトウェア QA チームは、市場に投入した製品が適切に動作するかどうかを確認するために、機器の手動テストに大きく依存していました。
それはよりシンプルでした。当時はデバイスの機能がはるかに少なく、アクティブなシナリオがあったため、手作業でのコーディングがテストに適した方法でした。面倒な作業は徹底的に実行すると時間がかかりますが、テスターにとっては手動テストが効果的です。
しかし、テクノロジーは進化し、改良を続ける猛獣であり、自動化という形で変化をもたらし、テストプロセスを劇的に改善しました。ソフトウェアは進化し続け、より複雑になっています。
次の数十年にわたり、テストの進歩により、QA テスターはテスト ケースを物理的に実行する必要性から解放されました。コードのスパゲティの山から手作業でバグを見つける必要はもうありません。
彼らはソフトウェア問題との戦いにおいて新たな武器を手に入れました。大規模な手動テストは現実的ではなくなっており、QA チームが潜在的なリリースを妥当な時間内に徹底的にテストしようとしている場合、彼らは次のことを行う必要があります。以下は、テスト スクリプトを実行するための自動ツールです。
それでは、複雑さの戦いには勝ったのでしょうか?完全ではありません。自動テストは革新的なイノベーションというよりも、進化し続けるソフトウェアの複雑さによる軍拡競争の新たな一歩として考えるのが最善です。
時計は刻々と過ぎていますが、明らかな勝利は目前にありません。モバイルアプリの人気が高まり、私たちの日常生活の多くにおいて中心的なツールになるにつれて、自動テストは徐々に失われつつあります。幸いなことに、待望の変化、本当の革命が到来しています。
つい最近まで、QA テスト チームのジレンマは実に悲惨なものになっていました。高品質の製品リリースを保証するために、自動テストにはますます高度なコーディング ツールが必要になります。これは、QA チームが、新機能の生成などの他のタスクではなく、テストに専念するプログラマーをますます増やす必要があることを意味します。これは価格が高くなるだけでなく、リリース日がますます延期されることを意味します。しかし、代替案である壊滅的な打ち上げは、はるかに高価になる可能性があります(多くの注目を集めた打ち上げ失敗が証明しているように)。
しかし、避けられないことが起こりました。抽象化の原理 (インターフェイス ベースの表現は、非常に複雑なプロセス (たとえば、あなたが読んでいる記事の後ろに隠れている 1 と 0) への道を切り開きます) を通じて、多くの専門家は長い間、新しい抽象化層を予告してきました。ここ数年で実際に実現した「ノーコード革命」があります。
最近、さまざまな業界でノーコード ソリューションの使用を可能にするプラットフォームがいくつか登場しました。ノーコード革命のより明白な例の 1 つは、真の WYSIWYG Web サイト エディター (Squarespace や Wix を思い浮かべてください) の人気です。ソフトウェア テストというあまり目立たない分野では、私が設立した会社 Sofy はユニークなプラットフォームです。 、モバイル アプリケーションのコードレス テストを提供します。
ノーコード革命は大きな変化をもたらし、専門家でなくても複雑なタスクを処理できるようになり、専門家が他のタスクを処理できる時間が増えました。したがって、近い将来、さまざまな業界でノーコード ソリューションがますます登場することは間違いありません。
とはいえ、全体の流れから言えば、ノーコード革命はまた一歩前進しただけです。ソフトウェア テストの次のステップは、それ自体をテストすることだと私は考えていますソフトウェア。
これは私だけではありません。ノーコード革命と同様に、ソフトウェアの自己テストは長年にわたって予想されていた現実です。テクノロジーの変化と成長の速度を考えると、2025 年までに、人間の介入なしで AI の動作をテストできるインテリジェントなテスト自動化 (つまり、自己テスト ソフトウェア) が大幅に拡張されることを想像するのは不合理ではありません。
現在、スマート テストの実装は限られていますが、機械学習 (ML) および人工知能プラットフォームに依存することで、ソフトウェア リリースの速度と品質が向上しています。これにより、迅速かつ継続的なテストが可能になります (したがって ROI が向上します)。さらに、AI は人間の知能を複製することができますが、ML を使用すると人間の介入なしでコンピューターが学習できるようになります。
人工知能と機械学習は、深層学習ベースのアルゴリズムを採用してデータにアクセスし、パターンを抽出することでデータから学習し、より効率的なデバッグと意思決定を実現します。さらに、このテクノロジーにより、QA チームはさまざまなデバイスやさまざまなフォーム ファクターにわたって多くのテストを実行できるようになります。
数日ではなく、数時間です。さてこれは革命です。
依然として人間を必要とするコードはありません。人間は機械ではありません。間違いを犯します。コードがなくても、人的エラーは大幅に減少したとはいえ、依然として深刻な問題を引き起こす要因です。手動テストによるリソース、時間、労力の過剰使用を考慮してください。
Smart Testing は、テスト ケースを自動的に生成および維持し、生産性と出力品質の向上として要約できる貴重な利点を生み出します。ただし、インテリジェントなテスト自動化を実現するには、まず次の要素を組み合わせる必要があります。
これら 3 つの項目は、コード変更ごとに内部化され、徹底的にテストされる必要があります。次に、それらをシームレスかつインテリジェントな方法で集約し、優先順位を付ける必要があります。これは決して小さなことではありませんが、次のステップに向けて努力を続けていきます。
それはまだありません。先に進む前にこれらの各ステップを完了する必要がありますが、それは時間の問題です。
自己テスト ソフトウェアは最初のステップにすぎません。機械学習の方向に向けて、他のノーコード サンプルが市場に出てくることが予想されます。ユーザーが指定したパラメータに基づいて Web サイト全体を生成することが現実になるのは時間の問題だと思います。今日、ノーコード革命がついに到来しましたが、同時に新たな革命が始まります。
以上が人工知能、機械学習、ソフトウェア開発の未来の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。