ソフトウェアテストの詳細な説明(機能、インターフェース、パフォーマンス、自動化)(Python)


1.ソフトウェアテスト機能テスト

テストケースの作成はソフトウェアテストの基本的なスキルです。テストケースがソフトウェアテストの中核であると信じている人もたくさんいます。ソフトウェアテストで最も重要なことは、効果的なテストケースを設計および生成することです。テストケースは、テスト作業であり、ソフトウェアテストガイドラインに従う必要があります。

ブラックボックステストの一般的なテストケースの記述方法

1.同等性

いくつかの代表的なデータを選択してください。このタイプのデータは、このタイプの他の値と同等です。最小のサブセットを見つけて、最も多くのエラーを見つけることができます。特性:設計する必要のあるユースケース。ほとんどのケースをカバーします。
太字のスタイル
2、境界値

いわゆる境界条件とは、境界にある、境界を超える、または境界を下回る入力および出力の同値類の状態を指します。機能:1つ以上の要素を選択して、同値類の各境界がテスト済み。入力条件だけに焦点を当てるのとは異なり、テストケースを設計するには、結果空間(出力等価クラス)も考慮する必要があります。

3.原因と結果の図

分析する条件の組み合わせを入力します。体系的な方法を使用して、効率的なテストケースのセットを選択します。

アイデアの分析:

a。仕様の説明を分析し、原因と結果を特定して、識別子を割り当てます。

b。仕様のセマンティクスを分析し、原因と原因の間、および原因と結果の間の関係を見つけ、原因と結果の図を描きます。

c。いくつかの理由と理由の間で、理由と結果の組み合わせが表示されない場合は、記号を使用して制約または制限条件を示します。

d。原因と結果の図が判断表に変換されます。

e。判断表の各列に基づいてテストケースを設計します。

4.デシジョンテーブル駆動方式

複数の論理条件下で実行されるさまざまな操作の状況を分析および表現するためのツール。原因と結果の図の描画をスキップし、フィルタリングのすべての組み合わせを直接リストします。

5.直交実験法

因果関係図を使用してテストケースを設計する場合、入力原因と出力結果の因果関係をソフトウェア要件仕様から取得するのが難しい場合があります。多くの場合、因果関係が非常に大きいため、テストケースの数が膨大になります。合理的テストの工数とコストを削減するために、直交実験計画法を使用してテストケースを設計できます。

6.関数マップ法

プログラムの機能には、静的および動的な記述が含まれます。動的記述は、入力データのシーケンスまたは転送のシーケンスを記述し、ビジネスプロセスに密接に対応します。静的記述は、入力条件と出力条件の間の対応を記述します。市場志向の製品の場合、ロジックは複雑で、組み合わせは膨大であり、機能の説明を補足するために動的な説明を使用する必要があります。機能図設計法:機能図法は、機能図を使用してプログラムの機能説明を視覚的に表現し、機能図のテストケースを機械的に生成します。さまざまなドキュメントに表示される「状態遷移図」、「フローチャート」、および「メニューツリー」は、ある程度、関数図のさまざまな表現であり、さまざまなテスターが特定の方法をわずかに異なる方法で使用する場合があります。

7.シーン実験方法

現在のほとんどすべてのソフトウェアは、イベントトリガーを使用してプロセスを制御します。イベントがトリガーされたときのシーンはシーンを形成し、同じイベントの異なるトリガーシーケンスと処理結果がイベントフローを形成します。この方法では、イベントがトリガーされたときの状況をより鮮明に表現できます。これは、テストデザイナーがテストケースを設計するのに役立ち、テストケースの理解と実行を容易にします。

8.エラー推論方法

テストケースの方法を的を絞って設計するために、プログラムで発生する可能性のあるすべてのエラーを推測する経験と直感に基づいています。これは主に、テストプログラムのユーザーの習慣と一般的な問題に基づいています。

9.需要の変革

要件に応じて、要件分析を実行し、テストケースを作成します。

10.設計ドキュメント

設計ドキュメントを参照することで、ソフトウェアシステムの内部設計プロセスと処理メカニズムを理解し、作成されたテストケースを比較し、新しい機能とモジュールを追加できます。

11.探索的テスト

無限に創造的なテストポイント、無限の調査とテスト。製品の欠陥を見つけるために、テストの最前線で洞察、テクノロジー、および緊急時対策を使用する必要があります。

2.ソフトウェアテストインターフェイステスト

1.インターフェーステストとは何ですか?

インターフェイステストは、システムコンポーネント間のインターフェイスをテストするためのテストです。インターフェイステストは主に、外部システムとシステム間、および内部サブシステム間の相互作用ポイントを検出するために使用されます。テストの焦点は、データ交換、転送、および制御管理プロセス、およびシステム間の相互の論理的依存関係を確認することです。

2.なぜインターフェーステストを行うのですか?

a)今日のシステムの複雑さは高まり続けており、従来のテスト方法のコストは急激に増加し、テスト効率は大幅に低下しています。インターフェーステストはこの状況で解決策を提供できます。

b)インターフェイステストは、自動化された継続的インテグレーションを実現するのが比較的簡単で、UI自動化に比べて比較的安定しています。これにより、手動回帰テストの人件費と時間を削減し、テストサイクルを短縮し、バックの迅速なリリース要件をサポートできます。終わり。インターフェイスの継続的インテグレーションは、低コストで高歩留まりである理由の根源です。

c)現在、多くのシステムがフロントエンドとバックエンドから分離されています。セキュリティの観点から:

1)制限をフロントエンドのみに依存することは、システムのセキュリティ要件を満たすことができなくなり(フロントをバイパスするのは簡単すぎる)、バックエンドも制御する必要があります。この場合、インターフェイスレベルが必要です。

2)特にIDカードや銀行カードなどのユーザーの個人情報に関しては、フロントエンドとバックエンドの送信、ログ印刷、その他の情報が暗号化されて送信されているかどうかも確認する必要があります。

3.インターフェーステストの方法

a。バックエンド開発によって提供されたインターフェイステストドキュメントに従って、インターフェイステストの検証を実行します

示されているように:


次に、インターフェイスドキュメントに従ってURLとパラメータを入力し、応答が正しいかどうかを確認します


b。インターフェイスドキュメントがない場合は、パケットキャプチャツールを使用してインターフェイスデータをキャプチャします。パケットキャプチャツール:fiddler

3、ソフトウェアテストパフォーマンステスト

1.パフォーマンステストフィールドの分析

プロジェクトの背景とビジネスの理解に基づいて、このパフォーマンステストで解決する問題を決定します。テストシステムが実際の運用のニーズを満たすことができるかどうか、現在のシステムがシステムパフォーマンスのパフォーマンスを制限しているかどうか、またはどのシステムか結果として生じる要因

システムは事業開発に追いつくことができませんか?テスト領域を決定してから、特定の問題を詳細に分析します。

2.ユーザーシナリオ分析とビジネスモデリング

システムビジネス、ユーザーのアクティブ時間、アクセス頻度、シーンの相互作用などの分析に従って、ビジネスシナリオテーブルを整理します。もちろん、テストスクリプトの基礎を提供するために、ユーザーの操作シナリオと手順を詳細に説明することをお勧めします。開発。

3.パフォーマンス目標を決定します

このパフォーマンステストの適用分野は以前に決定されており、次のステップは特定の分野の焦点のパフォーマンス目標(指標)を決定することです。

といった:

①ログイン要求からログイン成功ページまでの応答時間は2秒を超えることはできません。

②レポートレビューのために提出されたページの応答時間は5秒を超えることはできません。

③ファイルのアップロードおよびダウンロードページの応答時間は8秒を超えてはなりません。

4.パフォーマンステストスクリプトの作成

パフォーマンステストツール:loadrunner、jmeter

ここでは、ロードランナーのインストールパッケージが大きすぎて移植性が十分でないため、Jmeterを使用します。

Jmeterパフォーマンステストは、インターフェイスを介してサーバーへの高い同時アクセスを実行することであるため、スクリプトの記述は、インターフェイステスト、入力URL、パラメーターなどに似ています。

第四に、ソフトウェアテスト自動化テスト

1.UI自動テスト

a。通常はpython + seleniumを使用するWeb側UI自動テストでは、ページ要素を見つけてブラウザーで駆動し、人間のページ操作をシミュレートしてWeb側UI自動テストを実現します。

b。Androidjdkを呼び出し、アプリページ要素を取得し、アプリ操作を実行するユーザーをシミュレートし、モバイルUI自動テストを実現することにより、通常はpython + appiumを使用するモバイルUI自動テスト

2.インターフェース自動化テスト

インターフェイス自動化テストでは、通常、python + requestsまたはhttpxを使用します。ここでブロガーが使用するリクエストは比較的単純です。図に示すような簡単な例:


記事がお役に立てば幸いですので、よろしくお願いします。ご支援ありがとうございます。よろしくお願いします。継続的に更新していきます。


最後に:メリット

テクノロジー業界では、技術スキルを向上させ、自動化プロジェクトでの実践的な経験を充実させる必要があります。これは、今後数年間のキャリア計画とテストテクノロジーの深さに非常に役立ちます。

ゴールデン9日とシルバー10日の面接シーズン、転職シーズンでは、面接の質問を整理することが長年の私の習慣になっています!以下は、近年の私のコレクションと並べ替えです。全体は[ソフトウェアテスト]を中心に構成されています。メインコンテンツには、Python自動化テストの独占ビデオ、Python自動化の詳細、インタビューの質問のフルセット、その他の知識コンテンツが含まれます。

ソフトウェアテストの友人にとっては、最も包括的で完全な面接準備ウェアハウスである必要があります。各モジュールをより適切に整理するために、インターネット上の多くの高品質のブログ投稿やプロジェクトも参照し、すべての知識ポイントを見逃さないように努めています。友人はこれらのコンテンツを利用してレビューを行い、BATJなどの大規模な工場からオファーを受け取りました。この倉庫はソフトウェアテストの多くの学習者にも役立ちました。あなたにも役立つことを願っています。

あなたと私が会い、あなたが何かを見つけることができますように!WeChatパブリックアカウントをフォローすることを歓迎します:[Sad Spicy Article] 216ページのソフトウェアテストエンジニアのインタビューブックを無料で受け取ります。そして、対応するビデオ学習チュートリアルは無料で共有できます!

おすすめ

転載: blog.csdn.net/weixin_50271247/article/details/112900877