Duman Testi Nedir?

⚡ Akıllı Özet

Duman testi, yeni bir derlemenin test edilebilecek kadar kararlı olup olmadığına karar verir. Bu sayfa, duman testinin ne zaman çalıştırılacağını, kimin çalıştıracağını, döngünün nasıl işlediğini ve otomatik test paketlerinin modern dağıtım süreçlerini nasıl kontrol ettiğini açıklar.

  • 🔍 Tanım: Duman testi, daha fazla testin önünü kesebilecek herhangi bir sorun olmadığından emin olmak için her yeni derlemede minimum düzeyde kontroller gerçekleştirir.
  • 🕒 Zamanlama: Yazılım QA veya hazırlık ortamına ulaştığı anda, herhangi bir fonksiyonel test başlamadan önce test paketini çalıştırın.
  • 👤 mülkiyet: Kalite güvence mühendisleri veya kalite güvence lideri, kritik işlevselliği seçer ve derlemenin kabul edilip edilmeyeceğine karar verir.
  • 🧭 Kritik yollar: Giriş, arama, veri girişi, ödeme ve çıkış işlemlerini tek seferde geniş ve yüzeysel bir şekilde kapsayın.
  • ⏱️ Çalışma süresi bütçesi: Kasa sayısını yirmi ila otuz civarında ve dakikayı on ila on beş dakika arasında tutarak, kapıda asla bir darboğaz oluşmasını engelleyin.
  • ⚙️ Otomasyon: Bu paketi CI/CD işlem hattına entegre edin, böylece her commit ve her dağıtım manuel müdahale gerektirmeden doğrulanır.
  • ???? Pul pul dökülmeyi kontrol altına alma: Bağımlılık yoğunluğu yüksek ve tutarsız durumları devre dışı bırakın, çünkü güvenilmez bir kontrol noktası derleme kararına olan güveni yok eder.

Duman Testi Nedir?

Duman Testi dağıtılan yazılım yapısının kararlı olup olmadığını belirleyen bir yazılım test sürecidir. Duman testi, QA ekibinin daha ileri yazılım testlerine devam etmesi için bir onaydır. Yazılım işlevlerini test etmek için her yapıda yürütülen minimum sayıda testten oluşur. Duman testi aynı zamanda "Yapı Doğrulama Testi" veya "Güven Testi" olarak da bilinir.

Basitçe ifade etmek gerekirse, duman testi, önemli özelliklerin çalıştığını ve test edilen yapıda herhangi bir engelleyici unsurun bulunmadığını doğrulamak anlamına gelir. Bu, temel işlevselliğin mini ve hızlı bir regresyon testidir. Bu, yapının kusurlu olup olmadığını ve daha fazla test yapmanın zaman ve kaynak israfı olup olmadığını belirlemeye yardımcı olur.

Karşılaştırmak Duman ve Akıl Sağlığı Testi

Duman testini neden yapıyoruz?

Yazılım geliştirmede duman testi (smoke testing) önemli bir rol oynar çünkü sistemin ilk aşamalarında doğruluğunu sağlar. Bu sayede test çabalarından tasarruf edebiliriz. Duman testini tamamladıktan sonra ancak fonksiyonel testlere başlayabiliriz.

  • Yapım aşamasındaki tüm kritik noktalar, duman testi yapılarak belirlenecektir.
  • Duman testi yardımıyla, kusurların çoğu ilk aşamalarda tespit edilir. yazılım geliştirme.
  • Duman testiyle büyük kusurların tespitini ve düzeltilmesini kolaylaştırıyoruz.
  • QA ekibi, duman testi yaparak, yeni kod nedeniyle ortaya çıkmış olabilecek uygulama işlevselliğindeki kusurları bulabilir.
  • Duman testi en önemli ciddi kusurları bulur.

Örnek 1: Günlük penceresi: Gönder düğmesine tıklandığında geçerli kullanıcı adı ve şifreyle bir sonraki pencereye geçebilir.

Örnek 2: Kullanıcı web sayfasından çıkış yapamıyor.

Duman testini ne zaman yapıyoruz?

Bu faydalar ancak kontrol doğru zamanda tetiklendiğinde gerçekleşir. Duman testi, yazılımın yeni işlevleri geliştirilip QA/hazırlık ortamında dağıtılan mevcut yapıya entegre edildiğinde yapılır. Tüm kritik işlevlerin doğru çalışıp çalışmadığını doğrular. Aşağıdaki diyagram, duman testi başlamadan önce bir yapının QA ortamına nasıl ulaştığını göstermektedir.

Bu test yönteminde, geliştirme ekibi derlemeyi QA ortamına dağıtır. Test senaryolarının bir alt kümesi alınır ve test uzmanları tarafından derlemenin kritik işlevlerine karşı çalıştırılır. Bu test senaryoları serisi, derlemedeki hataları ortaya çıkarmak için tasarlanmıştır. Bu testler başarılı olursa, QA ekibi devam eder. Fonksiyonel Testler.

Herhangi bir arıza, sistemin geliştirme ekibine geri gönderilmesi gerektiğini gösterir. Yapıda bir değişiklik olduğunda stabiliteyi sağlamak için Duman Testi yapıyoruz.

Örnek E-posta: -Oturum açma penceresine yeni kayıt butonu eklenir ve build yeni kod ile dağıtılır. Yeni bir yapı üzerinde duman testi yapıyoruz.

Duman testleri, sistemin daha ileri resmi testlere uygunluğunu ve sistem kararlılığını göstermek üzere tasarlanmış, temel amaç olarak belirlenmiş testlerdir. Ana hedef, büyük sorunları erken aşamada tespit etmektir. Bir derleme, bir veya daha fazla ürün fonksiyonunu uygulamak için gerekli olan tüm veri dosyalarını, kütüphaneleri, yeniden kullanılabilir modülleri ve tasarlanmış bileşenleri içerir.

Duman testi yapmazsak ne olur?

Duman testini erken aşamalarda yapmazsak, daha sonraki aşamalarda maliyetli olabilecek kusurlarla karşılaşabiliriz. kusur Daha sonraki aşamalarda ortaya çıkan sorunlar, teslim edilecek ürünlerin yayınlanmasını etkileyebilecek ve işleri durdurabilecek bir engel olabilir.

Duman testini kim yapacak?

Yapıyı QA ortamına bıraktıktan sonra Duman Testi, QA mühendisleri/QA lideri tarafından gerçekleştirilir. Yeni bir yapı oluştuğunda, QA ekibi duman testini gerçekleştirmek için uygulamadaki ana işlevleri belirler. QA ekibi, test edilmekte olan uygulamadaki dikkat çekici unsurları kontrol eder.

Duman testi nasıl yapılır?

Duman Testi genellikle manuel olarak yapılır, ancak aynı işlemin otomasyon yoluyla da gerçekleştirilmesi olasılığı vardır. Organizasyondan organizasyona farklılık gösterebilir.

Manuel Duman Testi

Duman testi, kritik yolların beklendiği gibi işlediğinden ve işlevselliği engellemediğinden emin olmak için yapılır. Yüksek öncelikli işlevsellik test senaryoları alınır ve sistemdeki kritik hataları bulmak için test edilir. Test başarılı olursa, işlevsel testlere devam edilir. Test başarısız olursa, derleme reddedilir ve düzeltme için geliştirme ekibine geri gönderilir.

QA ekibi, yeni bir derleme sürümüyle tekrar duman testine başlıyor. Duman testi yeni derleme üzerinde yapılır ve sistemin doğruluğunu korumak için eski derlemelerle entegre edilir. Duman testine başlamadan önce, QA ekibi doğru derleme sürümlerini kontrol etmelidir.

Otomasyon Yöntemiyle Duman Testi

Otomasyon Testi için kullanılır Gerileme testiAncak, Smoke Test'e karşı çalıştırılacak bir dizi otomatik test senaryosu da kullanabiliriz. Otomasyon testleri sayesinde geliştiriciler, dağıtıma hazır yeni bir sürüm olduğunda derlemeyi anında kontrol edebilirler.

Yeni yazılım yapısı dağıtıldığında testi manuel olarak tekrarlamak yerine, kaydedilen duman testi senaryoları yapıya karşı yürütülür. Ana işlevlerin hala düzgün çalışıp çalışmadığını doğrular. Test başarısız olursa yapıyı düzeltebilir ve yapıyı hemen yeniden konuşlandırabilirler. Bu sayede zamandan tasarruf edebilir ve QA ortamının kaliteli bir şekilde oluşturulmasını sağlayabiliriz.

Test mühendisi, otomatik bir araç kullanarak yazılım yapımında gerçekleştirilen tüm manuel adımları kaydeder.

Duman Testi Döngüsü

Aşağıdaki akış şeması, duman testinin nasıl yürütüldüğünü göstermektedir. Derleme QA ortamına dağıtıldıktan ve duman testleri başarılı olduktan sonra fonksiyonel testlere geçilir. Duman testi başarısız olursa, derlemedeki sorun giderilene kadar testler durdurulur.

Duman Testi Senaryoları Tasarlamanın En İyi Uygulamaları

Döngüyü bilmek bir şeydir; devamını bekleyin.ping Güvenilirliğini sağlayan bir diğer unsur da, bir sigara içme odasının kompakt, hızlı ve tekrarlanabilir kalmasıdır.

  • Öncelikle kritik yolları belirleyin: Giriş yapma, arama, veri girişi, ödeme ve çıkış yapma gibi ürünün ticari olarak kullanılabilir olmasını sağlayan iş akışlarını listeleyin. Bunlardan biri bozulursa, test eden kişi için ürünün hiçbir değeri kalmaz.
  • Süiti sığ ama geniş tutun: Her ana modüle bir kez dokunun, tek bir modülü derinlemesine incelemeyin. Sınır değerleri, negatif veriler ve hata mesajı ifadeleri fonksiyonel testlere aittir, buraya değil.
  • Yürütme süresini sınırlayın: Çoğu takım koşuyu on ila on beş dakika arasında tutar ve süiti yaklaşık yirmi ila otuz kişiyle sınırlar. test senaryolarıBir saat süren bir yolculuk, artık bir geçiş noktası olmaktan çıkıp bir darboğaza dönüşür.
  • Her derlemede aynı testleri çalıştırın: Tutarlılık, bir hatayı değişen test seçimine değil, koda bağlamanıza olanak tanır.
  • Kararsız ve bağımlılık yoğun durumları ortadan kaldırın: Kodda herhangi bir değişiklik yapılmadan başarılı olup başarısız olan bir durum, güvenlik duvarına olan güveni zedeler. Kararsız üçüncü taraf servislerini taklit edin veya sahte testler uygulayın. test otomasyon çerçevesi izin verir.
  • Kesin ve net bir karar kaydedin: Her bir durum için tek bir beklenen sonuç gereklidir, böylece yapı tartışmasız bir şekilde kabul edilebilir veya reddedilebilir.
  • Derleme işlemiyle birlikte paketin sürümünü güncelleyin: Test senaryolarını uygulama koduyla aynı depoda saklayın, böylece kontrol noktası her zaman test edilen sürümle eşleşir.

RevHer sürümde paketi gözden geçirin: artık önemi kalmayan özellikler için paketleri kaldırın ve yeni kritik iş akışları ekleyin.

CI/CD İşlem Hatlarında Duman Testi

Bu şekilde tasarlanmış bir paket, her commit işleminde çalıştırılabilecek kadar ucuzdur; bu da modern teslimatın gerektirdiği şeydir. sürekli entegrasyon sunucu gibi Jenkins Kodu derler, bir test ortamına dağıtır ve ardından ilk otomatik aşama olarak smoke suite'i tetikler. Yeşil çalıştırma, yapıyı fonksiyonel ve regresyon aşamalarına yükseltirken, kırmızı çalıştırma işlem hattını başarısız kılar ve kod gönderen geliştiriciyi birkaç dakika içinde bilgilendirir.

Genellikle iki yerleştirme yöntemi kullanılır. Birleştirme öncesi çalıştırma, her çekme isteğini doğrulayarak ana dalı korur ve dağıtım sonrası çalıştırma, dağıtılan ortamın erişilebilir ve doğru şekilde yapılandırılmış olduğunu doğrular. Sürekli dağıtım uygulayan ekipler, genellikle sürümden hemen sonra üretim ortamına karşı üçüncü, kısaltılmış bir çalıştırma daha eklerler.

İşlem hattı, test paketini günde birçok kez çalıştırdığı için, test senaryolarının etkileşimli olmayan, kendi kendini temizleyen ve bağımsız olması gerekir. İnsan kararı bekleyen veya test verilerini geride bırakan herhangi bir test senaryosu işlem hattını durduracaktır.

Duman Testinin Avantajları

Burada Duman Testinin birkaç avantajı listelenmiştir.

  • Uygulaması kolay ve hızlı çalışıyor.
  • Kritik hatalar ve kusurlar erken aşamalarda kolayca tespit edilip düzeltilebilir.
  • Sistemin kalitesini artırır
  • Riski azaltır
  • İlerlemenin değerlendirilmesi daha kolay.
  • Test çabasından ve zamandan tasarruf sağlar
  • Entegrasyon risklerini en aza indirir

⚠ Dikkat edilmesi gereken sınırlama: Geçici bir test, yalnızca derlemenin test edilebilir olduğunu gösterir. Temel işlevselliğe yüzeysel olarak dokunur, bu nedenle küçük kusurlar, uç durumlar ve nadiren kullanılan özellikler, işlevsel ve regresyon testleri çalıştırılana kadar gizli kalır. Yeşil bir test sonucunu asla derlemenin hatasız olduğu anlamına gelmez.

Duman Testi, Sağlamlık Testi ve Regresyon Testi

Her üçü de kod değişikliğinden sonra çalışır, bu yüzden sıklıkla karıştırılırlar. Kapsamları, derinlikleri ve her birinin yanıtladığı soru bakımından farklılık gösterirler.

Geliştirme ortamında, uygulamanın QA'ya gönderilmeden önce doğruluğunu sağlamak amacıyla yapılan testlere "sağlık testi" denir. Bu test, geliştirilmekte olan uygulamanın temel işlevsel gereksinimlerini karşıladığını doğrulayan bir süreçtir.

Akıl sağlığı testi, geliştirme aşamasının tamamlandığını belirler ve daha sonraki test aşaması için yazılım ürününü geçip geçmeyeceğine karar verir.

ESASLAR DUMAN TESTİ AKIL SAĞLIĞI TESTİ REGRESYON TESTİ
kapsam Geniş ve sığ Dar ve derin Geniş ve derin
Soru cevap Bu sürüm test etmek için yeterince kararlı mı? Bu çözüm işe yarıyor mu? Daha önce çalışan şeylerden herhangi biri bozuldu mu?
Dizi Öncelikle, her derlemede Duman testi başarılı olduktan sonra Mantık testinden sonra
Tipik süre 10 - 15 dakika 30 - 60 dakika Hours günlere
Otomasyon uyumu Çok yüksek Orta düzeyde, genellikle manuel Çok yüksek

Uygulamada bunlar sırayla yürütülür: derlemeyi kabul etmek için duman testi, teslim edilen değişikliği doğrulamak için sağlamlık testi ve zaman çizelgesi izin verdiğinde gerileme testi.

Örnek Duman Test Durumları Örneği

Aşağıdaki tabloda, her kritik yol için bir satır olmak üzere, kısa bir duman testi senaryosu belgelenmiştir.

T.ID TEST SENARYOLARI AÇIKLAMA TEST ADIMI BEKLENEN SONUÇ GERÇEK SONUÇ DURUMU
1 Geçerli oturum açma kimlik bilgileri Kayıtlı bir kullanıcının kullanıcı adı ve şifreyle oturum açmasına izin verildiğinden emin olmak için web uygulamasının oturum açma işlevini test edin 1.Uygulamayı başlatın
2.Giriş sayfasında gezinin
3.Geçerli bir kullanıcı adı girin
4.Geçerli şifreyi girin
5. Giriş düğmesine tıklayın
Giriş başarılı olmalı beklenildiği gibi Geçiş
2 Öğe işlevselliği ekleme Sepete ürün ekleyebiliyorum 1.Kategori listesini seçin
2. Ürünü sepete ekleyin
Ürün sepete eklenmelidir Ürün sepete eklenmiyor Fail
3 Oturumu kapatma işlevi Oturum kapatma işlevini kontrol edin 1. Oturumu kapat düğmesini seçin Kullanıcı oturumu kapatabilmelidir. Kullanıcı oturumu kapatamıyor Fail

SSS

Bu isim, donanım mühendisliğinden geliyor; yeni monte edilmiş bir cihaz, çalıştırıldığında duman çıkarmazsa ilk kontrolünden geçmiş sayılır. Yazılım da bu fikri benimsedi: eğer yapı hızlı bir güç açma kontrolünden geçerse, daha derinlemesine testlere başlanabilir.

Çoğu ekip yirmi ila otuz vaka arasında karar kılar; on vaka pratik bir alt sınır, elli vaka ise üst sınırdır. Asıl kısıtlama zamandır: eğer tüm süreç on beş dakikayı aşarsa, süre sığana kadar vakaları azaltın.

Evet. Yapay zeka araçları gereksinimleri, kullanıcı hikayelerini veya üretim trafiği kayıtlarını okuyabilir ve en yüksek trafikli kritik yolları olası risk senaryoları olarak önerebilir. Model ticari riski değerlendiremediği için, seçimin yine de bir kalite güvence mühendisi tarafından onaylanması gerekir.

Bu oldukça yardımcı oluyor. Modern cihazlardaki kendi kendini onaran konum belirleyiciler. otomasyon test araçları Taşınmış veya yeniden adlandırılmış bir öğeyi başarısız olmak yerine yeniden tanımlayarak, duman kapısını güvenilmez kılan yanlış alarmları ortadan kaldırır. RevGüvenmeden önce iyileşmiş her konum belirleyiciyi inceleyin.

Selenium hem de Cypress tarayıcı akışlarını kapsayın, Postman hem de SoapUI API uç noktalarını kapsar ve JUnit, TestNGPyTest veya Jest ile test paketini çalıştırabilirsiniz. Robot Framework, anahtar kelime odaklı ekipler için uygundur.

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