Ekosistem & Araçlar
Ekosistem & Araçlar: JavaScript Ekosistemine Genel Bakış JavaScript ekosistemi devasa bir oyuncak fabrikasıdır.
JavaScript Ekosistemine Genel Bakış
JavaScript ekosistemi devasa bir oyuncak fabrikasıdır. Node.js motorumuzdur, `package.json` ise projemizin kimlik kartı ve hangi oyuncaklara (kütüphanelere) ihtiyaç duyduğumuzun listesidir. npm ise paketleri internetten bilgisayarımıza getiren kuryedir. Java'daki Maven + pom.xml yapısının tüm ekvivalenti burada: `npm + package.json`. Peki fabrikanın kendisi bu kadar hazır parça sunuyorken, hangi parçayı kullanacağına nasıl karar veriyorsun — 'en çok yıldızı olan' yeterli bir ölçüt mü? Değil, ve sebebi QA'i doğrudan ilgilendirir: her eklediğin paket, senin yazmadığın ve gözden geçirmediğin kodu test suite'ine sokar. Java'da bir Maven bağımlılığı eklerken de aynı risk vardır ama JavaScript ekosisteminde bağımlılık ağacı çok daha derindir — tek bir paket arkasında yüzlerce alt bağımlılık gelebilir. Bu yüzden `package-lock.json` dosyası bir ayrıntı değil, testin tekrarlanabilirliğinin kendisidir: onu commit etmezsen, dün yeşil olan pipeline bugün sırf bir alt bağımlılık sürüm yükselttiği için kırılır ve sen kendi kodunda hata ararsın.
Temel Proje Dosyaları
QA Otomasyonunda Kullanılan Temel Araçlar
Allure / HTML Reporter
Java Maven ↔ JavaScript npm Karşılaştırması
Örnek package.json — Playwright Projesi
{ "name": "my-playwright-suite", "version": "1.0.0", "scripts": { "test": "npx playwright test", "test:ci": "npx playwright test --reporter=html", "lint": "eslint src/ tests/" }, "devDependencies": { "@playwright/test": "^1.44.0", "eslint": "^8.57.0" } }
Micro Lab: JavaScript QA kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: JavaScript QA kod yazma
Amaci ve asenkron bagimliliklari oku
await / Promise zincirini dogru yere yerlestir
assertion veya beklenti satirini tamamla