GitHub Copilot for QA.
A practical Session 1, Part 1 learning page for QA engineers and SDETs: install Copilot, learn the core commands, map SDLC and STLC workflows, and create reusable skills for test plans, test cases, Jira-ready bug reports, and MCP-assisted context.
The 30-minute pitch
Four things students walk away able to do today.
Install and verify Copilot
Set up Copilot in VS Code, sign in, open a test repository, and confirm chat plus inline suggestions work.
Use the right command surface
Pick between slash commands, context variables, participants, CLI commands, skills, and MCP based on the QA task.
Apply Copilot across SDLC and STLC
Keep the tester in control while Copilot drafts, explains, compares, and checks artifacts across each stage.
Create reusable QA skills
Build three copy-ready skills for test planning, test case design, and Jira-ready defect reporting.
Setup
Installation cheat sheet
| Step | What to do | Verification |
|---|---|---|
| Account | Confirm GitHub account and paid Copilot access. | Copilot is enabled for the user or organization. |
| VS Code | Install the GitHub Copilot extension and sign in. | Copilot icon and chat are visible in VS Code. |
| Workspace | Open a repository with source, docs, tests, or a sample app. | Copilot can reference active files and selected text. |
| First prompt | Ask Copilot to explain a feature and suggest test areas. | The response uses current project context. |
| Optional CLI | Install the official Copilot CLI, then run copilot login. | copilot version returns installed version information. |
| Governance | Check organization policies, MCP approvals, and classroom data rules. | Students know what can and cannot be shared. |
Surfaces
Where Copilot fits in the QA workflow
Inline suggestions
Small edits while writing assertions, fixtures, helpers, page objects, or test data builders.
Copilot Chat
Explain behavior, brainstorm coverage, create artifact drafts, and compare test approaches.
Edit or agent mode
Make multi-file changes, add tests, update fixtures, and iterate on local failures.
Terminal workflow
Use commands when working from repos, diffs, test output, MCP, permissions, or skill loading.
Reusable instructions
Package repeated QA jobs such as test plans, test cases, and bug reports.
Jira context
Bring issue descriptions, acceptance criteria, comments, fields, links, and labels into the task.
Animated Concepts
Explain each concept one step at a time
Use this walkthrough while teaching. Each step highlights the input, Copilot surface, human review point, artifact, and classroom action for the concept.
Copilot setup and first context
Students first verify access, extension, repository context, and a small prompt before asking Copilot to create bigger QA artifacts.
- Confirm account, extension, and workspace access.
- Open a real repo or sample app before asking for QA help.
- Use one small explain or risk prompt to confirm context.
Commands
VS Code slash command cheat sheet
| Command | One-line use | QA or STLC example |
|---|---|---|
| /clear | Start a fresh chat session. | Begin a new module or requirement. |
| /explain | Explain selected code or active editor logic. | Understand validation before testing it. |
| /fix | Suggest a fix for selected code problems. | Repair a failing assertion or helper. |
| /fixTestFailure | Find and fix a failing test. | Diagnose CI or local test failure. |
| /help | Show quick reference and Copilot basics. | Reset the classroom when lost. |
| /new | Create a new project scaffold. | Build a tiny demo app for testing. |
| /tests | Generate tests for selected code. | Draft unit or API test coverage. |
Context
Variables and participants
| Variable | One-line use |
|---|---|
| #file | Current file contents. |
| #selection | Selected text. |
| #function | Current function or method. |
| #class | Current class. |
| #project | Project context. |
| #path | File path. |
| Participant | One-line use |
|---|---|
| @workspace | Use repository structure and project context. |
| @terminal | Use terminal shell and output context. |
| @vscode | Ask about VS Code commands and features. |
| @github | Use GitHub-specific Copilot skills. |
| @azure | Use Azure service context when available. |
Terminal
Copilot CLI command cheat sheet
| Command | One-line use |
|---|---|
| copilot | Launch the interactive Copilot CLI. |
| copilot login | Authenticate with Copilot. |
| copilot init | Initialize Copilot instructions for the repository. |
| copilot mcp | Manage MCP server configurations. |
| copilot plugin | Manage plugins and plugin marketplaces. |
| copilot completion SHELL | Generate shell completion for bash, zsh, or fish. |
| copilot help [TOPIC] | Display CLI help or topic help. |
| copilot update | Download and install the latest version. |
| copilot version | Show version information and check updates. |
Skills
Skill and MCP command cheat sheet
| GitHub CLI skill command | One-line use |
|---|---|
| gh skill search TOPIC | Find skills by topic. |
| gh skill preview OWNER/REPO SKILL | Inspect a skill before installing. |
| gh skill install OWNER/REPO | Browse and install from a repository. |
| gh skill install OWNER/REPO SKILL | Install one specific skill. |
| gh skill update | Check or update installed skills. |
| gh skill publish | Validate and publish skills. |
| CLI session command | One-line use |
|---|---|
| /skills list | Show loaded skills. |
| /skills info NAME | Inspect a loaded skill. |
| /skills add PATH | Add a skill directory. |
| /skills reload | Reload skills after edits. |
| /mcp show | Show configured MCP servers. |
| /mcp auth NAME | Authenticate an MCP server. |
| /env | Show instructions, MCP, skills, and plugins. |
SDLC
Where QA uses Copilot without losing ownership
Requirements
Summarize stories, detect ambiguity, ask acceptance criteria questions.
Design
Review flows, data rules, API contracts, and dependency risks.
Development
Explain code, suggest unit tests, generate mocks, flag edge cases.
Testing
Create test plan, cases, data, automation drafts, and regression notes.
Release
Summarize risk, prepare test report, verify defects, review release notes.
Maintenance
Analyze production defects, improve regression pack, update skills.
STLC
Turn every testing stage into an artifact
Requirement analysis
Ambiguities, assumptions, acceptance gaps.
Test planning
Scope, strategy, risks, entry and exit criteria.
Test case design
Scenarios, cases, data, automation candidates.
Environment setup
Config, users, browsers, data readiness.
Execution
Run log, evidence, pass/fail, blockers.
Defect reporting
Bug report, impact, severity, Jira fields.
Closure
Summary, coverage, residual risk, lessons learned.
Example
Login story to STLC artifacts
Registered user login
As a registered user, I want to log in with email and password so I can access my dashboard.
Acceptance criteria: valid login works; invalid password fails; locked user is blocked; session expires after inactivity.
Ask for risk review
Identify missing acceptance criteria, edge cases, and security risks.
Generate test plan
Create scope, test types, environment, data, and entry/exit criteria.
Generate test cases
Positive, negative, boundary, role-based, session, accessibility, and regression.
Draft bug report
Turn failed evidence into Jira-ready defect fields.
Skill anatomy
How to create a GitHub Copilot skill
.github/skills/qa-test-plan/ SKILL.md examples/ templates/ ~/.copilot/skills/qa-test-plan/ SKILL.md
| Part | What it controls |
|---|---|
| Directory | Where Copilot discovers the skill. |
| SKILL.md | Required Markdown instruction file. |
| name | Lowercase unique skill identifier. |
| description | When Copilot should use the skill. |
| Markdown body | Process, rules, output format, examples. |
| Resources | Optional templates, examples, or scripts. |
Skill 1
QA test plan skill
workshop-assets/skills/qa-test-plan/SKILL.md
Ask for scope, risks, platforms, timelines, and owners. Create objective, scope, strategy, environment, data, entry criteria, exit criteria, risks, and approvals.
Skill 2
QA test cases skill
| Column | Meaning |
|---|---|
| ID | Unique case identifier. |
| Scenario | Behavior under test. |
| Precondition | Required state before steps. |
| Steps | Actions a tester follows. |
| Test Data | Inputs, users, roles, records. |
| Expected Result | Observable expected outcome. |
| Priority / Type | Risk and coverage category. |
| Automation Candidate | Yes, No, or Later with reason. |
Skill 3
QA bug report skill with Jira MCP
Jira-ready structure
Title, summary, environment, preconditions, steps to reproduce, actual result, expected result, evidence, impact, severity, priority, workaround, suspected area, regression notes, and Jira fields.
Use Jira context before drafting
Check duplicates, linked stories, components, labels, comments, release fields, and related issues before preparing the report.
Jira MCP
Jira MCP workflow for QA artifacts
Connect
Install or configure approved Jira/MCP access.
Read issue
Pull title, description, acceptance criteria, comments, labels, and fields.
Use skill
Invoke test plan, test cases, or bug report instructions.
Review
Validate assumptions, severity, priority, and traceability.
Publish
Create or update Jira only after human approval.
{
"mcpServers": {
"atlassian": {
"type": "http",
"url": "https://mcp.atlassian.com/v1/sse"
}
}
}
Governance
Classroom guardrails
Keep sensitive data out
Use synthetic stories, test data, screenshots, and logs unless sharing is explicitly approved.
Human approves output
Students review assumptions, severity, priority, and traceability before using artifacts.
Trust skills and MCP tools
Preview skills and approve only trusted MCP servers or shell tools.
Lab
Build the full STLC pack with skills
Requirement review
Use project and Jira context to list ambiguity, assumptions, and acceptance gaps.
Test plan
Run qa-test-plan and produce scope, approach, risks, criteria, and deliverables.
Test cases
Run qa-test-cases and produce executable cases plus automation candidates.
Defect workflow
Use qa-bug-report on a seeded failure and prepare Jira fields.
Closure
Summarize coverage, blocked areas, residual risk, and lessons learned.
One STLC pack
Assumptions, test plan, test case table, bug report draft, and closure summary.
Sources
Official references used
| Reference | URL |
|---|---|
| GitHub Copilot Docs | https://docs.github.com/en/copilot |
| Copilot Chat cheat sheet | https://docs.github.com/en/copilot/reference/chat-cheat-sheet |
| Install Copilot extension | https://docs.github.com/en/copilot/how-tos/set-up/installing-github-copilot-in-your-environment |
| VS Code Copilot overview | https://code.visualstudio.com/docs/copilot/overview |
| Copilot CLI command reference | https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference |
| Adding agent skills | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/add-skills |
| Copilot cloud agent with Jira | https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/integrate-cloud-agent-with-jira |
Practice MCQs
10 important questions for live recap
Use these as the closing check. Answers stay hidden during teaching and open only when you expand each item.
Show answer
Answer: A. Copilot needs the right extension, account, repository, files, and context before it can produce useful QA output.
Show answer
Answer: B. #selection tells Copilot to use the currently selected text as the main context.
Show answer
Answer: A. After understanding requirements, QA defines scope, approach, risks, resources, entry criteria, and exit criteria in the test plan.
Show answer
Answer: A. A defect can be severe but low priority, or less severe but urgent for a release, so both dimensions matter.
Show answer
Answer: A. A skill gives Copilot repeatable role, context, output format, checks, and constraints for tasks such as test plans or bug reports.
Show answer
Answer: A. MCP is powerful for context, but students should still validate assumptions, duplicates, evidence, fields, and impact before publishing.
Show answer
Answer: A. Accessible, user-facing locators make tests easier to read and less brittle than long CSS or XPath selectors.
Show answer
Answer: A. Healing should start with evidence and root-cause classification so the fix improves reliability instead of hiding a real issue.
Show answer
Answer: A. It helps QA prioritize automation based on stability, repeatability, risk, test data, and business value.
Show answer
Answer: A. Copilot can draft and organize, but factual claims must come from real requirements, evidence, logs, Jira data, or the student's true experience.