what is thread testing software testing
Bu eğitici, İş Parçacığı Testinin ne olduğunu, ne zaman ve nasıl gerçekleştirileceğini, iş parçacığı tabanlı test türlerini ve karşılaşılan zorlukları açıklar:
İş parçacığı testi, istemci sunucusu tabanlı uygulamaları test etmek için kullanılan bir yazılım test tekniğidir.
Entegrasyon testinin ilk aşamalarında iş parçacığı tabanlı test gerçekleştirilmelidir, böylece temel işlevler belirli bir görev / program veya iş parçacığı için test edilebilir / doğrulanabilir.
Ne öğreneceksin:
- Neden Konu Testi
- İplik Testi Ne Zaman ve Nasıl Yapılır?
- Konu Temelli Test Türleri
- İplik ve İşlemler Arasındaki Fark
- İş Parçacığı Tabanlı ve Kullanıcı Tabanlı Test Arasındaki Fark
- Sonuç
Neden Konu Testi
Bileşenler entegre edildiğinde, sistemin beklendiği gibi çalışıp çalışmayacağını ve tüm işlemlerin ihtiyaca göre gerçekleşip gerçekleşmeyeceğini kontrol etmek gerekir. Böylece, iş parçacığı tabanlı test, aynı şeyi test etmek için gelir.
Bu test, iş parçacıkları alt sistemden başlayarak tüm sisteme, yani tüm sisteme kadar tüm seviyelerde kademeli olarak entegre edilerek yapılır. Tüm sistem etkinlikleri yalnızca iş parçacıklarıyla ilerler.
İş parçacığı tanımı, geliştiriciler ve geliştiriciler arasında işlevsel arka plan ve iş parçacığı yürütme ayrıntılarının testçilerle paylaşılmasına yardımcı olur.
Konular Hakkında
Bir iş parçacığı, bir süreçteki kontrol akışıdır. Sistemin çalıştırılabilecek en küçük görevidir.
internet güvenlik anahtarım nedir
Misal
Bir web tarayıcısı, yani çalışan bir veya daha fazla iş parçacığına sahip olabilir. görüntüleri ve metni görüntülemek için bir iş parçacığı ve verileri almak için başka bir iş parçacığı. Bazı durumlarda, tüm süreçlere hizmet etmek için tek bir başvuru gerekli olmalıdır.
Birden çok iş parçacığı oluşturmak aynı çözüm için en iyi çözümdür, aksi takdirde istemci tarafından sunucuya birden çok istek gönderilir ve istekleri tek tek kabul etmek zaman alır. Çoklu iş parçacığı, isteklere aynı anda yanıt vermenize yardımcı olacaktır.
İplik Testi Ne Zaman ve Nasıl Yapılır?
Sistem Entegrasyon testinin ilk aşamasında yapılmalıdır.
Entegrasyon testi, farklı modüllerin planlı bir şekilde entegre edilmesiyle gerçekleştirilir. Bütün sistemi yapmak için modüllerin hangi sırayla entegre edileceğini belirleyen entegrasyon planı takip edilir.
Aşağıda, Entegrasyon testini yürütme teknikleri listelenmiştir:
- Big-Bang yaklaşımı
- Yukarıdan aşağıya yaklaşım
- Aşağıdan yukarıya yaklaşım
- Karışık yaklaşım
Her tekniği ayrıntılı olarak görelim.
# 1) Big-Bang Yaklaşımı
Big bang yaklaşımı, tüm modüller tek seferde entegre edildiğinden ve test edildiğinden yalnızca küçük sistemler için kullanılır.
Bu yaklaşım sırasında bulunan herhangi bir sorunun yerelleştirilmesi zordur, çünkü sorun tümleşik modüllerin herhangi birinden kaynaklanabilir. Bu nedenle, bulunan hata ayıklama sorunlarını bu yaklaşımda düzeltmek çok pahalıdır.
# 2) Yukarıdan Aşağıya Yaklaşım
Yukarıdan aşağıya yaklaşım, stub'lar kullanılarak yapılır, yani en üst seviye modül test edildikten sonra, hemen alt programlar entegre edilir ve test edilir.
Stub'lar, alt seviye rutinlerin etkisini simüle eden ve test edilen rutinler tarafından çağrılan programlardır. İplik testi, yukarıdan aşağıya bir yaklaşım kullanır.
# 3) Aşağıdan Yukarı Yaklaşım
Aşağıdan yukarıya yaklaşımda, tüm alt sistemler ayrı ayrı test edilir ve ardından tüm sistem test edilir. Tüm alt sistemleri ayrı ayrı test etmenin nedeni, alt sistemin parçası olan tüm modüller arasındaki arayüzü test etmektir.
Bu teknik, test sürücülerini, yani diğer modülleri çağıran ve gerçek ürünle aynı çıktıyı sağlayan programı gerektirir.
# 4) Karma Entegrasyon Testi
Bu teknik hem yukarıdan aşağıya hem de aşağıdan yukarıya yaklaşımların bir kombinasyonudur. Bu nedenle Karma Entegrasyon Testi olarak adlandırılır.
İş Parçacığı Temelli Test Yapmak İçin Önemli Noktalar
- İş parçacığı testi gerçekleştirilirken, iş parçacıkları veya küçük işlevsellik entegre edilir ve test edilir. Yapılan test, bir alt sistem düzeyinde ve daha sonra tam bir sistem olarak artan testtir.
- İlk aşamada, entegrasyon test uzmanları neyin daha fazla test edileceği konusunda iyi bir fikir ve bilgi edinir.
- Entegrasyon test uzmanları, yalnızca iş parçacığı sınırları içinde hem pozitif hem de negatif senaryoları uygulamak ve yürütmek zorundadır. İstisnai durumları ve sınır durumlarını da kapsayacak şekilde izlenecek bir iplik testi yaklaşımına karar vermeleri gerekir.
- Geliştirici tarafından test ediciye sağlanan iş parçacığı tanımı, iş parçacığının entegratör test edicileri tarafından uygun şekilde test edilmesine yardımcı olur. Test kullanıcısı tarafından ihtiyaç duyulan diğer bilgiler, ileti dizisi inceleme sürecinde yanıtlanabilir.
- İş parçacığı süreçleri, uçtan uca geliştirme sürecinden ziyade entegrasyon süreçleri için çalışır.
- Çoklu iş parçacığı işlevselliğini test etmek için, test edilecek uygulama veya programın birden çok örneğinin aynı anda etkin olmasına izin verin.
- Çok iş parçacıklı programı farklı donanımlarda çalıştırın.
- İş parçacığı testi, oturumların iş parçacıklarından oluşturulduğu bir oturum testi biçimidir. Oluşturulan bir iş parçacığının bir oturum olması gerekli değildir.
Konu Temelli Test Türleri
İki tür iş parçacığı tabanlı test gerçekleştirilir:
- Tek İplik testi
- Çok İplikli test
# 1) Tek İplik Testi
Tek iş parçacığı testi, bir seferde bir işlemi test eder. Müşterinin isteğine yanıt alması için bekleme süresi, her seferinde bir müşteriye hizmet verebileceği veya yanıt verebileceği için biraz daha uzun olabilir.
Bu test, test uzmanının programın mantığını veya yazılı kodu anlamasına ve test etmesine yardımcı olur.
# 2) Çok İplikli Test
Çoklu iş parçacığı testi aynı anda birkaç etkin işlemi test eder. Bu durumda, istemcinin istekleri için ayrı evreler oluşturulur. Bir istek yapıldığında, hizmet için bir iş parçacığı oluşturulur veya isteğe yanıt verir.
Tek iş parçacığı testinde düzgün çalışan bir işlem, çok iş parçacıklı test sırasında başarısız olabilir ve ayrıca diğer iş parçacıkları ve işlevlerle çakışabilir ve bunların beklendiği gibi çalışmasını durdurabilir.
Çoklu iş parçacığı yaklaşımı, tek iş parçacığı yaklaşımından daha mı iyidir?
Çok iş parçacıklı uygulamalar, uygulamanın performansını artırdığı için tek iş parçacıklı uygulamalardan daha iyidir. Çoklu iş parçacığı, bir dizi kaynağın aynı anda bir sorun / istek üzerinde çalışmasına izin verir.
Konu Bazlı Test Yaparken Karşılaşılan Zorluklar
İş parçacığı tabanlı test gerçekleştirirken, test uzmanı, testin performansını, süresini ve maliyetini etkileyen çeşitli zorluklarla karşılaşır.
- Çok iş parçacıklı kod için birim test senaryoları yazmak zordur.
- Farklı donanım üzerinde çoklu iş parçacığı testi yapılırken boyut, depolama kapasitesi, bellek, sorunlar vb.
- Hem tek iş parçacığı hem de birden çok iş parçacığı için test senaryoları farklıdır.
- Çoklu iş parçacığı testinde, birim testleri için tekrarlanabilir testler programlanmalıdır.
Multi-Threading'in Avantajları / Dezavantajları
Çoklu iş parçacığı, birçok avantaja ve dezavantaja sahiptir. Bir test uzmanı olarak aynı şeyi bilmesi, test sürecini buna göre test etmelerine ve kırmalarına yardımcı olur.
Avantajları
en çok oy alan ücretsiz kötü amaçlı yazılım temizleme yazılımı
- Çoklu iş parçacığı, kullanıcıya duyarlılığı artırır. Uygulama, uygulamanın bir kısmı engellense bile programın çalışmasına izin verebilir.
- Kaynak paylaşımı, iş parçacıkları ilişkili veya ait oldukları sürecin kaynaklarını paylaştıkları için başka bir avantajdır.
- İplikler oluşturmak, ait oldukları kaynakları paylaştığı için ekonomiktir.
Dezavantajları
- Karmaşık test süreci
- Sonuçlar çok tahmin edilemez.
- Bir program yazmak daha zor hale geliyor.
- Kilitlenme oluşumu.
Kilitlenme Nedir
Çoklu iş parçacığı tamamlandığında, kaynak kullanılamıyorsa iş parçacığı bekleme durumuna geçer.
İstenen kaynak diğer bekleyen iş parçacıkları tarafından tutulduğundan, iş parçacığı için bekleme durumu değişmeyebilir. Böyle bir durum ortaya çıktığında buna Deadlock denir.
İplik ve İşlemler Arasındaki Fark
İş Parçacığı ve Süreçler arasındaki farkları anlayalım:
S.No | Konu | İşlem |
---|---|---|
7 | Konu daha fazla bölünemez. | İşlemlerin birden çok iş parçacığı olabilir. |
1 | İplik hafif bir işlemdir. | Süreç ağır bir süreçtir. |
iki | Sunucu iş parçacığı engellenirse, aynı görevin ikinci bir iş parçacığı çalıştırabilir ve işlemi tamamlayabilir. | Sunucu işlemi engellenirse, engellenen sunucu işlemi engellenene kadar diğer işlemler çalışamaz. |
3 | İpler izole olmaz, hafızayı paylaşırlar. | Süreç izole edilmiştir. |
4 | İş parçacığı oluşturma, bağlam değiştirme, sonlandırma iş parçacığında daha az zaman alır. | İş parçacığı oluşturma, bağlam değiştirme, sonlandırma işlemlerde daha fazla zaman alır. |
5 | İş parçacığı, bir sürecin belirli görevini ifade eder. | Süreç, herhangi bir programın yürütülmesini ifade eder. |
6 | İplikte kullanılan kaynaklar çok az. | Süreçlerde kullanılan kaynaklar daha fazladır. |
İş Parçacığı Tabanlı ve Kullanıcı Tabanlı Test Arasındaki Fark
S.No. | Konu Bazlı Test | Kullanım Bazlı Test |
---|---|---|
1 | Dişler entegre edilir ve ayrı ayrı test edilir. | Test, birbirine bağımlı olmayan, yani bağımsız sınıflarla başlar. |
iki | Hiçbir şeyin etkilenmediğinden emin olmak için regresyon testi yapılır. | Bağımsız sınıfların testi yapıldıktan sonra bağımlı sınıflar test edilir. Bağımlılar, bağımsız sınıflara bağlı olanlardır. Bu seri, tüm sistem kurulana kadar devam eder. |
3 | İş parçacığı tabanlı test, sistemin girdisini veya olayını onaylamak için gerekli olan sınıfları entegre eder. | Kullanım tabanlı test, kullanım senaryosunu yanıtlamak veya kabul etmek için gerekli olan sınıfları entegre eder. |
Sıkça Sorulan Sorular
S # 1) Konu Testi nedir?
Cevap: İş parçacığı tabanlı test, entegrasyon testinin erken aşamasında gerçekleştirilen bir metodolojidir. İş parçacığı veya programlar, bir alt sistemde ve daha sonra tüm sistemde aşamalı olarak entegre edilir ve test edilir.
S # 2) İlk önce hangi test yapılır?
Cevap : Genellikle önce aşağıdan yukarıya test yapılır, ardından yukarıdan aşağıya test yapılır.
S # 3) Yukarıdan Aşağıya Test Nedir?
Cevap: Yukarıdan aşağıya, testin stub'lar kullanılarak yapıldığı bir entegrasyon testi tekniğidir, yani daha düşük seviyeli bileşenler henüz entegrasyonu test etmeye hazır olmadığında, gerçek modüller durumunda olduğu gibi aynı çıktıyı elde etmek için saplamalar (geçici modüller) oluşturulur.
Sonuç
İş parçacığı tabanlı entegrasyon testi, ana işlevlerin veya belirli bir görevin veya iş parçacığının test edilmesinde önemli bir rol oynar. Bu metodoloji, istemci sunucu tabanlı mimari için en iyisidir.
Diş testini yaparken, test cihazı birçok zorlukla yüzleşmek zorundadır, ancak birçok avantajı da vardır, bu da uygulamayı kolay ve güvenilir kılar. Test uzmanlarının tüm işlemleri test etmesine ve beklendiği gibi ve ihtiyaca göre çalışıp çalışmadığını doğrulamasına izin verdi.
İş parçacığı testini tamamlamak için tüm işlemleri / olayları test etmek imkansızdır çünkü bu, tek ve çok iş parçacıklı tiplere ayrılmıştır.
Önerilen Kaynaklar
- Kariyeriniz olarak Yazılım Testini Seçme
- Bazı İlginç Yazılım Testi Görüşme Soruları
- Yazılım Duygusal Bir Görevi Test Eder mi?
- Java Senkronize Edildi: Java'da İş Parçacığı Senkronizasyonu Nedir?
- Yöntemler ve Yaşam Döngüsü İçeren Java Konuları
- Örneklerle C ++ 'da Çoklu Okuma
- Java'da Çoklu Okuma - Örneklerle Eğitim
- Thread.Sleep () - Örneklerle Java'da Thread Sleep () Yöntemi