Tahribatsız Yazılım Testi (NDT): Nedir, Test Stratejisi

⚡ Akıllı Özet

Tahribatsız test, bir uygulamanın geçerli girdi aldığında doğru şekilde davrandığını doğrular; bu nedenle test uzmanları buna pozitif veya sorunsuz çalışma testi de derler. Beklenen sonuçların belgelenmiş gereksinimlere uygunluğunu teyit eder.

  • 🔘 Tasarım gereği olumlu: Her tahrip edici olmayan test, geçerli veriler ve bilinen bir gereksinim kullanır; bu nedenle başarılı bir test, özelliğin belirtildiği gibi çalıştığını kanıtlar.
  • ☑️ Çalıştırılacak en erken test: Öncelikle başarılı senaryo kontrol edilir, çünkü ana akışın bozulması onu takip eden neredeyse tüm diğer testleri engeller.
  • ✅ gereklilik tracYetenek: Her test senaryosu bir kabul kriterine karşılık gelir; bu da sonuçların incelemede savunulmasını kolaylaştırır.
  • 🧪 Tahrip edici testin zıttı: Yıkıcı testler kırılma noktasını ararken, yıkıcı olmayan testler ise amaçlanan davranışın geçerli olduğunu doğrular.
  • ️ Düşük kurulum maliyeti: Özel bir ortama, bozuk veriye veya hata enjeksiyonuna gerek duyulmadığı için bu teknik, kısa zaman çizelgelerine ve kısıtlı bütçelere uygundur.
  • 📈 Bilinen sınırlama: Her başarılı senaryoyu geçmek, hata yönetimi hakkında hiçbir şey kanıtlamaz; bu nedenle olumsuz ve yıkıcı testler de bununla birlikte yürütülmelidir.

Tahribatsız Yazılım Testi (NDT) ve test stratejisi açıklaması

Tahribatsız Yazılım Testi Nedir?

Tahribatsız test yazılım uygulamasını doğru bir şekilde test etmeyi ve onunla etkileşim kurmayı içeren bir yazılım test türüdür. Başka bir deyişle, Tahribatsız Yazılım Testi (NDT), Pozitif Test veya Mutlu yol testi olarak da adlandırılabilir. Beklenen sonuçları verir ve yazılım uygulamasının beklendiği gibi davrandığını kanıtlar.

Bu isim, tahribatsız testin fiziksel bir bileşeni hasar vermeden incelediği mühendislik alanından alınmıştır. Yazılımda da fikir aynıdır: uygulama, tasarlandığı şekilde kullanılır ve testten hasarsız bir şekilde geçer.

Örnek: Giriş modülüne doğru verileri girmek ve kimlik bilgilerinin kabul edilip edilmediğini ve bir sonraki sayfaya yönlendirme yapılıp yapılmadığını kontrol etmek.

Aşağıdaki ekran görüntüsü, test çalıştırılmadan önce kullanıcı adı alanına geçerli bir değerin yazıldığı giriş formunu göstermektedir.

Geçerli giriş bilgileriyle, tahrip edici olmayan yazılım testi örneği olarak kullanılan giriş formu.

Yukarıdaki örnekte tahrip edici olmayan test yapmak için, giriş formuna geçerli bir kullanıcı adı ve şifre girin. Girilen bilgiler gereksinime uygun olduğundan, istenen sonuç olumlu olur ve test eden kişi uygulamanın bir sonraki sayfaya geçtiğini onaylar.

Neden Tahribatsız Yazılım Testi (NDT) yapılır?

Tahribatsız test, her paydaşın bir sürüm hakkında sorduğu ilk soruyu yanıtlar: Özellik gerçekten de istenen işlevi yerine getiriyor mu? Ekiplerin bu testi yapmasının nedenleri bunlardır.

  • Tahribatsız muayene (NDT) yönteminin en büyük avantajı, ana akışta bulunan kusurların erken aşamada giderilmesi sayesinde yazılım kalitesinin artmasıdır.
  • Yazılım fonksiyonlarının spesifikasyona göre çalıştığını göstermek.
  • Performans gereksinimlerinin karşılandığını doğrulamak için.
  • Son kullanıcıların gereksinimlerinin karşılandığını doğrulamak.
  • Kodun veya işlevin küçük bir bölümünün beklendiği gibi çalıştığını ve ilgili işlevselliği bozmadığını kontrol etmek.
  • Mahkemede gösterilebilecek kanıtlar üretmek kullanıcı Kabul Testi Müşterinin arıza modlarından ziyade amaçlanan davranışı görmek istediği onay aşaması.

Tahribatsız Muayene (NDT) Ne Zaman Yapılır?

Burada zamanlama, diğer tekniklere göre daha önemlidir, çünkü başarılı sonuç her şeyin önünü açar.

  • Bu, bir test uzmanının bir uygulama üzerinde gerçekleştireceği ilk test türüdür, yani test sürecinin başlangıç ​​aşamasında yapılır. SDLC.
  • Tahribatsız testler genellikle tam bir test döngüsü için yeterli zaman olmadığında yapılır, çünkü yine de kabul kriterlerinin karşılandığını kanıtlar.
  • Olumsuz ve yıkıcı senaryolardan önce çalışır. Ana akış bozulursa, hata işleme testleri gerçek kusurlar yerine gürültü bildirir.
  • Bu işlem, her hata düzeltmesinden sonra tekrarlanır ve bu da örtüşme noktalarını ortaya çıkarır. gerileme testi.

Tahribatsız Muayene için Test Stratejisi

Tahribatsız test stratejisi kasıtlı olarak basittir ve disiplin, alet edevat kullanmaktan ziyade olumlu kalmakta yatar.

  • Tahribatsız muayene yaklaşımı olumlu olmalıdır.
  • Tahribatsız muayene (NDT) tekniğinin amacı, geçerli giriş verileri verildiğinde bir uygulamanın çalışacağını kanıtlamaktır.
  • Tahribatsız muayene yapmak için özel bir gereksinim veya ortam gerekmez.
  • Tahribatsız test için en iyi uygulama, sistemin yapması gerekeni yapıp yapmadığını kontrol etmektir.

Aşağıdaki diyagram, bu stratejinin bir test döngüsü boyunca normalde nasıl organize edildiğini özetlemektedir.

Bir test döngüsü boyunca tahrip edici olmayan yazılım testi için test stratejisi akışı

Tahrip Edici Olmayan (Pozitif) Test Senaryoları Nasıl Yazılır?

Tahribatsız bir test senaryosu, ancak girdisi kanıtlanabilir şekilde geçerli olduğunda ve beklenen sonucu test edenin varsayımından ziyade bir gereksinimden kaynaklandığında faydalıdır. Aşağıdaki adımlar bu tür bir senaryo üretir. test durumu.

Adım 1) Bir kabul kriteri seçin. Gereksinimi okuyun ve bunu tek bir doğrulanabilir ifade olarak yeniden belirtin; örneğin, "kullanıcı adı alanı altı ila yirmi alfanümerik karakter kabul eder".

Adım 2) Geçerli giriş verilerini seçin. İzin verilen aralık içinde rahatlıkla yer alan değerleri seçin. Eşit bölümlere ayırma Burada yardımcı olur; geçerli bölüm başına genellikle bir temsilci değer yeterlidir.

3. Adım) Çalıştırmadan önce beklenen sonucu yazın. Beklenen sonuç, belirtilen özelliklerden yazılmalıdır. Çalıştırma işleminden sonra yazmak, testi, derleme işleminin ne yaptığının bir açıklamasına dönüştürür.

4. Adım) Adımları kullanıcı sırasına göre takip edin. Bu tekniğin amacı, planlanan süreci doğrulamak olduğundan, işlem sırası gerçek bir kullanıcının görevi tamamlama şekliyle eşleşmelidir.

Adım 5) Gereksinim tanımlayıcısını kaydedin. TracVakayı kriterlerine geri döndürmek, ekibin inceleme sırasında kapsamı kanıtlamasını sağlayan şeydir.

Giriş modülü için örnek bir uygulama şu şekildedir.

Alan Tahribatsız test durumu
gereklilik Kullanıcı adı 6 ila 20 adet alfanümerik karakter kabul eder.
Test verisi Kullanıcı Adı guru99testergeçerli eşleşen parola
Adımlar Giriş sayfasını açın, kimlik bilgilerinizi girin ve Giriş yap'ı seçin.
Beklenen Sonuç Kimlik bilgileri kabul edildi ve ana sayfa görüntülendi.
Menşei Olumlu / mutlu yol

Dikkat edin, bu durumda hiçbir şey alanı bozmaya çalışmıyor. Hata mesajını görmek için beş karakter giren bir durum, negatif testYıkıcı olmayan bir yöntem değil.

Tahribatsız Muayene Örnekleri

Aşağıdaki örnek, bir hatanın giderilmesinin ardından çok modüllü bir uygulamada tahribatsız testin nasıl davrandığını göstermektedir.

  • Bir uygulama beş modülden oluşmaktadır: giriş sayfası, ana sayfa, kullanıcı detay sayfası, yeni kullanıcı oluşturma ve görev oluşturma.
  • Diyelim ki giriş sayfasında bir hata var: kullanıcı adı alanı altıdan az alfanümerik karakter kabul ediyor. Bu, kullanıcı adının altıdan az karakter kabul etmemesi gerektiğini belirten gereksinime aykırıdır, dolayısıyla bu davranış bir kusurdur.
  • Hata, her zamanki yöntemle geliştirme ekibine bildirildi. kusur yönetimi süreciSorun giderildi ve derleme test ekibine geri gönderildi.
  • Test ekibi, hatanın giderildiği giriş sayfasını kontrol etmekle kalmaz, diğer modülleri de test eder. Tüm modülleri geçerli verilerle test ederken, uygulamanın tamamının hala düzgün çalıştığını doğrulamak için tahrip edici olmayan testler gerçekleştirir.

Tahribatsız Test ve Tahribatlı Test Karşılaştırması

Bu iki teknik sıklıkla birlikte öğretilir çünkü aynı yapı hakkında birbirine zıt sorulara cevap verirler. Yıkım testi Yazılımın çöktüğü noktayı ararken, tahrip edici olmayan testler ise amaçlanan davranışın geçerli olduğunu doğrular.

Görünüş Tahribatsız test Yıkım testi
Niyet Uygulamayla doğru şekilde etkileşim kurun ve olumlu sonuçları doğrulayın. Arızanın nedenini bulmak için olağandışı veya geçersiz giriş yapın.
Veri girişi Gereksinimden elde edilen geçerli veriler Geçersiz, bozuk veya sıralı olmayan veriler
Gerekli şartlar Evet, vakalar kabul kriterlerine göre yazılıyor. Mutlaka öyle değil; test uzmanları kullanıcı hikayesi önyargısı olmadan çalışırlar.
Ortaya çıkardığı şey Belirtilen özelliklere göre işlevsellik açısından zayıflıklar Tasarım, sağlamlık ve kurtarılabilirlik açısından zayıf yönler
İlgili teknikler Duman testi, fonksiyonel test Maymun testi, keşifsel test

İkisi birbirini tamamlayıcı niteliktedir, alternatif değil. Sadece tahrip edici olmayan testler yapmak hata yönetimini doğrulamadan bırakırken, sadece tahrip edici testler yapmak ürünün işini doğru yaptığını asla kanıtlamaz.

Tahribatsız Yazılım Testinin Avantajları ve Sınırlamaları

Bir tekniğin ne zaman işe yaramaz hale geldiğini bilmek, neleri kapsadığını bilmek kadar önemlidir.

Avantajlar

  • Test verileri doğrudan teknik şartnameden geldiği için tasarımı ve uygulaması hızlıdır.
  • Özel bir ortam, hata enjeksiyonu veya bozuk veri seti gerektirmez.
  • Denetim ve onay süreçlerine uygun, gereksinimlerle birebir örtüşen kanıtlar üretir.
  • Aynı derecede iyi çalışır. manuel test ve senaryoya göre otomasyon testiBu sayede aynı vakalar bir regresyon test paketinde yeniden kullanılabilir.
  • Ünite seviyesinden başlayarak her düzeydeki yapı sağlığı hakkında erken ve dürüst bir sinyal verir. entegrasyon testi için sistem testi.

Sınırlamalar

  • Tam bir doğrulama, uygulamanın geçersiz girdilerle nasıl davrandığı hakkında hiçbir şey söylemez; bu nedenle ciddi hata işleme kusurları bu doğrulamadan etkilenmeden kalabilir.
  • Kapsam, gereksinimlerin kalitesiyle sınırlıdır. Belirtilmeyen hiçbir şey test edilmez.
  • Bir ürünün piyasaya sürülmesinden önce yalnızca olumlu senaryonun izlenmesi, yanlış bir özgüven duygusu yaratabilir.
  • Bu yöntem, dayanıklılığı, toparlanmayı veya stres altındaki performansı ölçmez; bunlar daha geniş bir teknikler kümesinden kendi özel yöntemlerini gerektirir. yazılım test türleri.

Tahribatsız muayeneyi, diğer tüm tekniklerin üzerine inşa edildiği temel olarak ele alın ve daha geniş kapsamlı bir planlamanın içine dahil edin. yazılım testi yaşam döngüsü Tek seferlik bir etkinlikten ziyade.

SSS

Sadece ilke ortaktır. Mühendislik tahribatsız muayenesi, ultrason veya radyografi gibi yöntemler kullanarak fiziksel bir parçayı hasar vermeden inceler. Yazılım tabanlı tahribatsız muayene ise nesneyi sağlam bırakma fikrini benimser, ancak tekniğin kendisi sıradan pozitif test uygulamasıdır.

Tahribatsız test, geçerli veriler sağlar ve başarı bekler. Negatif test Geçersiz veri gönderir ve doğrulama mesajı gibi kontrollü, bilgilendirici bir hata bekler. Her ikisine de ihtiyaç vardır, çünkü sorunsuz bir senaryo asla hata işlemenin çalıştığını kanıtlamaz.

Diğer kategorilere göre otomasyonları daha kolaydır. Veriler sabittir, beklenen sonuç gereksinimle sabittir ve akış nadiren değişir; bu da olumlu senaryoları regresyon testleri için doğal ilk adaylar haline getirir.

Geçerli eşdeğerlik bölümlerinin her biri için bir örnek, genellikle bu kural geçerlidir; ayrıca gereksinimin tanımladığı her farklı başarılı sonuç için bir örnek daha eklenir. Aynı bölüm içinde daha fazla geçerli değer eklemek nadiren yeni bir şey bulur ve test paketini yavaşlatır.

Yapay zekâ destekli araçlar, kullanıcı hikayelerini ve kabul kriterlerini okuyarak eşleşen olumlu senaryoları ve geçerli test verilerini taslak haline getirir. Elde edilen tasarruf gerçektir, ancak senaryonun güvenilir kabul edilmesi için yine de her beklenen sonucun spesifikasyona göre bir insan tarafından onaylanması gerekir.

GitHub Yardımcı Pilotu Mevcut bir test dosyasından veya tanımlanmış bir akıştan, sorunsuz çalışma senaryosu için gerekli komut dosyalarını hızlıca oluşturur. Revİddiaları dikkatlice inceleyin; oluşturulan testler, gereksinimin gerektirdiği şeyden ziyade kodun ne yaptığını doğrulamaya eğilimlidir.

Bunlar örtüşüyor ancak özdeş değiller. Duman testi Bu, bir yapının test edilmeye değer olup olmadığına karar vermek için kritik akışlar üzerinde yapılan yüzeysel bir incelemedir. Tahribatsız test, tam fonksiyonel kapsama dahil olmak üzere herhangi bir derinlikte uygulanan olumlu bir yaklaşımdır.

Gereksinim kapsamı, dürüst olanıdır: en az bir başarılı olumlu vakaya sahip kabul kriterlerinin oranı. Bunu başarı oranı ve olumlu-olumsuz vaka oranıyla birleştirin; bu oran, yalnızca olumlu senaryoyu test eden test paketlerini ortaya çıkarır.

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