Sobes.tech
Junior

Hangi yazılım test türlerini biliyorsun?

sobes.tech yapay zeka

AI'dan gelen yanıt

  • Birim (Unit) Testleri: Programın bağımsız bileşenlerinin veya modüllerinin izole edilerek test edilmesi.
  • Entegrasyon (Integration) Testleri: Birden fazla modül arasındaki etkileşimin test edilmesi.
  • Sistem (System) Testleri: Tüm sistemin bir bütün olarak test edilmesi, fonksiyonel ve fonksiyonel olmayan gereksinimlere uygunluğunun kontrolü.
  • Kabul (Acceptance) Testleri: Son kullanıcılar veya müşteriler tarafından sistemin kontrol edilmesi, beklentilere uygun olup olmadığının doğrulanması.

Ek olarak:

  • Fonksiyonel Testler: Sistemlerin fonksiyonel gereksinimlere uygunluğunun kontrolü.
  • Fonksiyonel Olmayan Testler: Performans, güvenlik, kullanılabilirlik gibi fonksiyonel olmayan yönlerin test edilmesi.
  • Regresyon Testleri: Kodda yapılan değişikliklerin mevcut fonksiyonları bozmadığının doğrulanması.
  • Yük Testleri: Sistem performansının belirli bir yük altında değerlendirilmesi.
  • Stres Testleri: Sistemlerin aşırı yük koşullarında test edilmesi.
  • Güvenlik Testleri: Sistemlerdeki güvenlik açıklarının tespiti.
  • Kullanılabilirlik Testleri: Sistemlerin son kullanıcılar tarafından ne kadar kolay ve sezgisel kullanılabildiğinin değerlendirilmesi.

İşimde sıkça kullandığım örnekler:

// JUnit ile birim testi örneği
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class MyServiceTest {

    @Test
    void testAdd() {
        MyService service = new MyService();
        assertEquals(5, service.add(2, 3));
    }
}
// Spring Boot ile entegrasyon testi örneği
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class MyControllerIntegrationTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    void testHelloEndpoint() {
        ResponseEntity<String> response = restTemplate.getForEntity("/hello", String.class);
        assertThat(response.getBody()).isEqualTo("Hello, World!");
    }
}