[{"data":1,"prerenderedAt":431},["ShallowReactive",2],{"category-testing":3},[4,11,16,20,25,29,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427],{"title":5,"path":6,"acronym":7,"category":8,"difficulty":9,"description":10},"A\u002FB Testing","\u002Fterms\u002Fa\u002Fa-b-testing",null,"testing","beginner","Showing half your users version A and half version B to see which one performs better. Blue button vs green button? Short headline vs long headline?",{"title":12,"path":13,"acronym":14,"category":8,"difficulty":9,"description":15},"AAA Pattern","\u002Fterms\u002Fa\u002Faaa-pattern","AAA","AAA stands for Arrange, Act, Assert.",{"title":17,"path":18,"acronym":7,"category":8,"difficulty":9,"description":19},"API Testing","\u002Fterms\u002Fa\u002Fapi-testing","API testing is checking that your backend endpoints work correctly — sending requests with different data and making sure you get the right responses, stat...",{"title":21,"path":22,"acronym":7,"category":8,"difficulty":23,"description":24},"API Testing Patterns","\u002Fterms\u002Fa\u002Fapi-testing-patterns","intermediate","API Testing Patterns are strategies for testing your APIs thoroughly: happy path, error responses, validation, auth, pagination, rate limiting.",{"title":26,"path":27,"acronym":7,"category":8,"difficulty":9,"description":28},"Acceptance Testing","\u002Fterms\u002Fa\u002Facceptance-testing","Acceptance Testing verifies that the software does what the business asked for.",{"title":30,"path":31,"acronym":7,"category":8,"difficulty":32,"description":33},"Appium","\u002Fterms\u002Fa\u002Fappium","advanced","Appium wants to be the Selenium of mobile — one framework to rule iOS, Android, and beyond.",{"title":35,"path":36,"acronym":7,"category":8,"difficulty":23,"description":37},"Approval Testing","\u002Fterms\u002Fa\u002Fapproval-testing","Approval Testing captures the output of your code and compares it to a pre-approved 'golden file.",{"title":39,"path":40,"acronym":7,"category":8,"difficulty":9,"description":41},"Arrange Act Assert","\u002Fterms\u002Fa\u002Farrange-act-assert","Arrange Act Assert is just the full name for AAA.",{"title":43,"path":44,"acronym":7,"category":8,"difficulty":23,"description":45},"Artillery","\u002Fterms\u002Fa\u002Fartillery","Artillery is like k6's more enterprise-friendly cousin who writes tests in YAML instead of code. Good news: non-engineers can write scenarios.",{"title":47,"path":48,"acronym":7,"category":8,"difficulty":9,"description":49},"Assertion","\u002Fterms\u002Fa\u002Fassertion","An assertion is your test saying 'I DEMAND this is true!'. It's you checking that the result is what you expected.",{"title":51,"path":52,"acronym":51,"category":8,"difficulty":23,"description":53},"BDD","\u002Fterms\u002Fb\u002Fbdd","BDD is like writing your tests in plain English so your non-coder boss can also understand them.",{"title":55,"path":56,"acronym":51,"category":8,"difficulty":23,"description":57},"Behavior-Driven Development","\u002Fterms\u002Fb\u002Fbehavior-driven-development","Behavior-Driven Development is about describing HOW your app should behave before you build it — using language that makes sense to everybody, not just cod...",{"title":59,"path":60,"acronym":7,"category":8,"difficulty":23,"description":61},"Behavioral Testing","\u002Fterms\u002Fb\u002Fbehavioral-testing","Behavioral testing focuses on WHAT the system does, not HOW it does it. You describe scenarios like 'when a user logs in with valid credentials, they shoul",{"title":63,"path":64,"acronym":7,"category":8,"difficulty":23,"description":65},"Branch Coverage","\u002Fterms\u002Fb\u002Fbranch-coverage","Branch Coverage measures whether your tests cover both the 'if' AND the 'else' of every decision in your code.",{"title":67,"path":68,"acronym":7,"category":8,"difficulty":9,"description":69},"Bun Test","\u002Fterms\u002Fb\u002Fbun-test","Bun test is Bun's built-in test runner — Jest-compatible but fast enough to make you question every life choice that led to Vitest.",{"title":71,"path":72,"acronym":7,"category":8,"difficulty":9,"description":73},"CI Testing","\u002Fterms\u002Fc\u002Fci-testing","CI Testing is running all your tests automatically every time someone pushes code.",{"title":75,"path":76,"acronym":7,"category":8,"difficulty":23,"description":77},"Canary Analysis","\u002Fterms\u002Fc\u002Fcanary-analysis","Named after canaries in coal mines — you send a small version of your new deployment into production first to see if it dies. Route 5% of traffic to the ne",{"title":79,"path":80,"acronym":7,"category":8,"difficulty":23,"description":81},"Cargo Cult Testing","\u002Fterms\u002Fc\u002Fcargo-cult-testing","Cargo cult testing is writing tests that look like real tests but don't actually test anything meaningful — checking that true equals true, mocking everyth...",{"title":83,"path":84,"acronym":7,"category":8,"difficulty":23,"description":85},"Chai","\u002Fterms\u002Fc\u002Fchai","Chai is an assertion library that makes your test checks read like English. Instead of `assert.equal(x, 5)` you can write `expect(x).to.",{"title":87,"path":88,"acronym":7,"category":8,"difficulty":32,"description":89},"Chaos Engineering","\u002Fterms\u002Fc\u002Fchaos-engineering","Imagine stress-testing a bridge by parking trucks on it before opening day instead of hoping it holds.",{"title":91,"path":92,"acronym":7,"category":8,"difficulty":23,"description":93},"Chaos Monkey","\u002Fterms\u002Fc\u002Fchaos-monkey","Netflix built a program that randomly kills servers in production — on purpose. It's like hiring someone to randomly unplug things in your office to make s",{"title":95,"path":96,"acronym":7,"category":8,"difficulty":9,"description":97},"Code Coverage","\u002Fterms\u002Fc\u002Fcode-coverage","Code coverage is the report card for your tests. It shows you a map of your code and highlights which lines got tested (green) and which didn't (red).",{"title":99,"path":100,"acronym":7,"category":8,"difficulty":32,"description":101},"Consumer-Driven Contracts","\u002Fterms\u002Fc\u002Fconsumer-driven-contracts","Consumer-Driven Contracts flip API testing upside down.",{"title":103,"path":104,"acronym":7,"category":8,"difficulty":23,"description":105},"Contract Test","\u002Fterms\u002Fc\u002Fcontract-test","A contract test checks that two services agree on how they'll talk to each other — what requests look like, what responses look like.",{"title":107,"path":108,"acronym":7,"category":8,"difficulty":23,"description":109},"Contract Testing","\u002Fterms\u002Fc\u002Fcontract-testing","Contract testing verifies that two services agree on their API contract — the request format, response shape, and status codes. It's like checking that the",{"title":111,"path":112,"acronym":7,"category":8,"difficulty":9,"description":113},"Corner Case","\u002Fterms\u002Fc\u002Fcorner-case","A corner case is like an edge case but even weirder — it's when MULTIPLE unusual things happen at the same time. An edge case is a weird input.",{"title":115,"path":116,"acronym":7,"category":8,"difficulty":9,"description":117},"Coverage","\u002Fterms\u002Fc\u002Fcoverage","Coverage tells you what percentage of your code is actually tested. 80% coverage means 80% of your lines are touched by at least one test.",{"title":119,"path":120,"acronym":7,"category":8,"difficulty":23,"description":121},"Coverage Theater","\u002Fterms\u002Fc\u002Fcoverage-theater","Coverage theater is writing tests that hit every line of code but actually test nothing. Your coverage badge says 98%.",{"title":123,"path":124,"acronym":7,"category":8,"difficulty":23,"description":125},"Cypress","\u002Fterms\u002Fc\u002Fcypress","Selenium drives a browser like a confused tourist with a map.",{"title":127,"path":128,"acronym":7,"category":8,"difficulty":32,"description":129},"Detox","\u002Fterms\u002Fd\u002Fdetox","Testing a React Native app is like testing a car — you can't just inspect the engine from outside, you have to actually drive it.",{"title":131,"path":132,"acronym":133,"category":8,"difficulty":23,"description":134},"E2E Test","\u002Fterms\u002Fe\u002Fe2e-test","E2E","E2E is just shorthand for End-to-End Test.",{"title":136,"path":137,"acronym":7,"category":8,"difficulty":9,"description":138},"Edge Case","\u002Fterms\u002Fe\u002Fedge-case","Edge cases are the weird, extreme, or unexpected inputs that trip up your code. What if someone types 0 for age?",{"title":140,"path":141,"acronym":133,"category":8,"difficulty":23,"description":142},"End-to-End Test","\u002Fterms\u002Fe\u002Fend-to-end-test","An end-to-end test is like hiring a robot to be a user.",{"title":144,"path":145,"acronym":7,"category":8,"difficulty":9,"description":146},"Exploratory Testing","\u002Fterms\u002Fe\u002Fexploratory-testing","Exploratory Testing is testing without a script — a skilled tester uses the app like a curious (and slightly malicious) user. Click weird things.",{"title":148,"path":149,"acronym":7,"category":8,"difficulty":9,"description":150},"Fixture","\u002Fterms\u002Ff\u002Ffixture","A fixture is like pre-built test furniture.",{"title":152,"path":153,"acronym":7,"category":8,"difficulty":23,"description":154},"Flaky Test","\u002Fterms\u002Ff\u002Fflaky-test","A flaky test is a test that sometimes passes and sometimes fails for no clear reason — even when nothing changed.",{"title":156,"path":157,"acronym":7,"category":8,"difficulty":23,"description":158},"Flaky Test Quarantine","\u002Fterms\u002Ff\u002Fflaky-test-quarantine","Flaky test quarantine automatically isolates unreliable tests so they can't block deploys — timeout corner for misbehaving tests.",{"title":160,"path":161,"acronym":7,"category":8,"difficulty":32,"description":162},"Fuzz Testing","\u002Fterms\u002Ff\u002Ffuzz-testing","Fuzz Testing throws random, weird, broken data at your code to see what breaks.",{"title":164,"path":165,"acronym":7,"category":8,"difficulty":32,"description":166},"Fuzzing","\u002Fterms\u002Ff\u002Ffuzzing","Fuzzing is throwing completely random, malformed, or garbage inputs at your program to see if it crashes.",{"title":168,"path":169,"acronym":7,"category":8,"difficulty":32,"description":170},"Game Day","\u002Fterms\u002Fg\u002Fgame-day","A Game Day is when your engineering team deliberately causes a production incident in a controlled setting to practice: Who gets paged? Who's on call?",{"title":172,"path":173,"acronym":7,"category":8,"difficulty":32,"description":174},"Gatling","\u002Fterms\u002Fg\u002Fgatling","Gatling writes load tests in Scala DSL that looks almost like English: 'exec(http(get users)) pause 1 second'.",{"title":176,"path":177,"acronym":7,"category":8,"difficulty":9,"description":178},"Given When Then","\u002Fterms\u002Fg\u002Fgiven-when-then","Given When Then is AAA's cousin from the BDD world. Given = the setup situation. When = what the user\u002Fsystem does. Then = what should happen as a result.",{"title":180,"path":181,"acronym":7,"category":8,"difficulty":23,"description":182},"Golden Files","\u002Fterms\u002Fg\u002Fgolden-files","Golden files are saved 'known good' outputs that you compare against on each test run. If the output changes unexpectedly, the test fails. It's like snapsh",{"title":184,"path":185,"acronym":7,"category":8,"difficulty":23,"description":186},"Golden Test","\u002Fterms\u002Fg\u002Fgolden-test","Golden tests compare output against a saved 'golden' snapshot — when 'it looks right' becomes automated and version-controlled.",{"title":188,"path":189,"acronym":7,"category":8,"difficulty":23,"description":190},"Gremlin","\u002Fterms\u002Fg\u002Fgremlin","Gremlin is the enterprise version of breaking things on purpose. It's a commercial chaos engineering platform with a nice UI where you can inject CPU spike",{"title":192,"path":193,"acronym":7,"category":8,"difficulty":23,"description":194},"Happy DOM","\u002Fterms\u002Fh\u002Fhappy-dom","Happy DOM is a fake browser environment that lives in Node.js. It's like JSDOM but faster and happier (hence the name). When you need to test components th",{"title":196,"path":197,"acronym":7,"category":8,"difficulty":9,"description":198},"Happy Path","\u002Fterms\u002Fh\u002Fhappy-path","The happy path is when everything goes perfectly — the user types the right thing, the API responds correctly, nothing breaks.",{"title":200,"path":201,"acronym":7,"category":8,"difficulty":23,"description":202},"Headless Browser","\u002Fterms\u002Fh\u002Fheadless-browser","A headless browser is a real browser — Chrome, Firefox — but without the visible window.",{"title":204,"path":205,"acronym":7,"category":8,"difficulty":23,"description":206},"Integration Test","\u002Fterms\u002Fi\u002Fintegration-test","If a unit test checks one LEGO brick, an integration test checks that two bricks actually snap together correctly.",{"title":208,"path":209,"acronym":7,"category":8,"difficulty":23,"description":210},"JMeter","\u002Fterms\u002Fj\u002Fjmeter","JMeter is the granddaddy of load testing tools — been around since 1998 and can test literally anything. HTTP, JDBC, LDAP, FTP, SOAP, you name it.",{"title":212,"path":213,"acronym":7,"category":8,"difficulty":23,"description":214},"JSDOM","\u002Fterms\u002Fj\u002Fjsdom","JSDOM is the OG fake browser — a JavaScript implementation of web standards that runs in Node.js. Before Happy DOM came along, JSDOM was the only game in t",{"title":216,"path":217,"acronym":7,"category":8,"difficulty":9,"description":218},"Jest","\u002Fterms\u002Fj\u002Fjest","Jest is the most popular JavaScript testing framework.",{"title":220,"path":221,"acronym":7,"category":8,"difficulty":32,"description":222},"Litmus Chaos","\u002Fterms\u002Fl\u002Flitmus-chaos","Litmus Chaos is like Chaos Monkey but specifically for Kubernetes. It's a chaos engineering platform that can kill pods, stress CPUs, inject network latenc",{"title":224,"path":225,"acronym":7,"category":8,"difficulty":23,"description":226},"Load Test","\u002Fterms\u002Fl\u002Fload-test","A load test is when you throw a huge crowd of fake users at your app to see how it handles them.",{"title":228,"path":229,"acronym":7,"category":8,"difficulty":23,"description":230},"Load Testing Patterns","\u002Fterms\u002Fl\u002Fload-testing-patterns","Load Testing Patterns define HOW to stress your system: ramp up gradually (load test), spike suddenly (spike test), sustain for hours (soak test), push unt...",{"title":232,"path":233,"acronym":7,"category":8,"difficulty":9,"description":234},"Locust","\u002Fterms\u002Fl\u002Flocust","Locust is the Pythonista's load tester — write user behavior as Python classes, hit start, and watch the real-time web dashboard show your server slowly dy...",{"title":236,"path":237,"acronym":7,"category":8,"difficulty":23,"description":238},"Mocha","\u002Fterms\u002Fm\u002Fmocha","Mocha is an older, flexible JavaScript test runner that lets you pick your own assertion library and mocking tools.",{"title":240,"path":241,"acronym":7,"category":8,"difficulty":9,"description":242},"Mock","\u002Fterms\u002Fm\u002Fmock","A mock is a fake version of something your code talks to.",{"title":244,"path":245,"acronym":7,"category":8,"difficulty":23,"description":246},"Mock Server","\u002Fterms\u002Fm\u002Fmock-server","A Mock Server pretends to be a real API. It returns predefined responses so your tests don't depend on external services. The payment API is down?",{"title":248,"path":249,"acronym":7,"category":8,"difficulty":32,"description":250},"Mutation Score","\u002Fterms\u002Fm\u002Fmutation-score","Mutation Score tells you how good your tests REALLY are — not just coverage, but whether they actually catch bugs.",{"title":252,"path":253,"acronym":7,"category":8,"difficulty":32,"description":254},"Mutation Testing","\u002Fterms\u002Fm\u002Fmutation-testing","Mutation testing is a way to test your tests.",{"title":256,"path":257,"acronym":7,"category":8,"difficulty":32,"description":258},"Pact","\u002Fterms\u002Fp\u002Fpact","Pact is contract testing for APIs. The consumer (frontend) writes what it expects from the provider (API), and Pact verifies both sides honor the contract.",{"title":260,"path":261,"acronym":7,"category":8,"difficulty":23,"description":262},"Performance Test","\u002Fterms\u002Fp\u002Fperformance-test","Performance testing is measuring how FAST your app is under various conditions. Is the homepage loading in under 2 seconds?",{"title":264,"path":265,"acronym":7,"category":8,"difficulty":23,"description":266},"Playwright","\u002Fterms\u002Fp\u002Fplaywright","Playwright is an end-to-end testing tool that controls real browsers (Chrome, Firefox, Safari) to test your web app the way a user would.",{"title":268,"path":269,"acronym":7,"category":8,"difficulty":23,"description":270},"Playwright Test","\u002Fterms\u002Fp\u002Fplaywright-test","Playwright Test is Microsoft's end-to-end testing framework that controls real browsers like a puppet master. It can test in Chrome, Firefox, and Safari si",{"title":272,"path":273,"acronym":7,"category":8,"difficulty":32,"description":274},"Property-Based Testing","\u002Fterms\u002Fp\u002Fproperty-based-testing","Instead of writing specific test cases (add(2,3)=5), property-based testing generates thousands of random inputs automatically and checks that certain prop...",{"title":276,"path":277,"acronym":7,"category":8,"difficulty":23,"description":278},"Puppeteer","\u002Fterms\u002Fp\u002Fpuppeteer","Puppeteer is what Google built when they wanted to automate Chrome without Selenium's drama.",{"title":280,"path":281,"acronym":7,"category":8,"difficulty":9,"description":282},"Red-Green-Refactor","\u002Fterms\u002Fr\u002Fred-green-refactor","Red-Green-Refactor is the TDD dance: Red means write a test that FAILS (it's red in the output).",{"title":284,"path":285,"acronym":7,"category":8,"difficulty":9,"description":286},"Regression Test","\u002Fterms\u002Fr\u002Fregression-test","A regression test is a test you write AFTER fixing a bug, to make sure that bug never comes back.",{"title":288,"path":289,"acronym":7,"category":8,"difficulty":9,"description":290},"Sad Path","\u002Fterms\u002Fs\u002Fsad-path","The sad path is what happens when things go wrong — invalid input, network failures, permission denied, file not found.",{"title":292,"path":293,"acronym":7,"category":8,"difficulty":9,"description":294},"Sanity Check","\u002Fterms\u002Fs\u002Fsanity-check","A sanity check is you quickly checking that the most obvious, basic thing works before going deeper.",{"title":296,"path":297,"acronym":7,"category":8,"difficulty":23,"description":298},"Selenium","\u002Fterms\u002Fs\u002Fselenium","Selenium is the grandfather of browser testing — invented when Internet Explorer was still a thing worth testing against.",{"title":300,"path":301,"acronym":7,"category":8,"difficulty":9,"description":302},"Smoke Test","\u002Fterms\u002Fs\u002Fsmoke-test","A smoke test is the most basic sanity check: does the app even start? Does it not immediately crash?",{"title":304,"path":305,"acronym":7,"category":8,"difficulty":9,"description":306},"Snapshot Test","\u002Fterms\u002Fs\u002Fsnapshot-test","A snapshot test takes a photo of your component's output and saves it. Next time you run it, it takes another photo and compares them.",{"title":308,"path":309,"acronym":7,"category":8,"difficulty":9,"description":310},"Snapshot Testing","\u002Fterms\u002Fs\u002Fsnapshot-testing","Snapshot testing is taking a picture of your component's output and saving it. Next time tests run, it takes a new picture and compares them.",{"title":312,"path":313,"acronym":7,"category":8,"difficulty":23,"description":314},"Snapshot Testing Patterns","\u002Fterms\u002Fs\u002Fsnapshot-testing-patterns","Snapshot Testing captures your component's rendered output and saves it. Next time tests run, it compares against the saved snapshot. Changed?",{"title":316,"path":317,"acronym":7,"category":8,"difficulty":23,"description":318},"Spy","\u002Fterms\u002Fs\u002Fspy","A spy is like a double agent — it lets the real function still do its job, but secretly records everything: how many times it was called, with what argumen...",{"title":320,"path":321,"acronym":7,"category":8,"difficulty":9,"description":322},"Statement Coverage","\u002Fterms\u002Fs\u002Fstatement-coverage","Statement Coverage is the simplest coverage metric: what percentage of your code lines were actually executed during tests?",{"title":324,"path":325,"acronym":7,"category":8,"difficulty":23,"description":326},"Stress Test","\u002Fterms\u002Fs\u002Fstress-test","A stress test pushes your app BEYOND its limits to see when and how it breaks. A load test checks normal traffic.",{"title":328,"path":329,"acronym":7,"category":8,"difficulty":9,"description":330},"Stub","\u002Fterms\u002Fs\u002Fstub","A stub is like a cardboard cutout of a function. It stands in for the real thing and always gives you the same canned response.",{"title":332,"path":333,"acronym":7,"category":8,"difficulty":9,"description":334},"Supertest","\u002Fterms\u002Fs\u002Fsupertest","Supertest lets you test your API endpoints without starting a server. It's like being able to taste-test a restaurant's food without the restaurant actuall",{"title":336,"path":337,"acronym":336,"category":8,"difficulty":23,"description":338},"TDD","\u002Fterms\u002Ft\u002Ftdd","TDD means you write the test BEFORE you write the code.",{"title":340,"path":341,"acronym":7,"category":8,"difficulty":9,"description":342},"Test Case","\u002Fterms\u002Ft\u002Ftest-case","A test case is one specific scenario you want to check. 'Does the login work with a correct password?' — that's a test case.",{"title":344,"path":345,"acronym":7,"category":8,"difficulty":23,"description":346},"Test Containers","\u002Fterms\u002Ft\u002Ftest-containers","Testcontainers spins up real Docker containers for your tests. Need a PostgreSQL database for integration tests?",{"title":348,"path":349,"acronym":7,"category":8,"difficulty":23,"description":350},"Test Coverage Metrics","\u002Fterms\u002Ft\u002Ftest-coverage-metrics","Test coverage metrics tell you how much of your code your tests actually exercise. Line coverage counts lines executed. Branch coverage counts decision pat",{"title":352,"path":353,"acronym":7,"category":8,"difficulty":23,"description":354},"Test Data Factory","\u002Fterms\u002Ft\u002Ftest-data-factory","A Test Data Factory generates realistic test data on demand.",{"title":356,"path":357,"acronym":7,"category":8,"difficulty":23,"description":358},"Test Double","\u002Fterms\u002Ft\u002Ftest-double","Test double is the umbrella term for anything that replaces a real dependency in a test. Mocks, stubs, spies, fakes — they're all test doubles.",{"title":360,"path":361,"acronym":7,"category":8,"difficulty":9,"description":362},"Test Environment","\u002Fterms\u002Ft\u002Ftest-environment","A test environment is a separate version of your app just for running tests.",{"title":364,"path":365,"acronym":7,"category":8,"difficulty":23,"description":366},"Test Isolation","\u002Fterms\u002Ft\u002Ftest-isolation","Test Isolation means each test is completely independent — it sets up its own data, runs in its own world, and cleans up after itself.",{"title":368,"path":369,"acronym":7,"category":8,"difficulty":23,"description":370},"Test Parallelization","\u002Fterms\u002Ft\u002Ftest-parallelization","Test Parallelization runs multiple tests at the same time instead of one after another.",{"title":372,"path":373,"acronym":7,"category":8,"difficulty":9,"description":374},"Test Pyramid","\u002Fterms\u002Ft\u002Ftest-pyramid","The Test Pyramid is a strategy for how many of each test type to have.",{"title":376,"path":377,"acronym":7,"category":8,"difficulty":23,"description":378},"Test Rot","\u002Fterms\u002Ft\u002Ftest-rot","Test rot is when your test suite slowly becomes useless. Tests that never fail. Tests that test nothing. Tests that fail for unrelated reasons.",{"title":380,"path":381,"acronym":7,"category":8,"difficulty":9,"description":382},"Test Runner","\u002Fterms\u002Ft\u002Ftest-runner","A test runner is the thing that actually runs your tests and tells you which ones passed and which ones failed.",{"title":384,"path":385,"acronym":7,"category":8,"difficulty":9,"description":386},"Test Suite","\u002Fterms\u002Ft\u002Ftest-suite","A test suite is just a collection of related tests grouped together.",{"title":388,"path":389,"acronym":7,"category":8,"difficulty":23,"description":390},"Test Theater","\u002Fterms\u002Ft\u002Ftest-theater","Test theater is writing tests primarily to make reviewers happy rather than to catch bugs. The tests exist. They pass.",{"title":392,"path":393,"acronym":336,"category":8,"difficulty":23,"description":394},"Test-Driven Development","\u002Fterms\u002Ft\u002Ftest-driven-development","Test-Driven Development is a discipline where you write your tests before your actual code.",{"title":396,"path":397,"acronym":7,"category":8,"difficulty":23,"description":398},"TestCafe","\u002Fterms\u002Ft\u002Ftestcafe","TestCafe skips WebDriver entirely and injects test scripts directly into the page, like a particularly bold houseguest who just walks in without knocking.",{"title":400,"path":401,"acronym":7,"category":8,"difficulty":23,"description":402},"Testcontainers","\u002Fterms\u002Ft\u002Ftestcontainers","Instead of mocking your database in tests, Testcontainers spins up a REAL database in a Docker container, runs your tests against it, then throws it away. ",{"title":404,"path":405,"acronym":7,"category":8,"difficulty":23,"description":406},"Testing Library","\u002Fterms\u002Ft\u002Ftesting-library","Testing Library is a set of utilities that helps you test your UI the way a user would — by finding elements by their text or label, not by CSS class or ID...",{"title":408,"path":409,"acronym":7,"category":8,"difficulty":23,"description":410},"Toxiproxy","\u002Fterms\u002Ft\u002Ftoxiproxy","Toxiproxy sits between your app and its dependencies and makes the connection terrible on purpose. Add 500ms latency? Done. Drop 50% of packets? Sure. It's",{"title":412,"path":413,"acronym":7,"category":8,"difficulty":9,"description":414},"Unit Test","\u002Fterms\u002Fu\u002Funit-test","A unit test is like checking that one single LEGO brick isn't broken before you use it in your big castle.",{"title":416,"path":417,"acronym":7,"category":8,"difficulty":23,"description":418},"Visual Regression Test","\u002Fterms\u002Fv\u002Fvisual-regression-test","A visual regression test takes a screenshot of your UI, and next time it checks if anything LOOKS different — pixel by pixel.",{"title":420,"path":421,"acronym":7,"category":8,"difficulty":9,"description":422},"Vitest","\u002Fterms\u002Fv\u002Fvitest","Vitest is a blazing-fast test runner built on Vite. If Jest is the reliable sedan, Vitest is the electric sports car — same driving experience, 10x faster.",{"title":424,"path":425,"acronym":7,"category":8,"difficulty":23,"description":426},"WireMock","\u002Fterms\u002Fw\u002Fwiremock","WireMock pretends to be an API so your tests don't need the real thing. Need to test what happens when Stripe returns an error? WireMock fakes it. It's lik",{"title":428,"path":429,"acronym":7,"category":8,"difficulty":23,"description":430},"k6","\u002Fterms\u002Fk\u002Fk6","k6 lets you write load tests in JavaScript, which is either convenient or deeply ironic depending on your views on JavaScript performance.",1776518250203]