Code Kapsama Aracı: İfade, Dal ve Karar Testi
⚡ Akıllı Özet
Code Kapsam, kaynak kodun bir test paketi tarafından ne ölçüde çalıştırıldığını bildiren, şeffaf bir ölçümdür.ping Ekipler, gizli hataların bulunabileceği test edilmemiş ifadeleri, dalları, koşulları ve yolları tespit eder.

Nedir? Code Kapsam?
Code kapsama Bir programın kaynak kodunun ne ölçüde test edildiğini tanımlayan bir ölçüdür. Bu, bir tür test yöntemidir. beyaz kutu testi Bu araç, bir dizi test senaryosu tarafından çalıştırılmayan program alanlarını bulur. Ayrıca, test kapsamını artırmak ve kod kapsamının nicel bir ölçüsünü belirlemek için ek test senaryoları oluşturmaya yardımcı olur.
Çoğu durumda, bir kod kapsamı sistemi çalışan program hakkında bilgi toplar. Ardından bu bilgileri kaynak kod bilgileriyle birleştirerek test paketinin kod kapsamı hakkında bir rapor oluşturur.
Neden kullan Code Kapsama Alanı Testi?
Kod kapsamını kullanmanın bazı temel nedenleri şunlardır:
- Test uygulamasının verimliliğini ölçmenize yardımcı olur.
- Bu, testin nicel bir ölçümünü sunar.
- Kaynak kodunun test edilme derecesini tanımlar.
Code Kapsama Yöntemleri
Aşağıda başlıca kod kapsamı yöntemleri yer almaktadır:
- Açıklama Kapsamı
- Karar Kapsamı
- Şube Kapsamı
- Toggle Kapsam
- FSM Kapsamı
Açıklama Kapsamı
Açıklama Kapsamı Beyaz kutu test tekniği, kaynak koddaki tüm yürütülebilir ifadelerin en az bir kez çalıştırıldığı bir yöntemdir. Kaynak kodda yürütülen ifade sayısını hesaplamak için kullanılır. İfade Kapsamasının temel amacı, kaynak koddaki tüm olası yolları, satırları ve ifadeleri kapsamaktır.
Kod kapsamı analizi, test edilen kodun yapısına bağlı olarak senaryolar oluşturmak için kullanılır.
Beyaz kutu testinde, test uzmanı yazılımın nasıl çalıştığına odaklanır. Başka bir deyişle, test uzmanı kontrol akış şemaları veya akış diyagramları açısından kaynak kodunun iç işleyişine odaklanır.
Genel olarak herhangi bir yazılımda, kaynak koduna bakarsanız, operatörler, fonksiyonlar, döngüler gibi çok çeşitli öğeler bulunur.pingHata işleyicileri ve benzeri unsurlar da dahil olmak üzere, programa verilen girdiye bağlı olarak bazı kod ifadeleri yürütülmeyebilir. İfade kapsamının amacı, koddaki tüm olası yolları, satırları ve ifadeleri kapsamaktır.
Şimdi bunu, ifade kapsamının nasıl hesaplandığına dair bir örnekle anlayalım. Burada, her senaryo için ifade kapsamı yüzdesini kontrol etmek üzere iki farklı senaryo ele alıyoruz.
Kaynak Code:
Prints (int a, int b) { ------------ Printsum is a function int result = a + b; If (result > 0) Print ("Positive", result) Else Print ("Negative", result) } ----------- End of the source code
Senaryo 1: A = 3 ise B = 9
Sarı renkle işaretlenmiş ifadeler, senaryoya göre yürütülen ifadelerdir. Yürütülen ifade sayısı = 5, Toplam ifade sayısı = 7, dolayısıyla İfade Kapsamı = 5/7 = %71.
Senaryo 2: A = -3 ise B = -9
Sarı renkle işaretlenmiş ifadeler, senaryoya göre yürütülen ifadelerdir. Yürütülen ifade sayısı = 6, Toplam ifade sayısı = 7, dolayısıyla İfade Kapsamı = 6/7 = %85.
Ancak genel olarak bakıldığında, tüm ifadelerin her iki senaryo tarafından da kapsandığını görüyoruz. Dolayısıyla, genel ifade kapsamının %100 olduğu sonucuna varabiliriz.
Beyanname Kapsamı neleri kapsıyor?
- Kullanılmayan İfadeler
- ölü Code
- Kullanılmayan Şubeler
- Eksik İfadeler
Karar Kapsamı Testi
Karar Kapsamı Karar kapsamı testi, kaynak kodundaki her bir mantıksal ifadenin doğru veya yanlış sonuçlarını raporlayan bir beyaz kutu test tekniğidir. Karar kapsamı testinin amacı, her olası karar noktasının her dalının en az bir kez yürütüldüğünü kontrol ederek ve sağlayarak, erişilebilir tüm kaynak kodunu kapsamak ve doğrulamaktır.
Bu kapsama türünde, ifadeler karmaşık hale gelebilir ve %100 kapsama ulaşmak zorlaşabilir. Bu nedenle, bu metriği raporlamak için çeşitli yöntemler kullanılır. Bu yöntemler en kritik kombinasyonlara öncelik verir. Dal kapsamına benzer olmakla birlikte, kontrol akışına daha yüksek hassasiyet sağlar.
Karar Kapsamı Örneği
Aşağıdaki kodu göz önünde bulundurun:
Demo(int a) { If (a > 5) a = a * 3 Print (a) }
Senaryo 1: a'nın değeri 2'dir. Kararın "Hayır" sonucu (a>5) işaretlenirse, Karar Kapsamı = %50 olur.
Senaryo 2: a'nın değeri 6'dır. Kararın "Evet" sonucu (a>5) işaretlenirse, Karar Kapsamı = %50 olur.
| Test Durumu | A'nın değeri | Çıktı | Karar Kapsamı |
|---|---|---|---|
| 1 | 2 | 2 | 50% |
| 2 | 6 | 18 | 50% |
Şube Kapsam Testi
Şube Kapsamı Beyaz kutu test yöntemi olarak adlandırılan bu yöntemde, bir kod modülünden (ifade veya döngü) çıkan her sonuç test edilir. Dal kapsamının amacı, her daldan gelen her karar koşulunun en az bir kez yürütüldüğünden emin olmaktır. Bağımsız kod segmentlerinin oranlarını ölçmeye ve dallanma içermeyen bölümleri bulmaya yardımcı olur.
Örneğin, sonuçlar ikili ise hem Doğru hem de Yanlış sonuçları test etmeniz gerekir.
Şube Kapsamını hesaplamak için formül:
Şube Kapsamı Örneği
Dal kapsamını öğrenmek için, daha önce kullanılan aynı örneği ele alalım. Dal kapsamı, koşulsuz dallanmayı da dikkate alacaktır.
| Test Durumu | A'nın değeri | Çıktı | Karar Kapsamı | Şube Kapsamı |
|---|---|---|---|---|
| 1 | 2 | 2 | 50% | 33% |
| 2 | 6 | 18 | 50% | 67% |
Şube kapsamının avantajları:
- Koddaki tüm dalları doğrulamanıza olanak tanır.
- Programın çalışmasında herhangi bir anormalliğe yol açacak bir dallanmanın olmamasını sağlamanıza yardımcı olur.
- İfade kapsamı testinden kaynaklanan sorunları ortadan kaldırır.
- Diğer test yöntemleriyle test edilmemiş alanları bulmanızı sağlar.
- Kod kapsamının nicel bir ölçüsünü bulmanızı sağlar.
- Dal kapsamı, mantıksal ifadelerin içindeki dalları dikkate almaz.
Durum Kapsama Testi
Durum KapsamıKoşul kapsamı veya ifade kapsamı, koşullu bir ifadede yer alan değişkenleri veya alt ifadeleri test etmek ve değerlendirmek için kullanılan bir test yöntemidir. Koşul kapsamının amacı, her mantıksal koşul için ayrı ayrı sonuçları kontrol etmektir. Koşul kapsamı, karar kapsamına göre kontrol akışına daha iyi duyarlılık sunar. Bu kapsamda, yalnızca mantıksal işlenenlere sahip ifadeler dikkate alınır.
Örneğin, bir ifadede AND, OR veya XOR gibi mantıksal işlemler varsa, bu toplam olasılıkları gösterir. Koşul kapsamı, tam karar kapsamını garanti etmez.
Koşul Kapsamını hesaplamak için formül:
İki işlenenli bir ifade için dört olası kombinasyon vardır: TT, FF, TF ve FT. X=3, Y=4 (x) girdisini ele alalım. b) YANLIŞ, bu da Koşul Kapsama Oranının 1/4 = %25 olduğu anlamına gelir.
Sonlu Durum Makinesi Kapsamı
Sonlu durum makinesi kod kapsamı, şüphesiz en karmaşık kod kapsamı yöntemidir. Bunun nedeni, tasarımın davranışına dayanmasıdır. Bu kapsam yönteminde, belirli durumların kaç kez ziyaret edildiğine veya geçildiğine bakmanız gerekir. Ayrıca, sonlu durum makinesinde kaç dizinin yer aldığını da kontrol eder.
Hangi tür Code Seçilecek Kapsam
Bu, kesinlikle verilmesi en zor cevap. Bir kapsama yöntemi seçmek için, test uzmanının şunları kontrol etmesi gerekir:
- Test edilen kodda tek veya birden fazla keşfedilmemiş hata bulunmaktadır.
- Olası cezanın maliyeti,
- İtibar kaybının maliyeti,
- Kayıp satışların maliyeti ve benzeri.
Kusurların maliyetli üretim hatalarına neden olma olasılığı ne kadar yüksek olursa, seçmeniz gereken kapsam düzeyi de o kadar ciddi olur.
Code Kapsam ve Fonksiyonel Kapsam Arasındaki Fark
| Code Kapsam | Fonksiyonel Kapsama |
|---|---|
| Kaynak kodun test ortamınız tarafından ne kadar iyi çalıştırıldığını gösterir. | Tasarımın işlevselliğinin test düzeneğiniz tarafından ne kadar iyi karşılandığını ölçer. |
| Hiçbir zaman tasarım spesifikasyonu kullanmaz. | Tasarım şartnamesini kullanır. |
| Geliştiriciler tarafından yapıldı. | Test uzmanları tarafından yapıldı. |
Code Kapsama Araçları
İşte önemli kod kapsamı araçlarının bir listesi:
| Araç Adı | Açıklama |
|---|---|
| Cobertura | Açık kaynaklı bir kod kapsamı aracı. Bir kod tabanını araçlarla donatarak ve test paketi çalıştırıldığında hangi kod satırlarının yürütüldüğünü ve hangilerinin yürütülmediğini analiz ederek test kapsamını ölçer. |
| Yonca | Yonca (OpenCloverAyrıca, önceki sürümden bu yana değiştirilen uygulama kodunu kapsayan testleri çalıştırarak test süresini de kısaltır. |
| Geliştirici Ortağı | DevPartner, geliştiricilerin analiz etmesine olanak tanır Java Kod kalitesi ve karmaşıklığı için kod. |
| Emma | EMMA, kaynak dosya, sınıf ve metot düzeylerinde toplanan sınıf, metot, satır ve temel blok kapsamını destekler. |
| Kalistik | Kalistick, kodu farklı açılardan analiz eden üçüncü taraf bir uygulamadır. |
| CoView ve CoAnt | Kod kapsamı ölçümü, sahte nesne oluşturma, kod test edilebilirliği, yol ve dal kapsamı ve daha fazlası için bir kod kapsamı aracı. |
| Hedef tahtası C++ | BullseyeCoverage, kod kapsamını ölçen bir araçtır. C++ ve C. |
| Sonar | Sonar, kod kalitesini yönetmenize yardımcı olan açık kaynaklı bir kod kapsamı aracıdır. |
Kullanmanın Avantajları ve Dezavantajları Code Kapsam
| Avantajlar | Dezavantajlar |
|---|---|
| Kod kapsamının nicel bir ölçümünü değerlendirmek için faydalıdır. | Tasarımda belirli bir özellik uygulanmamış olsa bile, kod kapsamı yine de %100 olarak raporlanır. |
| Test kapsamını artırmak için ek test senaryoları oluşturmanıza olanak tanır. | Kod kapsamı kullanılarak bir özelliğin tüm olası değerlerinin test edilip edilmediğini belirlemek mümkün değildir. |
| Bu ��zellik, bir dizi test senaryosu tarafından çalıştırılmayan program alanlarını bulmanızı sağlar. | Code Kapsam, mantığınızı ne kadar ve ne kadar iyi ele aldığınızı göstermez. |






