テスト開発1

1.テスト開発の基本概念

1.ソフトウェアテストとは何ですか?

ソフトウェアテストは、ソフトウェアがユーザーのニーズを満たしているかどうかを検証するソフトウェアテストエンジニアです。

2.ソフトウェアテストとソフトウェア開発の違いは何ですか?

(1)開発:幅が狭く、専門知識が高い
テスト:幅広いスキルが必要ですが、専門知識は低いです。

(2)ソフトウェアテストとソフトウェアデバッグ
には異なる目的が
あります。テストのタスクはプログラムの欠陥を見つけることです。デバッグのタスクはプログラムの問題を見つけて解決することです。
関係するさまざまな役割
–テストは主にテスターと開発者によって実行され、ブラックボックステストは主にテスターに​​よって実行され、ユニット/統合テストは主に開発者によって実行されます。デバッグは開発者によって行われます。
実行のさまざまな段階
–テストはソフトウェア開発ライフサイクル全体で実行され、デバッグは通常開発段階にあります。

3.なぜソフトウェアテストを選んだのですか?

総合力:コミュニケーション能力、学習能力、開発能力、ライティング能力、自動テスト技術、テストケースを書く能力、探索的思考、
興味
、プレッシャーに耐え、責任を取る

4.要件は何ですか?

契約(文書、規則、基準)を満たすために必要なユーザーの期待と条件および許可

ユーザー要件とソフトウェア要件
ソフトウェア要件はユーザー要件から変換されます。これはユーザー要件の改良
です。ユーザー要件は比較的粗く、詳細がないため直接実装は困難です。ユーザー要件は具体的な達成可能なプロセスドキュメントになります。

2.テスト開発の基盤

1.要件はソフトウェアテストの基礎です

要件を検証して、要件が正しく、達成可能であることを確認します。要件を調整し、要件からテスト項目を1つずつ抽出します。
質問:ソフトウェアテスターはどのようにして要件に対する洞察を得るのですか?
要件分析の段階から要件の理解に介入し始め、ユーザーのニーズの観点から立ちます

2.ユーザー名とパスワードのログインテストケース

2.1機能角度:

  1. ユーザー名とパスワードでは大文字と小文字が区別されますか?
  2. ページのパスワードボックスが暗号化されて表示されているかどうか
  3. バックグラウンドシステムによって作成されたユーザーが初めて正常にログインしたときに、初期パスワードの変更を求めるプロンプトを表示するかどうか。
  4. ユーザー名を忘れた場合とパスワードを忘れた場合の機能が利用できるかどうか。
  5. フロントエンドページが設計要件に従ってユーザー名とパスワードの長さを制限するかどうか
  6. ログインを成功させるために確認コードが必要な場合は、確認コードの画像をクリックして、確認コードを置き換える(更新する)ことができるかどうか、および更新された確認コードが利用可能かどうかを確認します。
  7. ページを更新すると確認コードが更新されるかどうか
  8. 検証コードが時間に敏感な場合は、制限時間内および制限時間外の検証コードが有効かどうかを検証する必要があります。
  9. ユーザーが正常にログインしたが、セッションがタイムアウトした場合、操作を続行すると、ユーザーのログインページにリダイレクトされます。
  10. システムにログインした後の権限が正しいかどうか、さまざまなレベルのユーザー。
  11. ページログインのフォーカスがユーザー名入力ボックスに配置されているかどうか(使いやすさ)
  12. ショートカットキーのTabキーとEnterキーが正常に使用できるかどうか。

2.2非機能要件の次元:

  1. ユーザーパスワードバックエンド(データベース)ストレージが暗号化されているかどうか。
  2. ネットワーク経由の送信中にユーザーパスワードが暗号化されているかどうか
  3. パスワードに有効期限があるかどうか、およびパスワードの有効期限後にパスワードの変更を求めるプロンプトを表示するかどうか。
  4. ログインしない場合は、ブラウザにログインして初めてア​​クセスできるURLアドレスを直接入力し、ユーザーログインインターフェースにリダイレクトされるか確認してください。
  5. パスワード入力ボックスがコピーアンドペーストをサポートしていないかどうか。
  6. パスワード入力ボックスに入力したパスワードがページソースモードであるかどうかを確認しないでください。
  7. ユーザー名とパスワードの入力ボックスにそれぞれ一般的な「SQLインジェクション攻撃」文字列を入力して、システムの動作が改ざんされていないかどうかを確認します。
  8. ユーザー名とパスワードの入力ボックスにそれぞれ一般的な「XSSクロスサイトスクリプティング攻撃」文字列を入力して、システムの動作が改ざんされていないかどうかを確認します。
  9. 複数の連続したログイン失敗の場合に、システムがブルートフォース攻撃に対処するための後続の試行をブロックするかどうか。
  10. 同じユーザーが同じ端末上の複数のブラウザーにログインして、ログイン機能の相互排他性が設計上の期待を満たしているかどうかを確認します。
  11. 同じユーザーが複数の端末ブラウザに連続してログインし、ログインが相互に排他的であるかどうかを確認します。

2.3パフォーマンス:

  1. シングルユーザーログインの応答時間が3秒未満かどうか
  2. 同時実行性の高いシナリオでのユーザーログインの応答時間が5秒未満かどうか。
  3. サーバー側の監視インジケーターが、同時実行性の高いシナリオで期待を満たしているかどうか。
  4. 同時実行性の高いシナリオでデッドロックと不合理な待機があるかどうか。
  5. 多数のユーザーが長時間ログインおよびログアウトを続けている場合、サーバー側でメモリリークが発生していないか。

2.4互換性:

1.さまざまなブラウザで、ログインページの表示と機能が正しいことを確認します。
2.同じブラウザの異なるバージョン、ランディングページの
表示と機能の正確さを確認します。3。異なるモバイルデバイス端末の異なるブラウザでのランディングページの表示と機能の正確さを確認します。
4.さまざまな解像度のインターフェイスでのログインページの表示と機能の正確さを確認します。

3.テストケース

テストケースは、テスト環境、テストデータ、テストステップ、期待される結果(重要性、優先度、操作モード、タイトルなど)を含む、テスト対象システムに対して開始された一連のコレクションです。

利点:要件の範囲を測定する、再利用性、参照の重要性、回帰テストに使用できる、テスト要件の省略を防ぐ

4. BUG(ソフトウェアバグ)とは何ですか?

プログラムと仕様の不一致は、仕様が存在し、正しい場合にのみエラーになります。
要件の仕様がない場合、判断はエンドユーザーに基づいて行われます。プログラムがエンドユーザーによって合理的に期待される機能要件を満たさない場合、ソフトウェアエラーが発生します。

5.開発モデル(5モデル)

ソフトウェア開発ライフサイクル

要件分析-計画-設計-開発-テスト-運用と保守

5.1ウォーターフォールモデル

ここに画像の説明を挿入
特徴:段階的に強力で、各段階は比較的独立しています。初期段階での分析要件と後期段階でのテストに注意してください。
短所:コーディング後にテストが介入し始めるため、問題が早期に検出され、早期に修正する機会が失われます。

5.2スパイラルモデル

大規模なプロジェクト、リスクが高く、複雑さが高い場合に適しています
ここに画像の説明を挿入
特徴:各反復のテスト品質とリスク分析を強調し、強力なリスク対策機能を備えています

5.3インクリメンタルモデル、反復モデル

インクリメンタルは反復と混同されることがよくありますが、2つの間に違いがあります。
増分とは、ブロックごとに構成するという概念です。たとえば、人物画を描くには、最初に人の頭、次に体、次に手と足を描くことができます。反復とは、繰り返し洗練するという概念です。 。最初に全体の輪郭を描き、次に基本的なプロトタイプの輪郭を描き、次に洗練して色を付けるために使用できます。

特徴:強力なアンチリスク能力

5.4アジャイルモデル(重要!!!)

アジャイルマニフェスト:
プロセスとツールを介した個人と相互作用契約交渉を
介した十分に文書化された顧客コラボレーションを介した使用可能なソフトウェア計画前者に従った切り替えへの対応。機能:簡単なドキュメント、簡単なプロセス、目標に焦点を合わせ、出力に焦点を合わせ、変更を受け入れる



5.4.1スクラムモデル

基本的なプロセス:スクラム
ここに画像の説明を挿入
での役割:
スクラムは、製品所有者(製品マネージャー)、スクラムマスター(プロジェクトマネージャー)、およびチーム(R&Dチーム)で構成されます。プロダクトオーナーは
ユーザーストーリーの整理、ビジネス価値の定義、並べ替え、リリースプランの策定、および製品の責任を負います。スクラムマスターは、さまざまな会議の開催、プロジェクトの調整、およびR&Dチームへのサービス提供を担当しています。研究開発チームは、さまざまなスキルを持つメンバーで構成されており、緊密な調整により、各イテレーションの目標が達成され、製品が提供されます。

(1)プロダクトオーナーは、左側のユーザーストーリーを整理し、プロダクトバックログを作成する責任があります。
(2)リリース計画会議:プロダクトオーナーは、ユーザーストーリーの説明、見積もり、並べ替えを担当します。リリース計画会議の出力は、このイテレーションで完了するストーリーのリスト、スプリントバックログを作成することです。
(3)反復計画会議:プロジェクトチームは、ストーリーごとにタスクを分解します。分解の標準は、ストーリー内のすべてのタスクを完了することです。各タスクには明確な責任者がいて、作業時間の初期見積もりを完了します。
(4)毎日のミーティング:スクラムマスターは毎日スタンドアップミーティングを開催し、チームメンバーは昨日何をしたか、今日何をする予定か、どのような質問があるかについて答えます。
(5)デモンストレーションミーティング:イテレーションが終了した後、デモンストレーションミーティングが開催され、関係者全員が参加するよう招待されます。チームは、このイテレーションの結果を全員に示す責任があります。期間中、全員のフィードバックが記録され、poによって整理されて、新しいストーリーが形成されました。
(6)回顧会議:プロジェクトチームは、現在のイテレーションを要約し、欠陥を見つけ、改善計画を策定し、
継続的な改善の効果を達成した次のイテレーションで改善を続けます。

6.モデルをテストします

6.1vモデル

ここに画像の説明を挿入
特徴:各ステージ
は高度に独立しています。左側の各ステージは右側のテストステージの基礎であり、右側の各テストステージに対応しています。
ウォーターフォールモデルのバリエーション(短所):コーディング後にテストが介入し始めるため、初期段階の問題が後で発見され、早期修正の機会が失われます。

6.2wモデル

ここに画像の説明を挿入
Wモデルの特徴:各ステージは高度に独立しています。テスト対象はプログラムだけでなく、要件と設計でもあります。テストと開発は同時に実行されます。
制限事項:要件、設計、コーディング、およびその他のアクティビティは連続していると見なされます。テストおよび開発アクティビティも線形コンテキストを維持し、次のフェーズを正式に開始する前に前のフェーズが完全に完了します。アジャイル開発モードはサポートできませんソフトウェア開発の現在の複雑で変化しやすい状況では、Wモデルはテスト管理が直面する混乱を和らげることはできません。

おすすめ

転載: blog.csdn.net/biteqq/article/details/123791820