Bir test planlama toplantısında oturup birinin "Bu özellik için bir test script'i yazalım" dediğini, başka birinin ise "Test senaryosunu yarına hazır ederim" diye araya girdiğini duyduysanız, aslında aynı şeyden mi bahsettiklerini merak etmiş olabilirsiniz. Bu terimler birbirinin yerine sıkça kullanılır ve bunları karıştırmak kesinlikle kafa karışıklığına, yanlış beklentilere ve ancak sürümden sonra ortaya çıkan test kapsamı boşluklarına yol açar.
Bu nedenle, test senaryosu ve test script'i arasındaki farkı anlamak akademik bir ayrıntıdan ibaret değildir; testleri nasıl tasarladığınızı, kimlerin yürüttüğünü ve zaman içinde nasıl sürdürdüğünüzü etkileyen pratik bir ayrımdır. Bu rehber, farkı açıklayacak, belirli bir yaklaşımı ne zaman kullanacağınızı gösterecek ve test çabanızı daha etkili ve daha az kaotik hale getirecek en iyi uygulamaları sunacaktır.
Test Senaryosu Nedir?
Bir test senaryosu, bir test uzmanının test edilen bir sistemin gereksinimleri karşılayıp karşılamadığını belirlediği koşullar veya değişkenler kümesidir. Bunu bir yemek tarifi gibi düşünün: size malzemeleri (ön koşullar), adımları (eylemler) ve son yemeğin nasıl görünmesi gerektiğini (beklenen sonuçlar) anlatır. Test senaryoları, insanlar tarafından okunmak, anlaşılmak ve yürütülmek üzere tasarlanmış insan odaklı belgelerdir.
İyi yazılmış bir test senaryosu şu soruları yanıtlar:
- Hangi belirli gereksinimi test ediyoruz?
- Başlamadan önce hangi koşulların mevcut olması gerekir?
- Hangi kesin eylemleri gerçekleştiriyoruz?
- Hangi verileri kullanıyoruz?
- Testin başarılı mı yoksa başarısız mı olduğunu nasıl anlarız?
Test senaryoları, Apidog, TestRail, Excel tabloları veya hatta Confluence sayfaları gibi test yönetimi araçlarında bulunur. Teknik hassasiyetten ziyade netliği ve eksiksizliği ön planda tutarlar çünkü hedef kitleleri, kod okumayan manuel test uzmanları, iş analistleri ve ürün sahipleridir.
Örneğin, bir giriş özelliği için bir test senaryosu şöyle görünebilir:
Test Senaryosu Kimliği: TC_Login_001
Amaç: Geçerli kullanıcının doğru kimlik bilgileriyle giriş yapabildiğini doğrula
Ön Koşullar: Kullanıcı hesabı mevcut; kullanıcı giriş sayfasında
Adımlar:
- Kullanıcı adı girin: test@example.com
- Şifre girin: ValidPass123
- Giriş düğmesine tıklayın
Beklenen Sonuç: Kullanıcı kontrol paneline yönlendirilir; hoş geldiniz mesajı kullanıcı adını gösterir
İnsan tarafından okunabilirliğe ve açık ayrıntıya odaklanıldığına dikkat edin. Bu test senaryosunu, yazmamış olsa bile herkes yürütebilir.

Test Script'i Nedir?
Bir test script'i, programlama dilinde yazılmış, insan müdahalesi olmadan test adımlarını yürüten otomatik bir talimatlar setidir. Eğer bir test senaryosu bir yemek tarifi ise, bir test script'i o tarifi her seferinde kusursuz bir şekilde, makine hızıyla takip etmek üzere programlanmış bir mutfak robotudur.
Test script'leri koddur. Uygulamalarla API'ler, tarayıcılar veya mobil arayüzler aracılığıyla etkileşim kurmak için Selenium, Playwright veya Cypress gibi çerçeveleri kullanırlar. Hedef kitleleri tekniktir—otomasyon mühendisleri ve paketi sürdüren geliştiriciler. Script'ler, hassasiyete, yeniden kullanılabilirliğe ve CI/CD işlem hatlarıyla entegrasyona odaklanır.
Aynı giriş senaryosu bir test script'i olarak (Playwright kullanarak):
test('valid user login', async ({ page }) => {
await page.goto('/login');
await page.locator('#username').fill('test@example.com');
await page.locator('#password').fill('ValidPass123');
await page.locator('button[type="submit"]').click();
await expect(page).toHaveURL('/dashboard');
await expect(page.locator('#welcome-msg')).toContainText('test@example.com');
});
Script aynı doğrulamayı yapar ancak bunu programatik olarak gerçekleştirir, milisaniyeler içinde çalışır ve doğrudan otomatik test paketinize entegre olur.

Test Senaryosu ve Test Script'i: Temel Farklılıklar
Test senaryosu ve test script'i arasındaki farkı anlamak, farklı amaçlara hizmet ettiklerini fark etmek demektir. İşte kritik boyutlar boyunca nasıl karşılaştırıldıkları:
| Yön | Test Senaryosu | Test Script'i |
|---|---|---|
| Format | İnsan tarafından okunabilir belge (metin) | Makine tarafından okunabilir kod (JavaScript, Python vb.) |
| Hedef Kitle | Manuel test uzmanları, BA'lar, ürün sahipleri | Otomasyon mühendisleri, geliştiriciler |
| Yürütme | Manuel, kişi tarafından adım adım yürütülür | Otomatik, çerçeveler tarafından yürütülür |
| Hız | Daha yavaş, insan hızıyla sınırlı | Son derece hızlı, saniyeler içinde çalışır |
| Bakım | Basit metin güncellemeleri, ancak çok sayıda kopya | Kod refaktoringi, sürüm kontrolü |
| Başlangıç Maliyeti | Düşük oluşturma süresi, yüksek yürütme süresi | Yüksek oluşturma süresi, düşük yürütme süresi |
| Esneklik | Test uzmanı anında adapte olabilir | Katı; kodun değişiklikler için güncellenmesi gerekir |
| En İyi Kullanım Alanları | Keşifsel, UX, ad-hoc testler | Regresyon, duman, veri odaklı testler |
Test senaryosu ve test script'i arasındaki temel anlayış şudur: test senaryoları neyin test edileceğini tanımlarken, test script'leri bunu otomatik olarak nasıl test edeceğini tanımlar. İlki kapsama ve netliğe odaklanırken; ikincisi yürütme hızına ve tekrarlanabilirliğe odaklanır.
Test Senaryoları ve Test Script'leri Ne Zaman Kullanılmalı?
Manuel test senaryoları ve otomatik script'ler arasında seçim yapmak tercihle ilgili değildir; bağlamla ilgilidir. Doğru kararı vermek için bu rehberliği kullanın:
Test Senaryolarını Şu Durumlarda Kullanın:
- Özellik sık sık değişiyorsa (otomasyon sürekli bozulur)
- Kullanıcı deneyimi, görsel tasarım veya sübjektif kaliteyi test ediyorsanız
- Test, kodlaması zor karmaşık insan yargısı gerektiriyorsa
- Yeni bir özelliğin hızlı, tek seferlik doğrulamasına ihtiyacınız varsa
- Ekibinizin otomasyon becerileri veya altyapısı yoksa
Test Script'lerini Şu Durumlarda Kullanın:
- Testin sürümler arasında tekrarlı çalışması gerekiyorsa (regresyon paketi)
- Temel işlevsellik hakkında hızlı geri bildirime ihtiyacınız varsa (CI/CD işlem hatları)
- Yüzlerce girdi kombinasyonu ile veri odaklı test gerekiyorsa
- Test adımları kararlı ve değişme olasılığı düşükse
- Otomasyon kodunu sürdürmek için teknik kaynaklara sahipseniz
Olgun ekiplerin çoğu her ikisini de kullanır. Keşifsel ve UX testleri için manuel test senaryoları kütüphanesi sürdürürken, en kritik ve kararlı test senaryolarından otomatik bir regresyon paketi oluştururlar.
Test Senaryoları ve Test Script'leri Yazmak İçin En İyi Uygulamalar
İster manuel bir testi belgeliyor ister otomatik bir script kodluyor olun, bu ilkeler her ikisini de güçlendirir:
Test Senaryoları İçin:
- Açık Olun, Varsayımlarda Bulunmayın: Adımları, yeni bir ekip üyesinin soru sormadan yürütebileceği şekilde yazın. "Gönder düğmesine tıklayın" ifadesi "Formu gönderin" ifadesinden daha iyidir.
- Tek Test, Tek Amaç: Her test senaryosu tek bir gereksinimi veya senaryoyu doğrulamalıdır. Birleşik testler hataları gizler ve hata ayıklamayı karmaşıklaştırır.
- Gerçek Veri Ekleyin: "Geçerli kullanıcı adı" yerine "test.user@company.com" kullanın. Gerçek veriler belirsizliği ortadan kaldırır ve yürütmeyi hızlandırır.
- Gereksinimlere Bağlayın: Her test senaryosu bir gereksinime, kullanıcı hikayesine veya kabul kriterine geri dönmeli, bu, kapsamayı sağlar ve gereksinimler değiştiğinde etki analizine yardımcı olur.
Test Script'leri İçin:
- Sayfa Nesne Modelini Takip Edin: Test mantığını UI konumlandırıcılardan ayırın. Giriş düğmesinin ID'si değiştiğinde, elli script'i değil, tek bir sayfa nesnesini güncellersiniz.
- Testleri Bağımsız Hale Getirin: Her script kendi verisini kurmalı ve kendinden sonra temizlemelidir. Paylaşılan durum, rastgele başarısız olan kararsız testler yaratır.
- Açıklayıcı İsimler Kullanın: `test_login_001` adlı bir test size hiçbir şey söylemez. Adını `test_geçerli_kullanıcı_giriş_yapınca_kontrol_paneline_yönlendirilir` olarak adlandırın.
- Akıllı Beklemeler Uygulayın: Asla sabit uyku zamanlayıcıları kullanmayın. Elemanlar hazır olana kadar bekleyen çerçeve beklemeleri kullanın. Bu, yarış koşullarını ortadan kaldırır ve yürütmeyi hızlandırır.
Apidog, Test Senaryolarını Otomatik Olarak Oluşturmaya Nasıl Yardımcı Olur?
Test sürecindeki en büyük darboğazlardan biri, kapsamlı test senaryoları yazmak için gereken manuel çabadır. İşte bu noktada Apidog oyunu değiştiriyor.
Apidog, API belgelerinizi analiz etmek ve her uç nokta için otomatik olarak test senaryoları—script'ler değil—oluşturmak için yapay zeka kullanır. Spesifikasyonunuza dayanarak pozitif yol testleri, geçersiz verilerle negatif testler, sınır değer testleri ve güvenlik testleri oluşturur. Her oluşturulan test senaryosu ön koşulları, kesin girdi verilerini, beklenen HTTP durum kodlarını ve yanıt doğrulama noktalarını içerir.
Örneğin, bir ödeme API'si için bir OpenAPI spesifikasyonu içe aktardığınızda, Apidog anında şunlar için test senaryoları üretir:
- Geçerli kartla başarılı ödeme
- Süresi dolmuş kartla ödeme başarısızlığı
- Yetersiz bakiye ile ödeme başarısızlığı
- Geçersiz tutar (negatif, sıfır, limiti aşan)
- Gerekli alanların eksik olması
Bu otomasyon insan yargısının yerini almaz—temeli hızlandırır. Ekibiniz oluşturulan test senaryolarını inceler, iş mantığına göre iyileştirir ve yürütme için önceliklendirir. Eskiden günler süren işler şimdi saatler alıyor ve yapay zekanın insanların gözden kaçırabileceği şeyleri sistematik olarak kontrol etmesi sayesinde kapsam boşlukları daralıyor.

Otomasyona hazır olduğunuzda, bu iyi belirtilmiş test senaryoları kolayca test script'lerine dönüştürülür. Açık adımlar ve beklenen sonuçlar, Postman, RestAssured veya Playwright kullanıyor olsanız da, otomasyon çerçeveleriniz için mükemmel bir plan görevi görür.
Sıkça Sorulan Sorular
S1: Bir test senaryosu doğrudan bir test script'i haline gelebilir mi?
C: Evet, ancak otomatik olarak değil. İyi yazılmış bir test senaryosu, bir test script'i için planı sağlar—adımlar, veriler ve beklenen sonuçlar doğrudan koda dönüşür. Ancak, konumlandırıcılar, kurulum/temizleme mantığı ve doğrulama gibi teknik ayrıntıları eklemeniz gerekir. Test senaryolarını otomasyonunuz için bir gereksinim belgesi olarak düşünün.
S2: Test Senaryosu ve Test Script'i tartışmasında bir yaklaşım diğerinden daha mı iyidir?
C: Hayır, farklı amaçlara hizmet ederler. Manuel test senaryoları, insan yargısının önemli olduğu keşifsel, UX ve ad-hoc testlerde üstündür. Test script'leri, hız ve tutarlılığın kritik olduğu tekrarlı regresyon testlerinde baskındır. Olgun ekipler her ikisini de stratejik olarak kullanır, dogmatik bir şekilde değil.
S3: Test senaryoları ve test script'leri arasında izlenebilirliği nasıl sağlarız?
C: Manuel ve otomatik testleri aynı gereksinim kimliğine bağlayan bir test yönetimi aracı kullanın. Script kodunuzda, test senaryosu kimliğine atıfta bulunan yorumlar ekleyin (örn. // TC_Login_001 için otomasyon). Gereksinimler değiştiğinde, etkiyi değerlendirmek için hem manuel hem de otomatik bağlı testler için sisteminizi sorgulayın.
S4: Junior test uzmanları test script'i yazmalı mı?
C: Başlangıçta hayır. Alan bilgisi ve test temellerini oluşturmaları için manuel test senaryosu yazımıyla başlayın. JavaScript veya Python temellerini anladıktan sonra, script'leri birlikte yazmaları için onları kıdemli otomasyon mühendisleriyle eşleştirin. Test temelleri olmadan doğrudan script yazmaya geçmek, kırılgan, etkisiz otomasyon yaratır.
S5: Apidog, test senaryosu üretiminde karmaşık iş mantığını nasıl ele alır?
C: Apidog, API sözleşmelerine dayalı kapsamlı temel test senaryoları üretir, ancak benzersiz iş kurallarınızı doğrudan anlamaz. Çıktısını koşullu mantık, zincirleme API çağrıları ve işe özel doğrulamalar ekleyerek incelersiniz ve geliştirirsiniz. Yapay zeka size anında %80 kapsama sağlar; uzmanlığınız ise en önemli olan son %20'yi tamamlar.
Sonuç
Test senaryosu ve test script'i ayrımı taraf seçmekle ilgili değil—işe uygun aracı kullanmakla ilgilidir. Test senaryoları, kalite çabanıza netlik, kapsama ve insan yargısı getirir. Test script'leri ise hız, tekrarlanabilirlik ve teslimat sürecinize entegrasyon sağlar.
Amacınız dengeli bir strateji olmalıdır: kapsama ve keşif için açık, izlenebilir test senaryoları yazın; en kritik ve kararlı olanları sürdürülebilir script'lere otomatize edin. Ve mümkün olan her yerde, her ikisinin de oluşturulmasını hızlandırmak için Apidog gibi akıllı araçlar kullanın.
Kalite, sadece neyi test ettiğinizle değil, nasıl test ettiğinizle ilgili bilinçli seçimler yaptığınızda ortaya çıkar. Bir test senaryosu ile bir test script'i arasındaki farkı anlamak, bu bilinçli ve etkili seçimlere giden ilk adımdır.
