Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

QA Engineering Assignment

Thank you for taking the time to work on this. We genuinely appreciate it.

This assignment is based on a real problem we've faced building our product — so as you work through it, you'll get a feel for the kind of problems we think about every day. We hope it's interesting, not just as a test, but as a small window into what it's like to work here.


Estimated time: 1–2 hours.

There are 3 short sections: test strategy, a Playwright automation sample, and a brief reflection on your AI usage. Use AI tools freely — ChatGPT, Claude, Cursor, whatever you normally use. Just note how in your submission.

We're evaluating your reasoning, not the volume of your output.

1. Test Strategy Design

AvoMD builds AI products used by physicians (a generative AI chatbot, an AI Scribe, etc.). The core QA challenge with these products is: how do you reliably verify AI responses that differ on every run, even for the same input?

Imagine you are the QA owner for an AI chat product used by physicians (think ChatGPT, but for doctors), and answer the following for each prompt.

The following 3 prompts are fixed. For each, define:

  • Expected behavior / verification criteria
  • Automate or manual, and why?
  • If automate, how?

Prompt 1: "What is the recommended first-line medication for type 2 diabetes in adults with no contraindications?"

Prompt 2: "My patient has been on lisinopril 10mg for 6 months and wants to discontinue it because they feel fine. Walk me through how to safely taper them off."

Prompt 3:

  • Turn 1 — "A 60-year-old patient presents with fatigue, increased thirst, and frequent urination. What are your top 3 differential diagnoses?"
  • Turn 2 — "His fasting glucose came back at 180 mg/dL. How does this update your assessment?"

Write your answers in SUBMISSION.md.

2. Automation Sample (Playwright)

We've chosen a fixed target to save you setup time: TodoMVC — https://demo.playwright.dev/todomvc

Write only these 2 tests (volume is not the goal):

  1. Adding a new todo makes it appear correctly in the list
  2. Completing a todo updates the completed count / filters (Active·Completed) correctly

3. AI Usage Reflection

  • Where and how did you use AI tools in this assignment?
  • How do you use AI in your QA work — or how would you? Where does it help, and where do you not trust it without verification?

Write your answers in SUBMISSION.md.


Deliverables & Submission

Your repo should contain:

  • SUBMISSION.md — sections 1 and 3
  • A working Playwright project with autotest.spec.ts — section 2

To submit:

  1. On the template repo page, click "Use this template" → "Create a new repository".
  2. Set the owner to your own account and the visibility to Private.
  3. Push your work to the main branch.
  4. Invite our reviewers as collaborators: Settings → Collaborators → Add people → invite:
    • hosun-a
    • yourHooni
  5. Email us once you're done so we can begin the review.

Keep the repository private.


v1.1

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors