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