23.2.2016
5.00 / 1 oy

Yazılımlarda Case Kullanımı

Yazılımlarda Case (Vaka) Kullanımı

Gereksinimlerin toplanması, düzenlenmesi, parçalanması, mo-dülerleştirilmesi işlemlerinden sonra alacağı biçim artık kodlamaya başlanacağı, yazılımcının doğrudan kullanabileceği şekildedir. Bunun için "kullanım vakası" (use case) ifadesini kullanacağız. Kullanım vakası biçimine dönüştürülmüş gereksinimler artık testçinin test vakalarını oluşturabileceği malzemedir. Gereksinim çalışmalarının sonunda çıkan bu kullanım vakası biçimindeki çıktı, test vakalarını/gruplarını (test case/test suit) yazacak olan testçinin girdisini oluşturur.

Kullanım vakalarının nasıl yazıldığı aslen gereksinim mühendislerinin işidir. Ama en azından bunun vikipedi'de yer alan tanımını verelim:

"Kullanım Vakası (Use Case), sistemlerin işlevsel gereksinimlerini kapsamak için yazılım ve sistem mühendisliğinde kullanılan bir tekniktir. Aktörlerin (son kullanıcıların veya diğer sistemlerin) sistemle etkileşimini tanımlayan senaryolardır."

Kullanım Vakasından Test Vakası Oluşturma

Kullanım vakasına basit bir örnek verelim. Bir bankanın müşterisinin, hesap kartı ile, ATM'den hesap bilgilerini görüntüleme gereksinimini, kullanım vakası adımları ile ifade edelim. Bu vakada yer alan aktörler, ana akış ve alternatif akış aşağıdaki gibidir:

Testçi, bu vakaya ait test vakalarını oluştururken ana akışı, alternatif akışı ve hata durumlarını ayrı ayrı ele almalıdır. Oluşturulan test vakaları, kullanım vakasındaki tüm adımları ve oluşturulabilecek tüm kombinasyonları içermelidir. Örneğin kombinasyonlardan bir tanesi bile gözden kaçırılırsa test vakaları üzerinden testler yapılırken bu gözden kaçırılan test vakasının testi çalıştırılanlayacağı için eğer orda hata var ise tespit edilemeyecek demektir. Eksik test vakası yüzünden gereksinimlerin kapsamı da eksik olacaktır, gereksinim eksik olarak test edilmiş olacaktır. Bu gözden kaçan test vakasında gizlenen hata, vatandaşın başına geldiğinde ortaya çıkacak ve zaten sahaya kurulmuş bir sistemde sorunu çözüp düzeltip tekrar sahaya kurmak sıkıntılı olacaktır. Bu nedenle test vakaları titizlikle yazılmalıdır. Bunun için kullanım vakasından otomatik test vakası üreten bir yazılım aracı kullanılabilir. Fakat bir araç kullanılsa bile testçi, bu otomatik üretilen test vakaları üzerinden tekrar geçmek zorunda kalacaktır. Otomatik üreten bir araç kullanılsın yada kullanılmasın test vakası yazmak, gereksinimleri belirleyip, düzenleyip kullanım vakası haline getirmek kadar titizlik gerektiren bir iştir.

Verdiğim test vakası örnekleri bu kullanım vakasından oluşturulabilecek tüm kombinasyonları kapsamamaktadır. Örneğin alternatif akış için test vakası eksiktir. Kullanım vakasının tam kapsanması için birkaç test vakası daha oluşturmak gerekecektir.

Kullanım Vakasının Testlerle Kapsanması

Kullanım vakasından test vakaları oluştururken dikkat edilmesi gereken en önemli nokta, kullanım vakasının %100 kapsanmasıdır. Tek bir test vakası bile unutulsa gereksinim %100 kapsanmamış ve % 100 test edilmemiş olacaktır. Bu tam kapsama için, adım

tanımlarının ne olduğuna bakmadan bir kullanım vakası taslağı verip bu taslak vakadan çıkarılabilecek tüm test vakalarının nasıl elde edildiğini göstereceğim.

Ana akış, alternatif akış ve hata durumlarını içeren akış diyagramına bakarak, bu vakadan oluşturulabilecek "başlangıçtan bitişlere giden" tüm yollan bulabiliriz. Bu yolların her biri bir test vakasına karşılık gelir.

Yazılımlarda Case Kullanımı
Bu makalenin telif hakkı ve tüm sorumlulukları yazara ait olup, şikayetler için lütfen bizimle iletişime geçiniz.
URL:
Etiketler:

Bu makale 628 kez okundu

23.2.2016 tarihinde yazıldı
Reitix

Yorumlar

  • aky
    aky
    21.6.2016

    yazılımda test aşaması case kullanımında da geçerlidir.

Bu yazıya siz de yorum yapabilirsiniz