En İyi 19 TestNG Mülakat Soruları ve Cevapları (2025)

İşte hem yeni başlayanlar hem de deneyimli adaylar için hayallerindeki işi bulmaları için TestNG mülakat soruları ve cevapları.


1) TestNG nedir?

TestNG, otomatikleştirilmiş, açık kaynaklı bir test çerçevesidir. JUnit çerçevesine dayanır, ancak bir JUnit uzantısı değildir.

 

Ücretsiz PDF İndir: TestNG Mülakat Soruları


2) TestNG'nin özellikleri nelerdir?

TestNG'nin özellikleri şunları içerir:

  • TestNG daha fazla OO (nesne yönelimli) ve Java özelliği kullanır
  • Entegre sınıfların test edilmesini destekler
  • Farklı Ek Açıklamalar desteklenir
  • Derleme zamanı test kodunu veri bilgisinden/çalışma zamanı yapılandırmasından ayırın
  • Çalışma zamanı yapılandırması esnektir
  • Esnek eklenti API
  • Daha fazla esneklik için BeanShell'i yerleştirir
  • Çok iş parçacıklı selenyum test desteği
  • Paralel testleri, yük testlerini, kısmi arızaları, bağımlı test yöntemlerini destekler
  • Testin derlenmesinden sonra TestNG'ye tüm "front-end" testlerin veya "yavaş", "hızlı", "veritabanı" testlerinin çalıştırılması için talepte bulunulabilir.
  • Aynı test sınıfı için birden fazla örnek için TestNG desteği
  • Günlük kaydı için, bağımlılık yok, günlük kaydı ve çalışma zamanı için varsayılan JDK işlevleri

3) TestNG'nin Junit'e göre avantajlarını sıralar mısınız?

TestNG'nin JUnit'e göre avantajları şunları içerir:

  • JUnit ek açıklamalarıyla karşılaştırıldığında TestNG'nin anlaşılması kolaydır
  • JUnit'ten farklı olarak TestNG, @Before Class ve @After Class bildirimlerini gerektirmez
  • TestNG'de yöntem adı kısıtlaması yok
  • TestNG, JUnit'te mümkün olmayan test senaryolarını kolayca gruplandırmanıza olanak tanır
  • TestNG aşağıdaki üç ek kurulumu destekler: @Before/After Suite, @Before/After Test ve @Before/After Group
  • TestNG'nin herhangi bir sınıfı genişletmesine gerek yoktur
  • TestNG'de Selenium web sürücüsü test senaryolarını paralel olarak çalıştırmak mümkündür
  • Grup bazında TestNG, test senaryolarını yürütmenize olanak tanır
  • TestNG, bağımlı test senaryolarını belirlemenize olanak tanır; her test senaryosu başka bir test senaryosundan özerktir

4) TestNG testlerini yazarken gereken temel adımlar nelerdir?

TestNG'yi yazarken gerekli olan temel adımlar şunları içerir:

  • Testinizin iş mantığını yazın ve TestNG ek açıklamalarını kodunuza ekleyin
  • Bir yapıda.xml veya test.xml'ye testiniz hakkındaki bilgileri ekleyin
  • TestNG'yi çalıştırın

5) TestNG'nin çağrılabileceği çeşitli yolları listeleyin.

TestNG aşağıdaki gibi farklı şekillerde çağrılabilir:

  • kullanma Tutulma
  • Karınca ile
  • Komut satırından
  • IntelliJ'in IDEA'sını kullanma
TestNG Mülakat Soruları
TestNG Mülakat Soruları

6) testng.xml dosyasının kullanımını açıklayın

Test.xml dosyası tüm testinizi XML olarak kaydeder. Bu dosya, tüm test paketinizi ve parametrelerini, kod deponuzda doğrulayabileceğiniz veya iş arkadaşlarınıza e-postayla gönderebileceğiniz tek bir dosyada tanımlamanızı kolaylaştırır. Ayrıca testlerinizin alt kümelerini çıkarmanızı veya birkaç çalışma zamanı yapılandırmasını bölmenizi kolaylaştırır.


7) TestNG'de bir testi nasıl devre dışı bırakabilirsiniz?

İstemediğiniz test senaryosunu devre dışı bırakmak için @Test(enabled = false) ek açıklamalarını kullanabilirsiniz.


8) TestNG'de Time-Out testi nedir?

TestNG'deki Zaman Aşımı testi, birim testini gerçekleştirmek için ayrılan süreden başka bir şey değildir. Birim testinin belirli bir süre içinde tamamlanamaması durumunda TestNG, daha fazla yazılım testinden vazgeçecek ve bunu bir başarısızlık olarak işaretleyecektir.


9) İstisna testini açıklayın

TestNG, kodun İstisna işlemesini izleme seçeneği sunar. Bir kodun beklenen sonuçları verip vermediğini test edebilirsiniz. Beklenen İstisnalar parametresi, @Test açıklamasıyla birlikte kullanılabilir.


10) TestNG'deki “suite testi” ne işe yarar?

"Suite Testi", birkaç birim testini birlikte çalıştırmanız gerektiğinde yapılır. "Suite Testi", bu birim testini bir araya getirir. Suite testini çalıştırmak için bir XML dosyası kullanılır.

TestNG
TestNG

11) Parametreli Test Nedir?

Parametreli test, geliştiricilerin aynı testi farklı değerler kullanarak tekrar tekrar yürütmesine olanak tanır. TestNG, iki farklı şekilde parametreleri doğrudan test yöntemlerinize aktarmanıza olanak tanır.

  • test.xml ile
  • Veri Sağlayıcılarla

12) JUnit testlerini TestNG kullanarak nasıl çalıştırabilirsiniz?

JUnit testlerini TestNG'yi kullanarak çalıştırabilirsiniz.

  • JUnit kütüphanesini, JUnit sınıflarını bulabilmesi ve kullanabilmesi için TestNG sınıf yoluna yerleştirme
  • Ant'ta test çalıştırıcınızı JUnit'ten TestNG'ye değiştirin ve ardından TestNG'yi "karma modda" çalıştırın. Bu, tüm testlerinizi aynı noktaya getirecek

Bu yaklaşım aynı zamanda mevcut JUnit testinizi TestNG'ye dönüştürmenize de olanak tanır.


13) @Test(invokasyonCount=?) ve (threadPoolSize=?) neyi belirtir?

  • @Test (threadPoolSize=?): ThreadPoolSize öznitelikleri, TestNG'ye, test yöntemini birden fazla iş parçacığı üzerinden çalıştırmak için bir iş parçacığı havuzu oluşturmasını söyler. İş parçacığı havuzuyla test yönteminin çalışma süresi büyük ölçüde azalır.
  • @Test(invokasyonSayısı=?): Çağrı sayısı, TestNG'nin bu test yöntemini kaç kez çalıştırması gerektiğini belirtir

14) TestNG sonuçları için rapor oluşturmanın farklı yolları nelerdir?

Test NG ile rapor oluşturmanın iki yolu vardır;

  • Dinleyiciler: Bir dinleyici sınıfının uygulanması için sınıfın org.testng./TestListener Arayüzünü uygulaması gerekir. Bu sınıflar, test başladığında, bittiğinde, atlandığında, geçtiğinde veya başarısız olduğunda TestNG tarafından çalışma zamanında bilgilendirilir.
  • Muhabirler: Bir raporlama sınıfının uygulanması için sınıfın bir org.testng/Reporter arayüzünü uygulaması gerekir. Tüm paket çalışması sona erdiğinde bu sınıflar çağrılır. Çağrıldığında tüm test çalışmasının bilgilerinden oluşan nesne bu sınıfa teslim edilir.

15) TestNG'de Grup Testi Nedir?

TestNG'ye eklenen yeni bir özelliktir; metotları uygun bölümlere ayırmanıza ve test metotlarını gruplandırmanıza olanak tanır. Grup testi ile, yalnızca gruplara ait metotları bildirmekle kalmaz, aynı zamanda başka gruplar içeren test grupları da belirtebilirsiniz. Gruplar, testing.xml dosyanızda grup testi kullanılarak belirlenir.


16) TestNG'nin bağımlılıkları belirtmenize izin vermenin yolları nelerdir?

TestNG, bağımlılıkları iki şekilde belirtmenize olanak tanır

  • @Test ek açıklamalarında DependOnMethods niteliklerinin kullanılması
  • @Test ek açıklamalarında DependOnGroups niteliklerinin kullanılması

17) TestNG'de veri sağlayıcıları kullanarak parametreleri iletmek zorunda kalmanız ne anlama geliyor?

Java'dan oluşturulacak karmaşık parametre veya parametreler geçirmeniz gerektiğinde, bu gibi durumlarda parametreler Veri sağlayıcıları kullanılarak geçirilebilir. Veri sağlayıcısı için açıklama @DataProvider'dır. Bu açıklamanın yalnızca tek bir dize özniteliği vardır; ad belirtilmemişse; Veri sağlayıcısının adı otomatik olarak varsayılan olarak yöntemin adını alır. Bir veri sağlayıcısı, dizi Nesnelerin


18) TestNG'de testleri yürütmek için çeşitli yöntemleri adlandırın?

TestNG'deki testler, TestNG sınıfı kullanılarak yürütülür. TestNG test çerçevesinde testleri çalıştırmak için sınıf ana giriş noktasıdır. Kullanıcılar kendi TestNG nesnelerini oluşturabilir ve bunları birçok farklı şekilde çağırabilirler:

  • Zaten mevcut bir test.xml'de
  • Tamamen Java'dan oluşturulmuş sentetik bir test.xml üzerinde
  • Test sınıflarını doğrudan ayarlayarak

19) Örnek TestNG kodunu verin

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();
  }
}

Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.

paylaş

7 Yorumlar

  1. Avatar Aditya Kasturi diyor ki:

    Röportajlara Hazırlanmak İçin İyi Bir Şey

  2. Avatar Rohit diyor ki:

    6. soruda testng.xml yerine test.xml yazdınız

    1. Avatar Gizem diyor ki:

      Teşekkürler… bu düzeltildi

  3. Avatar Nimit diyor ki:

    3. sorunun ilk satırı “TestNG'nin JUnit'e göre avantajları” olmalıdır.

    Sorular için teşekkürler.

  4. Avatar pradip yogi diyor ki:

    11) Parametrik test nedir? Parametreli test nedir?

    1. Avatar Krishna diyor ki:

      Merhaba, yazdığınız için teşekkürler. İncelenir ve güncellenir.

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *