多くの種類のソフトウェアテスト方法
Dame la cosita aaaa
目次:
ソフトウェアが公開される前は、プログラマは小さなバグをすべて解決するために何時間も費やしていました。この製品がすべての利害関係者を満足させるまでは、商用利用はできません。
グーグルのような巨大なソフトウェア会社は、辛抱強い投資家と忠実なユーザーを持っているので彼らのソフトウェアの優先度の低いバグにもかかわらず成功する。中小企業や新興企業は、しかし、その贅沢を持っていません。顧客は、製品が販売ページまたは文書に記載されているとおりに機能することを期待しています。あまりにも多くの選択肢があるので、製品が時間とお金を浪費するのであれば、船を飛び越えることについて二度考えないでください。そのため、ソフトウェアはリリース前に次の目的で厳密なテストを受けます。
- オリジナルのコンセプトと最終的なアウトプットの違いを強調する
- ソフトウェアが設計者の計画どおりに機能することを確認する
- 最終製品が顧客の要求を満たすことを検証する
- 機能と品質を評価する
テストは、製品を前進させるために必要な情報を関係者に提供しながら、スタッフのスキル、時間、および費用を最適化するための厳密な青写真に従います。目標は、強力な品質保証プログラムを通じて、優れたエンドユーザーエクスペリエンスを促進することです。ステークスが非常に高いため、QAマネージャはテクノロジ業界でトップの獲得者の一人です。テストは通常、次の手順に従います。
- 管理者が適切なテスト戦略を実行するための計画を概説する要件分析。
- テストが始まり、結果が分析されます。
- すべての欠陥は修正され、ソフトウェアは回帰テスト、つまりプログラムが変更後も機能することを確認するシステムを通過します。
- テストクロージャレポートには、全体のプロセスと結果が詳細に記載されています。
個人は、BCS、ITのための公認協会、ISTQB®(国際ソフトウェアテスト資格認定委員会)、およびASQ(以前のアメリカ品質協会)などの組織を通じて、認定ソフトウェアテスターになることができます。
ソフトウェアテスト方法
ブラックボックステストとホワイトボックステストは、製品の動作と性能を判断するための2つの基本的な方法ですが、他にも方法があります。
- ブラックボックステスト: 機能テストまたは仕様ベースのテストとも呼ばれ、この方法は出力に焦点を当てています。テスターは内部メカニズムには関心がありません。彼らはソフトウェアがそれがするべきであることをすることを確かめるだけです。コーディングの知識は必要ではなく、テスターはユーザーインターフェイスレベルで作業します。
- ホワイトボックステスト: この方法では、テスト手順の一部としてコーディングのノウハウを使用します。製品に障害が発生した場合、テスターは必要に応じてコードを深く調べて原因を突き止めます。ソフトウェア開発者は、製品がどのように機能するのかを決定するため、自分でこれを行います。構造に基づく試験およびガラス箱試験はこの方法の他の名称である。
- 静的テスト テスターはソフトウェアのコードとドキュメントを調べますが、プログラムを実行しません。静的テストは、検証プロセス中の製品開発の早い段階で開始されます。
- 動的テスト ソフトウェアは様々な入力で実行され、テスターはこの方法で出力を期待される動作と比較します。
- グラフィカルユーザーインターフェースのテスト これは、テキストフォーマット、テキストボックス、ボタン、リスト、レイアウト、色、フォント、フォントサイズなどのGUIの特性をテストします。 GUIテストは時間がかかり、多くの場合、サードパーティ企業は開発者ではなくタスクを引き受けます。
テストレベル
ソフトウェア開発ライフサイクルの各段階における弱点と重複部分を識別するために、さまざまなレベルのテストが使用されます。
- 単体テスト: 開発者はクラス、インタフェース、関数/手続きなどのコードの最も基本的な部分をテストします。彼らは自分たちのコードがどのように対応すべきかを知っており、出力に応じて調整を行うことができます。
- コンポーネントテスト 他の名前はモジュールまたはプログラムテストです。これは単体テストに似ていますが、より高いレベルの統合が含まれています。ソフトウェアのモジュールは、それらの個々の機能を検証するために欠陥についてテストされる。
- 統合テスト これは、モジュールが統合されているときのエラーを識別します。ボトムアップ、トップダウン、および機能的増分のさまざまな統合テストがあります。
- システムテスト プロジェクトのコンポーネントは、この方法でさまざまな環境で全体としてテストされます。これはブラックボックス法に該当し、プロセスの最終テストの1つです。ビジネスとユーザーのニーズを満たすためにシステムが機能するかどうかを判断します。
- アルファテスト 社内スタッフは、シミュレート環境または実際の環境で開発者のサイトでソフトウェアをテストします。その後、開発者はバグやその他の問題を修正します。
- ベータテスト フィールドテストとも呼ばれ、お客様は実際の条件で自分のサイトで製品をテストします。クライアントは、プレリリース版またはベータ版を介してソフトウェアをテストする機会をエンドユーザーのグループに提供することがあります。改善の可能性についてのフィードバックが開発者に送信されます。
- 受け入れ試験: ブラックボックステストの範囲内で、クライアントは開発者が望ましい仕様にプログラムを作成したかどうか調べるためにソフトウェアをテストします。
テストの種類
さまざまな種類のソフトウェアテストが特定の目的に焦点を合わせるように設計されています。
- インストールテスト ソフトウェアテストエンジニアと構成マネージャがこのテストを実行して、エンドユーザーがプログラムをインストールして実行できることを確認します。インストールファイル、インストール場所、管理者権限などが含まれます。
- 開発テスト これにより、欠陥を検出して防止するための一連の同期戦略が実装されます。静的コード分析、ピアコードレビュー、トレーサビリティ、およびメトリック分析が含まれます。目的はリスクを減らし、コストを節約することです。
- ユーザビリティテスト: このテストでは、ユーザーエクスペリエンスが脚光を浴びています。これは、GUIがどの程度うまく設計されているか、そしてその使いやすさを測定します。テストは、機能の正確さと効率、そして被験者の感情的な反応をチェックします。
- 健全性テスト: これは、ソフトウェアがさらなるテストを継続するための時間とコストに見合う価値があるかどうかを示します。欠陥が多すぎる場合は、さらに積極的なテストを実施することはできません。
- スモークテスト スモークテストは放出を防ぐのに十分重大な基本的な失敗を明らかにします。これが新しいビルドで実行されるとき、それはビルド検証テストと呼ばれます。
- 回帰試験: システムが変更されると、回帰テストによって予期しない動作が監視されます。モジュールやコンポーネントへの悪影響を指摘しています。
- 破壊テスト テスターは異常な入力を入力し、予期しない入力を管理するソフトウェアの機能を識別します。これは、開発者がプログラムがエラー管理に対してどれほど堅牢であるかを示しています。
- 回復テスト ハードウェアまたは他の機能が失敗したとき、このテストはソフトウェアがどれほどうまく回復して操作を続けることができるかを示します。
- 自動テスト これは手動で実装するのが難しい機能を実行します。テストを実行し、実際の結果と予想される結果に関するデータを提供するために特定のソフトウェアを使用します。
- 互換性テスト ソフトウェアはさまざまなコンピューティング環境で実行する必要があるため、さまざまなシステムとの互換性がチェックされます。たとえば、ソフトウェアはさまざまなオペレーティングシステムやWebブラウザで動作しますか?
- 性能試験: これは、さまざまなシナリオでソフトウェアのパフォーマンスを調べる詳細なテストです。応答性、安定性、リソース割り当て、および速度に関する情報が収集されます。さらに、ボリューム、容量、スパイクテストなどのサブテストもこのプロセスに役立ちます。
- セキュリティテスト: これは、ソフトウェアのユーザーのセキュリティを保護する能力を測定します。これは、許可機能、認証、機密性、保全性、可用性、および否認防止を意味します。
- アクセシビリティテスト: これはユーザビリティテストと同じではありません。これにより、学習や身体障害を含むさまざまな能力を持つユーザーがソフトウェアを使用できる範囲が決まります。
- 国際化と地域化のテスト 結果は、ソフトウェアがさまざまな言語や地域の要求にどのように適応できるかを示しています。これには、特定の場所用のコンポーネントの追加とテキストの翻訳が含まれます。