Sobes.tech
Middle

Test setleri nasıl oluşturulur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Test takımları (test suites), ürün gereksinimlerinin analizi, test kapsamının belirlenmesi ve uygun test tekniklerinin seçilmesine dayanarak oluşturulur. Süreç aşağıdaki aşamaları içerir:

  1. Gereksinim ve spesifikasyon analizi: Kontrol edilmesi gereken fonksiyonel ve fonksiyonel olmayan gereksinimlerin tanımlanması.
  2. Test kapsamının belirlenmesi: Test edilecek belirli fonksiyonlar, modüller, kullanım senaryoları veya sistem alanlarının belirlenmesi.
  3. Test tasarım tekniklerinin seçimi: Çeşitli tekniklerin uygulanması, örneğin:
    • Eşdeğer bölümlendirme (Equivalence Partitioning)
    • Sınır değeri analizi (Boundary Value Analysis)
    • Karar tabloları (Decision Tables)
    • Durum geçiş testleri (State Transition Testing)
    • Kullanım durumu testleri (Use Case Testing)
    • Çift yönlü testler (Pairwise Testing)
  4. Test vakalarının geliştirilmesi: Adımların, verilerin, beklenen sonuçların ve her test için koşulların detaylı açıklamalarının oluşturulması. Her test vakası atomik olmalı ve belirli bir fonksiyon veya özelliği doğrulamalıdır.
  5. Test vakalarının gruplanması: Bağlantılı test vakalarının fonksiyonellik, modül, test türü (örneğin, regresyon, entegrasyon) veya öncelik temelinde mantıksal gruplara ayrılması. Her grup bir test seti oluşturur.
  6. Test setlerinin önceliklendirilmesi: Test setlerinin yürütülme sırasının, kontrol edilen fonksiyonun kritikliği, kullanım sıklığı, riskler ve diğer faktörlere göre belirlenmesi.
  7. Test setlerinin yapılandırılması: Test setlerinin yönetimi ve yürütülmesi kolaylaştırmak için hiyerarşik yapı veya kategorilere göre düzenlenmesi.

Otomasyon çerçevesinde test seti yapısına örnek:

# dosya: test_suite_user_management.py

import unittest
from test_cases.test_user_creation import TestUserCreation
from test_cases.test_user_deletion import TestUserDeletion

# Test vakalarının test setine gruplanması
def suite():
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(TestUserCreation)) # UserCreation test sınıfının eklenmesi
    suite.addTest(unittest.makeSuite(TestUserDeletion)) # UserDeletion test sınıfının eklenmesi
    return suite

# Test sınıfı örneği
class TestUserCreation(unittest.TestCase):
    def test_successful_user_creation(self):
        # Başarılı kullanıcı oluşturma testi adımları
        pass

    def test_user_creation_with_existing_email(self):
        # Mevcut e-posta ile kullanıcı oluşturma testi adımları
        pass

class TestUserDeletion(unittest.TestCase):
     def test_successful_user_deletion(self):
        # Başarılı kullanıcı silme testi adımları
        pass

Test setleri çeşitli kriterlere göre organize edilebilir:

Kriter Örnek test setleri
Fonksiyonellik Kullanıcı Yönetimi Seti, Ürün Kataloğu Seti, Ödeme Seti
Test Türü Regresyon Seti, Duman Seti, Entegrasyon Seti
Öncelik Yüksek Öncelikli Set, Kritik Yol Seti
Modül/Bileşen Veritabanı Modülü Testleri, UI Bileşeni Testleri