practical software testing qa process flow
エンドツーエンドのQAソフトウェアテストプロセスフローの完全な概要:
注–更新されたコンテンツでこの便利な投稿を再公開しています。
ソフトウェアテストの専門家の仕事は簡単なものではありません。それは同様に要求の厳しい課題で満たされています。テスターは、アプリケーションライフサイクルのすべてのフェーズで注意深く熱心に取り組む必要があります。
課題はありますが、テストの方法論、プロセス、そしてもちろんソフトウェアのさまざまな側面を詳細に学び、探求する絶好の機会もいくつかあります。
テストエンジニアの役割は非常に早い段階から始まります。また、プロジェクトの概念化から、テスターは製品の所有者、プロジェクトマネージャー、およびさまざまな利害関係者との話し合いに参加します。
「ソフトウェアテストプロセスフロー」に関するこのチュートリアルでは、STLCのさまざまなフェーズの完全な概要と、関連する課題、およびそれらの課題を簡単に理解できる方法で克服するためのベストプラクティスについて説明します。
学習内容:
リリースの要件–完全な概要
要件からリリースまで、各フェーズが明確に説明されています。それらを詳しく見てみましょう。
#1)要件
明確な要件がなければ、プロジェクトを開始することはできません。これは、アイデアをよく理解でき、フォーマットされたドキュメントに書き込む必要がある最も重要なフェーズです。要件収集フェーズに参加しているプロジェクトに参加している場合は、幸運だと考えてください。
新しいシステムが実際のデータで機能することを確認するために使用されるテストのタイプはどれですか?
なぜだろうか?それはあなたがゼロから作るプロジェクトを目撃しているからです。創業以来の誇りはありますが、責任と課題もあります。
課題
一度に集まるためのすべての要件を想像することはできません。十分に我慢してください。
多くの議論が起こり、そのいくつかは単にあなたのプロジェクトとは無関係かもしれませんが、それでもあなたのプロジェクトにとって重要な情報が含まれているかもしれません。話し合いのスピードが把握能力を超えたり、単に製品の所有者に注意を払わなかったりする場合があります。
次の図は、要件の収集に関連する重要な手順を示しています。
見逃されたすべての情報は、プロジェクトの全体的な理解とテストに大きな影響を与えます。これを克服するために、このフェーズで従う必要のあるいくつかのベストプラクティスを次に示します。
ベストプラクティス
- 心を開いて、製品所有者のすべての言葉に注意を払ってください。
- ただ耳を傾けるだけでなく、どんなに小さく見えても疑問を解消してください。
- 迅速なメモ保持のために、常にノートブックを使用してください。本当にかなりの速度で入力できる場合にのみ、ラップトップを使用する必要があります。
- 文章を繰り返して、あなたが理解したことだと思うPOからそれらを明確にします。
- ブロック図やリンクテキストなどを描画して、後で要件をより明確にします。
- チームが異なる場所にある場合は、WebExまたは同様の記録にするように努力してください。議論が終わった後に疑問があるとき、それは常に助けになります。
フェーズごとに個別の壁はありませんが、開発の非常に遅い段階でも要件は変更されます。したがって、アイデアは、要件のほとんどを取得し、これを適切に文書化することです。
必要なすべてのポイントが文書化されたら、すべての利害関係者を配布して話し合い、提案や変更が早期にキャッチされ、次に進む前に全員が同じページにいるようにします。
#2)テスト戦略
テスターは、ソフトウェアをより適切にテストするのに十分であるだけでなく、製品の品質に関してすべての利害関係者に信頼を植え付ける必要があるテスト戦略を考え出すことになっています。
課題
このフェーズの最も重要な側面は、作業時にエラーがなく、持続可能で、エンドユーザーに受け入れられるソフトウェア製品を提供する戦略を作成することです。
テスト戦略は、1日おきに変更することはありません。場合によっては、テスト戦略についても顧客と話し合う必要があります。したがって、この部分は非常に重要に扱われる必要があります。
ベストプラクティス
- ここにいくつかのベストプラクティスがあります。これに従うと、大きな安心感が得られ、スムーズなテストが可能になります。
- 要件ドキュメントをもう一度確認します。ターゲットソフトウェアの環境に関して、インポートポイントを強調表示します。
- ソフトウェアが実際に展開される環境のリストを作成します。
- 環境は、オペレーティングシステムまたはモバイルデバイスの一種として理解できます。
- Windowsがオペレーティングシステムの場合は、ソフトウェアをテストするウィンドウのすべてのバージョンをリストします。バージョンvizの場合。 Windows 7、Windows 10、またはWindows Serverはまだ要件ドキュメントで定義されていないため、これらについて話し合う必要があります。
- 同様に、AUTがWebベースのシステムである場合は、説明および文書化されたバージョンのターゲットブラウザを入手してください。
- アプリケーションに必要なすべてのサードパーティソフトウェアのリストを作成します(必要な場合/サポートされている場合)。これらには、Adobe Acrobat、Microsoft Office、アドオンなどが含まれる場合があります。
ここでの背後にある考え方は、包括的な戦略を策定できるように、アプリケーションが機能するために必要なすべての必要なプラットフォーム、デバイス、およびソフトウェアを保持することです。
以下の図は、アジャイルプロジェクトに取り組んでいる場合のテスト戦略の概要を理解するのに役立ちます。
#3)テスト計画
テスターがAUTに関するすべての情報を入手した後、計画フェーズで戦略が実装されます。
テスト戦略と同様に、テスト計画も重要なフェーズです。
課題
AUTの成功(または失敗)は、テストの実行方法に大きく依存するため、このフェーズは、テストライフサイクル全体の重要な側面になります。どうして?テストの一部がこのフェーズで定義されているためです。
いくつかの課題を克服するために、これらのベストプラクティスは本当に役立ちます。
ベストプラクティス
- アプリケーションのテストに関しては、石を放置しないように常に心がけてください。
- テスト戦略を策定する時が来ました。
- ソフトウェアがすべてのプラットフォームでテストされるように、環境のマトリックスを作成します。
- 同様に、Windows 10 + Internet Explorer 11+ Windows Office2010 +。
- Android 4.2.2 + Chromeブラウザのように。
- アプリケーションが複数のデータベースで動作する場合(文書化されている場合)、データベース(MySQL、Oracle、SQLServer)をいくつかのテストと統合しすぎるように、テストマトリックスに保持します。
- それに応じてテストマシンを構成し、SetUp1、SetUp2などの名前を付けます。
- SetUp1には、Windows 7+ IE 10+ Office2007 +が搭載されます。
- SetUp2には、Windows 10+ IE Edge + Office2013 +が含まれている場合があります。
- SetUp3には、.apkファイルがインストールされたAndroidフォンが搭載されている場合があります。
- おめでとう!テストセットアップの準備が整い、アプリケーションが動作するプラットフォームの可能なすべての組み合わせも含まれています。
#4)テスト
最後に、アプリケーションビルドが終了し、バグを見つける準備が整いました。今度は、テスト計画に取り組み、できるだけ多くのバグを見つけるときです。アジャイル環境で作業する場合は、間にいくつかのフェーズがあり、それらのスクラム方法に従うだけです。
次の図は、さまざまなテストタイプの分類を示しています。
課題
テストは面倒なプロセスであり、それ自体がエラーを起こしやすいです。アプリケーションのテスト中に多くの課題が見つかります。以下に、救済するためのいくつかのベストプラクティスを示します。
ベストプラクティス
元気づける!コードの欠陥を見つけようとしています。ソフトウェアの全体的な動作に注意を払う必要があります。
- テストケースを通過せずに、アプリケーションを新鮮な外観で見ることを常にお勧めします。
- ソフトウェア(AUT)のナビゲーションパスに従います。
- AUTに慣れてください。
- 次に、特定のモジュール(多分あなたが選んだもの)のテストケース(すべて)を読んでください。
- 次に、AUTに移動し、テストケースの予想されるセクションに記載されている結果と一致させます。
- この背後にある考え方は、サポートされているすべてのプラットフォームで、言及されているすべての機能をテストすることです。
- 些細なことのように思われるすべての逸脱をメモします。
- 逸脱に到達する方法の手順を書き留め、スクリーンショットを撮り、エラーログ、サーバーログ、および欠陥の存在を証明できるその他のサポートドキュメントをキャプチャします。
- 遠慮なく質問してください。要件書はありますが、疑わしい場合があります。
- プロダクトオーナーに連絡する前に、疑わしい開発者に連絡してください(開発者があなたの隣に座っているか、連絡が取れている場合)。ソフトウェアの動作に関する開発者の視点を理解します。それらを理解します。この実装が要件に準拠していないと思われる場合は、テストマネージャーに通知してください。
#5)リリース前
製品を市場にリリースする前に、製品の品質を保証する必要があります。ソフトウェアは一度開発されましたが、実際には、交換または削除されるまでテストされています。
課題
ソフトウェアは、そのパラメータの多くについて厳密にテストする必要があります。
パラメータは以下に限定されない場合があります。
- 機能性/行動。
- パフォーマンス。
- スケーラビリティ。
- 上記のプラットフォームと互換性があります。
課題は、実行されたテストの多くの反復に依存するアプリケーションの成功率を予測することでもあります。
ベストプラクティス
- すべてのプラットフォームのすべての機能がテストされていることを確認してください。
- テストされていない領域、またはさらにテスト作業が必要な領域を強調表示します。
- リリースする前に、すべてのテスト結果のマトリックスを保持してください。テストマトリックスは、製品の安定性の全体像を示します。また、管理者がリリース日に電話をかけるのにも役立ちます。
- 製品のテスト中の経験について、チームに入力/提案を提供します。
- 自分をエンドユーザーと見なす入力は、ソフトウェア全体にメリットがあります。
- タイムクランチまたは他のそのような状況のために、私たちはいくつかのテストを逃すか、これに深く入りません。マネージャーにテストのステータスを伝えることを躊躇しないでください。
- アプリケーションヘルスカードを利害関係者に提示します。ヘルスカードには、ログに記録された、開いた、閉じた、断続的なすべての欠陥が、重大度と優先度とともに多数含まれている必要があります。
- リリースドキュメントを作成し、チーム全体で共有します。
- 作成したリリースドキュメントに取り組みます。
- 経営陣/チームによって提案された領域を改善します。
次の図は、ソフトウェアリリースライフサイクルマップを示しています。
#6)リリース
最後に、意図したユーザーに製品を届けなければならない時が来ます。私たちはチームとして、製品を承認し、ソフトウェアがユーザーを支援できるように一生懸命取り組んできました。
課題
ソフトウェアテストエンジニアは、主にソフトウェアのリリースに責任があります。このアクティビティには、プロセス指向のワークフローが必要です。このフェーズに関係するベストプラクティスのいくつかを次に示します。
ベストプラクティス
- ACTUALRELEASEの日付でリリースドキュメントに取り組んでいないことを常に覚えておいてください。
- 常に実際のリリース日の前にリリースアクティビティを計画してください。
- 会社の方針に従って文書を標準化します。
- リリースドキュメントは、ソフトウェアからの前向きな期待を確立しようとする必要があります。
- ドキュメントには、バージョンに固有のすべてのソフトウェアおよびハードウェア要件を明確に記載してください。
- すべての未解決の欠陥とその重大度を含めます。
- 開いた欠陥のために大きな影響を受けた領域を隠さないでください。それらをリリースドキュメントに配置します。
- ドキュメントをレビューしてデジタル署名します(会社のポリシーによって異なる場合があります)。
- 自信を持って、リリースドキュメントをソフトウェアと一緒に発送してください。
実際のプロジェクトでのQAテストプロセス–ウォーターフォール方式
読者から面白い質問がありましたが、 企業、つまり実際の環境でテストはどのように実行されますか?
大学を卒業して仕事を探し始めたばかりの人は、この好奇心を持っています。会社の実際の労働環境はどうでしょうか。
ここでは、の実際の作業プロセスに焦点を当てました 企業でのソフトウェアテスト 。
新しいプロジェクトを取得するたびに、最初のプロジェクト知識会議があります。このミーティングでは、基本的にクライアントは誰ですか?プロジェクトの期間とその納期はいつですか?プロジェクトに関与しているのは誰ですか?つまり、マネージャー、技術リーダー、QAリード、開発者、テスターなどですか?
SRS(ソフトウェア要件仕様)からプロジェクト計画が作成されます。テスターの責任は、このSRSとプロジェクト計画からソフトウェアテスト計画を作成することです。開発者は設計からコーディングを開始します。プロジェクト作業はさまざまなモジュールに分割され、これらのプロジェクトモジュールは開発者に配布されます。
それまでの間、テスターの責任は、テストシナリオを作成し、割り当てられたモジュールに従ってテストケースを作成することです。 SRSのほぼすべての機能テストケースをカバーするようにしています。一部のExcelテストケーステンプレートまたはバグ追跡ツールでは、データを手動で管理できます。
開発者が個々のモジュールを終了すると、それらのモジュールがテスターに割り当てられます。これらのモジュールでスモークテストが実行され、このテストに失敗した場合、モジュールは修正のためにそれぞれの開発者に再割り当てされます。
合格したモジュールの場合、手動テストは、作成されたテストケースから実行されます。モジュール開発者に割り当てられてログインするバグが見つかった場合 バグ追跡ツール 。バグ修正では、テスターが関連するすべてのモジュールのバグ検証と回帰テストを行います。バグが検証に合格すると、検証済みとしてマークされ、クローズ済みとしてマークされます。そうしないと、上記のバグサイクルが繰り返されます。 (バグのライフサイクルについては別の投稿で説明します)
個々のモジュールでさまざまなテストが実行され、モジュール統合で統合テストが実行されます。これらのテストには、互換性テスト、つまり、さまざまなハードウェア、OSバージョン、ソフトウェアプラットフォーム、さまざまなブラウザなどでのアプリケーションのテストが含まれます。
荷重および応力試験もSRSに従って実施されます。最後に、仮想クライアント環境を作成してシステムテストを実行します。すべてのテストケースが実行されると、テストレポートが作成され、製品のリリースが決定されます。
リリースする要件の手順
以下に示すのは、によって指定された各ソフトウェア品質およびテストライフサイクルで実行される各テストステップの詳細です。 IEEEおよびISO規格。
#1) SRSレビュー : ソフトウェア要件仕様のレビュー。
#2)目的 メジャーリリース用に設定されています。
#3)目標日 リリース予定です。
#4)詳細なプロジェクト計画 構築されます。これには、設計仕様の決定が含まれます。
#5)テスト計画を作成する 設計仕様に基づいています。
#6)テスト計画: これには、目的、テスト中に採用された方法論、テストされる機能とテストされない機能、リスク基準、テストスケジュール、マルチプラットフォームサポート、およびテスト用のリソース割り当てが含まれます。
#7)テスト仕様: このドキュメントには、テストの前に必要な技術的な詳細(ソフトウェア要件)が含まれています。
#8)テストケースの作成
- 煙( BVT )テストケース
- 健全性テストケース
- 回帰テストケース
- ネガティブテストケース
- 拡張テストケース
#9)開発: モジュールは1つずつ開発されます。
#10)インストーラーのバインド: インストーラーは、個々の製品を中心に構築されています。
レジストリエラーを修正ウィンドウズ10無料
#十一) ビルド手順 : ビルドには、利用可能な製品のインストーラー(複数のプラットフォーム)が含まれます。
#12)テスト: スモークテスト(BVT):さらなるテストを決定するための基本的なアプリケーションテスト。
- 新機能のテスト
- クロスブラウザ およびクロスプラットフォームテスト
- ストレステストとメモリリークテスト。
#13) テスト概要レポート
- バグレポート およびその他のレポートが作成されます
#14) コードの凍結
- この時点では、これ以上の新機能は追加されていません。
#15)テスト: ビルドと回帰テスト。
#16) 製品をリリースする決定。
#17) リリース後のシナリオ さらなる目的のために。
これは、企業環境での実際のテストプロセスの概要です。
結論
ソフトウェアテスターの仕事は挑戦に満ちていますが、それでも楽しいものです。これは、同じように情熱的で、やる気があり、熱意に満ちている人のためのものです。誰かの欠点を見つけることは必ずしも簡単な仕事ではありません!これには、多くのスキルと欠陥に対する目が離せないことが必要です。
すべての品質に加えて、テスターもプロセス指向である必要があります。他のすべての業界と同様に、ITのプロジェクトも段階的に行われ、すべての段階に明確な目標があります。そして、すべての目標には明確に定義された受け入れ基準があります。テストエンジニアは、多くのソフトウェア品質を肩に乗せなければなりません。
テスターは、ソフトウェアの任意のフェーズで作業している間、ベストプラクティスに従うことになっており、それぞれのフェーズに含まれるプロセスに合わせる必要があります。ベストプラクティスと適切に定式化されたプロセスに従うことは、テスターの作業を容易にするだけでなく、ソフトウェアの品質を保証するのにも役立ちます。
上記のフェーズのいずれかに参加しましたか?以下であなたの経験を自由に共有してください。
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- ソフトウェアテストQAアシスタントジョブ
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事
- いくつかの興味深いソフトウェアテストのインタビューの質問
- ソフトウェアテストコースのフィードバックとレビュー
- バグのないソフトウェアを本番環境に成功させるためのテストリリースプロセスを改善する方法