ソフトウェアテスト/テスト開発: 面接でよくある質問とプロセス

このシリーズの記事は、主に個人面接、ネットワーク収集 (改善)、日常業務でのディスカッションなどから、ソフトウェア テストエンジニアの面接でよくある質問をまとめたものです。以下の 10 部に分かれています。間違いがあれば修正してください。さらに面接の質問や面接中に遭遇した落とし穴がある場合は、追加して共有してください。皆が納得のいく仕事を見つけて励まし合えれば幸いです!

1. 一般的な問題と手順をテストする

1. テスト プロセスを紹介します (共通であることを強調します)。

要件レビュー、テスト計画、テストケース、ユースケースレビュー、スモークテスト、テスト実行、受け入れテスト、リスク評価、立ち上げ/観察、問題フォローアップ、テスト報告書、レビュー会議。

自分の日常の経験に基づいて回答してください。各ポイントの作業内容を明確に把握する必要があり、そのポイントがどのように機能するかについて質問することができます。

2. テスト方法の紹介

フェーズ別:単体テスト、統合テスト、システム テスト、受け入れテスト。

手段:ブラック ボックス テストホワイト ボックス テスト、グレー ボックス テスト。

その他: スモークテスト、回帰テスト。

3.テストケース設計手法の導入(ユースケース設計手法とテスト手法を明確に区別する必要がある)

ブラックボックステストケース設計:同値クラス分割法、境界値分析法、誤差推測法、特性要因図法、直交テスト分析法、プロセス分析法。

ホワイト ボックス テスト: ステートメント カバレッジ、決定カバレッジ、条件カバレッジ、条件組み合わせカバレッジ、決定/条件カバレッジ、パス カバレッジ。

4. ログイン ページのユース ケースを設計します (特定のシナリオ設計のユース ケースを提供します。焦点を当ててください)。

機能テスト:正しい入力、空入力、文字種の検証、長さの検証、パスワードが暗号化されて表示されるかどうか、大文字小文字のプロンプト、ジャンプページが成功するか、ログアウト後別のアカウントでログインするかどうか。

UI: インターフェイスのレイアウトは合理的で、スタイルは統一されており、インターフェイスのテキストは簡潔で理解しやすく、タイプミスはありません。

パフォーマンス テスト: ログイン ページを開くのに数秒、クリックしてログインしてホーム ページにジャンプするのに数秒、複数のクリック、および複数のクリックに時間がかかります。

セキュリティ: ユーザー名とパスワードが暗号化されてサーバーに送信されるかどうか、誤ったログインの数が制限されている (ブルート フォース クラッキングを防ぐため)、複数のユーザーが 1 台のマシンからログインできるか、1 人のユーザーから複数のログインが可能か、要素からパスワードを確認できます。

互換性テスト: さまざまなブラウザ、さまざまなプラットフォーム ( Windows、Mac)、およびモバイル デバイスが動作できるかどうか。

使いやすさ:Tabキーで入力ボックスを切り替えられるか、Enterを押した後にログインできるかなど。

5. プロジェクトの推進力を例示する(個人的な評価の例)

例) メニューの権限を適用するにはログアウトが必要であるという問題を解決するために開発を推進します。

説明: XX プロジェクトが開始された後、権限の更新により、ユーザーは古いインターフェイスを使用できなくなり、ユーザーは新しいメニュー権限を適用するためのログアウト方法がわかりませんでした。多くのオンライン ユーザーは、プラットフォームの関連機能を使用できないと報告しました。使用済み。解決策: ログアウトできないユーザーに対してリモート操作 + オンライン ガイダンスを提供し、早朝のスクリプトによりユーザーを一括でログアウトさせます。推進: 次のバージョンでは、メニューが更新されるたびにユーザーが機能を使用できない場合に備えて、メニューの権限更新の問題に対処するために開発を推進します。結果: ユーザーのログイン中は古いインターフェースが引き続き使用できますが、ユーザーがログアウトして再度ログインするまで、新しいメニュー権限は適用されません。

スモークテストの推進:スモークテストが失敗した場合は、ミーティングを開催してプロジェクトの無理なモジュールや既存の問題点をリストアップし、一人一人フォローアップし、解決策が得られたらフォローアッププロジェクトグループが説明します。そしてアイテの全員がフォローします。時間通りにテストを受け入れます。

文書の品質向上:日常業務で遭遇する要件文書、設計文書、インターフェース文書の多くは標準化されておらず、詳細化されていないため、コミュニケーションやバグなどの形で各立場に文書の改善を促す必要がある。

私自身の経験と合わせて、問題内容+処理プロセス+昇進実績+結果まで、一つ一つ解説します。

6. テストで最も難しい項目は何ですか? (履歴書にプロジェクトを記入してください)

XX プロジェクト: このプロジェクトは新しいプロジェクトであり、サードパーティと連携する必要があります。製品モジュールのテストの支援からプロジェクト全体の担当者の変更に至るまで、要件を理解することがさらに難しくなり、注文ロジックは馴染みがなく、要件を進めるのが難しい。

これらの困難に対して、テストに関しては、まず要件を迅速に理解し、元のテスト リーダーとともに具体的な進捗状況と注意が必要なテスト ポイントを理解します。開発: 開発者との注文ロジックとサードパーティとの接続プロセスをすばやく理解します。製品に関して:ある需要の問題に遭遇した場合、製品が受け入れられず、最終的にリーダーに報告+会議を開き、より良い解決策を議論します。その過程では多くの問題がありましたが、プロジェクトチームの一致団結した努力により、プロジェクトは最終的に予定通りに開始されました。

プロジェクトについて説明します (面接官がさらに質問しやすくするために、できれば履歴書にプロジェクトについて記載します)。大変だったこと+その対処方法+結果を説明します。

7.印象的なバグ?

深く隠れているバグ、比較的大きな影響を与えるバグ、曲がりくねった処理プロセスを伴うバグ。あなた自身の経験に基づいて、どのようにそれを発見し、どのように対処したか、影響、結果、反省を説明してください。

例: アップグレード バージョンの互換性の問題、インターフェイスのセキュリティの問題、データベースのセキュリティの問題、サーバー リソースの占有オーバーフローの問題、コード ロジックの問題など。

8. あなたの会社はアジャイル開発ですか? アジャイル開発を導入しますか?

はい、アジャイルな迅速な反復、複数バージョンの同時反復。

アジャイル開発はインクリメンタル開発に属し、要件の範囲が不明確で要件が頻繁に変更されるプロジェクトの場合、変更に大幅に対応して受け入れることができ、シンプルさを主張し、変化を受け入れ、持続可能性、段階的な変更、高品質の作業を迅速に行うことができます。フィードバック、ソフトウェアがあなたの主な目標です。

9. 検討会の主な内容は何ですか?

これについては、私が通常参加しているプロジェクト会議の例で説明する必要があります。オンラインのバグ分析、最適化および改善戦略、バグの優先順位など。

10. アプリ の互換性をテストする方法、およびアプリのインターフェースをテストする方法を教えてください。

システム互換性 (iOS、Android)、モデル互換性 (iPhone、Huawei、Xiaomi、Samsung、vivo、OPPO)、解像度の互換性があり、ソフトウェア自体には上位互換性と下位互換性があります。

インターフェイス テスト: インターフェイス ドキュメントを取得し、fiddler パケット キャプチャ ツールを使用してインターフェイスのリクエスト メソッド、URL、リクエスト パラメーター、および戻りパラメーターを取得し、postman と jmeter を使用してテストします。

11.  Web 側テストとアプリ側テストの違いは何ですか (共通)

・システム構成

Web プロジェクト、B/S アーキテクチャ、ブラウザベース。Web テストでサーバーが更新される限り、クライアントも同期して更新されます。

C/S 構造のアプリ プロジェクトにはクライアントが必要です。アプリがサーバーを変更する場合、クライアント ユーザーのすべてのコア バージョンは回帰テストを受ける必要があります。

· 互換性

Web プロジェクト: a. ブラウザ (Firefox、Google、IE など) b. オペレーティング システム(Windows7、Windows10、Linuxなど)。

アプリ プロジェクト: a. デバイス システム: iOS (ipad、iphone)、Android (Samsung、Huawei、Lenovo など)、Windows (Win7、Win8)、OSX (Mac) b. 携帯 電話デバイスは電話のモデルと状況によって異なります。決議。

・ パフォーマンス

Web プロジェクトでは、応答時間、CPU、メモリを監視する必要があります。

アプリ プロジェクトでは、応答時間、CPU、メモリの監視に加えて、トラフィック、電力なども監視する必要があります。

Web プロジェクトと比較して、APP には特別なテストがあります。

干渉テスト: 中断、着信、SMS、シャットダウン、再起動など。

弱いネットワーク テスト (2g、3g、4g、Wi-Fi ネットワークのステータスとパケット損失のシミュレーション)、ネットワーク切り替えテスト (ネットワーク切断後の再接続、3g から 4g/Wi-Fi への切り替えなど)。

インストール、アップデート、アンインストール

インストール: インストール中の中断、ネットワークの弱さ、インストール後のインストール ファイルの削除などを考慮する必要があります。

アンインストール:アンインストール後にアプリ関連ファイルを削除するかどうかを検討する必要があります。

更新: 必須更新、非必須更新、増分パッケージ更新、ブレークポイント再開、弱いネットワーク状態での更新に分けられます。

インターフェイス操作: 携帯電話のテストに関しては、ジェスチャー、水平および垂直画面切り替え、マルチタッチ、表裏切り替えに注意を払う必要があります。

セキュリティテスト: インストールパッケージがコードを逆コンパイルできるかどうか、インストールパッケージが署名されているかどうか、アドレス帳へのアクセスなどの権限設定など。

境界テスト: 利用可能なストレージ容量の減少、SD カードなし / デュアル SD カード、フライト モード、間違ったシステム時間、サードパーティへの依存 (QQ、WeChat ログイン) など。

権限テスト:アドレス帳、フォトアルバム、カメラなどにアクセスできるかなど、アプリが権限を取得できるかどうかを設定します。

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それはそれほど価値のあるものではありませんが、必要な場合はそれを取り上げることができます。

 

これらの資料は、[ソフトウェア テスト] の友人にとって、最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト。お役に立てれば幸いです。エンジニア 

 

おすすめ

転載: blog.csdn.net/kk_lzvvkpj/article/details/132107358