Bu bölümde, Yazılım Geliştirme Yaşam Döngüsü sırasında kullanılabilecek çeşitli yazılım testi türlerini anlayacağız.
Bildiğimiz gibi, yazılım testi Müşteri önkoşullarına göre bir uygulamanın işlevselliğini analiz etme sürecidir.
Yazılımımızın hatasız veya kararlı olduğundan emin olmak istiyorsak, çeşitli yazılım testi türlerini gerçekleştirmeliyiz çünkü test, uygulamamızı hatasız kılan tek yöntemdir.
Farklı Yazılım Testi türleri
Yazılım testinin sınıflandırılması çeşitli test aktivitelerinin bir parçasıdır; test stratejisi, test çıktıları, tanımlanmış bir test hedefi vb. . Yazılım testi ise yazılımın kusurları bulmak için çalıştırılmasıdır.
Bir test türüne sahip olmanın amacı, OTO (Test Edilen Uygulama).
Teste başlamak için bir gereksinim, uygulamaya hazır, gerekli kaynaklar mevcut . Sorumluluğu sürdürmek için ilgili modülü farklı test mühendislerine atamalıyız.
Yazılım testi esas olarak aşağıdaki gibi iki bölüme ayrılmıştır:
Manuel Test Nedir?
Herhangi bir yazılımın veya uygulamanın müşterinin ihtiyaçlarına göre herhangi bir otomasyon aracı kullanılmadan test edilmesine denir. manuel test .
Başka bir deyişle bunun bir prosedür olduğunu söyleyebiliriz. doğrulama ve onaylama . Manuel test, bir uygulamanın veya yazılımın gereksinim spesifikasyonuna aykırı davranışını doğrulamak için kullanılır.
Manuel test senaryolarını yürütmek için herhangi bir test aracı hakkında kesin bilgiye ihtiyacımız yok. Herhangi bir uygulama üzerinde manuel test yaparken test dokümanını da kolaylıkla hazırlayabiliyoruz.
Manuel test hakkında ayrıntılı bilgi almak için şu bağlantıya tıklayın: https://www.javatpoint.com/manual-testing.
Manuel Testlerin Sınıflandırılması
Yazılım testinde manuel test ayrıca şu şekilde sınıflandırılabilir: üç farklı test türü bunlar aşağıdaki gibidir:
Daha iyi anlamamız için bunları tek tek görelim:
Beyaz Kutu Testi
Beyaz kutu testinde geliştirici, kodun her satırını test ekibine veya ilgili test mühendislerine teslim etmeden önce inceleyecektir.
Daha sonra kod, test boyunca geliştiriciler için fark edilebilir; bu nedenle bu süreç şu şekilde bilinir: WBT (Beyaz Kutu Testi) .
Başka bir deyişle şunu söyleyebiliriz ki geliştirici belirli bir yazılım için beyaz kutu testinin tamamını gerçekleştirecek ve belirli uygulamayı test ekibine gönderecektir.
Beyaz kutu testinin uygulanmasının amacı, yazılım üzerindeki giriş ve çıkış akışını vurgulamak ve uygulamanın güvenliğini arttırmaktır.
Beyaz kutu testi aynı zamanda şu şekilde de bilinir: açık kutu testi, cam kutu testi, yapısal test, şeffaf kutu testi ve şeffaf kutu testi .
Beyaz kutu testi hakkında derinlemesine bilgi edinmek için aşağıdaki bağlantıya bakın: https://www.javatpoint.com/white-box-testing.
Kara Kutu Testi
Başka bir manuel test türü ise kara kutu testi . Bu testte, test mühendisi yazılımı gereksinimlere göre analiz edecek, kusurları veya hataları belirleyecek ve geliştirme ekibine geri gönderecektir.
Daha sonra geliştiriciler bu kusurları düzeltecek, bir tur Beyaz kutu testi yapacak ve bunu test ekibine gönderecek.
Burada hataların düzeltilmesi, kusurun çözüldüğü ve belirli özelliğin verilen gereksinime göre çalıştığı anlamına gelir.
Kara kutu testinin uygulanmasının temel amacı iş ihtiyaçlarını veya müşterinin gereksinimlerini belirlemektir.
Başka bir deyişle kara kutu testinin, müşteri ihtiyacına göre bir uygulamanın işlevselliğini kontrol etme işlemi olduğunu söyleyebiliriz. Bu testte kaynak kodu görünmüyor; bu yüzden olarak bilinir kara kutu testi .
Kara kutu testi hakkında daha fazla bilgi için aşağıdaki bağlantıya bakın: https://www.javatpoint.com/black-box-testing.
Kara Kutu Testi Türleri
Kara kutu testi ayrıca aşağıda tartışıldığı gibi iki bölüme ayrılır:
Fonksiyonel test
Test mühendisi, tüm bileşenleri sistematik olarak gereksinim spesifikasyonlarına göre kontrol edecektir. fonksiyonel test . Fonksiyonel test aynı zamanda şu şekilde de bilinir: Bileşen testi .
Fonksiyonel testte, tüm bileşenler değer verilerek, çıktı tanımlanarak ve gerçek çıktının beklenen değerle doğrulanması yoluyla test edilir.
İşlevsel test, gerçek kod yerine uygulama gereksinimlerine vurgu yaptığı için kara kutu testinin bir parçasıdır. Test mühendisinin sistem yerine yalnızca programı test etmesi gerekir.
Fonksiyonel testlerle ilgili detaylı bilgi almak için aşağıdaki bağlantıya başvurunuz: https://www.javatpoint.com/function-testing .
Fonksiyonel Test Türleri
Tıpkı başka bir test türünün birkaç bölüme ayrılması gibi, fonksiyonel testler de çeşitli kategorilere ayrılmıştır.
Çeşitli Fonksiyonel Test Türleri aşağıdakileri içerir:
Şimdi bunları tek tek anlayalım:
1. Birim Testi
Birim testi, herhangi bir yazılımı test etmek için yapılan fonksiyonel testin ilk seviyesidir. Bunda, test mühendisi bir uygulamanın modülünü bağımsız olarak test edecek veya tüm modül işlevselliğini test edecektir. birim testi .
Birim testini yürütmenin temel amacı, birim bileşenlerinin performanslarını doğrulamaktır. Burada birim, bir yazılımın veya uygulamanın test edilebilir tek bir işlevi olarak tanımlanır. Ve belirtilen uygulama geliştirme aşaması boyunca doğrulanır.
Birim testiyle ilgili tüm bilgileri almak için aşağıdaki bağlantıya tıklayın: https://www.javatpoint.com/unit-testing.
2. Entegrasyon Testi
Birim testini başarıyla uyguladıktan sonra entegrasyon testine geçeceğiz. Bağımlı modüller arasındaki veri akışını veya iki özellik arasındaki arayüzü test ettiğimiz ikinci seviye fonksiyonel testtir. entegrasyon testi .
Entegrasyon testini yürütmenin amacı, her modül arasında bildirimin doğruluğunu test etmektir.
Entegrasyon Testi Türleri
Entegrasyon testi ayrıca aşağıdaki bölümlere ayrılmıştır:
Artımlı Entegrasyon Testi
Modüller arasında net bir ilişki olduğunda, artımlı entegrasyon testine gideriz. Diyelim ki iki modül alıyoruz ve aralarındaki veri akışının iyi çalışıp çalışmadığını analiz ediyoruz.
Bu modüller düzgün çalışıyorsa bir modül daha ekleyip tekrar test edebiliriz. Daha iyi sonuçlar almak için aynı işleme devam edebiliriz.
Yani modüllerin artımlı olarak toplanıp modüller arasındaki veri akışının test edilmesine denir diyebiliriz. Artımlı entegrasyon testi .
Artımlı Entegrasyon Testi Türleri
Artımlı entegrasyon testi ayrıca aşağıdaki gibi iki bölüme ayrılabilir:
Bu tür entegrasyon testlerine kısa bir giriş görelim:
1. Yukarıdan Aşağıya Artımlı Entegrasyon Testi
Bu yaklaşımda modülleri adım adım veya artımlı olarak ekleyeceğiz ve aralarındaki veri akışını test edeceğiz. Eklediğimiz modüllerin aşağıdaki özelliklere sahip olduğundan emin olmalıyız: öncekilerin çocuğu .
2. Aşağıdan Yukarıya Artımlı Entegrasyon Testi
Aşağıdan yukarıya yaklaşımında modülleri artımlı olarak ekleyeceğiz ve modüller arasındaki veri akışını kontrol edeceğiz. Ayrıca ekleyeceğimiz modülün şu olduğundan emin olun: öncekilerin ebeveyni .
Artımlı Olmayan Entegrasyon Testi/ Big Bang Yöntemi
Veri akışının karmaşık olduğu ve ebeveyni ve çocuğu sınıflandırmanın çok zor olduğu durumlarda, artımlı olmayan entegrasyon yaklaşımını tercih edeceğiz. Artımlı olmayan yöntem aynı zamanda şu şekilde de bilinir: Büyük Patlama yöntemi .
Entegrasyon testi ve türü hakkında tam bilgi edinmek için aşağıdaki bağlantıya bakın: https://www.javatpoint.com/integration-testing.
3. Sistem Testi
Birim ve entegrasyon testi bittiğinde sistem testine devam edebiliriz.
Sistem testinde test ortamı üretim ortamına paraleldir. Aynı zamanda şu şekilde de bilinir: uçtan uca test yapmak.
Bu tür testlerde yazılımın her özelliğini inceleyeceğiz ve son özelliğin iş gereksinimlerine göre çalışıp çalışmadığını test edeceğiz. Ve yazılım ürününü eksiksiz bir sistem olarak analiz edin.
Sistem testiyle ilgili tüm bilgileri almak için aşağıdaki bağlantıya tıklayın: https://www.javatpoint.com/system-testing .
İşlev Dışı Test
Kara kutu testinin bir sonraki kısmı işlevsel olmayan testler . Yazılım ürün performansı ve kullanılan teknolojiler hakkında detaylı bilgi sağlar.
İşlevsel olmayan testler, yazılımın üretim riskini ve ilgili maliyetlerini en aza indirmemize yardımcı olacaktır.
İşlevsel olmayan testler aşağıdakilerin bir birleşimidir: performans, yük, stres, kullanılabilirlik ve uyumluluk testleri .
İşlevsel olmayan testlerle ilgili daha fazla bilgi için şu bağlantıya bakın: https://www.javatpoint.com/non-function-testing.
İşlevsel Olmayan Test Türleri
İşlevsel olmayan testler, testin farklı bölümlerine ayrılmıştır; bunları daha ayrıntılı olarak tartışacağız:
1. Performans Testi
Performans testinde, test mühendisi bir uygulamanın çalışmasını bir miktar yük uygulayarak test edecektir.
Bu tür işlevsel olmayan testlerde, test mühendisi yalnızca aşağıdakiler gibi çeşitli hususlara odaklanacaktır: Tepki süresi, Yük, ölçeklenebilirlik ve Kararlılık yazılım veya uygulama.
Performans Testinin Sınıflandırılması
Performans testi, aşağıdaki çeşitli test türlerini içerir:
Performans testini yürütürken, uygulamanın performansını kontrol etmek için belirli bir uygulamaya bir miktar yük uygulayacağız. yük testi . Burada yük istenilen yükten az veya ona eşit olabilir.
Yazılımın en yüksek çalışma hacmini ve darboğazları tespit etmemize yardımcı olacaktır.
Yük testiyle ilgili tüm bilgileri almak için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/load-testing.
Yazılımın kullanıcı dostuluğunu ve sağlamlığını ortak işlevsel sınırların ötesinde analiz etmek için kullanılır.
Stres testi öncelikle kritik yazılımlar için kullanılır ancak her türlü yazılım uygulaması için de kullanılabilir.
Stres testiyle ilgili derinlemesine bilgi için aşağıdaki bağlantıya bakın: https://www.javatpoint.com/stress-testing.
sayılarla bir milyon
Analiz için, uygulamanın belirli dengelerdeki yükü artırarak veya azaltarak performansına denir. ölçeklenebilirlik testi .
Ölçeklenebilirlik testinde şunları da kontrol edebiliriz: sistemin, süreçlerin veya veritabanının yeteneği yukarı yönlü bir ihtiyacı karşılamak için. Ve bunda, Test Durumları verimli bir şekilde tasarlanır ve uygulanır.
Ölçeklenebilirlik testiyle ilgili ayrıntılı bilgiye ulaşmak için aşağıdaki bağlantıya tıklayın:
https://www.javatpoint.com/scalability-testing.
Stabilite testi, yükü belirli bir süre uygulayarak uygulamanın performansını değerlendirdiğimiz bir prosedürdür.
Esas olarak uygulamanın süreklilik sorunlarını ve geliştirilen ürünün verimliliğini kontrol eder. Bu tür testlerde stresli bir durumda bile sistemdeki arızayı hızla bulabiliriz.
Stabilite testi hakkında detaylı bilgi almak için aşağıdaki bağlantıya bakınız:
https://www.javatpoint.com/stability-testing.
2. Kullanılabilirlik Testi
Başka bir tür işlevsel olmayan testler dır-dir kullanılabilirlik testi . Kullanılabilirlik testinde, bir uygulamanın kullanıcı dostu olup olmadığını analiz edeceğiz ve yazılımın son kullanıcı arayüzündeki hataları tespit edeceğiz.
Burada terim Kullanıcı dostu Bir uygulamanın aşağıdaki yönlerini tanımlar:
- Uygulamanın anlaşılması kolay olmalı, bu da tüm özelliklerin son kullanıcılar tarafından görülebilmesi gerektiği anlamına gelir.
- Uygulamanın görünümü ve hissi iyi olmalı, yani uygulama hoş görünmeli ve son kullanıcıya onu kullanma hissi vermelidir.
Kullanılabilirlik testi hakkında daha fazla bilgi için aşağıdaki bağlantıya başvurabiliriz:
https://www.javatpoint.com/usability-testing.
3. Uyumluluk Testi
Uyumluluk testinde, bir uygulamanın belirli donanım ve yazılım ortamlarındaki işlevselliğini kontrol edeceğiz. Uygulama işlevsel olarak kararlı hale geldiğinde, yalnızca uyumluluk testi .
Burada, yazılım uygulamayı farklı işletim sistemlerinde ve diğer tarayıcılarda test edebileceğimiz anlamına gelir ve donanım uygulamayı farklı boyutlarda test edebileceğimiz anlamına gelir.
Uyumluluk testi hakkında kapsamlı bilgi edinmek için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/compatibility-testing .
Gri Kutu Testi
Başka bir kısmı manuel test dır-dir Gri kutu testi . Bu bir kara kutu ve beyaz kutu testinin işbirliği .
Çünkü gri kutu testi, test senaryolarının tasarlanması için dahili kodlamaya erişimi içerir. Gri kutu testi, test etmenin yanı sıra kodlamayı da bilen bir kişi tarafından gerçekleştirilir.
Yani tek kişilik bir ekip her ikisini de yaparsa diyebiliriz beyaz kutu ve kara kutu testi , Bu kabul edilir gri kutu testi .
Gri kutu testi hakkında detaylı bilgi almak için aşağıdaki bağlantıya başvurabiliriz:
https://www.javatpoint.com/grey-box-testing.
Otomasyon Testi
Yazılım testinin en önemli kısmı Otomasyon testidir. Herhangi bir insan müdahalesi olmadan manuel tasarımlı test senaryolarını otomatikleştirmek için özel araçlar kullanır.
Otomasyon testi, Yazılım testinin verimliliğini, üretkenliğini ve kapsamını geliştirmenin en iyi yoludur.
Manuel olarak, hızlı ve tekrar tekrar yürütülen test senaryolarını yeniden çalıştırmak için kullanılır.
Başka bir deyişle, bir uygulamayı bazı araçları kullanarak test ettiğimizde bunun şu şekilde bilindiğini söyleyebiliriz: otomasyon testi .
Uygulama veya yazılımda çeşitli sürümler veya birkaç regresyon döngüsü devam ettiğinde otomasyon testine gideceğiz. Programlama dilini anlamadan test betiğini yazamayız veya otomasyon testini gerçekleştiremeyiz.
Otomasyon testi hakkında daha fazla bilgi için aşağıdaki bağlantıya başvurabiliriz:
https://www.javatpoint.com/automation-testing.
Diğer bazı Yazılım Testi türleri
Yazılım testinde, yukarıda tartışılan testlerin parçası olmayan başka test türlerimiz de vardır ancak bu testler, herhangi bir yazılımı veya uygulamayı test ederken gereklidir.
Bu test türlerini tek tek anlayalım:
İçinde duman testi , bir tur derin ve titiz test yapmadan önce bir uygulamanın temel ve kritik özelliklerini test edeceğiz.
Veya olası tüm pozitif ve negatif değerleri kontrol etmeden önce, şu şekilde bilinir: duman testi . Uygulamanın temel ve ana fonksiyonlarının iş akışını analiz etmek, duman testinin gerçekleştirilmesinin temel amacıdır.
Duman testi hakkında daha fazla bilgi için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/smoke-testing.
Akıl Sağlığı Testi
Tüm hataların düzeltildiğinden ve bu değişikliklerden dolayı hiçbir ek sorunun ortaya çıkmadığından emin olmak için kullanılır. Akıl sağlığı testleri yazılı değildir, bu da bunu belgeleyemeyeceğimiz anlamına gelir. Yeni eklenen özellik ve bileşenlerin doğruluğunu kontrol eder.
Akıl sağlığı testi hakkında detaylı bilgi almak için aşağıdaki bağlantıya başvurabiliriz:
https://www.javatpoint.com/sanity-testing.
Gerileme testi
Regresyon testi, yazılım testinin en yaygın kullanılan türüdür. Burada terim gerileme etkilenmeyen bir uygulamanın bu kısımlarını yeniden test etmemiz gerektiği anlamına gelir.
Regresyon testi otomasyon araçları için en uygun testtir. Proje türüne ve kaynakların erişilebilirliğine göre regresyon testi aşağıdakine benzer olabilir: Yeniden test ediliyor .
Geliştiriciler tarafından bir hata düzeltildiğinde ve ardından hata düzeltme nedeniyle simüle edilebilecek uygulamaların diğer özelliklerinin test edilmesine denir. gerileme testi .
Yani bir proje için yeni bir sürüm çıktığında Regresyon Testi yapabileceğimizi ve yeni bir özellik nedeniyle daha önceki sürümlerdeki eski özellikleri etkileyebileceğini söyleyebiliriz.
Regresyon testiyle ilgili ayrıntılı bilgi edinmek için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/regression-testing .
kullanıcı Kabul Testi
Kullanıcı kabul testi (UAT), alan adı uzmanı/müşteri veya müşteri olarak bilinen bireysel ekip tarafından yapılır. Nihai ürünü kabul etmeden önce başvuruyu bilmeye denir. kullanıcı Kabul Testi .
Kullanıcı kabul testlerinde, iş senaryolarını ve gerçek zamanlı senaryoları, ayrı bir ortam adı verilen ortamda analiz ediyoruz. UAT ortamı . Bu testte, müşteri onayı için uygulamayı UAI'den önce test edeceğiz.
Kullanıcı kabul testi hakkında daha fazla bilgi için aşağıdaki bağlantıya tıklayın:
https://www.javatpoint.com/acceptance-testing.
Araştırma testi
Gereksinim eksik olduğunda erken yineleme gerekir ve kritik bir uygulamamız olduğunda test ekibi deneyimli test uzmanlarına sahiptir. Ekibe yeni test mühendisi katıldı ve yola çıktık. Araştırma testi .
Keşif testini yürütmek için öncelikle uygulamayı mümkün olan tüm yollardan inceleyeceğiz, bir test belgesi oluşturacağız, uygulamanın akışını anlayacağız ve ardından uygulamayı test edeceğiz.
Keşif testi hakkında tam bilgi almak için aşağıdaki bağlantıya tıklayın:
https://www.javatpoint.com/exploratory-testing.
Anlık Test
Derleme kontrol edilen sıraya gelir gelmez uygulamanın rastgele test edilmesine denir. Anlık test .
Ayrıca denir Maymun testi ve Goril testi . Adhoc testinde, uygulamanın müşterinin gereksinimlerine aykırı olup olmadığını kontrol edeceğiz; bu yüzden aynı zamanda olarak da bilinir negatif test .
Son kullanıcı uygulamayı gelişigüzel kullandığında bir hata tespit edebilir. Yine de uzman test mühendisi yazılımı kapsamlı bir şekilde kullandığından benzer bir tespit tespit edemeyebilir.
Adhoc testi hakkında ayrıntılı bilgi almak için aşağıdakileri ifade eder:
https://www.javatpoint.com/adhoc-testing.
Güvenlik Testi
Yazılım uygulamasındaki zayıflıkları, riskleri veya tehditleri belirlemek için kullanılan yazılım testinin önemli bir parçasıdır.
Güvenlik testinin yürütülmesi, dışarıdan gelebilecek kötü saldırılardan kaçınmamıza ve yazılım uygulamalarımızın güvenliğini sağlamamıza yardımcı olacaktır.
Yani güvenlik testinin esas olarak verinin güvende olacağını ve yazılımın çalışma sürecine dayanacağını tanımlamak için kullanıldığını söyleyebiliriz.
Güvenlik testiyle ilgili tüm ayrıntıları öğrenmek için aşağıdaki bağlantıya bakın: https://www.javatpoint.com/security-testing.
Küreselleşme Testi
Diğer bir yazılım testi türü ise Küreselleşme testi. Globalizasyon testi, geliştirilen yazılımın birden fazla dil için olup olmadığını kontrol etmek için kullanılır. İşte, kelimeler küreselleşme uygulamanın veya yazılımın çeşitli diller için aydınlatılması anlamına gelir.
Küreselleştirme testi, uygulamanın birden çok dili ve birden çok özelliği destekleyeceğinden emin olmak için kullanılır.
Mevcut senaryolarda, uygulamalar küresel olarak kullanıma hazırlanırken çeşitli teknolojilerdeki gelişmeleri de görebiliyoruz.
Küreselleşme testiyle ilgili tamamlanmış bilgileri almak için aşağıdaki bağlantıya bakın:
https://www.javatpoint.com/globalization-testing.
Çözüm
Eğitimde çeşitli yazılım testi türlerini tartıştık. Ancak hala 100'den fazla test kategorisinin bulunduğu bir liste var. Ancak her tür test her projede kullanılmaz.
En sık kullanılan Yazılım Testi türlerini tartıştık. kara kutu testi, beyaz kutu testi, işlevsel test, işlevsel olmayan test, regresyon testi, Adhoc testi vb. .
Ayrıca, farklı kuruluşlarda kullanılan alternatif sınıflandırmalar veya süreçler vardır, ancak genel kavram her yerde benzerdir.
Bu test türleri, süreçleri ve yürütme yaklaşımları proje, gereksinimler ve kapsam değiştiğinde değişmeye devam eder.