how perform software product testing detailed process
ソフトウェア製品は、適切かつ正確にテストするために独自のアプローチを必要とします。多くの場合、チームはそれらを他のソフトウェア(つまり、特定のクライアントまたはチーム用に構築された内部アプリケーション、一般の人はアクセスできない、収益を生み出さない)として扱い、それが問題の開始点です。
ソフトウェア製品テストには、付加価値を付けるためのカスタムテストスタイルと戦略が必要です。ソフトウェア製品の開発と維持はそれ自体が複雑なエコシステムであり、テスターを繁栄させるには適応する必要があります。
なぜそれが重要なのか、そして製品開発が最高の時でさえ複雑で複雑で複合的であると私が考える理由を少し説明しましょう。
学習内容:
- ソフトウェア製品開発の課題:
- ステージ#1)製品紹介
- ステージ#2)製品の成長
- ステージ#3)製品の成熟度
- ステージ#4)製品の衰退/製品の成長への循環
- 製品テスターとして成功する理由は何ですか?
- 推奨読書
ソフトウェア製品開発の課題:
ソフトウェア製品開発チームが直面する課題のいくつかを次に示します。
#1)ユーザーの人口統計、デバイス、環境、プラットフォームなどに対する制御の欠如。 :特定の利害関係者向けに構築されたソフトウェアとは異なり、ソフトウェア製品は、制御された予測可能な状況では使用されません。考慮に入れるにはあまりにも多くの要因があります。
#二)霧の製品ビジョン :製品の動作と機能は絶えず変化しており、成熟への道のりははっきりとは見えません。または、製品の成長が速すぎて制御不能になり、チームが何が起こっているのかわからない場合もあります。
#3)積極的なタイムライン :ソフトウェア製品市場での激しい競争のため、物事は驚異的なスピードで進む必要があり、チームは仲間の一歩先を行く必要があります。そうでなければ、彼らは競争に負けることは確実です。
#4)失敗への恐れ :ソフトウェア製品は通常革新的です。したがって、彼らの成功は必ずしも与えられたものではありません。これが、企業が予算、テクノロジー、インフラストラクチャなどの面ですべてを尽くすことができない理由です。多くの場合、障害やブレークイーブンからある程度の免除を得るには、控える必要があります。
#5)実用的なフィードバックの欠如: 利害関係者やビジネスユーザーやクライアントがいないため、エンドユーザーが何を好むか、好まないかを理解することは困難です。企業は常に推測ゲームをプレイしており、ソフトウェアに求めるものと顧客が望むものとの間のギャップを埋めるのが難しいことがよくあります。
これらの課題は、製品開発、マーケティング、および維持のすべての領域に影響を及ぼします。また、本質的に製品テストにも影響を及ぼします。
ゲームを進めるには、このタイプのテストで5つの重要なポイントを考慮する必要があります。
- 開発とリリースのスピード
- 製品の短期および長期の製品目標
- 競争の範囲と性質
- ターゲットオーディエンスとその環境
- 要件– 機能、パフォーマンス、セキュリティ、使いやすさ、構成など。
詳細に入る前に、製品のライフサイクルを理解しましょう(これは一般的な製品のライフサイクルであり、ソフトウェア製品に固有のものではありませんが、ソフトウェアは同様のパターンに従います)。
優れた製品テスト戦略/アプローチでは、製品のライフサイクルにおける現在の段階を考慮に入れる必要があります。
また読む=> 優れたテスト戦略ドキュメントの書き方
例: XYZ社の製品は、「TrackFast」と呼ばれる欠陥追跡ソフトウェアです。これは新製品であり、最初のバージョンはクラウドおよびオンプレミスソリューションとしてリリースされる予定です。 TrackFastは、他の欠陥管理システムと同様に機能し、モバイルアクセスとWebアクセスの両方のために構築されています。現在、製品がパーツで作成される2〜4週間のスプリントがあります。あなたは、顧客に会う前に「TrackFast」をテストするテストチームにいます。テストには、機能、パフォーマンス、およびセキュリティのチェックが含まれます。
境界値分析と等価分割
要約すると、これらは使用しているパラメーターです。または、必要に応じて、これがコンテキストです
各段階でテストする方法を見てみましょう。これは 製品テスト 各段階でのプロセス、方法、またはライフサイクル。
ステージ#1)製品紹介
TrackFastが市場に出るのはこれが初めてなので、良い第一印象を与えるという考えです。ですから、石を回転させないでください。すべてをあらゆる角度からテストします。それに加えて、将来のテストの基礎を築きます。
この時点での適切なテスト戦略には、次のものが含まれている必要があります。
- TrackFastの短期的な目標を検証するテスト。 「正しく出荷するために必要なもの」は、テスト作業の最前線にある必要があります。作成する エンドツーエンドのテスト (フロントエンド、ミドルウェア、およびバックエンド)すべての機能の徹底的なテスト用
- TrackFastを競合他社と比較するテスト (理想的には、これは製品所有者の仕事ですが、テスターとして2セントを追加できます。また、ソフトウェアにすでにいくつかのピアがある場合、この手順は簡単です。 例えば: TrackFastをBugzillaまたはJIRAと比較するのは簡単です。 他のレガシーシステム 。しかし、赤ちゃんが空腹または不機嫌になる時期を予測できるなど、異常なことを行うアプリを作成しているとしましょう:)、ベースラインとして使用できるアプリケーションを見つけるのは難しいかもしれません)
- プラットフォーム、ブラウザ、デバイス 互換性テスト
- インストールのしやすさのテスト 、セットアップとスピードアップ
- パフォーマンス、セキュリティ、および使いやすさのテスト
- 統合テスト 他のシステムとインターフェースする場合。 簡単な統合の例は、欠陥追跡システムが電子メールクライアントと対話して通知を送信することが多いことです。
- 回帰の計画 –将来の回帰サイクルの一部になると思われる重要なテストにフラグを立てるかマークを付けて、将来のリリースのためにそれらを自動化することを検討することをお勧めします。
- 既知の問題を計画する (バックログに追加するのか、CRとして処理するのかなど)
- 製品が次のライフサイクルステージに進むときに変更できる柔軟性。
商品が出るまでに時間がかかる場合がありますので、できる限り徹底した作業を心がけてください。
この段階では、2〜4週間のスプリントの終わりに製品の準備ができていますが、ほとんどの場合、すべてのスプリントでコードが出荷されるわけではありません。したがって、最後のスプリントテストを「完了して配信」したとは決して考えないでください。リリースされるまで、すべてのスプリントで重要なテストを繰り返します。各スプリントで、その時点までに持っている製品全体をテストします。
ステージ#2)製品の成長
最初のプロジェクトの導入後、すべてがうまくいけば、製品の成長はペースの速いレーンであるため、活動の流入を期待してください。あなたは今、大きなサメと一緒に泳いでいます、そしてあなたがついていけない限り、あなたはむさぼり食われます。
ここでは、リリースが短くなり、ソフトウェアに加えられた改善の数が増え、リグレッションの程度がほとんど管理できなくなります。
製品テスト戦略は、ソフトウェア開発が進行しているペースで機能する必要があり、ボトルネックになることはありません。
これらは役に立ちます:
- プロジェクトの長期的な目標を念頭に置いてください。それは今を乗り越えることではありません。それは、機能とともに生き、それらとともに繁栄することです。
- 早期テスト- TDDまたは BDD 新しい要件でテストを最後まで延期する代わりに
- 回帰を自動化し、それを強化する - システムにテストされていない地雷が残らないように、自動化された回帰スイートを適切に作成します
- ビジネス/製品の所有者がテストに参加したい場合は、Cucumberなどのビジネス言語ベースの自動化ツールを検討してください。
- 使いやすさを保つ テストの中心となるサイト設計。追加する機能が多いほど、サイトがきれいに見えるはずです
- メジャーリリースが発生したとき、またはアーキテクチャに大幅な変更が加えられたときに、パフォーマンスとセキュリティのテストを実行します。 (新しいサーバーが導入されたなど)ほとんどのソフトウェアシステムは、リリースごとにこれを必要としません。
- 競合他社と連絡を取り合い、製品のビジョンを理解してください
- ペアテストを適応させる 、即時のフィードバックと修正のため。可能な場合は製品の所有者を含める
- 変更と既知の問題を計画する
- 顧客からのフィードバックを入手し、成長を一定に保つための機能強化の提案として追跡できるかどうかを確認してください。 (繰り返しになりますが、これはQAチームの主な責任ではありませんが、全員が重要です)
ステージ#3)製品の成熟度
あなたの製品がここまで来たことをおめでとうございます。この時点では、機能はそれほど頻繁には変更されません。製品チームは、より多くのビジネスまたはマーケティング活動をもたらすことにさらに焦点を合わせます。ただし、製品の開発とテストは停止する必要はなく、多くの場合停止しません。
したがって、テストチームは次のことができます。
- テスト戦略の成熟に取り組みます。この時点で、回帰スイート、テスト設計方法、およびテスト管理手法は、十分に油を塗ったマシンのように機能する必要があります。
- より細かい部分に焦点を当てます。全体的に製品は機能し、うまく機能しているからですが、彼らが言うように-‘ 神は細部にあります」 –システムの品質を向上させる可能性のある最小の問題を見つける
- 顧客からのフィードバックを検討する
- パフォーマンスとセキュリティを定期的にテストする
- 前回のテストから市場に登場した可能性のある新しいデバイス、プラットフォーム、およびブラウザーを考慮に入れてください
- 今では時間と余裕があるので、ユーザーマニュアルとFAQページをテストしてください。
- 新しい製品のテストツール、サービス、またはプロセスを試してみてください。
- すべてのリリースでインストールプロセスをテストしますが、それがどんなに小さくても、エンドユーザーにとってどれほど簡単か難しいかについての統計を取得します。
何をするにしても、自己満足しないでください。
ステージ#4)製品の衰退/製品の成長への循環
最近の製品の所有者と企業は賢く、製品を同じに保つことができず、ユーザーが忠実であり続けることを期待していることをよく知っています。物事の動きが速すぎて、製品もそうです。
そのため、TrackFastは座ってリラックスすることはできません。継続的な市場プレゼンスを持ち、リーダーであり続ける必要がある場合は、進化する必要があります。好むと好まざるとにかかわらず、Facebookは人々をつなぐシンプルなソーシャルネットワークとして始まり、それ自体が他の何百万ものものと統合され、最新の状態を保つ大規模なソフトウェアプラットフォームです。
偽のメールアドレスを作成する方法
TrackFastも進化する必要があります。信頼性が高く効果的な欠陥追跡システムであることを証明した後、進化する必要があります。そうしないと衰退します。そのため、XYZ社はTrackFastを、ソフトウェア開発プロセスの欠陥だけでなく、IT /テストチーム(JIRAなど)以外のビジネスによるインシデントやケースの追跡に使用できる一般的なチケットシステムにすることで改善することを決定しました。 。
ホイールが完全に回転し、システムをまったく新しいものとして扱い、製品紹介のセクションで説明した戦略に従います。今だけあなたはより経験があり、ドリルに精通しています。ただし、新しいターンごとに新しい課題が発生することを忘れないでください。だから鋭いままで:)
製品テスターとして成功する理由は何ですか?
- 製品テスター 鋭いビジネスセンスと短納期開発モデルの理解が必要であり、エーステスターである必要があります ツールを試すことを恐れず、必要に応じて自分自身で少しコーダーになる人。これらのことは、あらゆるタイプのテストにプラスの影響を与える可能性がありますが、このタイプのテストでは絶対に必要です。
- もう1つの重要な品質は 製品テスターは製品を信じる必要があります そして本当にそれが成功することを望んでいます。テスターとしての私がソフトウェアが完全なゴミだと思うとき、私がそれをより良くするために何かをするという希望はほとんどありません。
- 製品/事業主のビジョンを共有する 。製品がどこに行き、どのように進化するかを知らない限り、テストは非常に限られたものになります。
- 部門の枠を超えたスキルは有益です – DBをテストする方法、パフォーマンスベンチマークを取得する方法、セキュリティ証明書を有効にする方法、展開する方法などを理解します。 好奇心を持って探索する 。
- 境界を設定しない –ユーザーマニュアルの評価やFAQの確認はあなたの仕事ではなく、テクニカルライターがそれを処理する必要があるとは思わないでください。まあ、彼らはすべきであり、そうするでしょう。しかし、製品を裏返しに知っている誰かとしてそれをインサイダーとして見るとき、あなたのフィードバックは非常に役に立ちます。
- エンドユーザーのフィードバックを求めます。 あなたの後にテストする次の大勢の人々は、リアルタイムユーザーです。彼らが直面している問題の種類を知り、理解します。これにより、テストデザインを改善できるため、次回、これらの問題を回避するために何をすべきかがわかります。
- 迅速に作業し、意思決定者になる
- 技術的負債を回避する 。開発とテストが迅速に行われる状況では、探索的に排他的にテストし、将来のリリースの基準枠を失うことは簡単です。これを起こさせないでください。追跡、追跡、測定できるように、骨格のドキュメントを維持します
サービスとして構築されたソフトウェアと製品として構築されたソフトウェアのテストの最大の違いは、前者では、テスト戦略に到達すると、それ以降のすべてのテストに適用されることです。
ただし、製品の場合、テスト戦略は、製品の現在のライフサイクルの段階と、市場のダイナミクス(新しいデバイス、新しいブラウザなど)の変化に応じて変更する必要があります。製品テスト戦略は、変更に対してはるかに柔軟である必要があります。
著者について: この記事は、STHチームメンバーのSwatiSによって公開されています。
この記事がお役に立てば幸いです。コメント、質問、フィードバックを以下に投稿してください。
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- ソフトウェアテストQAアシスタントジョブ
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事
- ソフトウェアテストにおける耐久性テストとは(例)
- いくつかの興味深いソフトウェアテストのインタビューの質問
- ソフトウェアテストコースのフィードバックとレビュー