[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:qa-test-automation\u002Fpf-scripting-correlation-parameterization":4,"config":211},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":112,"samples":126},"qa-test-automation","QA \u002F Test Otomasyonu","","pf-scripting-correlation-parameterization","Pf Scripting Correlation Parameterization","tr",75,2400,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,51,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109],{"key":19,"name":20,"count":11},"mq-appium-driver-architecture","Mq Appium Driver Architecture",{"key":22,"name":23,"count":11},"mq-device-lab-emulator-parallelization","Mq Device Lab Emulator Parallelization",{"key":25,"name":26,"count":11},"mq-mobile-locators-sync-flakiness","Mq Mobile Locators Sync Flakiness",{"key":28,"name":29,"count":11},"mq-native-frameworks-espresso-xcuitest","Mq Native Frameworks Espresso Xcuitest",{"key":31,"name":32,"count":11},"mq-network-conditioning-offline-validation","Mq Network Conditioning Offline Validation",{"key":34,"name":35,"count":11},"mq-permissions-lifecycle-system-interactions","Mq Permissions Lifecycle System Interactions",{"key":37,"name":38,"count":11},"pf-apm-profiling-bottleneck-correlation","Pf Apm Profiling Bottleneck Correlation",{"key":40,"name":41,"count":11},"pf-distributed-load-generation","Pf Distributed Load Generation",{"key":43,"name":44,"count":11},"pf-environment-fidelity-test-design","Pf Environment Fidelity Test Design",{"key":46,"name":47,"count":11},"pf-load-model-design","Pf Load Model Design",{"key":49,"name":50,"count":11},"pf-metrics-percentiles-analysis","Pf Metrics Percentiles Analysis",{"key":8,"name":9,"count":11},{"key":53,"name":54,"count":11},"qa-api-testing","Qa Api Testing",{"key":56,"name":57,"count":11},"qa-automation-fundamentals","Qa Automation Fundamentals",{"key":59,"name":60,"count":11},"qa-ci-cd-testing","Qa Ci Cd Testing",{"key":62,"name":63,"count":11},"qa-defect-management","Qa Defect Management",{"key":65,"name":66,"count":11},"qa-exploratory-manual-testing","Qa Exploratory Manual Testing",{"key":68,"name":69,"count":11},"qa-performance-testing","Qa Performance Testing",{"key":71,"name":72,"count":11},"qa-test-case-design","Qa Test Case Design",{"key":74,"name":75,"count":11},"qa-test-strategy","Qa Test Strategy",{"key":77,"name":78,"count":11},"sd-ci-test-infrastructure","Sd Ci Test Infrastructure",{"key":80,"name":81,"count":11},"sd-code-quality-test-code","Sd Code Quality Test Code",{"key":83,"name":84,"count":11},"sd-contract-testing","Sd Contract Testing",{"key":86,"name":87,"count":11},"sd-test-data-management","Sd Test Data Management",{"key":89,"name":90,"count":11},"sd-test-doubles-mocking","Sd Test Doubles Mocking",{"key":92,"name":93,"count":11},"sd-test-framework-design","Sd Test Framework Design",{"key":95,"name":96,"count":11},"ta-cross-browser-parallel-execution","Ta Cross Browser Parallel Execution",{"key":98,"name":99,"count":11},"ta-framework-architecture-patterns","Ta Framework Architecture Patterns",{"key":101,"name":102,"count":11},"ta-locators-selectors-strategy","Ta Locators Selectors Strategy",{"key":104,"name":105,"count":11},"ta-selenium-cypress-playwright-tradeoffs","Ta Selenium Cypress Playwright Tradeoffs",{"key":107,"name":108,"count":11},"ta-synchronization-flaky-tests","Ta Synchronization Flaky Tests",{"key":110,"name":111,"count":11},"ta-visual-regression-reporting","Ta Visual Regression Reporting",[113,117,120,123],{"key":114,"name":115,"count":116},"mobile-qa","Mobile QA",450,{"key":118,"name":119,"count":116},"performance-testing","Performance Testing",{"key":121,"name":122,"count":116},"sdet","SDET",{"key":124,"name":125,"count":116},"test-automation","Test Automation",[127,145,158,171,184,197],{"id":128,"topic":9,"difficulty":129,"body":130,"options":131,"correct_key":139,"explanation":144},"019ff6e3-96c1-74e8-a2ee-c4e65ad06ec9",1,"Performans testi betikleme (scripting) bağlamında \"korelasyon\" (correlation) ne anlama gelir?",[132,135,138,141],{"key":133,"text":134},"a","Verim (throughput) karşılaştırmak için iki betiği aynı anda çalıştırmak",{"key":136,"text":137},"b","İsteklerdeki raporlama için istekleri mantıksal işlemler halinde gruplamak",{"key":139,"text":140},"c","Sunucu yanıtından dinamik bir değeri çıkarıp sonraki bir istekte yeniden kullanmak",{"key":142,"text":143},"d","Sanal kullanıcı oranını gerçek üretim kullanıcı oranıyla eşleştirmek","Korelasyon, sunucunun döndürdüğü dinamik bir değeri (oturum kimliği, token, CSRF değeri vb.) yakalayıp sonraki isteklerde kullanma tekniğidir; böylece betik gerçek bir istemci gibi davranır.",{"id":146,"topic":9,"difficulty":129,"body":147,"options":148,"correct_key":136,"explanation":157},"019ff6e3-96c2-78dd-b99f-e919aaa8a8de","Kaydedilen bir performans testi betiği, korelasyon yapılmadan yeniden oynatıldığında (replay) neden sıkça başarısız olur?",[149,151,153,155],{"key":133,"text":150},"Çünkü kaydedilen betikler hiçbir zaman geçerli HTTP başlığı içermez",{"key":136,"text":152},"Kaydedilen oturum token'ı yeniden oynatmada geçersiz kalır",{"key":139,"text":154},"Çünkü kayıt aracı yanıt gövdesini her zaman sıkıştırır",{"key":142,"text":156},"Çünkü yeniden oynatma araçları POST isteği gönderemez","Kayıt sırasında sunucunun ürettiği dinamik değerler betiğe düz metin olarak gömülür. Yeniden oynatmada sunucu yeni değerler üretir; korelasyon (dinamik çıkarma ve yeniden enjeksiyon) yapılmazsa sabit değerler geçersiz kalır.",{"id":159,"topic":9,"difficulty":129,"body":160,"options":161,"correct_key":133,"explanation":170},"019ff6e3-96c3-7a06-9812-cf89130ed8f8","Giriş yapıp ardından ödeme (checkout) yapılan bir performans testi senaryosunda korelasyon gerektiren tipik bir değer örneği nedir?",[162,164,166,168],{"key":133,"text":163},"Giriş sayfası HTML'inde dönen ve giriş POST isteğinde gerekli olan bir CSRF token'ı",{"key":136,"text":165},"Giriş sayfasını biçimlendirmek için kullanılan statik CSS dosya yolu",{"key":139,"text":167},"Test planında yapılandırılan sanal kullanıcının think-time değeri",{"key":142,"text":169},"Test koşumu için yapılandırılan thread sayısı","Giriş formu yanıtına gömülü CSRF token'ı klasik bir dinamik değerdir: oturum\u002Fistek bazında değişir ve yanıttan çıkarılıp sonraki istekte geri gönderilmelidir; statik varlıklardan veya test aracı yapılandırma değerlerinden farklıdır.",{"id":172,"topic":9,"difficulty":129,"body":173,"options":174,"correct_key":142,"explanation":183},"019ff6e3-96c4-77da-9924-f35edb5daf44","Performans testi betiklemede \"parametrizasyon\" (parameterization) nedir?",[175,177,179,181],{"key":133,"text":176},"Testin tüm süresi boyunca kullanılan tam sanal kullanıcı sayısını sabitlemek",{"key":136,"text":178},"Sonraki bir istekte yeniden kullanmak için bir HTTP yanıt başlığından dinamik bir token çıkarmak",{"key":139,"text":180},"Gerçek trafik göndermeye başlamadan önce bir yük testi senaryosu için ramp-up süresini ayarlamak",{"key":142,"text":182},"Betikteki sabit kodlanmış girdi değerlerini harici bir veri kaynağından alınan değerlerle değiştirmek","Parametrizasyon, sabit kodlanmış değerleri (ör. tek bir kullanıcı adı) bir veri dosyasından ya da üreticiden alınan değerlerle değiştirmek demektir; böylece her sanal kullanıcı veya iterasyon farklı, gerçekçi girdi verisi kullanabilir.",{"id":185,"topic":9,"difficulty":129,"body":186,"options":187,"correct_key":136,"explanation":196},"019ff6e3-96c5-7548-9b41-9574a0177150","500 sanal kullanıcıyla bir giriş (login) endpoint'ini yük testine tabi tutarken parametrizasyon neden önemlidir?",[188,190,192,194],{"key":133,"text":189},"Yük üretici makinenin CPU kullanımını azaltır",{"key":136,"text":191},"Aynı kimlik bilgileri hesap başına tek oturum sınırına takılabilir",{"key":139,"text":193},"Sunucuya hiç gönderilmeden önce istekteki şifre alanını otomatik olarak şifreler",{"key":142,"text":195},"Ödeme akışının geri kalanı için korelasyon ihtiyacını tamamen ortadan kaldırır","Her sanal kullanıcı aynı sabit kimlik bilgileriyle giriş yaparsa, test gerçekçi eşzamanlı kullanımı temsil etmez ve gerçek performans davranışını maskeleyen ilgisiz hatalara (hesap kilitlenmesi, oturum çakışması gibi) yol açabilir.",{"id":198,"topic":9,"difficulty":199,"body":200,"options":201,"correct_key":142,"explanation":210},"019ff6e3-96c5-7eda-8cf0-f63690996ae4",2,"k6'da büyük bir parametrizasyon veri kümesini (ör. binlerce kullanıcı adı) bir kez yükleyip tüm sanal kullanıcılar arasında salt-okunur şekilde paylaşmak için hangi yapı önerilir?",[202,204,206,208],{"key":133,"text":203},"default fonksiyonu içinde tanımlanan normal bir JavaScript dizisi",{"key":136,"text":205},"Rastgele dizi verisi saklayabildiği için bir k6 Counter metriği",{"key":139,"text":207},"Büyük tablosal veri kümeleri tutmak için tasarlanmış olan __ENV nesnesi",{"key":142,"text":209},"Veriyi init'te bir kez ayrıştırıp VU'lar arasında paylaşan SharedArray","k6'nın SharedArray'i veriyi init bağlamında bir kez yükleyip ayrıştırır, ardından aynı belleği tüm VU'lar arasında paylaşır; böylece her VU'nun büyük veri kümesinin kendi kopyasını ayrıştırmasının getirdiği bellek yükünden kaçınılır.",{"fields":212,"seniorities":427,"interview_shapes":428,"locales":433,"oauth":435,"question_count":438,"coach_enabled":439,"jd_match_enabled":439},[213,238,258,275,299,312,331,350,372,381,396,418],{"key":214,"name_tr":215,"name_en":215,"sort":129,"specializations":216},"backend","Backend",[217,220,223,226,229,232,235],{"key":218,"name":219,"field":214},"general","Genel",{"key":221,"name":222,"field":214},"go","Go",{"key":224,"name":225,"field":214},"python","Python",{"key":227,"name":228,"field":214},"java","Java",{"key":230,"name":231,"field":214},"csharp","C#\u002F.NET",{"key":233,"name":234,"field":214},"nodejs","Node.js",{"key":236,"name":237,"field":214},"php","PHP",{"key":239,"name_tr":240,"name_en":240,"sort":199,"specializations":241},"frontend","Frontend",[242,243,246,249,252,255],{"key":218,"name":219,"field":239},{"key":244,"name":245,"field":239},"javascript","JavaScript",{"key":247,"name":248,"field":239},"typescript","TypeScript",{"key":250,"name":251,"field":239},"react","React",{"key":253,"name":254,"field":239},"vue","Vue",{"key":256,"name":257,"field":239},"angular","Angular",{"key":259,"name_tr":260,"name_en":260,"sort":261,"specializations":262},"fullstack","Fullstack",3,[263,264,265,266,267,268,269,270,271,272,273,274],{"key":218,"name":219,"field":259},{"key":221,"name":222,"field":214},{"key":224,"name":225,"field":214},{"key":227,"name":228,"field":214},{"key":230,"name":231,"field":214},{"key":233,"name":234,"field":214},{"key":236,"name":237,"field":214},{"key":244,"name":245,"field":239},{"key":247,"name":248,"field":239},{"key":250,"name":251,"field":239},{"key":253,"name":254,"field":239},{"key":256,"name":257,"field":239},{"key":276,"name_tr":277,"name_en":277,"sort":278,"specializations":279},"devops-cloud","DevOps \u002F Cloud",4,[280,281,284,287,290,293,296],{"key":218,"name":219,"field":276},{"key":282,"name":283,"field":276},"aws","AWS",{"key":285,"name":286,"field":276},"gcp","GCP",{"key":288,"name":289,"field":276},"azure","Azure",{"key":291,"name":292,"field":276},"kubernetes","Kubernetes",{"key":294,"name":295,"field":276},"terraform","Terraform",{"key":297,"name":298,"field":276},"linux","Linux",{"key":300,"name_tr":301,"name_en":301,"sort":302,"specializations":303},"ai-engineer","AI Engineer",5,[304,305,306,309],{"key":218,"name":219,"field":300},{"key":224,"name":225,"field":300},{"key":307,"name":308,"field":300},"llm-rag","LLM\u002FRAG",{"key":310,"name":311,"field":300},"mlops","MLOps",{"key":313,"name_tr":314,"name_en":315,"sort":316,"specializations":317},"database","Veritabanı","Database",6,[318,319,322,325,328],{"key":218,"name":219,"field":313},{"key":320,"name":321,"field":313},"postgresql","PostgreSQL",{"key":323,"name":324,"field":313},"mysql","MySQL",{"key":326,"name":327,"field":313},"mongodb","MongoDB",{"key":329,"name":330,"field":313},"redis","Redis",{"key":332,"name_tr":333,"name_en":334,"sort":335,"specializations":336},"mobile","Mobil","Mobile",7,[337,338,341,344,347],{"key":218,"name":219,"field":332},{"key":339,"name":340,"field":332},"ios-swift","iOS (Swift)",{"key":342,"name":343,"field":332},"android-kotlin","Android (Kotlin)",{"key":345,"name":346,"field":332},"flutter","Flutter",{"key":348,"name":349,"field":332},"react-native","React Native",{"key":351,"name_tr":352,"name_en":353,"sort":354,"specializations":355},"security","Güvenlik","Security",8,[356,357,360,363,366,369],{"key":218,"name":219,"field":351},{"key":358,"name":359,"field":351},"appsec","AppSec",{"key":361,"name":362,"field":351},"offensive-pentest","Offensive \u002F Pentest",{"key":364,"name":365,"field":351},"cloud-security","Cloud Security",{"key":367,"name":368,"field":351},"devsecops","DevSecOps",{"key":370,"name":371,"field":351},"blue-team-incident","Blue Team \u002F Incident",{"key":5,"name_tr":6,"name_en":373,"sort":374,"specializations":375},"QA \u002F Test Automation",9,[376,377,378,379,380],{"key":218,"name":219,"field":5},{"key":124,"name":125,"field":5},{"key":121,"name":122,"field":5},{"key":118,"name":119,"field":5},{"key":114,"name":115,"field":5},{"key":382,"name_tr":383,"name_en":383,"sort":384,"specializations":385},"data-engineer","Data Engineer",10,[386,387,390,393],{"key":218,"name":219,"field":382},{"key":388,"name":389,"field":382},"pipelines-etl","Pipelines \u002F ETL",{"key":391,"name":392,"field":382},"streaming","Streaming",{"key":394,"name":395,"field":382},"warehousing","Warehousing",{"key":397,"name_tr":398,"name_en":399,"sort":400,"specializations":401},"game-dev","Oyun Geliştirme","Game Development",11,[402,403,406,409,412,415],{"key":218,"name":219,"field":397},{"key":404,"name":405,"field":397},"unity-csharp","Unity (C#)",{"key":407,"name":408,"field":397},"unreal-cpp","Unreal (C++)",{"key":410,"name":411,"field":397},"gameplay","Gameplay",{"key":413,"name":414,"field":397},"graphics-rendering","Graphics \u002F Rendering",{"key":416,"name":417,"field":397},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":419,"name_tr":420,"name_en":420,"sort":421,"specializations":422},"ml-engineer","ML Engineer",12,[423,424],{"key":218,"name":219,"field":419},{"key":425,"name":426,"field":419},"classical-ml","Classical ML",[14,15,16],{"junior":429,"mid":431,"senior":432},{"questions":430,"median_sec":3},20,{"questions":430,"median_sec":3},{"questions":430,"median_sec":3},[10,434],"en",[436,437],"google","github",27600,true]