TestNG 面接の質問と回答トップ 19 (2025)
ここでは、新人だけでなく経験豊富な候補者も夢の仕事に就くための TestNG 面接の質問と回答を紹介します。
1) TestNGとは何ですか?
TestNG は、自動化されたオープンソース テスト フレームワークです。 これは JUnit フレームワークに基づいていますが、JUnit 拡張機能ではありません。
2) TestNG の機能は何ですか?
TestNG の機能には次のものがあります。
- TestNG は、より多くの OO (オブジェクト指向) および Java 機能を使用します
- 統合クラスのテストをサポートします
- さまざまな注釈がサポートされています
- コンパイル時テスト コードをデータ情報/実行時構成から分離する
- 実行時の構成は柔軟です
- 柔軟なプラグイン API
- さらに柔軟性を高めるために BeanShell を埋め込みます
- マルチスレッド Selenium テストのサポート
- 並列テスト、負荷テスト、部分故障、依存テスト方法をサポート
- テストのコンパイル後、TestNG にリクエストを送信して、すべての「フロントエンド」テスト、または「低速」、「高速」、「データベース」テストを実行できます。
- 同じテスト クラスの複数のインスタンスに対する TestNG のサポート
- ロギングの場合、依存関係なし、ロギングとランタイム用のデフォルトの JDK 関数
3) Junit に対する TestNG の利点を挙げてください。
JUnit に対する TestNG の利点は次のとおりです。
- JUnit アノテーションと比較すると、TestNG は理解しやすい
- JUnit とは異なり、TestNG では @Before Class と @After Class を宣言する必要がありません。
- TestNG にはメソッド名の制約はありません
- TestNG を使用すると、JUnit では不可能なテスト ケースのグループ化を簡単に行うことができます。
- TestNG は、次の XNUMX つの追加セットアップをサポートしています: @Before/After Suite、@Before/After Test、@Before/After グループ
- TestNG はクラスを拡張する必要がありません
- TestNG では、Selenium Web ドライバーのテスト ケースを並行して実行できます。
- グループ TestNG に基づいてテスト ケースを実行できます
- TestNG を使用すると、依存するテスト ケースを決定できます。 各テスト ケースは別のテスト ケースに対して自律的です
4) TestNG テストを作成する際に必要な基本的な手順は何ですか?
TestNG の作成に必要な基本的な手順は次のとおりです。
- テストのビジネス ロジックを書き留め、コードに TestNG アノテーションを挿入します。
- ビルドで。XML または testing.xml に、テストに関する情報を追加します
- TestNG を実行する
5) TestNG を呼び出すことができるさまざまな方法をリストします。
TestNG は次のようなさまざまな方法で呼び出すことができます。
- 使い方 Eclipse
- アリと
- コマンドラインから
- IntelliJ の IDEA の使用
6) testng.xml ファイルの使用方法を説明する
ファイル testing.xml は、テスト全体を XML でキャプチャします。 このファイルを使用すると、すべてのテスト スイートとそのパラメーターを XNUMX つのファイルで簡単に定義でき、コード リポジトリで確認したり、同僚に電子メールで送信したりできます。 また、テストのサブセットを取り出したり、複数のランタイム構成を分割したりすることも簡単になります。
7) TestNG では、どうすればテストを無効にできますか?
不要なテスト ケースを無効にするには、アノテーション @Test(enabled = false) を使用できます。
8) TestNG のタイムアウト テストとは何ですか?
TestNG のタイムアウト テストは、単体テストの実行に割り当てられる時間に他なりません。 単体テストが特定の制限時間内に終了しない場合、TestNG はそれ以降のソフトウェア テストを放棄し、失敗としてマークします。
9) 例外テストの説明
TestNG には、コードの例外処理をトレースするためのオプションが用意されています。 コードが予期した結果をスローするかどうかをテストできます。 予期される Exceptions パラメーターは @Test アノテーションとともに使用されます。
10) TestNG の「スイート テスト」は何をしますか?
「スイート テスト」は、いくつかの単体テストを一緒に実行する必要がある場合に実行され、「スイート テスト」はこの単体テストをバンドルします。 XML ファイルはスイート テストの実行に使用されます。
11) パラメータ化されたテストとは何ですか?
パラメータ化されたテストを使用すると、開発者は異なる値を使用して同じテストを何度も実行できます。 TestNG では、XNUMX つの異なる方法でパラメータをテスト メソッドに直接渡すことができます。
- testing.xml を使用する場合
- データプロバイダーの場合
12) TestNG を使用して JUnit テストを実行するにはどうすればよいですか?
TestNG を使用して JUnit テストを実行するには、次のようにします。
- JUnit クラスを見つけて使用できるように、JUnit ライブラリを TestNG クラスパスに配置します。
- Ant でテスト ランナーを JUnit から TestNG に変更し、TestNG を「混合モード」で実行します。 これにより、すべてのテストが同じように行われます
このアプローチでは、既存の JUnit テストを TestNG に変換することもできます。
13) @Test(invocationCount=?) と (threadPoolSize=?) は何を示していますか?
- @テスト (threadPoolSize=?): threadPoolSize 属性は、複数のスレッドを通じてテスト メソッドを実行するためのスレッド プールを形成するように TestNG に指示します。 スレッド プールを使用すると、テスト メソッドの実行時間が大幅に短縮されます。
- @Test(invocationCount=?): 呼び出し回数は、TestNG がこのテスト メソッドを実行する回数を示します。
14) TestNG 結果のレポートを作成するにはどのような方法がありますか?
Test NG でレポートを作成するには XNUMX つの方法があります。
- リスナー: リスナー クラスを実装するには、そのクラスが org.testng./TestListener インターフェイスを実装する必要があります。 これらのクラスは、実行時にテストの開始、終了、スキップ、合格、または失敗時に TestNG によって通知されます。
- 記者: レポート クラスを実装するには、そのクラスが org.testng/Reporter インターフェイスを実装する必要があります。 スイート全体の実行が終了すると、これらのクラスが呼び出されます。 呼び出されると、テスト実行全体の情報で構成されるオブジェクトがこのクラスに渡されます。
15) TestNG のグループテストとは何ですか?
これは TestNG に含まれる新機能です。 これにより、メソッドを適切な部分にディスパッチし、テスト メソッドのグループ化を実行できます。 グループ テストを使用すると、グループに属するメソッドを宣言できるだけでなく、他のグループを含むテスト グループを指定することもできます。 グループは、testing.xml ファイル内でグループ テストを使用して決定されます。
16) TestNG で依存関係を指定できるようにするにはどのような方法がありますか?
TestNG では XNUMX つの方法で依存関係を指定できます
- @Test アノテーションで属性 dependOnMethods を使用する
- @Test アノテーションでの属性 dependOnGroups の使用
17) TestNG でデータ プロバイダーを使用してパラメーターを渡す必要があるとはどういう意味ですか?
Java から作成される複雑なパラメーターを渡す必要がある場合は、データ プロバイダーを使用してパラメーターを渡すことができます。 データプロバイダーのアノテーションは @DataProvider です。 名前が宣言されていない場合、このアノテーションには XNUMX つの文字列属性しかありません。 データプロバイダーの名前は自動的にデフォルトのメソッド名になります。 データプロバイダーは、 配列 オブジェクトの。
18) TestNG でテストを実行するさまざまなメソッドに名前を付けますか?
TestNG のテストは TestNG クラスを使用して実行されます。 TestNG テスト フレームワークでテストを実行する場合、このクラスが主要なエントリ ポイントになります。 ユーザーは TestNG オブジェクトを作成し、次のようなさまざまな方法でそれを呼び出すことができます。
- 既存の testing.xml 上
- 完全に Java から作成された合成 testing.xml について
- テストクラスを直接設定する
19) サンプル TestNG コードを提供します
package firsttestngpackage; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.*; public class firsttestngfile { public String baseUrl = "http://demo.guru99.com/test/newtours/"; String driverPath = "C:\\geckodriver.exe"; public WebDriver driver ; @Test public void verifyHomepageTitle() { System.out.println("launching firefox browser"); System.setProperty("webdriver.firefox.marionette", driverPath); driver = new FirefoxDriver(); driver.get(baseUrl); String expectedTitle = "Welcome: Mercury Tours"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle); driver.close(); } }
これらの面接の質問は、あなたの活力(口頭)にも役立ちます
面接の準備に最適
質問 6 では、testng.xml の代わりに testing.xml を記述しています。
ありがとう…これは修正されました
3 番目の質問の最初の行は、「JUnit インクルードに対する TestNG の利点」である必要があります。
ご質問ありがとうございます。
エラーが修正されました!
11) パラメトリックテストとは何ですか? それは「パラメータ化されたテストとは何ですか?」であるはずです。
こんにちは、書いていただきありがとうございます。 レビューされ、更新されます。