Döngü Testi Nedir? Metodoloji, Örnek
⚡ Akıllı Özet
Döngü testi, bir program içindeki döngü yapılarını doğrular; bir döngünün atlanması, bir kez girilmesi, sınırında yürütülmesi ve izin verilen maksimum geçiş sayısının bir adım ötesine itilmesi durumunda ne olduğunu kontrol eder.

Döngü Testi Nedir?
Döngü Testi Programdaki döngü yapılarının geçerliliğine tamamen odaklanan bir yazılım test türüdür. Kontrol yapısı testinin bir parçasıdır ve diğer test türleriyle birlikte ele alınır. yol testiVeri doğrulama testleri ve koşul testleri.
Döngü testi bir beyaz kutu testi Bu teknik, kaynak kodunu okuyabilen ve döngü koşulunu, sayacı ve çıkış yolunu görebilen biri tarafından uygulanır. Test eden kişi, kullanıcı arayüzünden davranış hakkında tahminde bulunmaz; test edilen nesne döngünün kendisidir.
Aşağıdaki diyagram, döngü testinin kontrol yapısı test ailesi içindeki yerini göstermektedir.
Test edilen döngü türleri
Bir strateji seçmeden önce, hangi dört döngü sınıfından birini incelediğinizi belirleyin. Test edilen döngü türlerine örnekler şunlardır:
- Basit döngü — tek girişli ve tek çıkışlı tek bir döngü, örneğin düz bir döngü için, süre or yaparken yapı.
- iç içe döngü — Bir döngü diğerinin içine yerleştirilir, böylece içteki döngü dıştaki döngünün her geçişinde tamamlanır.
- Birleştirilmiş döngü — art arda çalışan iki veya daha fazla döngü.
- Yapılandırılmamış döngü — Genellikle bir döngü gövdesine girme veya çıkma sonucunda oluşan, iç içe geçmiş ve birleştirilmiş döngülerin planlanmamış bir kombinasyonu.
Sınıf, gereken çabayı belirler. Basit bir döngü birkaç yineleme sayısına ihtiyaç duyar; yapılandırılmamış bir döngü ise genellikle test edilebilmesi için kodun yeniden tasarlanmasını gerektirir.
Döngü Testi neden yapılır?
Döngü Testi aşağıdaki nedenlerle yapılır
- Test, döngü tekrarı sorunlarını çözebilir
- Döngü testleri, performans ve kapasite darboğazlarını ortaya çıkarabilir.
- Döngüleri test ederek, döngü içindeki başlatılmamış değişkenler belirlenebilir.
- Döngü başlatma sorunlarını belirlemeye yardımcı olur.
Bunun ticari bir nedeni de var. Bir döngünün bir yinelemeyi fazla çalıştırması toplamı bozar; hiç sonlanmayan bir döngü ise işlemi kilitler. Her iki hata da kod geliştirici makinesindeyken kolayca bulunur, ancak üretim ortamında bulunması pahalıdır.
Döngü Testi Nasıl Yapılır: Tam Metodoloji
Bir döngüyü test ederken, üç farklı seviyede kontrol edilmesi gerekir:
- Döngüye girildiğinde
- İnfazı sırasında ve
- Döngü bırakıldığında
Bu döngülerin tümü için test stratejisi aşağıdaki gibidir.
Basit döngü
Aşağıda gösterildiği gibi, basit bir döngünün tek bir girişi ve tek bir çıkışı vardır.
Basit bir döngü aşağıdaki şekilde test edilir:
- Döngünün tamamını atla
- Döngüden 1 kez geçin.
- Döngüden 2 geçiş yapın
- Yapmak a döngüden geçer a < bBu, tipik bir orta seviye yineleme sayısıdır.
- Yapmak b, b-1 ve b+1 döngüden geçer b Döngüden geçiş için izin verilen maksimum sayıdır.
Son iki durum en büyük değeri taşıyor. Atlaping Döngü, çıkış koşulunun gövde çalışmadan önce değerlendirildiğini kanıtlıyor ve b+1 durumu, döngünün diziyi aşmak yerine, belirtilen sınırın ötesinde çalışmayı reddettiğini kanıtlıyor.
İç içe Döngü
İç içe döngüler, olası yineleme kombinasyonlarının sayısını artırır; bu nedenle, tüm işlemler aynı anda değil, içten dışa doğru test edilir.
İç içe döngüler için aşağıdaki adımları izlemeniz gerekir.
- Diğer tüm döngüleri minimum değerlerine ayarlayın ve en içteki döngüden başlayın.
- En içteki döngü için basit bir döngü testi gerçekleştirin ve dış döngüleri minimum yineleme parametre değerinde tutun
- Bir sonraki döngü için testi gerçekleştirin ve dışa doğru ilerleyin.
- En dıştaki döngü test edilene kadar devam edin.
Birleştirilmiş Döngüler
Şemada gösterildiği gibi, birleştirilmiş döngüler aynı yürütme yolunda art arda yer alır.
Birbirine bağlı döngülerde, iki döngü birbirinden bağımsız ise basit döngü yaklaşımıyla test edilirler, aksi takdirde iç içe döngüler olarak test edilirler.
Ancak, bir döngünün sayacı diğer döngünün başlangıç değeri olarak kullanılırsa, iki döngü bağımsız olarak kabul edilmez.
Yapılandırılmamış Döngüler
Yapılandırılmamış döngüler en zor durumdur, çünkü kontrol rastgele noktalardan döngü gövdesine girip çıkar.
Yapılandırılmamış döngüler için, tasarımın yapılandırılmış programlama yapılarını yansıtacak şekilde yeniden yapılandırılması gerekir. Kod basit, iç içe veya birleştirilmiş biçimlere indirgendikten sonra, yukarıdaki eşleştirme stratejisi uygulanır.
Test Senaryolarıyla Döngü Testi Örneği
Bir örnek uygulama, yineleme sayılarını somutlaştırır. Çalışan bir sonucu 1'den başlayarak her tam sayıyla çarpan bir rutini ele alalım. nFaktöriyel hesaplaması. Döngü sayacı 1'den başlar, çıkış koşulu şudur: karşı > nDöngü, sonuç tanımlanan tamsayı türünü aşmadan önce en fazla 12 geçişi kabul edecek şekilde tanımlanmıştır.
Bunu basit bir döngü olarak ele alırsak, yukarıda önerilen yineleme sayıları aşağıdaki sonuçlara dönüşür. test senaryoları.
| Test durumu | n'nin değeri | Geçişler gerçekleştirildi | Bu neyi kanıtlıyor? |
| TC01 | 0 | 0 (döngü atlandı) | Çıkış koşulu, program çalıştırılmadan önce değerlendirilir ve sonuç başlangıçtaki 1 değerinde kalır. |
| TC02 | 1 | 1 | Tek bir geçişte doğru sonuç elde edilir ve sayaç bir kez artar. |
| TC03 | 2 | 2 | Akümülatör, iki ardışık geçiş arasında bir değeri ileriye taşır. |
| TC04 | 5 | 5 | Tipik bir orta aralık sayımının beklenen 120 değerini döndürmesi, olağan davranışı doğrulamaktadır. |
| TC05 | 11 | 11 | Maksimumun bir altındaki geçiş yine de normal şekilde tamamlanır (b-1). |
| TC06 | 12 | 12 | Belirtilen maksimum değer kabul edilir ve döngü sona erer (b). |
| TC07 | 13 | reddetti | Maksimum sınırın ötesindeki bir geçiş, sessizce taşma yerine reddedilir (b+ 1). |
Dikkat ederseniz, geliştiricilerin en sık göz ardı ettiği iki durum TC01 ve TC07'dir ve bunlar atlanan başlatma ve taşma hatalarını ortaya çıkaran iki durumdur. Negatif bir değer n Belirtilen şartlar sağlanmasına izin veriyorsa aynı kümeye aittir ve bu da döngü testini şuna bağlar: negatif test.
Döngü Testi ile Tespit Edilen Yaygın Hatalar
Döngü testleri sürekli olarak aynı küçük hata ailesini buluyor; bu da sabit yineleme sayılarının her seferinde çalıştırılmaya değer olmasını sağlıyor.
- Tek farkla sınır — şu şekilde yazılan bir durum < nerede <= Bu amaçlanmıştı, bu nedenle döngü bir geçiş eksik veya bir geçiş fazla çalışıyor.
- Başlatılmamış sayaçlar veya akümülatörler — önceki bir çağrıdan kalan değeri içeren toplam.
- Sonsuz döngüler — Döngü gövdesinin asla karşılayamayacağı bir çıkış koşulu, çünkü sayaç yalnızca bazı dallarda güncelleniyor.
- Atlanmış döngü varsayımları — Döngü gövdesinin ayarlaması beklenen bir değişkeni okuyan, döngüden sonraki kod parçası; döngü sıfır kez çalıştığında bu kod hata veriyor.
- Kapasite ve performans arızaları — Doğru çalışan ancak her geçişte veritabanını yeniden okuyan bir döngü; bu nedenle maliyet, yineleme sayısı arttıkça artar.
- İç içe döngülü girişim — Dış döngü sayacını yeniden kullanan ve dış yineleme sayısını sessizce değiştiren bir iç döngü.
Her hata belirli bir yineleme sayısına karşılık geldiğinden, burada ortaya çıkan hataların yeniden üretilmesi ve düzeltilmesi, daha yüksek yineleme sayılarında bulunan hatalara kıyasla daha kolaydır ve daha hızlıdır. test seviyeleri.
Döngü Testi ile Diğer Kontrol Yapısı Test Teknikleri Arasındaki Farklar
Döngü testi, kontrol yapısı ailesinin bir üyesidir ve komşu tekniklerle karıştırılması kolaydır. Aşağıdaki tabloda bunlar birbirinden ayrılmıştır.
| Teknik | Hedeflediği şey | Tipik kapsama hedefi |
| Döngü testi | Döngü yapıları: giriş, yineleme sayıları ve çıkış | Her döngü için sıfır, bir, tipik ve sınır yineleme sayıları. |
| Durum testi | Kararlar içindeki Boolean ifadeler | Değerlendirilen her koşulun hem doğru hem de yanlış yönleri değerlendirildi. |
| Veri akışı testi | Her bir değişkenin tanımı ve kullanımı | Her tanım-kullanım çifti en az bir kez alıştırma olarak kullanılmıştır. |
| Temel yol testi | Kontrol akış grafiği üzerinden bağımsız yollar | Siklomatik karmaşıklığa eşit sayıda yol |
Pratikte bu teknikler birbirleriyle rekabet etmekten ziyade birbirlerini tamamlayıcı niteliktedir. Siklomatik karmaşıklık Bağımsız yolların sayısını gösterir, temel yol testi bunları kapsar ve döngü testi daha sonra yol kapsamının tek başına sağlayamayacağı yineleme sayılarını ekler. Hepsi de böyledir. dinamik test Etkinlikler, çünkü sonuçların gözlemlenebilmesi için kodun çalıştırılması gerekir.
Döngü testinde sınırlama
Bu tekniğin gerçek sınırları vardır ve bunları bilmek aşırı yatırımı önler.
- Döngü hataları çoğunlukla düşük seviyeli yazılımlarda ortaya çıkıyor
- Döngü testi sırasında tespit edilen hatalar çok ince değildir
- Bu hataların çoğu, bellek sınır ihlallerine, tespit edilebilir işaretçi hatalarına ve benzeri arızalara neden oldukları için işletim sistemi tarafından tespit edilebilir.
- Her döngünün sınıfını belirlemek ve buna göre test etmek zaman alır; bu da düşük risk taşıyan kod yollarında haklı çıkarılması zor bir durumdur.





