Yazılım geliştirmede birim testi, bir uygulamanın özel bölümlerini izole eden ve test eden bir süreçtir. Birimler, bu özel bölümler için resmi terimdir. Java uygulamanızda, birim bir yöntemdir.
Java geliştiricileri için birçok birim test çerçevesi mevcuttur. En iyi çerçeveler arasında JUnit 5 bulunur.
Birim Testi Neden Önemlidir?
Bir değişkenin değerini yazdırmak ve kontrol etmek için hata ayıklama ifadeleri yazdıysanız, tebrikler; bir birim testi oluşturdunuz. İstediğiniz çıktıyı alamadığınız için bu atılabilir kod bölümü gerekliydi.
Peki ya istenen çıktıyı alıyorsanız ve kod hala bir yerde hata içeriyorsa? Uygulamayı dağıtabilirsiniz ve bu hata daha sonra bir güvenlik ihlaline neden olabilir. Kullanıcı verilerini depolayan uygulamalar için, bir güvenlik ihlali olduğunda riskler yüksektir.
Birim testi, şu anda bir hataya neden olup olmamasına bakılmaksızın uygulamanızın her bölümünü hedefler. Bu nedenle, birim testi önemli bir rol oynar iyi yazılım güvenliği.
JUnit 5 Nedir?
JUnit 5, başka bir birim test çerçevesinden daha fazlasıdır. JUnit Platformu, JUnit Jupiter ve JUnit Vintage olmak üzere birkaç alt projesi vardır. Bu üç bileşenin her biri, Java programcıları için testleri geliştirmek için birlikte çalışan benzersiz modüllere sahiptir.
JUnit 5 platformu, en iyi Java Integrated geliştirme platformlarının (IDE) en son sürümlerinde mevcuttur. JUnit 5'i destekleyen Java IDE'leri şunlardır:
- IntelliJ FİKİR
- tutulma
- NetBeans
- Visual Studio Kodu
JUnit 5 ile Birim Testleri Oluşturma
Bu örnek program, basit bir hesap makinesi uygulamasında birkaç birim testi oluşturmak için JUnit 5'i kullanır.
Hesap Makinesi Sınıfı
paket uygulama;
halka açıksınıfHesap makinesi{
halka açıkstatikintEkle(int sayı1, int sayı2){
dönüş sayı1 + sayı2;
}halka açıkstatikintçıkarmak(int sayı1, int sayı2){
dönüş sayı1 - sayı2;
}halka açıkstatikintçarpmak(int sayı1, int sayı2){
dönüş sayı1 * sayı2;
}
halka açıkstatikintbölmek(int sayı1, int sayı2){
dönüş sayı1 / sayı2;
}
}
bu Java sınıfı yukarıdaki dört statik işlem gerçekleştirir: toplama, çıkarma, çarpma ve bölme. Her yöntem iki tamsayı argümanı alır ve tek bir tamsayı değeri döndürür.
JUnit 5 Test Sınıfı
paket Ölçek;
içe aktarmakstatik org.junit. İddia.*;
içe aktarmak uygulama. Hesap makinesi;
içe aktarmakkuruluş.junit.Ölçek;halka açıksınıfHesap Makinesi Testi{
@Ölçek
halka açıkgeçersiztestEkle(){
assertEquals(7, Hesap makinesi.Ekle(3, 4));
}@Ölçek
halka açıkgeçersiztestSubtract(){
assertEquals(6, Hesap makinesi.çıkarma(9, 3));
}@Ölçek
halka açıkgeçersiztestÇarpma(){
assertEquals(10, Hesap makinesi.çarpmak(5, 2));
}
@Ölçek
halka açıkgeçersiztestBöl(){
assertEquals(2, Hesap makinesi.bölmek(4, 2));
}
}
Hesap Makinesi Testi iki önemli kavram sunar: @Ölçek açıklama ve assertEquals() yöntem. @Test notu, hemen altındaki yöntemin bir test yöntemi olduğunu belirtir. Yukarıdaki test sınıfında, her hesap makinesi işlemi için bir tane olmak üzere dört test yöntemi vardır.
Tüm test yöntemleri, assertEquals() yöntemini kullanır. Bu yöntem iki zorunlu bağımsız değişken ve isteğe bağlı bir üçüncü bağımsız değişken alır. Yukarıdaki assertEquals() yöntemine verilen ilk argüman, beklenen sonuçtur ve ikinci argüman, değerlendirmek istediğiniz yöntem (veya birimdir).
CalculatorTest sınıfının bir ana yöntemi yoktur, ancak JUnit @Test ek açıklamaları, test yöntemlerinin her birini yürütülebilir hale getirir. Eclipse'de CalculatorTest sınıfının yürütülmesi aşağıdaki arabirimi üretir:
Gördüğünüz gibi, her test başarılı. Dört test var ve hepsi hatasız veya hatasız çalıştı.
Öğrenim Birimi Testi Kariyer Fırsatlarınızı Genişletebilir
Bir geliştirici olarak, yazılımın nasıl test edileceğini bilmek, sahip olunması gereken avantajlı bir beceridir. Kesinlikle iş akışınızı iyileştirecek ve umarım kodunuzu başkaları için daha kolay kullanmasını sağlayacaktır. Ancak, yalnızca test etmeye odaklanan bir yazılım geliştirme dalı vardır. Bu mühendisler yazılım testçileri olarak bilinir.