Yazılım testinde negatif test, uygulamanızın beklenmedik davranışlara veya geçersiz verilere nasıl tepki verdiğini doğrulayan bir tekniktir. Bu tür bir test, Kalite Güvence ekiplerinin donmalara, çökmelere veya diğer istenmeyen sonuçlara neden olan istisnaları avlayarak yazılımlarının sağlamlığını ve kararlılığını geliştirmelerine yardımcı olabilir.
Bu makalede, negatif yazılım testinin ne olduğunu, neden önemli olduğunu ve bu teknik için kullanabileceğiniz bazı farklı yaklaşımları, teknikleri ve araçları inceleyeceğiz.
Negatif yazılım testi nedir?
Negatif test, bir sistemi kasıtlı olarak geçersiz girdilerle veya beklenmedik verilerle besleyerek bu senaryoları nasıl ele aldığını görmek için kullanılan bir yazılım testi tekniğidir. Hata testi veya hata yolu testi olarak da bilinen bu yaklaşım, kullanıcıların geçersiz tarihler veya karakterler girmesi veya belirli işlevleri hiç amaçlamadığınız şekillerde kullanması gibi uygulamanızın karşılaşacağı çeşitli gerçek dünya senaryolarını simüle eder.
Çoğu test türü, bir uygulamayı test etmek için geçerli verileri kullanır. Ancak negatif test, kenarlarda ve tipik girdilerin ötesinde testler yaparak ve uygulamanın istisnaları nasıl ele aldığını görerek farklı bir yaklaşım benimser.
Uygulamanızın amaçlandığı gibi çalışıp çalışmadığını test etmek önemlidir. Ancak, diğer taraftan, kullanıcılar rezervasyonun dışına çıktığında ne olduğunu anlamak da, özellikle bu istenmeyen kullanımlar çökmelere, donmalara veya diğer kusurlara neden oluyorsa, hayati önem taşır.
Pozitif test ile negatif test arasındaki fark
yazılım testinde test
Yukarıda özetlediğimiz gibi, negatif test, bir sistemin davranışını doğrulamak için beklenmedik veya geçersiz verileri kullanır. Buna karşılık, pozitif test, sistemin beklendiği gibi çalıştığını doğrulamak için beklenen veya geçerli verileri zorlar.
Başka bir deyişle:
- Pozitif test, uygulamanızın planlandığı gibi çalışıp çalışmadığını anlamanıza yardımcı olur
- Negatif test, uygulamanızın beklenmedik olaylarla başa çıkıp çıkamayacağını belirler
Uygulamanızı titizlikle test etmek istiyorsanız, yazılım testinde hem pozitif test hem de negatif test gereklidir.
Negatif yazılım testi neden hayati önem taşır?
Geliştiriciler yazılım geliştirirken, kullanıcının yazılımı nasıl kullanmasını bekledikleri konusunda net bir fikre sahip olurlar. Ancak, kullanıcılar her zaman kurallara uymazlar. Çoğu zaman, var olmayan düğmelere tıklamaya, sayı alanlarına harf girmeye veya beklemediğiniz girişler yapmaya çalışırlar.
Negatif test, aşağıdaki gibi pozitif test teknikleriyle ortaya çıkarılamayan bu uç durumları hesaba katmayı amaçlamaktadır
birim
,
sistem
veya
entegrasyon testleri
. Sisteme atılacak “falsolu toplar” bulmak için biraz alışılmadık düşünmek gerekir. Bununla birlikte, net sonuç daha istikrarlı ve sağlam bir uygulamadır.
Negatif testin amacı nedir?
yazılım testinde?
Negatif test, diğer yazılım testi türleriyle benzer hedeflere sahiptir. Yani, bir uygulamadaki hataları, kusurları ve güvenlik açıklarını ortaya çıkarmak için. Ancak, geçerli verilerin kullanılmasıyla ortaya çıkarılamayan kusurların bulunmasında özel bir rol oynar. Negatif test yaklaşımını benimsemek için bazı nedenler aşağıda sıralanmıştır.
1. Kusurların ortaya çıkarılması
Yazılım testinde negatif testin temel amacı, geçersiz verilerden veya beklenmedik girdilerden kaynaklanan hataları ortaya çıkarmaktır. Test uzmanlarının hata tespiti konusunda daha proaktif bir yaklaşım benimsemesine ve yazılımın beklentileri karşıladığından emin olmasına olanak tanır.
2. Güvenlik
Beklenmeyen girdiler veya geçersiz veriler güvenlik açıklarını ortaya çıkarabilir. Bu uç durumların test edilmesi ve çözülmesi, kötü niyetli saldırılar, enjeksiyon kusurları veya yetkisiz erişim girişimleri olasılığını azaltarak daha güvenli ve sağlam bir uygulama sağlar.
3. Hata işleme
Negatif test, hata işlemeyi doğrulamak için kullanışlıdır. Bu sadece sistemin beklenmedik girdiler veya verilerle karşılaştıktan sonra kararlı kalmasını sağlamakla ilgili değil, aynı zamanda son kullanıcının verilerin geçersiz olduğunu bilmesini sağlamak için hata mesajları üretmek gibi bu olaylara nasıl yanıt verdiğiyle de ilgilidir.
4. Test kapsamının iyileştirilmesi
Yazılım testlerinde pozitif ve negatif testler birbirini tamamlayıcı niteliktedir. Her ikisi de veri girişinin farklı unsurlarını kapsar, bu da testinizin daha kapsamlı olduğu anlamına gelir.
5. Daha iyi kullanıcı deneyimi
Negatif testler, kullanıcı deneyimini olumsuz etkileyebilecek hata mesajlarının, çökmelerin ve diğer beklenmedik davranışların kaynağını keşfetmeye yardımcı olur.
Pozitif ve negatif arasındaki fark
yazılım mühendisliğinde test
Yukarıda bahsettiğimiz gibi, negatif testler bir sistemin davranışını doğrulamak için beklenmedik veya geçersiz veriler gönderir. Pozitif test ise sistemin beklendiği gibi çalıştığını doğrulamak için beklenen veya geçerli verileri gönderir.
Pozitif ve negatif testler arasındaki farklar şunlardır:
1. Hedefler:
Pozitif testler yazılımın amaçlandığı gibi çalışıp çalışmadığını doğrular; negatif testler ise amaçlanmayan senaryolarda neler olduğunu anlamaya çalışır.
2. Veri:
Pozitif testlerde geçerli veriler, negatif testlerde ise geçersiz girdiler, uç değerler ve beklenmedik biçimler kullanılır.
3. Odaklanın:
Pozitif testler başarı senaryolarına odaklanırken, negatif testler daha çok başarısız senaryolarla ilgilenir.
Farklı negatif test türleri
Negatif test, bir uygulamanın kalitesini ve bütünlüğünü doğrulamaya yönelik birkaç farklı yaklaşımı kapsayan bir kavramdır. İşte bilmeniz gereken yedi negatif test türü.
#1. Sınır değer testi
Sınır değer testi, yazılımı giriş aralığının sınırlarında veya kenarlarında bulunan girişlerle test etmeyi amaçlar. Hem beklenen maksimum ve minimum değerleri test eder hem de bu girdilerin hemen ötesini test eder.
Örnek: Bir giriş alanı 1-9 arasındaki sayıları kabul eder. Bir sınır değer testi hem 1 ve 9’u girecek hem de 0 ve 10’u test edecektir.
#2. Giriş değeri testi
Girdi değeri testi, sistemin beklenmedik veya geçersiz girdilere nasıl yanıt vereceğini belirler. Test edeceği girdilerden bazıları şunlardır:
- Yanlış veri türleri
- Aralık dışı değerler
- Özel karakterler
- Boş alanlar.
Örnek: Bir giriş kutusu yalnızca bir sayı gerektirir, bu nedenle test bir harf girecek ve sistemin nasıl yanıt verdiğini görecektir.
#3. Yük testi
Yük testi
test uzmanlarının sistemin büyük veri setleri veya yüksek trafik hacimleri gibi ağır stres veya yükler altında nasıl tepki vereceğini değerlendirmelerine yardımcı olur.
Test otomasyon araçları
sistemin baskı altında nasıl tepki verdiğini anlamak için bu aşırı koşulları simüle edebilir.
Örnek: Test uzmanı, bir web sitesine erişen binlerce eş zamanlı kullanıcıyı simüle edecektir.
#4. İstisna testi
Bu tür testler, sistemin istisnai olaylara veya hatalara nasıl tepki vereceğini araştırır. Testlerden bazıları şunlardır
- Sistem çökmelerini simüle etme
- Ağ arızaları
- Veritabanı hataları
- Disk alanı sorunları
- Kayıp dosyalar.
Örnek: Test, bir kullanıcı uygulamadan bir dosya indirirken internet kesildiğinde ne olacağını araştırabilir.
#5. Güvenlik testi
Güvenlik testi, geçersiz veya beklenmedik girdilerle açığa çıkabilecek yazılımdaki güvenlik açıklarını vurgulamak ve anlamak için negatif bir test yaklaşımı kullanır. Bu yaklaşım, aşağıdaki gibi yaygın saldırıları test eder:
- SQL enjeksiyonu
- Siteler arası komut dosyası oluşturma (XSS)
- Arabellek taşmaları.
Örnek: Bir güvenlik testi, bir kullanıcı giriş alanına kötü amaçlı kod enjekte etmeye çalışabilir.
#6. Kullanıcı arayüzü testi
Bu tür testler, kullanıcı yazılımla etkileşime girdiğinde ortaya çıkan hatalara odaklanır. Belirlemeye çalışacağı şeylerden bazıları şunlardır:
- Kullanıcı etkileşimlerine beklenmedik yanıtlar
- Yanlış hata mesajları
- Navigasyon sorunları
Örnek: Test, belirli eylemler sıra dışı gerçekleştirildiğinde ne olacağını araştıracaktır.
#7. Veri Bütünlüğü Testi
Veri bütünlüğü testi, verilerin uygulama içindeki çeşitli işlemlerde doğru ve tutarlı kalmasını sağlar. Test edilen şeylerden bazıları şunlardır:
- Potansiyel veri bozulmaları
- Veri kaybı senaryoları
- İstem dışı veri değişiklikleri
Örnek: Test, bir iletimden sonra verilerin aynı kaldığını doğrulayacaktır.
Gördüğünüz gibi, birçok farklı negatif test yaklaşımı vardır. Hepsinin ortak noktası, uygulamanın atipik koşullar altında nasıl çalıştığını görmek için beklenmedik girdilerin veya geçersiz verilerin kullanılmasıdır.
Negatif testin avantajları
Negatif test, beklenmedik durumlar ortaya çıktığında uygulamanızın nasıl çalıştığını anlamakla ilgilidir. Bu yaklaşımı kullanmanın başlıca faydalarından bazıları şunlardır.
- Beklenmedik girdilerin veya geçersiz verilerin uygulamanız üzerinde yaratacağı etkiyi anlamanıza yardımcı olur. Çökecek mi? Yanlış bir hata mesajı mı veriyor?
- Negatif test, sistemdeki zayıflıkları tespit etmeyi amaçladığı için sorumlu bir Kalite Güvence yaklaşımının parçasıdır
- Negatif testler, yazılımın doğada karşılaşacağı öngörülemeyen veya beklenmeyen senaryolara vereceği tepkiyi test ederek yazılımı sınar
- Yine, negatif test, siber saldırganların yararlanabileceği potansiyel saldırı vektörlerini ortaya çıkardığı için kapsamlı bir güvenlik yaklaşımının önemli bir bileşenidir.
Negatif testin dezavantajları
Negatif test çok sayıda fayda sağlar, ancak üstesinden gelinmesi gereken bazı dezavantajları da vardır.
- Kapsamlı negatif testler ek donanım ve yazılım gerektirebilir ve bu da test maliyetlerini artırabilir. Kısıtlı bir bütçeyle çalışan ekipler için bu durum dezavantajlı olabilir.
- Negatif testler oldukça zaman alıcı olabilir çünkü yazılımın üretimde karşılaşacağı çeşitli girdi permütasyonlarını kapsayacak çok sayıda test senaryosunun oluşturulmasını gerektirir
- Negatif testlerle öngörülemeyen durumları ne kadar karşılayabileceğinizin bir sınırı vardır. Gerçekten de bazı durumlar o kadar beklenmedik olabilir ki test uzmanları bunları dikkate alamaz.
- Negatif test senaryolarının otomasyonu zordur. Ancak ZAPTEST gibi doğru bir yazılımla bu süreç çok daha kolay yönetilebilir.
Negatif testin zorlukları
Kullanıcı etkileşiminin stres ve zorlamalarına dayanabilecek sağlam ve güvenilir bir yazılım oluşturmak istiyorsanız negatif test çok önemlidir. Ancak, bu yaklaşımı uygulamanın farkında olmanız gereken bazı zorlukları vardır.
Şimdi daha kalıcı zorluklardan bazılarını inceleyelim.
1. Yazılım testinde olumsuz senaryoların belirlenmesi
Yeterli kapsam:
Negatif testlerdeki en büyük zorluklardan biri, yeterince beklenmedik senaryoyu kapsamanızı sağlamaktır. Çok sayıda olumsuz senaryo ve permütasyon vardır, bu nedenle hepsini göz önünde bulundurmak, kullanıcılarınızın yazılımla nasıl etkileşime gireceğini hayal etmek için yaratıcı bir yaklaşım benimsemeyi gerektirir.
Önceliklendirme:
Mikroskop altına koyulacak çok sayıda potansiyel olumsuz senaryo varken, test uzmanları nereden başlamaları gerektiğinden her zaman emin olamazlar. Neye öncelik verileceğini değerlendirmek için bazı sağlam kriterler tahminleri içerir:
- Kusur olasılığının yüksek olduğu durumlar
- Kusurların sonuçlarının ciddiyeti.
2. Yeterli negatif test senaryolarının tasarlanması
Girdi doğrulama:
Sağlam negatif test senaryoları tasarlamak, sisteminizin davranışını, mimarisini ve sınırlamalarını oldukça kapsamlı bir şekilde anlamayı gerektirir. Yazılımın test edilmesi, dikkatle değerlendirilmiş girdilerin ve verilerin kullanılmasını gerektirir. Rastgele bir yaklaşım benimsemek bazı hataları ortaya çıkarmanıza yardımcı olsa da, negatif teste yönelik daha kesin ve sistematik bir yaklaşımla karşılaştırıldığında sönük kalır.
Veri çeşitliliği:
Sisteminizin özelliklerine bağlı olarak, oldukça çeşitli bir veri kümesine karşı test yapmanız gerekebilir. Aslında, uygulamanızın her birini kabul edebileceği sayı, metin, tarih vb. gibi birçok farklı veri biçimi vardır. Buradaki zorluk, her formatı ve özellikle de geçersiz verilerin her bir varyasyonunu hesaba katabilecek test senaryoları tasarlamaktır. Bu durum test ekipleri için oldukça zaman alıcı olabilir.
3. Verimlilik ve Test Otomasyonu
Zaman alıcı:
Pozitif test, yazılımı beklenen sonuçlara göre doğrulamayı amaçlar. Negatif testler ise beklenmeyeni araştırmalı ve potansiyel senaryoları keşfetmelidir. Keşfedilmemiş topraklarda ilerlemek daha fazla zaman alır. Sonuç olarak, negatif testle gelen kapsamlı sonuçları istiyorsanız, fazladan birkaç saat harcamaya hazır olmalısınız.
Otomasyon karmaşıklığı:
Negatif testler zaman ve kaynak açısından yoğun olabilir. Bu nedenle, yazılım test otomasyonu için mükemmel bir iş. Ancak, üstesinden gelinmesi gereken bazı karmaşıklıklar vardır. Örneğin, beklenmedik girdiler için beklenen sonuçları tanımlayan test senaryoları tasarlamak biraz deneyim ve bilgi birikimi gerektirir. Ayrıca, otomasyon testleri için mevcut çerçeveniz, uygulamanıza göndermek istediğiniz geçersiz verileri desteklemeyebilir ve bu da başka bir karmaşıklık katmanı ekler.
4. Sonuçların değerlendirilmesi
Yanlış pozitifler:
Doğruluk ve kapsamlılık arasında tatmin edici bir denge sağlamak için testinizi kalibre etmek, negatif test uzmanları için tanıdık bir konudur. Bazı durumlarda, aşırı hassas hata işleme, geçerli girdileri yanlışlıkla olumsuz girdilerle karıştıracak ve ilgili olmayan sorunlar için zaman harcanmasına yol açacaktır.
Belirsiz sonuçlar:
Bir sistem geçersiz bir girdi aldığında, çökmelere, hatalara veya donmalara neden olabilir. Çoğu durumda, bu bir hatanın kesin işaretidir. Ancak, diğerlerinde, geliştiricilerin dikkate almadığı işlenmemiş bir uç durumun kanıtıdır. Bu ayrı durumları birbirinden ayırmak önemlidir, ancak gerçek nedeni araştırmak zaman alıcıdır.
Veri yönetimi:
Negatif test önemli miktarda veri gerektirir. Bu test bilgileri hem oluşturulmalı hem de muhafaza edilmelidir. Zaman çerçevesi dar olan geliştirme senaryolarında bu, dikkate alınması gereken ekstra bir iştir.
5. Organizasyonel konular
Negatif test uzmanlığının olmaması:
Negatif testler popüler olsa da, birçok test uzmanı bu tür testleri kapsamlı bir şekilde uygulayacak beceri ve uzmanlıktan yoksundur. Belirli negatif test senaryolarının tasarlanması, pozitif test senaryosu eşdeğerlerinden daha az sezgiseldir. Dahası, doğru uzmanlık olmadan test otomasyonunu uygulamak da zor olabilir.
İş baskısı:
Paydaşlar, test uzmanları ve yönetim, negatif testlerin sağlam uygulamaların geliştirilmesinde oynadığı kritik rolü anlamalıdır. Bunun öneminin anlaşılmaması, negatif testler pahasına pozitif testlere odaklanma baskısına yol açabilir.
Negatif testin faydalarından yararlanmak isteyen ekiplerin karşılaştığı çeşitli zorluklar olduğu açıktır. Ancak doğru yaklaşım ve doğru yazılım test araçlarıyla bu sorunların üstesinden gelebilir ve kullanıcıların beklentilerinin ötesine geçen bir yazılım oluşturabilirsiniz.
Yazılım testi negatif test senaryoları nasıl yazılır
Yazılım testi negatif test senaryoları yazmak biraz deneyim ve yaratıcı düşünme gerektirir. İşte bu kritik test senaryolarını oluşturmanıza yardımcı olacak adım adım bir kılavuz.
#1. Hedeflerinizi belirleyin
Yazılım testi negatif test senaryolarınızı yazmadan önce, neden negatif test yapmak istediğinizi anlamanız gerekir. Tüm uygulamalar negatif testten faydalanmaz.
Yani, ne elde etmek istediğinizi anlayın. Negatif test, beklenmedik kullanıcı etkileşimi senaryoları veya koşullarından kaynaklanan hataları ve çökmeleri ortaya çıkarmak için tasarlanmıştır.
#2. Olası olumsuz senaryoların ana hatları
Daha sonra, kullanıcılar yazılımınızla etkileşime girdiğinde ortaya çıkabilecek olumsuz senaryoların bir hesabını yapmanız gerekir. Bu adım sırasında araştırma yapmak çok önemlidir. Keşfetmeniz gereken bazı alanlar şunlardır:
- Sistem gereksinimleri
- Tipik kullanım durumları
- Uygulama özellikleri ve fonksiyonları
Bu durumları inceleyin ve uygulamanın amaçladığınız gibi çalışmayabileceği senaryoların bir listesini yapın.
Ardından, kritik girdi doğrulama senaryolarını göz önünde bulundurun. Tipik olarak, bu veri giriş formlarını, giriş alanlarını vb. içerecektir.
Son olarak, kullanıcıların yazılımınızla etkileşime girebileceği sayısız alışılmadık yolu ve ağ bağlantısının kesilmesi, sistemin aniden kapanması, büyük veri aktarımları gibi olumsuz sonuçlar doğurabilecek beklenmedik olayları göz önünde bulundurun.
Mümkün olduğunca çok senaryoyu belgeledikten sonra, sıra bu beklenmedik senaryoların beklenen sonuçlarını belirlemeye gelir.
#3. Beklenen sonuçların ana hatları
Her test senaryosunun beklenen bir sonucu olmalıdır ve negatif bir test senaryosu da farklı değildir. Buradaki en iyi uygulama, her bir olumsuz senaryoyu yazmak ve sonucun ne olması gerektiğini belirlemektir.
Potansiyel sonuçlardan bazıları şunlar olabilir:
- Doğru ve bilgilendirici hata mesajları
- Uygun yönlendirmeler
- Zarif sistem kullanımı, örneğin sistemin donmasını veya çökmesini önleme.
#4. Test edilecek girişleri seçin
Şimdi, hangi girdileri test etmeniz gerektiğini görme zamanı. Bu girdiler, bir hataya veya diğer olumsuz davranışlara neden olma olasılığı en yüksek olanlar olmalıdır.
Dahil etmeniz gereken bazı girdiler şunlardır:
- Aralık dışı değerler (yaş alanında negatif değerler vb.)
- Geçersiz veriler (sayısal bir alandaki harfler, vb.)
- Beklenmeyen karakterler veya semboller
- Özel karakterler
- Eksik veri
#5. Test senaryolarınızı yazın
Tüm senaryolarınızı bir araya getirdikten sonra sıra test senaryolarınızı yazmaya gelir. Şimdi, negatif test ile yazabileceğiniz neredeyse sınırsız sayıda test senaryosu var. Sonuçta bu tür testler, insanlar yazılımı sizin amaçlamadığınız şekillerde kullandığında ne olduğunu bulmakla ilgilidir. Ancak, son teslim tarihleri, potansiyel vakalar listesini sorun yaratma olasılığı en yüksek olan durumlara indirgemenizi gerektirir.
Her zaman olduğu gibi, test senaryolarınızı açık, öz ve objektif bir dille yazın. Burada belirsizliğe yer yoktur.
İşte negatif test senaryolarınız için iyi bir format.
- Test Örneği Kimliği Kullanma
- Tam olarak neyin test edildiğini açıklayın
- Negatif testinizin ön koşullarını not edin
- İlgili adımları ana hatlarıyla belirtin
- Açık ve objektif sonuçlar belirleyin
- Testinizin gerçek sonucunu not edin
#6. Testi planlayın
Şimdi, testlerinizi planlamanız gerekiyor. Yine, çarpışmalar gibi en ciddi olumsuz sonuçlara sahip olan veya sorunların ortaya çıkma olasılığının en yüksek olduğu senaryolara öncelik vermek önemlidir.
Örnek negatif test durumu
İşte olumsuz bir test vakası örneği.
Test Örneği Kimliği: TC001
Açıklama: Kullanıcı geçersiz bir e-posta adresi girdiğinde bir hata mesajı gösterildiğini doğrulayın
Önkoşullar: Kullanıcı uygulama giriş sayfasında olmalıdır
Adımlar: 1. Geçersiz bir e-posta adresi girin. 2. “Giriş” tuşuna basın
Beklenen sonuç: Kullanıcı “Oturum Aç” düğmesine bastığında, “yanlış e-posta adresi girildi” şeklinde bir hata mesajı oluşur.
Sonuç: “Giriş” seçildiğinde ne olduğunu kaydedin.
Yazılım testinde olumsuz senaryo örnekleri
Negatif test yöntemlerini kullanarak doğrulayabileceğiniz bazı tipik senaryolar aşağıda verilmiştir.
1. Veri ve alan türleri
Çevrimiçi bir form doldurduysanız, bu kutuların belirli veri türlerini kabul edecek şekilde ayarlandığını bilirsiniz. Bazıları yalnızca sayılardan oluşurken, diğerleri tarih, metin veya diğer veri türlerini kabul eder.
Bu kutular için negatif test, örneğin sayısal bir alana harf girmek gibi geçersiz verilerin gönderilmesini içerir.
2. Gerekli alanlar
Yine, zorunlu alanlar formların ve uygulamaların ortak özellikleridir. Kullanıcı bir sonraki aşamaya geçmeden önce tüm kritik bilgilerin toplanmasını sağlamak için kullanışlı bir araçtır.
Bu senaryolar için iyi bir test örneği, bu alanlar boş bırakıldığında ne olduğunu görmeyi içerir. İdeal bir senaryoda, kullanıcıyı gerekli alanı doldurmaya çağıran bir hata mesajı tetiklenmelidir.
3. Uygun karakter sayısı
Test edilen web sayfalarından oluşan bir uygulamanız varsa, sınırlı sayıda karakter gerektiren bir veri alanınız olabilir. Bu, kullanıcı adları, telefon numaraları, kayıt numaraları vb. için olabilir.
Uygulamanın nasıl tepki verdiğini görmek için izin verilen maksimum karakterlerin üzerinde giriş yapan testler yazarak bu alanlar için negatif test senaryoları oluşturabilirsiniz.
4. Veri sınırları ve limitleri
Bazı formlarda sabit sınırlara sahip alanlar olacaktır. Örneğin, bir kişinin bir şeyi 100 üzerinden derecelendirmesini istiyorsanız, veri sınırları 1-100 olacaktır.
1-100 arasında 0, 101 veya diğer negatif ya da pozitif değerleri girmeye çalıştığınız negatif bir test durumu oluşturun.
Negatif Test için En İyi Uygulamalar
Negatif testlerin yüksek kalitede yapılmasını sağlamak için birkaç en iyi uygulama vardır. İşte size yardımcı olacak bazı ipuçları.
1. Geçersiz girdilerinizi tanımlayın:
Potansiyel geçersiz girdileri anlamak ve belirlemek için geliştirme belgelerini, kullanım senaryolarını ve UI/UX’u gözden geçirin. Geçersiz veri türlerine, uç değerlere, eksik verilere, boş alanlara, beklenmedik biçimlere ve daha fazlasına dikkat edin.
2. Sınır değer analizini kullanın:
Yukarıda belirtildiği gibi, beklenmedik tepkilere neden olabilecek uç durumları bulmak için sınır değerlerinizi ana hatlarıyla belirleyin.
3. Çalışan denklik bölümlemesi:
Girdi alanlarınıza bakın ve bunları hem geçerli hem de geçersiz değerlerden oluşan denklik bölümlerine ayırın. Bu süreç, yazmanız gereken test senaryolarının sayısını azaltmanıza yardımcı olur çünkü eşdeğer bir geçersiz veri parçası bir girdi için sorun yaratıyorsa, muhtemelen tüm sınıfta temsil edilecektir.
4. Kötü kullanıcıları taklit edin:
Pozitif test, beklenen kullanıcı davranışını doğrular. Negatif test, insanlar uygulamanızı yanlış kullandığında neler olduğunu araştırır. Bu nedenle, bunun gerçekleşebileceği farklı senaryoları düşünün ve bunları test senaryolarınızda çoğaltın.
5. Risk ve etkinin testlerinize rehberlik etmesine izin verin:
Hiçbir test uzmanının sınırsız zamanı yoktur. Bir noktada zor seçimler yapmanız gerekecek çünkü her beklenmedik sonucu test edemezsiniz (hatta bilemezsiniz). Hangi tür negatif testleri yapacağınıza karar vermeniz gerektiğinde, ürününüze en fazla risk veya olumsuz etki getirecek alanlara öncelik verin.
6. Hata işleme doğrulaması:
Hata mesajlarının kullanışlı ve doğru olduğunu doğrulayarak hata işlemeyi testinizin bir parçası haline getirdiğinizden emin olun.
7. Mümkün olduğunca otomatikleştirin:
Otomasyon, sıradan ve tekrarlayan görevlerin üstesinden gelmekte ustadır. Bununla birlikte, negatif test, keşif testi ve uç durumları bulmak için hala manuel bir yaklaşım gerektirir.
2024’ün en iyi negatif test araçları
Negatif yazılım testi sektör genelinde yaygın olsa da, bu iş için farklı araçların eksikliği söz konusudur. Bunun büyük bir nedeni, negatif testin çok yönlü doğasıdır. Dahası, pozitif test için kullanılan araçların çoğu, girdi verilerini ayarladığınızda negatif test için de çalışır.
ZAPTEST çok yönlü ve modüler yapısı nedeniyle negatif test için en iyi araçtır. Kullanımı kolay ve özelleştirilebilirdir ve çapraz platform ve çapraz uygulama yetenekleri sayesinde aşılması zor bir esneklik sunar.
Veri odaklı test ve
mutasyon testi
işlevselliği ZAPTEST’i negatif testler için mükemmel hale getirir. Dahası, sahip olduğu RPA özellikleri sayesinde gerçek dünya kullanıcılarını simüle edebilir, testleri yeniden kullanabilir ve kolaylıkla raporlar ve belgeler oluşturabilirsiniz. Özetle, ZAPTEST’in son teknoloji yazılım otomasyonu ve Robotik süreç otomasyonu yazılımını çalıştırma yeteneği, onu negatif testler de dahil olmak üzere her türlü otomasyon görevi için tek durak noktası haline getirir.
Son düşünceler
Yazılım testinde negatif test, ekiplerin uygulamalarının beklenmedik girdileri ve geçersiz verileri nasıl ele alacağını anlamalarına yardımcı olur. Pozitif testler yazılımınızın amaçlandığı gibi çalışıp çalışmadığını test ederken, negatif yazılım testleri kullanıcılar girdileri ve verileri yanlış seçtiğinde ne olduğunu anlamanıza yardımcı olur. Çeşitli kullanıcı etkileşimlerinin stres ve zorluklarını kaldırabilecek sağlam ve dayanıklı bir uygulama istiyorsanız her iki yaklaşım da önemlidir.