Fonksiyonel olmayan test nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Fonksiyonel olmayan testler, yazılımın fonksiyonel olmayan gereksinimlerini kontrol etmeye yönelik bir yazılım testi türüdür. Sistem özelliklerini, belirli fonksiyonlarla doğrudan ilişkili olmayan, daha çok "nasıl" çalıştığı ile ilgili olan özellikleri değerlendirir.
Fonksiyonel olmayan testlerin temel amaçları:
- Sistemlerin performans, güvenilirlik, kullanılabilirlik ve diğer açılardan kullanıcı ve iş beklentilerini karşıladığından emin olmak.
- Sistem kararlılığı, ölçeklenebilirlik ve güvenliğini etkileyebilecek sorunları tespit etmek.
- Sistemlerin belirlenen standartlara ve gereksinimlere uygunluğunu doğrulamak.
Fonksiyonel olmayan test türleri:
| Test Türü | Kısa açıklama | Örnek kontrol edilen özellikler |
|---|---|---|
| Performans Testleri | Sistem hızını, yanıt verme süresini, kararlılığını ve yük altında ölçeklenebilirliğini değerlendirme. | Yanıt süresi, bant genişliği, CPU/bellek kullanımı. |
| Yük Testleri | Sistem beklenen maksimum yük altında davranışını kontrol etme. | Aynı anda çalışan kullanıcı sayısı, saniyede işlem sayısı. |
| Stres Testleri | Sistem, beklenenden fazla yük veya kaynak yetersizliği durumunda nasıl davranır onu test etme. | Sistem arızası noktası, aşırı yük altında davranış. |
| Dayanıklılık Testleri (Endurance Testing) | Sistem, uzun süreli sürekli yük altında çalışma yeteneğini test etme. | Bellek sızıntıları, zamanla performans düşüşü. |
| Güvenlik Testleri | Sistem dış ve iç tehditlere, yetkisiz erişimlere karşı korunmasını kontrol etme. | SQL enjeksiyonları, XSS saldırıları, kimlik doğrulama, yetkilendirme. |
| Kullanılabilirlik Testleri | Kullanıcıların sistemi ne kadar kolay ve sezgisel kullanabildiğini belirleme. | Anlaşılır arayüz, kolay gezinme, erişilebilirlik. |
| Uyumluluk Testleri | Sistem farklı ortamlar (tarayıcılar, işletim sistemleri, cihazlar) üzerinde çalışıyor mu onu kontrol etme. | Farklı tarayıcı sürümlerini ve işletim sistemlerini destekleme. |
| Güvenilirlik Testleri | Sistem, belirli bir süre boyunca arızasız çalışmaya devam etme yeteneği. | Ortalama arıza süresi (MTBF), arıza olasılığı. |
| Erişilebilirlik Testleri | Engelli bireyler için sistemin kullanılabilirliğini kontrol etme. | WCAG standartlarına uygunluk. |
| Yerelleştirme/Uluslararasılaştırma Testleri | Sistem, farklı diller ve bölgesel ayarlara uyum sağlayacak şekilde test edilmesi. | Çevirilmiş dizgeler, tarih/sayı formatları. |
Fonksiyonel olmayan testler genellikle yazılım geliştirme yaşam döngüsünün daha erken aşamalarında yapılır, ancak planlaması gereksinimlerin belirlenmesiyle başlar. Otomatikleştirilmiş süreçlerin bir parçası olabilirler, özellikle performans ve güvenlik testleri sırasında.
Fonksiyonel olmayan testler için araçlar:
- Performans: JMeter, LoadRunner, Gatling, k6.
- Güvenlik: OWASP ZAP, Burp Suite, Acunetix.
- Uyumluluk: BrowserStack, Sauce Labs.
- Kullanılabilirlik: UserTesting.com, göz takibi araçları.
Fonksiyonel olmayan testlerin otomasyonuna örnek olarak, sayfa yükleme süresini kontrol eden bir betik verilebilir:
import time
import requests
def measure_page_load_time(url):
"""
Belirtilen URL'nin yüklenme süresini ölçer.
"""
start_time = time.time()
try:
response = requests.get(url)
response.raise_for_status() # Kötü yanıtlar için HTTPError fırlatır (4xx veya 5xx)
end_time = time.time()
load_time = end_time - start_time
print(f"Yükleme süresi {url}: {load_time:.2f} saniye")
return load_time
except requests.exceptions.RequestException as e:
print(f"Hata {url} yüklenirken: {e}")
return None
# Kullanım örneği
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)
Fonksiyonel olmayan testlerin sonuçları genellikle raporlar, grafikler ve metrikler şeklinde sunulur, bu da sistemin özelliklerini değerlendirmeye ve gerekli iyileştirmeleri yapmaya olanak tanır.