What is Testing really about?
Testing is an investigative process that generates information about risk to inform decisions
Does testing eventually show the absence of bugs in a program?
No, testing can only show the presence of bugs, never guarantee their absence
What does Testing actually accomplish?
Is Testing attempting to prove something?
No, testing is used to gather evidence to inform understanding
Describe the “Checklist Mindset” of testing.
Testing as Verification. Does it meet requirements. Follows a script. Binary - Pass/Fail. Goal - Confirm the system works as specified
With Verification testing, what is the goal?
The goal of verification testing is to show the system works as specified
Describe the “Explorer Mindset” of testing.
Testing as investigation. What can I learn about the system. What if, how does it handle, what happens when. Discovering unexpected behaviors. Goal - Generate useful information about the system
What is the Goal of Investigative testing?
The goal of Investigative testing is to generate useful information about the system
What is the drawback of only using Verification testing?
Verification testing only finds the problems you already thought to look for
What is a Test Oracle?
A Test Oracle is a mechanism used to decide whether a test passed or failed
Name two fundamental approaches to test case creation.
1) Specification-based 2) Code-based
Describe the concept of black-box testing.
Black box testing is testing in which the implementation of how something happens is not known, and the code is understood completely in terms of inputs and outputs.
What are the benefits of Specification-based testing?
Independent of implementation, so implementation can change. Test cases can be developed in parallel with code development
What are the drawbacks of Specification-based test cases?
Often significant redundancies and gaps of untested software
What is the idea of White-box or Clear-box testing?
White-box or Clear-box testing is testing while knowing how the code is implemented and using that knowledge to inform the test cases.
Associate Specification-based and Code-based testing with the “box” model.
Specification-based is black-box and Code-based is white-box
What does Code-based testing provide and why?
Code-based testing provides the ability to track test coverage metrics due to its strong theoretical basis.
Why does Playwright use one browser instance per worker instead of one per test?
Browser launches are expensive (takes seconds), while creating new contexts is fast (milliseconds). One instance per worker minimizes the expensive launches while maintaining complete test isolation through separate contexts for each test.
What is the relationship between browser contexts and authentication sessions?
Sessions are an application concept stored as cookies on the server side. When you log in, the session cookie is stored in the browser context. When the context is destroyed, the session cookie is lost. Each new context starts with no session data.
Why don’t two tests running in parallel interfere with each other’s authentication state?
Because each test runs in its own browser context with isolated cookies, localStorage, and cache. They never see each other’s data, even if using the same browser instance.
What efficiency advantage does Playwright’s instance/context model provide?
Instead of launching a new browser for every test (which takes seconds each time), Playwright launches one browser per worker and creates lightweight contexts for each test. This dramatically reduces startup overhead.
When comparing Selenium, Playwright, and Cypress, which provides the maximum browser coverage and why?
Selenium provides the maximum browser coverage because it uses the WebDriver protocol, which is standardized and implemented by all major browser vendors including Safari. It also supports older browser versions.
What are three strong architectural arguments for choosing Playwright?
Browser version determinism prevents “worked yesterday, broke today” scenarios. Auto-waiting reduces cognitive load and makes tests more readable. Efficient scaling architecture through fast context creation and built-in parallelization keeps feedback loops short as the suite grows.
How does parallelization affect test suite execution time as the suite scales?
Parallelization provides a constant speedup factor regardless of suite size. With 8 workers, you get roughly 8x speedup whether running 65 tests or 500 tests. Without parallelization, execution time grows linearly with test count.