Örneklerle Pozitif Test ve Negatif Test

⚡ Akıllı Özet

Pozitif ve negatif testler birlikte, yazılımın kabul etmesi gerekenleri kabul edip etmediğini ve reddetmemesi gerekenleri reddedip reddetmediğini belirler. Bu makale, her iki yaklaşımı, arkalarındaki teknikleri, pratik örnekleri ve hata sızıntısını düşük tutan uygulamaları açıklamaktadır.

  • Pozitif test sonucu: Yalnızca geçerli verileri girin ve uygulamanın, belirtilen şartlarda açıklandığı gibi, amaçlanan akışı tam olarak tamamladığını doğrulayın.
  • Negatif test sonucu: Geçersiz veya aşırı değer içeren veriler girin ve uygulamanın bunu reddettiğini, net bir hata mesajı gösterdiğini ve istikrarlı kaldığını doğrulayın.
  • 📏 Sınır değer analizi: Her kabul edilen aralığın sınırını test edin, ardından bir adım ötesini de test ederek, bir eksikten kaynaklanan hataları hızlıca tespit edin.
  • 🧩 Eşdeğerlik bölümlendirmesi: Girdileri geçerli ve geçersiz gruplara ayırın, ardından her gruptan bir değer örnekleyin; böylece her şeyi test etmek zorunda kalmazsınız.
  • 🇧🇷 Kapsama kuralı: Her gereksinim için en az iki durum yazın, biri olumlu diğeri olumsuz; böylece hiçbir kabul kriteri test edilmeden gönderilmemiş olur.
  • 🛡️ Güvenlik getirisi: Olumsuz durumlar, olumlu işlemlerin asla karşılaşmadığı enjeksiyon hatalarını, süresi dolmuş belirteçleri ve ele alınmayan istisnaları ortaya çıkarır.
  • 🤖 Otomasyon uyumu: Regresyon değeri için istikrarlı pozitif akışları otomatikleştirin ve dayanıklılık geri bildirimi için negatif doğrulama kontrollerini otomatikleştirin.

Yazılım testi, bir yazılım uygulamasının beklendiği gibi çalışıp çalışmadığını kontrol etmek için yapılan doğrulama ve geçerlilik kontrolü işlemidir. Amaç, hataları bulmak ve ürün kalitesini iyileştirmektir. Yazılım testinin iki yolu vardır: Pozitif Test ve Negatif Test.

İki yaklaşım da birbirine zıt sorulara cevap veriyor: Her şey yolunda gittiğinde uygulama çalışıyor mu ve bir sorun çıktığında istikrarlı kalıyor mu?

Pozitif test sonucu nedir?

Pozitif Test Geçerli veri kümeleri girdi olarak verilerek bir yazılım uygulaması üzerinde gerçekleştirilen bir test türüdür. Yazılım uygulamasının olumlu girdilerle beklendiği gibi davranıp davranmadığını kontrol eder.

Pozitif test, yazılım uygulamasının tam olarak beklendiği gibi çalışıp çalışmadığını kontrol etmek amacıyla yapılır. Bu nedenle, buna "mutlu yol testi" de denir.

Örneğin, aşağıda gösterilen sayısal metin kutusunu ele alalım.

Pozitif Test

Bir uygulamada yalnızca sayıları kabul edebilen bir metin kutusu vardır. 99999'a kadar olan değerleri girmek sistem tarafından kabul edilebilir olacaktır ve bunun dışındaki diğer değerler kabul edilmemelidir. Olumlu test yapmak için geçerli giriş değerlerini 0 ile 99999 arasında ayarlayın ve sistemin değerleri kabul edip etmediğini kontrol edin.

Negatif Test Nedir?

Negatif Test Bu, geçersiz veya uygunsuz veri kümeleri girdi olarak verilerek yazılım uygulaması üzerinde gerçekleştirilen bir test yöntemidir. Yazılım uygulamasının olumsuz veya istenmeyen kullanıcı girdileriyle beklendiği gibi davranıp davranmadığını kontrol eder.

Negatif testin amacı, yazılım uygulamasının geçersiz veri girişleriyle bile çökmemesini ve kararlı kalmasını sağlamaktır. Bu nedenle hata yolu testi veya arıza testi olarak da adlandırılır.

Örneğin, aynı alanın rakamlar yerine karakterler almasını ele alalım.

Negatif Test

Negatif test, A'dan Z'ye veya a'dan z'ye karakterler girilerek gerçekleştirilebilir. Ya yazılım sistemi bu değerleri kabul etmemeli ya da bu geçersiz veri girişlerinde hata mesajı vermelidir.

Her iki test türünde de aşağıdaki hususlar dikkate alınmalıdır:

  • Veri girişi
  • Gerçekleştirilmesi gereken bir eylem
  • Çıkış Sonucu

Pozitif Test ve Negatif Test Arasındaki Temel Farklar

Her iki yaklaşım da aynı ortak noktayı paylaşıyor. test durumu Yapı. Fark, sağladığınız girdide ve başarılı bir sonucun neyi kanıtladığında yatmaktadır.

Parametre Pozitif Test Negatif Test
Ayrıca olarak bilinir Mutlu yol testi Hata yolu veya arıza testi
Kullanılan giriş Geçerli, beklenen veriler Geçersiz, aşırı veya beklenmedik veriler
Gol Özelliğin beklendiği gibi çalıştığını doğrulayın. Özelliğin reddetmemesi gereken şeyleri reddettiğini doğrulayın.
Beklenen sonuç İşlem başarıyla tamamlandı. Açık bir hata beliriyor ve sistem stabil kalıyor.
Hata işleme Odak noktası değil Tüm odak noktası
Kapsam Dar, belirtilen özelliklere uygun Geniş kapsamlı, teknik şartnamenin dışında kalan her şeyi araştırıyor.
Atlanması durumunda tipik risk Temel özellikler arızalı olarak gönderiliyor. Çökmeler ve güvenlik açıkları üretim aşamasına kadar ulaşıyor.

Pozitif testin başarısız olması, işlev bozukluğuna işaret eder. Negatif testin başarısız olması ise, eksik bir koruma parçasına işaret eder ki bu, kullanıcılar tarafından fark edildikten sonra onarımı çok daha pahalıya mal olur.

Pozitif ve Negatif Testlerde Kullanılan Test Teknikleri

Pratikte, iki klasik girdi tasarımı tekniği aynı gereksinimden hem olumlu hem de olumsuz durumlar üretir:

  • Sınır Değer Analizi
  • Eşit bölümlere ayırma

Sınır Değer Analizi

Bu, test senaryolarının sınırdaki değerleri içerecek şekilde tasarlandığı yazılım test tekniklerinden biridir. Giriş verileri sınır değer sınırları dahilinde kullanılıyorsa buna Pozitif Test denir. Giriş verileri sınır değer limitlerinin dışında seçilirse buna Negatif Test denir.

Örneğin, aşağıda gösterilen kabul edilebilir aralığa bakın.

Pozitif ve Negatif testler

Bir sistem 0'dan 10'a kadar sayısal değerleri kabul edebilir. Diğer tüm sayılar geçersiz değerlerdir. Bu teknik kapsamında -1,0,1 ve 9,10,11 sınır değerleri test edilecektir.

Eşit bölümlere ayırma

Bu bir yazılım testi Giriş verilerini birçok bölüme ayıran teknik. Her bölümdeki değerler en az bir kez test edilmelidir. Pozitif Test için geçerli değerlere sahip bölümler kullanılır. Geçersiz değerlere sahip bölümler negatif test için kullanılırken.

Örneğin, aşağıda gösterilen iki bölümü inceleyin.

Eşit bölümlere ayırma

Sıfırdan ona kadar olan sayısal değerler iki (veya üç) bölüme ayrılabilir. Bizim durumumuzda, -10 ile -1 ve 0 ile 10 olmak üzere iki bölümümüz var. Senaryoları test etmek için her bölümden örnek değerler (5 ve -5) alınabilir. Bkz. eşdeğerlik bölümlendirmesi ve sınır değer analizi Daha fazla çözümlü örnek için derse bakın.

Pozitif ve Negatif Testler Nasıl Yapılır?

Aşağıdaki sıralama, bir gereksinimi dengeli bir pozitif ve negatif durumlar kümesine dönüştürür.

  1. Sınırlama şartlarını okuyun. Kabul edilen her formatı, aralığı ve zorunlu alanı not edin. Spesifikasyonun izin verdiği her şey olumlu, dışladığı her şey ise olumsuz bir durum olarak değerlendirilir.
  2. Önce olumlu durumu yazın. Geçerli verileri girin, işlemi gerçekleştirin ve beklenen başarı sonucunu temel değer olarak kaydedin.
  3. Aynı limitlerden negatif durumları türetin. Sınır değer analizi ve eşdeğerlik bölümleme yöntemlerini kullanarak boş alanlar, yanlış veri tipleri ve aralık dışı sayılar üretin.
  4. Düşmanca girdi ekleyin. Dahil SQL enjeksiyonu dizeler, süresi dolmuş belirteçler ve hatalı biçimlendirilmiş API yükleri gibi güvenlik testi Boşluklar erken ortaya çıkıyor.
  5. İşlevsel olmayan kontrolleri de kapsayacak şekilde genişletin. A yük testi desteklenen kullanıcı sayısı pozitif olduğunda, stres testi Bu sınırın ötesinde ise karşılık gelen negatif durum yer almaktadır.
  6. Her bir vakanın nerede çalışacağını seçin. Olumsuz vakaları dışarıda tutun. duman ve akıl sağlığı testiBunlar hızlı pozitif kapılardır ve bunları fonksiyonel olarak çalıştırırlar. gerileme testi çevrimleri.

ATM'den para çekme işlemi eşleştirmeyi gösterir. Olumlu durumda, doğru PIN ve geçerli bir miktar girilir, bu nedenle nakit ve fiş gelir. Olumsuz durumda ise yanlış PIN girilir ve ret mesajı, ardından da kartın bloke edilmesi beklenir.

Dengeyi Korumak İçin En İyi Uygulamalar

  • Geliştirmeye başlamadan önce, her gereksinim için en az iki durum senaryosu yazın; biri olumlu, diğeri olumsuz.
  • Olumsuz vakaları etki sırasına göre önceliklendirin; bu nedenle enjeksiyon ve ödeme hataları, kozmetik girdi hatalarından önce gelir.
  • Sadece işlemin başarısız olduğunu belirtmekle kalmayın, hata mesajının kendisini de doğrulayın; çünkü belirsiz mesajlar da birer kusurdur.
  • Yer bırakın keşifsel testve bulgularınızı şu şekilde kaydedin: kusur yönetimi süreci.

⚠️Uyarı: Canlı üretim ortamında asla olumsuz senaryolar çalıştırmayın. Bunlar, arızaları zorlamak için vardır ve kasıtlı bir çökme gerçek kullanıcıları ve gerçek verileri etkiler.

SSS

Negatif test Uygulamanın geçersiz girdileri düzgün bir şekilde reddettiğini kontrol eder. Yıkıcı testler daha da ileri gider ve sistemin kasıtlı olarak başarısızlığa doğru itilmesini sağlar; örneğin, bir işlemin ortasında veritabanı bağlantısını keserek, aşırı koşullar altında kurtarma davranışını ve dayanıklılığını ölçer.

Hayır. Duman ve akıl sağlığı testi Sadece olumlu kontrolleri kullanın, çünkü bunlar yeni bir yapıda hızlı kalite kontrol noktaları görevi görür. Olumsuz kontroller kasıtlı olarak hatalar oluşturur, bu nedenle ekipler bunları daha derin işlevsel döngüler sırasında çalıştırır.

Evet. Yapay zeka üreticileri gereksinimleri veya kullanıcı hikayelerini okur ve sınır değerleri de dahil olmak üzere geçerli ve geçersiz girdi kümeleri önerir. Test uzmanı yine de bunları inceler, çünkü oluşturulan olumsuz durumlar genellikle düzenleyici eşikler veya para birimi yuvarlama kuralları gibi alan sınırlarını gözden kaçırır.

Evet. Yapay zeka özellikleri, hızlı enjeksiyon, hatalı model yanıtları, zaman aşımı ve kapsam dışı sorular için olumsuz durumlar gerektirir. Çıktılar çalıştırmalar arasında değiştiği için, doğrulama işlemleri sabit bir beklenen dize yerine yanıt biçimini, güvenlik filtrelerini ve yedek davranışı kontrol etmelidir.

Selenium Tarayıcı alan doğrulamasını yönlendirir, Postman Geçersiz API veri yüklerini ve durum kodlarını kapsar ve JMeter Stres senaryolarında yükü desteklenen sınırın ötesine iter. Doğruladığınız katmana uygun aracı seçin.

Bu yazıyı şu şekilde özetleyin: