shift left testing secret mantra
ソフトウェア開発におけるDevOpsのマントラである新しいShiftLeft Testing:
クイック DevOpsのすべてのビデオチュートリアルの要約 以前のチュートリアルで説明しました。次に、シフト左テストについて説明します。
「ShiftLeft」という用語を使用するとき、ソフトウェアでShiftLeftを何を指しているのか疑問に思われるかもしれません。
2年以上前、私がソフトウェアテスターとしてのキャリアを開始したとき、ソフトウェア開発のための個別の「テストフェーズ」はなく、テスターの役割はまったく存在していませんでした。開発者は、ソフトウェアの開発、テスト、およびソフトウェアリリースの作成に使用されていました。
さらに読む=> 有益なDevOpsチュートリアルシリーズ
の概念 ソフトウェアテスト 生産からの欠陥がプロジェクトの予算に達し始めたときに徐々に導入されたため、「機能テスト」は非常に無駄のないテスターチームで実施されました。その時点で、私たちは20人の開発者のチームに対してたった2人のテスターでした。
IT業界は、ソフトウェア開発のウォーターフォールモデルに従い始めました。このモデルでは、ご存知のとおり、ソフトウェア開発ライフサイクルは次の順序で順番に実行されます。 要件=>設計=>コーディング=>テスト 。
したがって、左から右に開始する場合、テストフェーズはソフトウェア開発ライフサイクルの右端にあります。
学習内容:
左シフトの概念の概要
ある期間にわたって、人々は ソフトウェアテスト そして、「テストフェーズ」を右端またはソフトウェア開発ライフサイクルの最後に維持することの影響。この認識は、極右に向かって特定されたバグのコストが非常に高く、多大な労力とそれらを修正するために多くの時間が必要だったために起こりました。
ソフトウェアに多大な時間と労力を費やした後、最後に特定された重大なバグのために、ミッションクリティカルなソフトウェアを市場にリリースできず、大きな損失をもたらす場合がありました。
したがって、 最終段階でのバグの特定 リリースが遅れるか、時には、それらを修正するために必要な労力を考慮してソフトウェアが廃棄されましたが、これは実際には価値がありませんでした。
「欠陥は、早期に発見された方がコストが低くなります」。
この認識と学んだ大きな教訓は、ソフトウェア業界に大きな革命をもたらし、と呼ばれる新しい概念を生み出しました。 「左シフト」 、つまり、「テストフェーズ」を右から左にシフトするか、すべての段階でテストを行い、全体にテスターを含めます。
左シフトテストは、最終的にテストするのではなく、継続的にテストすることも意味します。
シフトレフトテストとは何ですか?
まず、「左シフト」の原則は、 テストチームがすべての利害関係者と早期に協力する ソフトウェア開発段階で。したがって、彼らは要件を明確に理解し、 テストケースを設計する ソフトウェアの「FailFast」を支援し、チームがすべての障害を早期に修正できるようにします。
jarファイルを実行する方法windows10
Shift Leftアプローチは、ソフトウェア開発ライフサイクルのかなり早い段階でテスターを関与させることに他なりません。これにより、テスターは要件、ソフトウェア設計、アーキテクチャ、コーディングとその機能を理解し、顧客、ビジネスアナリスト、開発者に難しい質問をすることができます。 、説明を求め、チームをサポートするために可能な限りフィードバックを提供します。
この関与と理解により、テスターは製品に関する完全な知識を習得し、さまざまなシナリオを検討し、コーディングが行われる前でもチームが欠陥を特定するのに役立つソフトウェアの動作に基づいてリアルタイムのシナリオを設計できます。
左シフトはソフトウェア開発にどのように影響しますか?
シフトリフトアプローチは、いくつかの方法でソフトウェア開発に影響を与えます。
以下に、左シフトに関するいくつかの重要なポイントを示します。
- 左シフトアプローチはに焦点を当てています すべての、そして最も重要な重要な段階でテスターを巻き込む プログラムの 。これにより、テスターは欠陥検出から欠陥防止に焦点を移し、プログラムのビジネス目標を推進することができます。
- 左シフトアプローチは、 テストの重要性が高い これにより、テスターの役割と責任が大幅に高まります。
- テストチームの責任が増しているため、チームは 「ソフトウェアをテストしてバグを特定する」 、しかし、初期段階からチームと積極的に協力して、製品の長期ビジョンに焦点を当てるだけでなく、チームに優れたテストリーダーシップとガイダンスを提供することにより、堅牢で効果的なテスト戦略を計画および構築します。テスト作業の責任。
- 左シフトアプローチは テスターが最初にテストを設計する機会 、テストは完全に顧客体験と彼らの期待に焦点を合わせており、開発者はこれらのテストに基づいてソフトウェアを開発し、顧客のニーズを満たすことができます。
- 左シフトアプローチは、テスターだけで終わるわけではありません。レットに移動し、テスト活動を継続的に実行することも 開発者がより多くの所有権を取得できるようにする 彼らのコードのそしてテストの彼らの責任を増やします。
- 左シフトアプローチも奨励します 採用するテスター ビヘイビア駆動開発BDDおよびテスト駆動開発TDD 、ソフトウェアへの欠陥の誘導を防ぐのに役立ちます。
- アジャイルでの左シフトテスト: 左シフトアプローチは成形をサポートします アジャイルスクラム テスターを強制的に含むチーム 他の役割とともに、定期的なスタンドアップコール、他の対話、レビュー会議にテスターが含まれます。これにより、テスターはプログラムに関連するより多くの情報を得ることができ、ソフトウェアの詳細な分析にふけることができ、提供することができます。ソフトウェアに基づく欠陥の防止に役立つ迅速なフィードバック。
全体的な左シフトテストでは、テスターは 「早く参加する」 、できるだけ早く、議論に参加し、アイデア、ステージの結果が最終成果物の価値に影響を与えるすべてのステージでの要件に協力し、プロジェクトがリスクを特定して事前に軽減するのにも役立ちます。
テスターは左シフトで何を変えるべきですか?
以下に示すのは、テスターが異なる方法で行うこととして注意すべきいくつかの重要な要素です。 左シフト戦略:
#1) テストチームはする必要があります プロジェクト開始直後からシステムに早期に関与する チームの他のメンバーやビジネスとの統合を発展させるために すべての段階で有用な入力を提供します ソフトウェア開発の。
#二) テストチームは、ビジネス&オペレーションチームと協力して、 プログラムを明確にする また、オンデマンドで明確なビューを提供し、リソースの立ち上げのニーズ、トレーニングのニーズ、およびプログラムのテストツールの要件を事前に効率的に計画するのに役立ちます。
#3) テストチームは、ソフトウェア開発の早い段階ですべてのビジネス関係者と対話する必要があります。 製品の明確な可視性を得る & 統一されたテスト戦略を設計する 最適化されたテスト作業を計画し、テスト環境、サードパーティ、スタブなどへの依存関係を分析し、堅牢な自動化戦略とフレームワークを準備して、効果的なテストデータ管理計画を作成します。
#4) テストチームは、他のチームと協力して提供する必要があります 優れたテストリーダーシップとチームへのガイダンス これにより、テスト活動の責任を取るだけでなく、長期的な製品ビジョンを念頭に置くことができます。
#5) 要件は、プログラムの成功の鍵と基礎であり、明確に定義された要件がプロジェクトの成功を定義します。要件計画フェーズ中、テスター 要件を確認および分析する必要がある あいまいさ、明確さ、完全性、テスト容易性、受け入れ基準の定義など。
また、不足している要件(ある場合)を特定し、依存関係と実装戦略を理解する必要があります。明確な要件は、ソフトウェアが「迅速に失敗」し、すべての失敗を早期に修正するのに役立ちます。
#6) を引き出すことにより、要件に十分な明快さと精度をもたらします 実際の例 使用されている機能を示しています。
# 7) テスターはする必要があります デザインレビューミーティングに参加する 定期的に製品の設計とアーキテクチャを理解し、設計の欠陥を特定し、代替の設計オプションを提案し、抜け穴を特定し、それに応じてテストシナリオを作成して設計を破ります。
#8) テスターはする必要があります 実施する 静的テスト (レビュー) 十分に前もって、主要なプロジェクトドキュメントに関するフィードバックを提供して、欠陥がソフトウェアに根付き、後でその影響が広がるのを防ぎます。
#9) テストチームは、設計および開発チームと協力する必要があります コードを開発するために事前にテストシナリオを提供する 考えられるすべてのリアルタイムシナリオとビジネスフローに対応します。
#10) テストチームは設計する必要があります 強力で堅牢なテストシナリオ そのため、テスト中に少数の欠陥のみが識別され、テスト段階に入るときに大きな欠陥が防止されます。
#十一) テスターはする必要があります できるだけ早くテストする 、スタンドアロンシステムでもローカルシステムでも、欠陥が後の段階に入らないようにします。
テスターの「左シフト」の概念の要点は、あらゆる手段で欠陥をできるだけ早く見つけることです。
左シフトテストの利点
Shift Leftアプローチは、アジャイルマニフェストに基づいて機能し、いくつかの利点もあります。
彼らです:
- 個人と相互作用 プロセスとツールを超えて。
- 動作するソフトウェア 包括的なドキュメントを超えています。
- 顧客とのコラボレーション 契約交渉を超えて。
- 変化への対応 計画に従うこと以上。
右側のアイテムには値がありますが、左側のアイテムの方が価値が高いことがわかります。
Windowsでapkファイルを開く
さて、Shift Leftは、プロセスの早い段階でテストのアイデアをもたらし、それによってより優れた効率的なテストを実現し、ソフトウェアの品質を向上させることを目的としています。
一言で言えば、左シフトテストプロセスは次のとおりです。
- 欠陥を早期に発見し、それによってプロジェクトのコストを削減します。
- 最終的に欠陥を減らすために何度も何度も継続的にテストします。
- すべてを自動化し、市場投入までの時間を短縮します。
- 顧客の要件に焦点を合わせ、顧客体験を向上させるため。
結論
「左シフト」 コンセプトは、「テスト」の役割全体に大きな変革をもたらしました。それまでは、テストの唯一の焦点は「欠陥検出」のみでしたが、現在、テストの観点からの「左シフト」の目的は、 「早期欠陥検出から 欠陥防止 ' 。
したがって、Shift Leftは、ソフトウェア開発の方法論におけるソフトウェア業界の大きな飛躍であり、市場投入までの時間を短縮し、ソフトウェア品質を向上させ、「市場投入までの時間」を短縮します。
著者について: この記事は、STHチームのメンバーであるGayathriSubrahmanyamによって書かれました。彼女は、テスターの役割が業界に導入されたちょうどその時、90年代からソフトウェアテストに携わっています。彼女はテストのキャリアの中で、テスト配信の処理に加えて、多くのTMMI評価、テスト工業化作業、TCOEセットアップを行い、大規模なエンゲージメントのためにDevOpsプラクティスを実装しました。しかし、彼女によると、学習は止まることはありません…
以下のコメントセクションであなたの考え/提案を教えてください。
前のチュートリアル | 次のチュートリアル
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ソフトウェアテストQAアシスタントジョブ
- 品質のシフトレフト:テストにおけるシフトレフトと同じくらい重要ですか?
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事
- いくつかの興味深いソフトウェアテストのインタビューの質問
- ソフトウェアテストコースのフィードバックとレビュー