DevOps における継続的テストを最適化するためのベストプラクティス

DevOps における継続的テストを最適化するためのベストプラクティス

翻訳者 |李睿

校正:孫淑娟

ますます多くの企業がデジタル変革に乗り出すにつれ、DevOps の考え方に基づいたクラウド ストレージ、クラウド コンピューティング、クラウド プラットフォームでの戦略的テストへの傾向が高まっています。継続的テストは DevOps の不可欠な部分です。最高の DevOps テスト戦略を採用している品質保証チームは、ソフトウェア開発と配信の高速化が競争力のあるビジネスの差別化における重要な要素であると考えています。開発チームは、ソフトウェア製品の信頼性を損なうことなく、強力な機能を備えた高品質の製品をユーザーが入手できるように、開発プロセスに継続的なテストを組み込むことを目指しています。

開発チームは、ソフトウェアの開発および配信プロセス全体を通じて継続的にテストを行うことで、欠陥やエラーを事前に検出し、問題が深刻化する前に簡単に解決することができます。戦略的な継続的テストには、適切に設計された DevOps テスト自動化戦略が不可欠です。継続的なテストにより、テストを完了するために必要な時間が短縮されます。バグを見つける際の開発者の時間を節約します。これは、最良の結果を達成するためにチーム間の良好なコミュニケーションと調整を重視する重要な共同アプローチです。開発者にタイムリーなフィードバックを提供することで、開発とテストの間のギャップを埋めることができます。

1. DevOps でのテストはどのように機能しますか?

DevOps は、開発チームと運用チーム間のスムーズなコミュニケーションを促進し、今日の競争の激しいソフトウェア開発環境の要求を満たすために両チームが協力できるようにします。 2 つのチームは責任を共有し、高品質の商品をより頻繁に、より迅速に提供するという最終目標を達成するために協力します。

強力な DevOps テスト自動化戦略、ベストプラクティス、そしてもちろん適切な DevOps ツールとテクノロジーのサポートにより、組織はこれらの目標をより迅速かつ効率的に達成できます。継続的インテグレーションと継続的デリバリーは、迅速なソフトウェア リリースを実現するための 2 つの主要な DevOps 戦略です。これは、開発サイクルのあらゆる段階で継続的なテストを行うことが、ソフトウェアの品質を維持するために重要であることも意味します。

アジリティが勢いを増すにつれ、ソフトウェア テストも盛んになりました。それ以来、テスト分野では数十の新しいテクノロジー、より高速な共同テスト方法やツールが登場しました。簡単に言うと、DevOps におけるテストは次のようになります。テストは自動化され、継続的に行われるため、ソフトウェアを迅速かつ頻繁に配信できます。

  • 継続的テストはソフトウェア開発ライフサイクル (SDLC) の不可欠な部分であり、開発サイクルのすべての段階で実行されます。
  • エラーが発生したときのバックトラックを減らすために、さまざまなソフトウェア開発ライフサイクル (SDLC) レベルでさまざまな種類のテストを実行します。
  • DevOps の自動化テストでは、複数のチームの従業員がテストの責任を共有し、協力して問題解決に関する独自の視点と、各変更の影響の包括的な理解を提供します。

2. DevOpsにおけるシフトレフトアプローチ

ソフトウェア開発サイクルの最後にテストが行​​われる従来の環境とは異なり、DevOps 文化ではシフトレフト テスト アプローチが採用されています。シフトレフト テストでは、テストを開発サイクルの早い段階に押し進めます。つまり、開発が始まるとテストが始まります。これにより、DevOps チームは問題をできるだけ早く特定して解決できるようになります。 DevOps 継続的テストのこの機能は強みであり、ソフトウェアの品質を大幅に向上させるのに役立ちます。これらの特性に関係なく、DevOps テスト戦略の成功または失敗は、企業が戦略的な継続的テストのための DevOps ベスト プラクティスをどの程度開発し、実装するかによって決まります。

3. DevOpsにおける継続的テストを最適化するためのベストプラクティス

企業がテストを成功させるために採用すべき、DevOps における継続的テストを最適化するためのベストプラクティスを見てみましょう。

(1)ゼロからフィードバックループを作る

効果的な継続的テスト プロセスは、さまざまなチーム メンバーを接続し、エンドツーエンドのコミュニケーションを確保するフィードバック ループを作成することから始まります。その結果、メンバー間の連携が向上し、プロセスの最後には高品質の製品が提供されるようになります。これにより、ブレインストーミングが可能になり、問題に対する新しいアイデアや解決策を導入することもできます。

(2)テスト自動化スイートを最大限に活用する

継続的なテストは機能に依存するため、DevOps 自動化テスト戦略に基づいて適切なテスト自動化スイートを選択することが重要です。最大限の結果を得るには、テスト自動化スイートの全機能を活用する必要があります。 DevOps プロセスのどの段階でもエラーが発生しないか自動テストを実行します。

企業では、自社のテスト ニーズに適しているかどうかを確認せずに、他の企業が使用しているという理由だけで、テスト スイートを生成するツールを選択することがあります。たとえば、Selenium は API チェックを実行できませんが、同じ目的で使用されてきましたが、Web サービス レベルでは機能しないため、理想的な結果は得られませんでした。さまざまなツールによって提供される機能により、テスターはテスト スイートにプログラムを次々に追加したくなることがあります。その結果、DevOps の自動化テストに関しては、既存のソリューションの有用な機能を見落としたり、過小評価したりすることがよくあります。そのため、開発者には、ツールをしばらく使用した後、その機能をよりよく理解するためのトレーニングや入門コース、またはメンタリングを提供する必要があります。

(3)粘り強さと適応力

継続的テストは、構造化されたルールの厳格なセットではなく、オープンで適応性のある概念です。

それは、ビジネスの内容と、それを作成するために使用されるツールによって異なります。継続的テストの全体的な目標は、ソフトウェア開発ライフサイクル (SDLC) の早い段階で欠陥を見つけて解決し、高品質のソフトウェアをより早く開発することですが、これを実現する方法は他にもたくさんあります。

したがって、DevOps テスト自動化戦略は、継続的なテストを改善するための複数のアプローチを可能にするために常に十分に適応可能である必要があります。 DevOps では、テスターは従来の手動テストを自動化するワークフローを作成する必要があり、その結果は共通のリポジトリに保存して、テスターが最も可能性の高い問題を追跡し、事前に修正できるようにする必要があります。

問題を特定したら、それに固執する必要があります。これには、機能しない領域に盲目的に飛び込むのではなく、特定された問題に対するさまざまな可能な解決策を深く掘り下げることが含まれます。目標を常に見据え、プロジェクトベースの目標ではなく製品ベースの目標に焦点を当て、データと洞察を分析して問題が発生する前に予測する必要があります。

(4)ヘッドレスブラウザを使用する

あらゆる Web アプリケーション テストでは、DevOps テスト戦略にヘッドレス ブラウザーの使用を含める必要があります。ヘッドレス ブラウザにはグラフィカル ユーザー インターフェイスがなく、他の一般的なブラウザと同様の環境で Web ページの自動制御が可能になりますが、コマンド ライン インターフェイスまたはネットワーク通信を介して使用することもできます。 Html Unit、Firefox Headless Mode、Headless Chrome、Splash、Zombie.js、Puppeteer などは、ヘッドレス ブラウザーの例です。

ユーザー インターフェイスを使用せずに DevOps 自動化テストを実行できます。これらのブラウザは、テストを迅速に実行し、メモリ使用量を抑え、UI/GUI よりも速く結果を提供できるため、企業が継続的なテストを拡張するのに役立ちます。継続的テストの利点については、誰もが聞いたことがあるでしょう。それは、迅速なフィードバック、早期のバグ検出、問題が持続不可能になる前に開発者が修正できる能力などです。

従業員は、パフォーマンス監査、ユニット テスト、アクセシビリティ テストにさまざまな JavaScript ベースのツールを使用できるため、継続的なテストがシンプルで使いやすくなります。 DevOps テスト自動化戦略では、スムーズな顧客体験を実現する高品質の製品を提供するクラウドベースの顧客サービス ソリューション (Contact Center as a Service) に似たシステムの開発に重点を置く必要があります。サービスおよびサポート業界は急速に進化しており、これがヘッドレス ブラウザを使用した継続的なテストが重要である理由の 1 つです。

(5)DevOpsチームの潜在能力を活用する

DevOps は開発と運用を連携して実践することです。エンジニア、ユーザー エクスペリエンス (UX) の専門家などを含むすべてのチーム メンバーは、このハイブリッド アプローチでテストを実践する必要があります。このコラボレーションの最終的な目標は、最高品質の製品を顧客に提供することであり、そのためにはチーム全体が協力して継続的に作成、テスト、再構築、再テストを行う必要があります。

出力の品質が損なわれないようにすることは、すべてのチームメンバーの責任です。これは、選ばれた品質保証 (QA) テスターだけが主要業績評価指標に取り組むだけでなく、すべてのチーム メンバーが協力して最終目標を達成する必要があることも意味します。チームが地理的に異なる場所に存在し、リモートで通信する場合でも、これが主な目標となるはずです。品質保証 (QA) チームでさえ、開発や展開のあらゆるステップに関与する可能性があり、コンテナの概念からインフラストラクチャの自動化まで、あらゆることに精通している必要があります。

4. 結論

DevOps テスト戦略を開発する際には、常にチームメンバー間のコラボレーションに重点を置く必要があります。継続的テストは、メンバー同士の信頼関係に基づいて構築される必要があります。メンバーが協力して問題を探り、解決策を提供し、共同作業を通じてプロジェクト目標を達成できる必要があります。

多くの企業では、DevOps は市場で競争力を維持または強化するためのワンストップ ソリューションであると考えられています。継続的テストは、クラス最高のソフトウェアが迅速かつ効率的にリリースされることを保証する継続的インテグレーション/継続的デリバリー パイプラインの重要な側面です。一方、DevOps 文化の中で企業が採用する DevOps ベスト プラクティスの品質は、テストの成功に大きな影響を与えます。さらに、自動化とツールの選択は、組織が DevOps 目標を達成し、DevOps テスト戦略の品質を向上させるのに役立ちます。

オリジナルリンク: https://dzone.com/articles/best-practices-to-optimize-continuous-testing-in-d

<<:  「オープンクラウド」とは実際には何を意味するのでしょうか?

>>:  ガートナー: 中国でマルチクラウド モデルを成功させる方法

推薦する

2019 年のサーバーレス テクノロジーに関する 5 つの予測

クラウドコンピューティング技術が今後さらに影響力を増すにつれ、サーバーレスの開発は継続されます。 2...

Baidu 7.21を合理的に扱い、サイト内の問題を分析する

7月21日、4つのウェブサイトのホームページのスナップショットの1つが消えていることに気付きました。...

AWS が Amazon DevOps Guru をリリース

12月7日、Amazon Cloud Service(AWS)が開催する年次イベント「AWS re:...

ブロググループ構築のいくつかの方法

数年前、ブログ グループを構築する SEO 手法が導入され、多くの支持者がいます。いわゆるブロググル...

namecheap は 3 月 23 日に com ドメイン名を 0.98 ドルで登録しました。

数日前、0.98 登録ドメイン名は新規ユーザーのみ利用可能でしたが、2 週間以内に再び利用可能になり...

電子商取引ウェブサイトを宣伝し最適化する方法について簡単に説明します

電子商取引の発展は急速で、さまざまなウェブサイトの設立も業界全体の進歩を加速させています。時間の経過...

アリペイ第3回総会

2013年11月9日から11月11日にかけて、中国共産党第18期中央委員会第3回全体会議という重要な...

「.中国」ドメイン名は10月末までに完全に独立して運用される予定

記者らは昨日、2012年10月29日から「中文.CN」と「中文.中国」のドメイン名が独立して登録・提...

テンセントが2012年に買収したインターネット企業のレビュー

7月23日のAdmin5 Webmaster Networkによると、先週、Caixin.comはS...

分散IDとは何かを理解するのに役立つ記事

[[409671]] 1. 分散IDとは何ですか?分散システムでは、データ、メッセージ、HTTPリク...

ユーラシアクラウド:米国cn2 giaネットワーク、200G高防御VPS、20%割引、月額46元から、Windows/Linuxをサポート

Ouyayunは現在、米国西海岸のロサンゼルスデータセンターで、CN2 GIAハイエンドライン+20...

[SEO例] 明るい未来を見つけるための新しい方法を見つける

中秋節はもうすぐそこです。あと1か月ちょっとです。そこで、誰もがトラフィックを増やすために中秋節の最...

クラウド導入を成功させるためのベストプラクティス 10

ビジネスをクラウドに移行することは良いことですが、企業は慎重に進めなければなりません。組織が複数のワ...

SEO ロード: 適者生存

4月25日、百度プラットフォームは外部リンクの不正行為に対する挑戦を発表し、調整の範囲は包括的です。...