Hangi test çerçevesini kullandınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
Projelerdeki teknolojik yığın ve testlerin özelliklerine bağlı olarak birçok test çerçevesi kullandım. En sık kullanılanlar şunlardı:
- JUnit / TestNG Java uygulamaları için testler.
- Pytest / unittest Python uygulamaları için testler.
- NUnit / xUnit .NET uygulamaları için testler.
- Mocha / Jest JavaScript uygulamaları (özellikle ön yüz) için testler.
- Cypress / Selenium WebDriver UI otomasyonu için.
- Rest-Assured Java'da REST API test otomasyonu için.
- Requests + pytest Python'da REST API test otomasyonu için.
Çerçeve seçimi her zaman şu faktörlere dayanıyordu:
- Uygulamanın teknolojik yığını.
- Test kapsamı gereksinimleri (Unit, Integration, End-to-End).
- CI/CD sistemleriyle entegrasyon desteği.
- Çerçevenin güncelliği ve topluluğun aktifliği.
- Ekibin deneyimi.
Geniş UI otomasyonu gereken projelerde, Java ve Python gibi çeşitli dillerle Selenium WebDriver'ı aktif olarak kullandım ve web uygulamalarını daha hızlı ve güvenilir test etmek için Cypress'i tercih ettim. API testleri için genellikle özel kütüphaneler kullanılırdı, bunlar genel test çerçeveleriyle entegre edilirdi (örneğin, Rest-Assured ve JUnit ile).
İşte basit bir birim testi için Pytest kullanımı örneği:
# test_example.py
def add(a, b):
return a + b
def test_add_positive_numbers():
# Pozitif sayıların toplanmasını test et
assert add(2, 3) == 5
def test_add_negative_numbers():
# Negatif sayıların toplanmasını test et
assert add(-1, -1) == -2
Ve işte benzer bir test için JUnit kullanımı örneği:
// AdditionTest.java
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class AdditionTest {
public int add(int a, int b) {
return a + b;
}
@Test
void testAddPositiveNumbers() {
// Pozitif sayıların toplamını test et
assertEquals(5, add(2, 3));
}
@Test
void testAddNegativeNumbers() {
// Negatif sayıların toplamını test et
assertEquals(-2, add(-1, -1));
}
}
Her çerçeve kendi özellikleri ve avantajlarıyla gelir ve seçim her zaman test görevini en iyi şekilde çözmek amacıyla yapılır.