Yazılım geliştirmede birim testi, bir uygulamanın ayrılmış bölümlerini izole eden ve test eden bir süreçtir. Birimler, bu özel bölümler için kullanılan resmi terimdir. Java uygulamanızda birim, bir yöntemdir.
Java geliştiricileri için birçok birim test çerçevesi vardır. En iyi çerçeveler arasında JUnit 5 var.
Birim Testi Neden Önemli?
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. İstenen çıktıyı alamadığınız için kodun bu gereksiz 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ıların verilerini depolayan uygulamalar için, bir güvenlik ihlali olduğunda riskler yüksektir.
Birim testi, şu anda bir hataya neden olsun ya da olmasın, uygulamanızın her bölümünü hedefler. Bu nedenle, birim testi, iyi bir yazılım güvenliğinde önemli bir rol oynar .
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 testi geliştirmek üzere 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ı
package app;
public class Calculator {
public static int add(int num1, int num2) {
return num1 + num2;
}
public static int subtract(int num1, int num2) {
return num1 – num2;
}
public static int multiply(int num1, int num2) {
return num1 * num2;
}
public static int divide(int num1, int num2) {
return num1 / num2;
}
}
Yukarıdaki Java sınıfı dört statik işlem gerçekleştirir: toplama, çıkarma, çarpma ve bölme. Her yöntem iki tamsayı bağımsız değişkeni alır ve tek bir tamsayı değeri döndürür.
JUnit 5 Test Sınıfı
package test;
import static org.junit.Assert.*;
import app.Calculator;
import org.junit.Test;
public class CalculatorTest {
@Test
public void testAdd() {
assertEquals(7, Calculator.add(3, 4));
}
@Test
public void testSubtract() {
assertEquals(6, Calculator.subtract(9, 3));
}
@Test
public void testMultiply() {
assertEquals(10, Calculator.multiply(5, 2));
}
@Test
public void testDivide() {
assertEquals(2, Calculator.divide(4, 2));
}
}
CalculatorTest iki önemli kavram sunar: @Test notu ve iddiaEquals() yöntemi. @Test ek açıklaması, doğrudan altındaki yöntemin bir test yöntemi olduğunu gösterir. Yukarıdaki test sınıfında, hesap makinesi işlemlerinin her biri için bir tane olmak üzere dört test yöntemi vardır.
Tüm test yöntemleri iddiaEquals() 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 iddiaEquals() yöntemine verilen ilk argüman beklenen sonuçtur ve ikinci argüman değerlendirmek istediğiniz yöntemdir (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ı çalıştırmak aşağıdaki arabirimi üretir:
JUnit test çıktısı
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. İş akışınızı kesinlikle iyileştirecek ve umarım kodunuzun başkaları için kullanımını kolaylaştıracaktı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.