SQL nedir?
SQL, ilişkisel veritabanlarındaki veriyi sorgulamak, eklemek, güncellemek ve silmek için kullanılan standart bir dildir. Test otomasyonunda en çok backend durumunu doğrulamak için kullanılır.
SQL, ilişkisel veritabanlarındaki veriyi sorgulamak, eklemek, güncellemek ve silmek için kullanılan standart bir dildir. Test otomasyonunda en çok backend durumunu doğrulamak için kullanılır: bir API isteği sonrası veritabanına gerçekten doğru kaydın düşüp düşmediğini SELECT sorgusuyla kontrol etmek, testten önce SQL ile test verisi hazırlamak (seed data) gibi. JOIN, GROUP BY ve subquery gibi yapıları bilmek, bir tester'ı yalnızca arayüzü değil sistemin gerçek durumunu doğrulayabilen bir mühendise dönüştürür.
SQL sorgularını yazılım testi için öğren: SELECT, JOIN, GROUP BY, window function, veri doğrulama senaryoları ve tarayıcıda çalışan alıştırmalar.
SQL'i test otomasyonu için öğrenin — backend durumunu doğrulamak, test verisi eklemek, bütünlüğü kontrol etmek ve her SQL mülakatını geçmek için. Önceden veritabanı deneyimi gerekmez.
SQL, ilişkisel veritabanlarındaki veriyi sorgulamak, eklemek, güncellemek ve silmek için kullanılan standart bir dildir. Test otomasyonunda en çok backend durumunu doğrulamak için kullanılır.
SELECT, WHERE ve JOIN gibi temel sorguları birkaç günde öğrenebilirsin. GROUP BY, subquery ve window function dahil mülakat seviyesine gelmek genelde 3-4 hafta düzenli pratik gerektirir.
SQL'in kendisi bir standarttır, ücretsizdir. PostgreSQL ve MySQL gibi onu uygulayan veritabanı motorlarının çoğu da ücretsiz ve açık kaynaklıdır; Oracle gibi bazı ticari motorlar ücretlidir.
SQL veritabanları veriyi sabit şemalı tablolarda, satır-sütun ilişkileriyle tutar; NoSQL (MongoDB gibi) esnek, şemasız doküman/anahtar-değer yapıları kullanır. Test tarafında SQL veri bütünlüğünü JOIN ile doğrularken, NoSQL doğrulaması genelde tek doküman üzerinden yapılır.
`WHERE` koşulu olmadan yazılan bir `UPDATE` veya `DELETE` — bu, tablodaki HER satırı etkiler. Production'da bu hata geri alınamaz veri kaybına yol açabilir; bu yüzden her zaman önce `SELECT` ile koşulu test etmek önerilir.
Bu sayfadaki egzersizler için hiçbir şey kurmana gerek yok — sorgular doğrudan tarayıcıda çalışan bir SQL sandbox'ında koşuyor. Gerçek bir veritabanına bağlanmak istediğinde DBeaver gibi ücretsiz bir istemciyle PostgreSQL veya MySQL'e birkaç dakikada bağlanabilirsin.
`INNER JOIN` ile `LEFT JOIN` arasındaki fark ve her birinin ne zaman kullanılacağı — özellikle "eksik" satırları bulmak için `LEFT JOIN` kullanma senaryosu. `GROUP BY` ile `HAVING`in farkı ve bir alt sorgu (subquery) ile `JOIN`in ne zaman birbirinin yerine geçebileceği de sık sorulan konulardır.