このSoftware Testing interview questionsの記事では、面接官から最も頻繁に聞かれる質問を集めました。 これらの質問は、手動および自動テストの分野で業界トップの専門家に相談して集めたものです。
万が一、面接で他の質問に遭遇したり、他の人にも役立つかもしれない質問がある場合は、この記事のコメント欄でそれらを共有してください。
もしあなたが技術に詳しく、最新の技術を身につけたいと思っているなら、こちらのトップトレンドテクノロジーのリストを見てみてください。
Top 50 Software Testing Interview Questions & Answers
このビデオは、ソフトウェアテストのインタビューに備えるのに役立ちます。
Software testing Interview Questions:
- ソフトウェアテストのライフサイクルにはどのような段階がありますか?
- テストの異なるレベルとは何ですか?
- Bug Life CycleやDefect Life Cycleについて説明してください。
- テストケースとは何ですか?
- 機能テストと非機能テストの違いは何ですか?
- ユーザビリティテストとは何ですか?
- 不具合の分類は何ですか?
- 受入計画は何を根拠に作成するのですか?
このソフトウェアテストのインタビューの質問は、次の部分に分かれています:
- 初級レベル
- 中級レベル
- 上級レベル
このソフトウェアテストのインタビューの質問を、まず初級レベルの質問から始めましょう。
Beginners Level Software Testing Interview Questions
ソフトウェアテストのライフサイクルにはどのようなフェーズがありますか?
ソフトウェア・テスト・ライフサイクルに含まれるさまざまなフェーズは以下のとおりです。
要求分析 | ここで、QAチームは要求を理解し、テスト可能な要求を識別します。 |
テスト計画 | このフェーズでは、テスト戦略が定義されます。 |
テストケースの開発 | ここでは、詳細なテストケースが定義され開発されます。 |
環境設定 | テストチームがテストケースを実行するためのソフトウェアとハードウェアのセットアップです。 |
テスト実行 | コードを実行して、期待される結果と実際の結果を比較するプロセスです。 |
テスト・サイクル・クロージャー | テスト・チーム・メンバーのミーティング&を招集し、テスト・カバレッジ、品質、コスト、時間、重要なビジネス目標、ソフトウェアに基づいてサイクル完了基準を評価することです。 |
2.テストのさまざまな方法とは
ソフトウェアのテストには3つの方法があり、それらは次のとおりです:
- ブラックボックステスト。 これは、要件や仕様のみに基づいたテスト戦略です。 この戦略では、テストされるソフトウェアの内部経路、構造、および実装に関する知識は必要ありません。
- ホワイトボックステスト。 テストされるソフトウェアの内部経路、コード構造、および実装に基づいたテスト戦略です。
- グレーボックステスト。
3.テストのレベルの違いは何ですか?
テストには主に 4 つのレベルがあります。
- ユニット テスト
- 統合テスト
- システム テスト
- 受入れテスト
基本的には、ユニット テストから始まり、受入れテストで終わります。
バグ ライフ サイクル について説明してください。
バグや欠陥のライフサイクルには、下図に示すようなステップがあります。
バグ ライフ サイクルは、組織の方針、使用されるソフトウェア開発モデル (アジャイル、反復) 、プロジェクトのタイムライン、チーム構造などのいくつかの要因に基づいて、組織やプロジェクトによって異なります。 テスト ケースとは
テスト ケースとは、テスト対象のシステムが要件を満たしているか、または正しく動作しているかどうかをテスターが判断するための条件または変数のセットに他なりません。
機能テストと非機能テストの違いは何ですか?
機能テスト | 非機能テスト |
非機能テストの前に実施されるもの |
|
機能テストの前に行われる |
機能テストの後に行われる |
顧客の要求に基づいて行われる |
顧客の期待に基づいて行われる td |
製品が何をするのかを説明する |
製品がどのように動作するのかを説明する |
7. ソフトウェアテストにおける検証・妥当性確認とは?
検証。 静的解析手法の一つです。 ここでは、コードを実行することなくテストを行います。 例としては、レビュー、インスペクション、ウォークスルーなどがあります。
検証。
検証:動的な分析手法で、コードを実行することでテストを行います。
Vモデルでは、開発とQAの活動が同時に行われます。
Vモデルでは、開発とQAの活動が同時に行われます。テストという個別のフェーズはなく、テストは要求フェーズから始まります。
ユーザビリティ テストとは
最終顧客にソフトウェアを使用してもらい、製品が使いやすいかどうか、顧客の認識や作業時間を確認するテスト方法です。 ユーザビリティに関する顧客の視点を最終的に決定する正確な方法は、初期段階でプロトタイプまたはモックアップ ソフトウェアを使用することです。
9.
下の図に示すように、欠陥には3つの主なカテゴリがあります:
- 誤:要件が正しく実装されていないことを意味します。 与えられた仕様からの差異です。
- Missing: 仕様からの差異であり、仕様が実装されていないことを意味します。また、顧客の要求が適切に記されていないことを意味します。
- 追加。 最終顧客から与えられていない、製品に組み込まれた要件です。
Top 50 Software Testing Interview Questions & Answers
On what based the acceptance plan is prepared?
基本的に、受け入れ文書は以下のインプットを使用して作成されます。
11. カバレッジとは何か、カバレッジ技術の種類とは何か
ソフトウェア テストにおいて、ソース コードがどの程度テストされているかを表すパラメータをカバレッジといいます。
- ステートメント カバレッジ。
- ステートメント カバレッジ:ソース コードの各行が実行され、テストされていることを保証します。
- デシジョン カバレッジ:すべての決定(真偽)が保証されます。 これは、ソース コード内のすべての決定 (true/false) が実行され、テストされたことを保証します。
- パス カバレッジ。
自動テストの利点は何ですか?
自動テストの利点は次のとおりです。
- 繰り返されるテストケースの実行をサポートする
- 大きなテスト マトリックスのテストを支援する
- 並列実行を可能にする
- 無人での実行を奨励する
- 精度を向上させて、人間が生成したエラーを減らす
- 時間とコストを節約する
13. Seleniumが自動テストに適したツールである理由
Seleniumは、Webブラウザ上で実行されるテストを自動化するために使用されるオープンソースのツールです。 Selenium はオープン ソースであるため、ライセンス費用がかからず、これは他のテスト ツールに比べて大きな利点です。
- テストスクリプトは、次のいずれかのプログラミング言語で書くことができます。 Java、Python、C#、PHP、Ruby、Perl &.Net
- テストは以下の OS のいずれかで実行できます。 Windows、Mac、Linux
- テストはどのブラウザでも実行できます。 Mozilla Firefox、Internet Explorer、Google Chrome、Safari、Opera
- TestNG & JUnit などのツールと統合して、テストケースの管理やレポートの生成を行うことができます
- Maven と統合することができます。 Jenkins & Dockerと統合して継続的なテストを実現することができます
Seleniumの様々なコンポーネントとは?
Seleniumのさまざまなコンポーネントは次のとおりです。
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Selenium WebDriver
- Selenium Grid
Seleniumのロケーターにはどのような種類がありますか?
ロケーターとは、Web ページ内で Web 要素を一意に識別するアドレスに他なりません。 したがって、Web 要素を正確かつ正確に識別するために、Selenium には次のような異なるタイプのロケーターがあります。
- ID
- ClassName
- Name
- TagName
- linkText
- PartialLinkText
- Xpath
- CSS Selector
- DOM
XPathとは何ですか?
XPath は XML Path とも呼ばれ、XML ドキュメントを照会するための言語です。 XPath は、selenium で要素を見つけるための重要な戦略です。 XPath は、いくつかの条件に沿ったパス式で構成されます。 ここでは、Webページ内の任意の要素を検索するためのXPathスクリプト/クエリを簡単に書くことができます。 XPath は、XML ドキュメントのナビゲーションを可能にするために設計されており、XML ドキュメントの個々の要素や属性、その他の部分を選択して特定の処理を行うことを目的としています。
絶対パスと相対パスの違いは何ですか
- Absolute XPath
要素を見つける直接的な方法ですが、絶対 XPath の欠点は、要素のパスに変更が加えられた場合、その XPath が失敗することです。 例えば、以下のようになります。 /html/body/div/section/div/div
- Relative XPath
Relative XPathでは、パスはHTMLのDOM構造の中央から始まります。 ダブルフォワードスラッシュ(//)で始まるので、ウェブページのどこにある要素でも検索できることになります。 例えば、以下のようになります。 //input
Selenium WebDriverの異なる例外とは
Seleniumの例外は、他のプログラミング言語の例外と似ています。
- TimeoutException
- NoSuchElementException
- ElementNotVisibleException
- StaleElementException
Selenium Grid はどのような場合に使用するのですか?
Selenium Gridは、複数のプラットフォームやブラウザ上で同じまたは異なるテストスクリプトを同時に実行するために使用することができ、分散テストの実行、異なる環境下でのテスト、実行時間の大幅な短縮を実現します。
How do I launch the browser using WebDriver?
以下の構文でブラウザを起動することができます:
WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();
Intermediate Level Software Testing Interview Questions
21. テストはビルドと実行フェーズが完了してから行うべきでしょうか
テストは常にビルドと実行フェーズの後に行われます。 不具合を早く発見すればするほど、費用対効果が高くなります。 例えば、メンテナンス時に不具合を修正するのは、実行時に修正するのに比べて10倍のコストがかかります。 環境の現実とテストフェーズの関係は?
テストフェーズが進むにつれて、環境の現実が重要になります。
上のグラフは、受け入れテストでは 100% の環境が必要であることを示しています
23. 初期段階では削除できた欠陥が、後の段階では削除されています。
初期段階で欠陥が発見された場合、後の段階ではなく、その段階/フェーズ自体で削除されるべきです。 欠陥が後の段階に延期されると、コストが高くなるという事実があります。
設計段階で欠陥を特定して取り除くと、最もコスト効率が良いのですが、メンテナンス時に取り除くと20倍のコストになります。
回帰テストと確認テストの意味
回帰テスト。 最近のコード変更が既存の機能に悪影響を与えていないことを確認するソフトウェア テストの一種と定義されています。
確認テスト。 不具合が原因でテストが失敗すると、その不具合が報告されます。 その後、欠陥が修正された新しいバージョンのソフトウェアが提出されます。
境界値分析とは
境界値分析 (Boundary Value Analysis) は、入力領域の境界にバグがあるかどうかを確認するために適用されるブラックボックス テスト設計技法です。
ランダム テストとは
通常、ランダム テストでは、ツールを使用してデータをランダムに生成します。
このデータは、ツールまたは何らかの自動メカニズムを使用して生成されます。
27.
27.プロジェクトの見積もりはどのような根拠に基づいて行われますか?
プロジェクトを見積もるためには、以下の点を考慮する必要があります。
- プロジェクト全体を最小のタスクに分割する
- 各タスクをチーム メンバーに割り当てる
- 各タスクを完了するために必要な労力を見積もる
- 見積を検証する
テスト ケースはホワイト ボックスとブラック ボックスのどちらが先に書かれるのでしょうか。
一般的には、ブラックボックスのテストケースが先に書かれ、ホワイトボックスのテストケースは後に書かれます。 ブラックボックスのテストケースを書くためには、要求文書と、設計またはプロジェクト計画が必要です。 これらのドキュメントは、プロジェクトの初期開始時に簡単に入手できます。 ホワイトボックステストケースは、プロジェクトの初期段階では始めることができません。それは、プロジェクトの初期段階では入手できない、より明確なアーキテクチャが必要だからです。
欠陥レポート フォーマットの基本コンポーネント について説明してください。
不具合報告書フォーマットの基本的なコンポーネントは以下のとおりです。
- プロジェクト名
- モジュール名
- Defect detected on
- Defect detected by
- Defect ID and Name
- Snapshot of the defect
- Priority と重大度のステータス
- Defect resolved by
- Defect resolved on
Top 50 Software Testing Interview Questions & Answers
30.
自動化されたテストは、アジャイル方法論において非常に有用であり、スプリントのより少ない時間で最大のテストカバレッジを達成するのに役立ちます
31.
- Smoke test case
- Regression test case
- Complex calculation test case
- Data-driven test case
- Non-functional test case
32. 自動化テストの成功をどのような根拠に基づいてマッピングできますか?
以下の基準によって、自動テストの成功をマッピングすることができます:
- 欠陥検出率
- 自動実行時間と製品リリースまでの時間の節約
- 労働力の削減 & その他のコスト
Web サイトの負荷テストについて説明してください。
Webサイトにアクセスするには、ユーザーがそのWebサイトのサーバーに「リクエスト」を送り、サーバーからはアクセスしたいWebサイトの形でレスポンスが返ってきます。 Webサイトの負荷テストを行うためには、品質保証エンジニアや自動化エンジニアは、異なるトラフィック負荷をシミュレートするために、送信されるレスポンスの数を増やすだけです。 そして、仮想ユーザーの流入に対するWebサーバーの応答を測定します。 これは、パフォーマンスの問題やサーバーの容量を判断するために使用されます。
34.
Selenium | Sikuli |
ビデオプレーヤーやオーディオプレーヤーなどのフラッシュオブジェクトを自動化することはできません。 | フラッシュオブジェクトを自動化するための広範なサポートを提供しています |
複雑なAPIを持っています | シンプルなAPIを持っています |
ウェブアプリケーションだけを自動化することができます | ウェブだけでなく、ウィンドウズアプリケーションも自動化することができます。 |
How to click on a hyperlink using linkText()?
driver.findElement(By.linkText("Google”)).click();
このコマンドは、リンクテキストを使用して要素を検索し、その要素をクリックします。
TestNGとは
TestNGは、開発者とテスト担当者の両方が恩恵を受けられるように設計された、高度なフレームワークです。
TestNG とは? TestNGでテストケースの優先順位を設定する方法
TestNGでテストケースの優先順位を設定する方法については、以下のコードを参照してください。
テスト実行シーケンス:
Method1Method2Method3
SeleniumとQTPの違いは何ですか?
Selenium | Quick Test Professional |
SeleniumはFirefox、Chrome、Safari、Internet Explorer、Operaなどのほとんどの一般的なブラウザをサポートしています。 | |
Selenium | SeleniumはFirefox、Chrome、Safari、Internet Explorer、Operaなどの一般的なブラウザをサポートしています。 |
セレンはオープンソースのツールとして配布されており、自由に利用することができます | QTPはライセンスされたツールとして配布されており、商業的に利用することができます |
セレンはWebベースのアプリケーションのテストのみをサポートしています。 | QTPはWebベースのアプリケーションとWindowsベースのアプリケーションの両方のテストをサポートしています |
39. オブジェクトリポジトリとは何ですか? どのようにSeleniumでオブジェクトリポジトリを作成することができますか?
オブジェクトリポジトリとは、Application Under Test (AUT)に属するWeb要素をそのロケータ値とともに集めたものを指します。 Selenium では、オブジェクトを Excel シートに保存し、必要なときにスクリプト内で入力することができます。
40. Selenium WebDriver を使用してテキスト ボックスにテキストを入力する方法
sendKeys()メソッドを使用して、Selenium WebDriver を使用してテキスト ボックスにテキストを入力することができます
Advance Level Software Testing Interview Questions
41. 適切なテストを開始するために、エンドユーザーからどのような入力が必要ですか
エンドユーザーは、製品を使用しなければならない人であり、プロジェクトの誰よりも強い関心を持っているため、最も重要な人です。
上の図は、ユーザー側から必要な入力を示しています。
ワークベンチの概念とは
ワークベンチの核心は、特定のアクティビティがどのように実行されるかを文書化する方法です。 次の図のように、フェーズ、ステップ、タスクなどと呼ばれることが多いです。
すべてのワークベンチには5つのタスクがあり、それらは次のとおりです。
- 入力
- 実行
- チェック
- 生産出力
- 修正
43. 欠陥の連鎖とは
欠陥の連鎖とは、他の欠陥によって引き起こされる欠陥のことです。 ある欠陥が他の欠陥を誘発します。 ある欠陥がどの段階にも存在するにもかかわらず特定されない場合、気づかれることなく他の段階に隠れてしまいます。
例を挙げて理解していきましょう。
あなたは Web ページのログイン モジュールを設計しています。
フェーズ 1 では、ログインのためのユーザー登録モジュールを設計していますが、携帯電話番号は必須です。
現在、Registerモジュールには、携帯電話番号を空白のままにしておくことができるというバグがあるため、ログインに失敗したり、無効な携帯電話番号が処理されない場合にシステムエラーやクラッシュが発生したりする可能性があります。 これは、欠陥の連鎖として知られています。
44. エンド ユーザーへのロールアウトのためのさまざまな戦略とは何ですか?
ロールアウトのために従うべき戦略は次のとおりです。
- パイロット
- 段階的な実装
- 段階的な実装
- 並行した実装
45. Selenium WebDriver を使用して、ページ内の壊れたリンクをどのように見つけることができるか説明してください
これは面接官が提示する可能性のある厄介な質問です。
すべてのリンクの動作を確認しなければならないので、回避策として、Web ページ上のすべてのリンクに HTTP リクエストを送信し、そのレスポンスを分析する必要があります。 driver.get()メソッドを使用してURLに移動すると、必ず200 – OKのステータスで応答します。 これは、リンクが機能しており、それが取得されたことを示します。
その方法について説明します。
まず、アンカー タグ <a> を使用して、Web ページ上の異なるハイパーリンクを決定します。 <a>タグごとに、属性の「href」値を使用してハイパーリンクを取得し、driver.get()メソッドで使用したときに受け取ったレスポンスを分析します。 フレームIDもフレーム名もない場合」というスクリプトでは、どのようなテクニックを考慮すべきでしょうか
フレーム名とフレームIDがない場合、フレーム・バイ・インデックスを使用することができます。 例えば、Webページに3つのフレームがあり、それらのどれもがフレーム名とフレームIDを持っていない場合でも、フレーム(ゼロベース)インデックス属性を使ってそれらのフレームを選択することができます。 全てのフレームはインデックス番号を持ち、例えば、最初のフレームはインデックス “0”、2番目はインデックス “1”、3番目はインデックス “2 “となります。
driver.switchTo().frame(int arg0);
47. Selenium WebDriverでスクリーンショットを撮るには?
TakeScreenshot関数を使用して、スクリーンショットを撮ることができます。 getScreenshotAs()メソッドを使えば、簡単にスクリーンショットを保存することができます。 例 File scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
48. ユーザー名とパスワードを求める認証ポップアップが表示されている場合、どのようにしてサイトにログインするか説明してください
ログイン用のポップアップがある場合、明示的なコマンドを使用して、アラートが実際に存在するかどうかを確認する必要があります。 以下のコードは、明示的な待機コマンドの使用を理解するのに役立ちます。
49. TestNGでメソッドやコードブロックをスキップするには?
特定のテストメソッドやコードをスキップするには、テストアノテーションの「enabled」パラメータをfalseに設定します。
WebElement sample = driver.findElement(By.xpath("//*"));
これは WebElement 型の変数 sample を定義し、XPath 検索を使用して、テキスト値「data」を含む要素への参照で初期化しています。 皆さんの知識の足しになれば幸いです。 面接が成功することを祈っています。
この「ソフトウェアテストのインタビュー質問」の記事が適切だと思われた方は、世界中に25万人以上の満足した学習者のネットワークを持つ、信頼できるオンライン学習会社であるEdurekaのソフトウェアテストトレーニングをチェックしてみてください。