Yazılım testi (software testing), test altında hizmetlerin veya ürünlerin kalitesi hakkında paydaşlara bilgi sağlamak için yürütülen bir araştırmadır. Yazılım testi aynı zamanda, yazılım uygulamalarının risklerini anlamak için yazılımı bağımsız ve nesnel olarak incelemektir. Test teknikleri yazılım böceklerini (hatalar ve diğer kusurlar) bulma niyetiyle uygulama veya bir programı çalıştırma süreçlerini kapsar.
Yazılım testi bir veya daha fazla ilgili özelliği değerlendirmek için sistem bileşenlerini veya yazılım bileşenlerinin yürütülmesini içerir. Genellikle, bu özellikler test altındaki sistem veya dahili bileşenleri işaret eder:
- Geliştirme ve tasarımda kılavuzluk eden karşılanması
- Tüm ilişkili girdilere doğru şekilde karşılık verilmesi
- Kabul edilebilir zaman içerisinde fonksiyonların çalışması
- Yeterli derecede kullanılabilme
- Çalıştırılacak platformlarda indirilebilmesi ve kurulması
- Paydaşların istediği sonuçları başarabilme
olarak sonsuz her bir yazılım bileşeni için bile sayısın mümkün test vardır, tüm yazılım test etme yöntemleri mevcut zaman ve kaynaklar için uygun testleri seçmek için bazı stratejileri kullanırlar. Sonuç olarak yazılım testi tipik olarak (fakat özel değil) yazılım böceklerini bulmaya uygulama veya programı yürütmeye çalışır.Yazılım testi, yazılımın kalitesi hakkında birbirinden bağımsız bilgiyi ve kullanıcılarına veya sponsorlarına başarısızlık riskini nesnel bir şekilde sağlar.
Yazılım testi yürütülebilen bir yazılım çalıştırıldığı sürece var olur. Yazılım geliştirmeye genel yaklaşım sıklıkla ne zaman ve nasıl testin yürütüldüğünü belirlemektir. Mesela fazlı süreçlerde, çoğu test etme olayı sistem gereksinimleri tanımlandıktan ve test edilebilir programlarda gerçekleştirimi yapıldıktan sonra meydana gelir. Karşıt olarak Çevik yaklaşım, gereksinimler, programlama altında test etme genellikle eş zamanlı olarak meydana gelir.
Test tasarım teknikleri
Statik test etmeye karşın dinamik test etme
Yazılım testinde birçok yaklaşım mevcuttur. Önizleme, talimatlar statik test etme olarak refere edilir, diğer taraftan test olaylarının bir kümesi verilerek yürütülen programlanmış kodların testi dinamik test olarak refere edilir. Statik test etme statik program analizleri olarak veri akışını ve söz dizimini kontrol eden derleyiciler veya kaynak kod yapılarını kontrol eden editörler programlandığı için örtülüdür. Dinamik test etme programın kendisi yürütüldüğünde yer alır. Dinamik test etme, ayrık fonksiyonlara veya modüllere uygulanabilir ve kodun belirli parçalarını test etmek için %100 tamamlanmadan önce başlayabilir. Bunun için tipik teknikler ya sürücüleri ya da hata ayıklayıcılardan çalıştırmayı kullanır. Statik test etme doğrulamayı içerir oysa dinamik test etme geçerliliği doğrular. Bununla birlikte hepsi yazılım kalitesini geliştirmeye yardımcı olur. Statik analizler için teknikler arasında mutasyon test etme kaynak kodu mutasyona uğratarak hataları ortaya çıkartmak için test adımlarından emin olmak için kullanılabilir.
Kutu yaklaşımı
Yazılım test etme metotları geleneksel olarak beyaz-ve siyah kutu test etme şeklinde ayrılır. Bu iki yaklaşım mühendislerin test olaylarını tasarlamakta kullandığı noktaları tanımlamak için kullanılır.
Yapı bazlı veya beyaz kutu teknikleri
Beyaz kutu testi (cam kutu test etme, açık kutu test etme, transparan kutu test etme ve yapısal test etme olarak da bilinir) iç yapıları veya programın çalışmasını test eder, son kullanıcının maruz kaldığı fonksiyonelliği karşılar.
Beyaz kutu testinde sistemin iç bakış açısı test edilir ve aynı zamanda programlama becerileri test edilir bunlar test olaylarını tasarlamak için kullanılır. Test edici kod ile birlikte çalışacak girdi çalışmalarını ve uygun çıktıları belirler. Bu çevrimde ki test etme düğümlerinin örneklemesidir. Beyaz kutu testi birim, entegrasyon ve sistem seviyelerinde yazılım test süreçlerine uygulanabilir.
Beyaz kutu testinde kullanılan teknikler:
- API test etme (uygulama programlama arayüzü) uygulamanın kullanılan public ve private API’lerinin test edilmesi.
- Kod kapsamı: kodun kapsadığı kriterlerin doyurulduğunu test etmek için, mesela test tasarımcısı programda en azından bir kere yürütülmesini sağlayacak testler oluşturabilir.
- Hata injeksiyon metotları test stratejilerinin etkinliğini ölçümlemek için bilerek hatalara yol açtırma.
- Mutasyon ve statik test metotları.
Spesifikasyon bazlı veya kara kutu teknikleri
Siyah kutu testi yazılıma bir kara kutu gibi davranır, dahili gerçekleştirimi bilmeksizin fonksiyonelliği inceler. Test ediciler sadece yazılımın ne olduğunun, yaptığı şeyin farkındadırlar, nasıl yaptığının değil. Siyah kutu test teknikleri, Denklik Paylarına Ayırma, Sınırlı Değer Analizi, Karar Tablosu Testi, Durum Geçişi Testi, Kullanım Senaryosu Testi olarak 5 gruba ayrılır.
Kaynakça
Dış bağlantılar
- Çanakkale OnSekiz Mart Üniversitesi11 Haziran 2020 tarihinde Wayback Machine sitesinde .
- Çanakkale OnSekiz Mart Üniversitesi Bilgisayar Mühendisliği22 Ekim 2013 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Yazilim testi software testing test altinda hizmetlerin veya urunlerin kalitesi hakkinda paydaslara bilgi saglamak icin yurutulen bir arastirmadir Yazilim testi ayni zamanda yazilim uygulamalarinin risklerini anlamak icin yazilimi bagimsiz ve nesnel olarak incelemektir Test teknikleri yazilim boceklerini hatalar ve diger kusurlar bulma niyetiyle uygulama veya bir programi calistirma sureclerini kapsar Yazilim testi bir veya daha fazla ilgili ozelligi degerlendirmek icin sistem bilesenlerini veya yazilim bilesenlerinin yurutulmesini icerir Genellikle bu ozellikler test altindaki sistem veya dahili bilesenleri isaret eder Gelistirme ve tasarimda kilavuzluk eden karsilanmasi Tum iliskili girdilere dogru sekilde karsilik verilmesi Kabul edilebilir zaman icerisinde fonksiyonlarin calismasi Yeterli derecede kullanilabilme Calistirilacak platformlarda indirilebilmesi ve kurulmasi Paydaslarin istedigi sonuclari basarabilme olarak sonsuz her bir yazilim bileseni icin bile sayisin mumkun test vardir tum yazilim test etme yontemleri mevcut zaman ve kaynaklar icin uygun testleri secmek icin bazi stratejileri kullanirlar Sonuc olarak yazilim testi tipik olarak fakat ozel degil yazilim boceklerini bulmaya uygulama veya programi yurutmeye calisir Yazilim testi yazilimin kalitesi hakkinda birbirinden bagimsiz bilgiyi ve kullanicilarina veya sponsorlarina basarisizlik riskini nesnel bir sekilde saglar Yazilim testi yurutulebilen bir yazilim calistirildigi surece var olur Yazilim gelistirmeye genel yaklasim siklikla ne zaman ve nasil testin yurutuldugunu belirlemektir Mesela fazli sureclerde cogu test etme olayi sistem gereksinimleri tanimlandiktan ve test edilebilir programlarda gerceklestirimi yapildiktan sonra meydana gelir Karsit olarak Cevik yaklasim gereksinimler programlama altinda test etme genellikle es zamanli olarak meydana gelir Test tasarim teknikleriStatik test etmeye karsin dinamik test etme Yazilim testinde bircok yaklasim mevcuttur Onizleme talimatlar statik test etme olarak refere edilir diger taraftan test olaylarinin bir kumesi verilerek yurutulen programlanmis kodlarin testi dinamik test olarak refere edilir Statik test etme statik program analizleri olarak veri akisini ve soz dizimini kontrol eden derleyiciler veya kaynak kod yapilarini kontrol eden editorler programlandigi icin ortuludur Dinamik test etme programin kendisi yurutuldugunde yer alir Dinamik test etme ayrik fonksiyonlara veya modullere uygulanabilir ve kodun belirli parcalarini test etmek icin 100 tamamlanmadan once baslayabilir Bunun icin tipik teknikler ya suruculeri ya da hata ayiklayicilardan calistirmayi kullanir Statik test etme dogrulamayi icerir oysa dinamik test etme gecerliligi dogrular Bununla birlikte hepsi yazilim kalitesini gelistirmeye yardimci olur Statik analizler icin teknikler arasinda mutasyon test etme kaynak kodu mutasyona ugratarak hatalari ortaya cikartmak icin test adimlarindan emin olmak icin kullanilabilir Kutu yaklasimi Yazilim test etme metotlari geleneksel olarak beyaz ve siyah kutu test etme seklinde ayrilir Bu iki yaklasim muhendislerin test olaylarini tasarlamakta kullandigi noktalari tanimlamak icin kullanilir Yapi bazli veya beyaz kutu teknikleri Beyaz kutu testi cam kutu test etme acik kutu test etme transparan kutu test etme ve yapisal test etme olarak da bilinir ic yapilari veya programin calismasini test eder son kullanicinin maruz kaldigi fonksiyonelligi karsilar Beyaz kutu testinde sistemin ic bakis acisi test edilir ve ayni zamanda programlama becerileri test edilir bunlar test olaylarini tasarlamak icin kullanilir Test edici kod ile birlikte calisacak girdi calismalarini ve uygun ciktilari belirler Bu cevrimde ki test etme dugumlerinin orneklemesidir Beyaz kutu testi birim entegrasyon ve sistem seviyelerinde yazilim test sureclerine uygulanabilir Beyaz kutu testinde kullanilan teknikler API test etme uygulama programlama arayuzu uygulamanin kullanilan public ve private API lerinin test edilmesi Kod kapsami kodun kapsadigi kriterlerin doyuruldugunu test etmek icin mesela test tasarimcisi programda en azindan bir kere yurutulmesini saglayacak testler olusturabilir Hata injeksiyon metotlari test stratejilerinin etkinligini olcumlemek icin bilerek hatalara yol actirma Mutasyon ve statik test metotlari Spesifikasyon bazli veya kara kutu teknikleri Siyah kutu testi yazilima bir kara kutu gibi davranir dahili gerceklestirimi bilmeksizin fonksiyonelligi inceler Test ediciler sadece yazilimin ne oldugunun yaptigi seyin farkindadirlar nasil yaptiginin degil Siyah kutu test teknikleri Denklik Paylarina Ayirma Sinirli Deger Analizi Karar Tablosu Testi Durum Gecisi Testi Kullanim Senaryosu Testi olarak 5 gruba ayrilir KaynakcaDis baglantilarCanakkale OnSekiz Mart Universitesi11 Haziran 2020 tarihinde Wayback Machine sitesinde Canakkale OnSekiz Mart Universitesi Bilgisayar Muhendisligi22 Ekim 2013 tarihinde Wayback Machine sitesinde