İçeriğe geç

White Box Method : Control Flow Graps Nasıl Oluşturulur?

Control Flow Graps mantıksal öğeleri baz alarak test coverage’ın hesaplanması için oluşturulan akışa verilen isimdir.

Bir White Box test metodu olan Control Flow Graps ‘ın aşamaları aşağıdaki gibidir.

  • Bir problem tanımlanır
  • Tanımlanan problemin programı pseudo code şeklinde yazılır.
  • Program satırları numaralandırılır.
  • Programın control flow grafiği çizilir.
  • Cyclomatic Complexity V(G) sayısı hesaplanır. V(G) = E — N + 2
  • Test adequancy öğesine bağlı olarak control flow diyagramı incelenerek test case tasarlanır.

Pseudo code (Sözde kod) : bilgisayar bilimleri alanında algoritmalar ve programlar oluşturulurken ve aktarılırken kullanılan, günlük konuşma diline benzer ve belli bir programlama dilinin detaylarından uzak anlatımlardır. Programın yapısının ve çalışma mantığının yüksek seviyeli bir biçimde, gerektiği yerde doğrudan doğal dil cümleleriyle, ama yine de bir program yapısı ve akışı içinde anlatılmasıdır. Böylelikle sözde kodu okuyan ya da yazan birisi, programlama dillerinin söz dizim detaylarına dikkat etmek zorunda kalmadan, programın ve algoritmanın çalışma mantığını düşünebilir. pseudocode

Test Yeterlilik Kriteri (Test ADEQUACY Criteria)

Prime lar control flow’un temelini oluşturur. Program koduna göre kullanılan prime ve prime kombinasyonları da değişir.
 Control flow çizilirken belirlenen prime’lara göre (sequence, condition, iteration) grafik oluşturulur.

Kullanılan prime lara göre testin yeterlilik seviyesi ve tipi belirlenir.

Örneğin;
 Condition prime ları kontrol eden bir test için condition-adequated denilir.
 Eğer test tüm prime ları kontrol ediyorsa program-based olarak adlandırılır.

Adequate ~ coverage ~ degree of coverage (olasılık olarak değerlendirilir [%0 , %100] )

Prime ların gösterim şekilleri

Test oluşturmadan önce test maliyetini nasıl belirlenir?

Öncelikle control flow grafiğini otomatik olarak oluşturmaya yarayan bir çok araç mevcuttur. Karmaşık algoritmalar da prime ları yerleştirmek node ve edge leri belirmek çok zor olabilir bu nedenle bu işi otomatik yapan araçları kullanmak gerekir.

Control flow grafiği oluşturulduktan sonra grafikte mevcut olan edge ve node değerlerine göre basit bir hesaplama yapmamız gerekir.
 Bu hesaplamaya ait formül aşağıdaki gibidir;

E = 7, N = 6

V(G) = 7–6 + 2 = 3

test case number ~ test size ~ test dimension ~ test complexity

Eğer edge ve node sayılarını biliyorsak test boyutunu hesaplayabiliriz.
 Grafikten ve hesaplamalardan sonra test case oluşturabilmek için bütün pathleri kontrol edebilecek bir test seti oluşturmamız gerekmektedir.

Bu örnekteki test seti değerlerimiz;

a = 1, -45, 3
number_of_entries = 3

Aşağıdaki tabloda görebileceğiniz üzere bu program için kullandığımız değerler decision ve brach durumların true, false olacak şekilde kontrol edebilme yeterliliğine sahiptir.

Her test ve buna uygun test seti her zaman bütün olasılıkları kontrol etmek zorunda kalmaz.

Örneğin, bazı durumlarda bir condition kendinden sonra gelecek tüm conditionları geçersiz kılabilir. Bu gibi durumlarda sonucu kestirilebildiği halde tüm değerlerin kontrol edilmesi gereksizdir.

Control Flow Path

Başlangıç node undan başlayıp bitiş node una kadar olan sıralı akışa control flow path denir. Cyclomatic complexity V(G) independet path leri belirlemek için için kullanılır.

Yukarıdaki control flow grap için oluşan pathler aşağıdaki gibidir;

path-base~path-adequate ~ coverage

Bu örnekteki independent path lerin sayısı oluşturulan grafiğin cyclomatic complexity sayısına eşittir. Cyclomatic complexity, control flow grafiği için genellikle yüksek coverage sağlayabilecek gerekli olan test sayısının üst limitini verir.

Erişilemeyen pathler (Not feasible or achievable paths); main path ten farklı olarak program içerisinde erişilemeyen bağımsız path lere verilen isimdir.

Tarih:Software Testing

İlk Yorumu Siz Yapın

Bir Cevap Yazın