Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.
By the end of this workshop, you will have an exploratory session you can find again in Azure DevOps, with a charter, observations, illustrated evidence, a linked bug and a PDF. You will also learn to distinguish a session verdict from a report’s Quality Gate.
Prepare the demo dataset and find the TP-DOC — Sécuriser la livraison user story.
Use TestPulse 2.73.1 or later for reopening the session from its Task.
Check that you can edit work items and create bugs and tasks in the demo scope. An administrator must have approved the extension’s write permissions; project permissions are still required.
Use the training scenario and fictional data only. Sessions are stored at project level: the “my sessions” filter does not make them private.
We will document the empty delivery address accepted scenario. This is a fictional exercise, and created objects must say so explicitly. Work item names remain the same in both documentation languages.Download the training shop ZIP kit from the public documentation repository. Extract it (Extract All on Windows), then open boutique-demo.html from the extracted folder in your browser. Reuse your copy if you already prepared the dataset. Select English. This page runs locally, without installation, a server or real payment; it deliberately accepts an empty address to make the defect reproducible.
Your action
What is saved
Start a session and write notes
Session and notes automatically saved in TestPulse’s Azure DevOps storage.
Confirm a capture
Attachment uploaded to Azure DevOps and entry added to the session.
Click Create in the work item panel
New bug with the selected links and attachments.
End the session and confirm closure
Tracking Task containing the report, links and session evidence.
Export to PDF
File downloaded to your computer. Attaching it to the Task is a separate action.
Open the TP-DOC — Sécuriser la livraison user story in Azure DevOps and save any pending form changes first. On this work item, open TestPulse’s Explore tab.You should see: the Start an exploratory session form. If one of your sessions is already active, it may be restored: check its charter before continuing. An existing session on another subject does not become a demo exercise just because you change its notes.
There are two Explore entry points. The work item’s tab is where you run a session; the TestPulse hub’s Explore tab is where you find project sessions. To start, use the work item form.
TP-DOC — Explore delivery-address validation; record what is needed to reproduce the finding.
Timer (minutes, optional)
10, as an exploration budget; leaving it empty is also valid.
Campaign tag (optional)
TP-DOC
Environment (optional)
Leave empty for this first workshop.
Area path / Iteration path
Keep the scope inherited from the demo user story.
Click Start session.You should see:Session running, your charter, a timer and an empty Timeline. Without an environment selected, closure does not offer a promotion decision to another stage. That decision has a separate guide.
In the training shop, add the product to the cart and check the EUR 20 amount. Leave the delivery address empty, then click Place order. The page deliberately accepts this input: that is the behaviour to document. Keep this screen ready for the next step’s capture, then return to Explore.
The fictional shop accepts a EUR 20 order without an address: this defect is intentional and only serves the exercise.
Add three separate notes. Select the type, enter the text and click Add note for each one.
Type
Training text
Observation
Fictional TP-DOC exercise: cart containing one product at EUR 20; opening the delivery step.
Anomaly
Training scenario: an empty address is accepted. Expected: remain on the delivery step and request an address.
Question
To investigate in a real application: does the server also validate the address?
Wait until Saving… disappears and check that there is no save error before leaving the form.You should see: three timestamped entries. An observation provides context, an anomaly compares actual and expected behaviour, and a question separates an investigation lead from an established fact.While the session is active, correct a note with Edit, then Save. These corrections are no longer available once the session is closed.
Return to the training shop and prepare a capture showing the empty address and the accepted order. Keep the demo label visible. This image proves the exercise page’s behaviour; it does not concern a real shop.
1
Copy the image
On Windows, use Win+Shift+S to select the useful area. Return to the work item’s Explore tab and paste with Ctrl+V.You should see: the Annotate the capture editor. The image is not attached yet.
2
Highlight the relevant element
Use Rectangle or Arrow to point to the relevant field or result. Add the text TP-DOC exercise — fictional data. If the image contains information that should be masked, apply Blur (mask) and inspect the result before confirming.For What does this capture show?, select Result obtained when it shows the training result. Cancelling the editor does not upload the image.
3
Attach and check
Click Attach to session, then wait for the upload to complete.You should see: a capture in the Timeline with your annotations. Resolve upload errors before treating the evidence as attached.
A confirmed capture is flattened: its annotations are no longer editable layers. Removing its Timeline entry does not delete the file already uploaded to Azure DevOps. To correct only the accompanying text, edit its caption.
Replace the prefilled title with TP-DOC — Adresse vide acceptée à la livraison — exercice. The initial title comes from the last note, which may be a question rather than the defect you intend to describe.
Choose an appropriate exercise severity, for example 3 - Medium if your process offers it.
Review Repro steps (HTML, generated from notes). Keep the context, action, actual and expected results; make the fictional nature explicit.
Under Attachments to include, select the exercise capture.
Check the proposed user-story and session links, and inherited classification.
Click Create. This actually creates a bug in your demo project.
You should see: a work item entry with an Azure DevOps ID. Open the bug and check its title, steps, attachment and link to the story. Record its number so you can find it in the final report.
Example in TestPulse 2.73.1: the running session counts one note, one capture and one bug. This condensed illustration uses one note; the workshop asks you to write three. The example note remains in French.
This bug is linked to the explored subject and session. That does not automatically associate it with a test-run result. Do not expect this exercise to remove a campaign report’s “failure without defect”; bug sources have different contracts.
Review the notes and capture one last time. Click End session, then End and archive in the confirmation.A second dialog lets you choose the Task’s assignee, initial state and an optional Verdict. For this exercise, select Failed, since the scenario describes an anomaly, then click Confirm. Keep the proposed state unless you are deliberately exercising a particular transition.Skip also closes the session, but does not retain a verdict or promotion decision prepared in that dialog.You should see:Session ended — Task #… created. Open that Task and check:
the session report and charter;
the exploratory-session tag and your TP-DOC campaign tag;
the user-story link, created bug and attached evidence.
The closure confirmation reports that the session Task was created. Its number belongs to the demonstration project; this capture does not confirm a PDF download.
The Task is the session’s archive. Returning to the user story or changing a hub filter does not delete it.
Failed describes the tester’s judgement of this session. It does not add a Failed result in Azure Test Plans or change any Quality Gate metric. The verdict is final for that closed session.
From the closed session, click Export PDF report. Check or adjust the proposed title, then click Export.Open the PDF and find the charter, three notes, capture and bug number. If the image could not be retrieved, it may appear by name: read any unavailable-evidence notices before sharing the document.Return to the TestPulse hub’s Explore tab. Filter by campaign TP-DOC, expand the user story and find your session. A closed session’s link leads to its Task. On that Task, the Explore tab lets you read the saved session.Final check: you should be able to start from the hub, find the Task, open the bug and read the PDF. The downloaded export is not automatically attached to the Task; use Attach report to task only if you want to store it there too.
You are in the Explore hub. Open the demo user story, then its Explore tab.
The capture does not paste.
Check that the clipboard contains an image and Explore has focus. Browse… also accepts files, but a dropped image is a file attachment rather than a capture embedded in the PDF.
Azure DevOps rejects an attachment or creation.
Read the message: scope re-approval and work item permissions are different checks. Have the relevant issue checked, then retry the failed action.
A save error appears.
Keep the form open and check connectivity. Visible entries do not prove that they were saved.
Some files did not upload.
Identify the failures named in the message. Successfully attached files remain; retry only those that are missing.
Closure fails.
The session stays active and can be retried. Resolve the stated cause, then retry closure instead of starting another session.
The Task exists but its requested state was not applied.
Closure succeeded; only the transition failed. Open the Task and handle its state using the project’s rules. Do not duplicate the session.
The hub still shows the session as active after closure.
If a message says the index was not refreshed, reload the hub and check the Task that already exists.
I cannot find a colleague’s session.
Remove Filtered to my sessions, check other filters and include archived sessions if needed. Resuming an active session belongs to the account that started it.
The Task tab cannot find the session.
Check the TestPulse version and the Task’s origin. A session created in TestPulse Studio’s Explore AI belongs in that other tab, not in TestPulse.
Start another demo session with a charter that explores the limits of promotion code DEMO10. Record an observation, a question and a test idea, then create a Test case rather than a bug.Review the proposed steps before creation: notes and capture meaning affect how they are built. You have succeeded when a colleague can understand the scenario from the created case without having attended the session.
Captures and work item creation
Go further with annotations, attachments and test cases.
Find project sessions
Understand filters, statuses and scope reports.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TestPulse","description":"TestPulse — professional test reports from Azure DevOps Test Plans. 100% client-side, free, cloud and on-premises.","colors":{"primary":"#0F766E","light":"#2DD4BF","dark":"#0F766E"},"logo":{"light":"https://mintcdn.com/test-pulse/piNZ15_PZTLkwUj0/logo/light.svg?fit=max\u0026auto=format\u0026n=piNZ15_PZTLkwUj0\u0026q=85\u0026s=30385e977f354302cd44536aba793858","dark":"https://mintcdn.com/test-pulse/piNZ15_PZTLkwUj0/logo/dark.svg?fit=max\u0026auto=format\u0026n=piNZ15_PZTLkwUj0\u0026q=85\u0026s=3c6680068fa5be656a8dea8031ab74c7"},"favicon":"https://mintcdn.com/test-pulse/piNZ15_PZTLkwUj0/favicon.svg?fit=max\u0026auto=format\u0026n=piNZ15_PZTLkwUj0\u0026q=85\u0026s=944bd1007cef69ac3bc36b06a30b3789","navbar":{"links":[{"href":"https://marketplace.visualstudio.com/items?itemName=Kisskool.testpulse","label":"Marketplace"}]},"footer":{"socials":{"website":"https://atconseil.info"}},"seo":{"metatags":{"canonical":"https://docs.atconseil.info"}},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":"en"},{"language":"fr","href":"fr"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"test-pulse","hasAudioNarration":false,"actualSubdomain":"test-pulse","customDomains":["docs.atconseil.info"],"gitSource":{"type":"github","owner":"alexthibaud1976","repo":"testpulse-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"f01e61f1-c4c7-4164-a1b6-96a03ddd754d","liveDeploymentHistoryId":"6ad1195d15eefe0f7e84217c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad1195d15eefe0f7e84217c"},"entitlements":{},"buildId":"6ad1195d15eefe0f7e84217c","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"en","tag":"Generate a report","count":6},{"language":"fr","tag":"Générer un rapport","count":6},{"language":"en","tag":"Exploratory testing","count":5},{"language":"en","tag":"Guided workshops","count":5},{"language":"fr","tag":"Tests exploratoires","count":5},{"language":"fr","tag":"Ateliers guidés","count":5},{"language":"en","tag":"Concepts","count":4},{"language":"en","tag":"Quality \u0026 decision","count":4},{"language":"fr","tag":"Concepts","count":4},{"language":"fr","tag":"Qualité \u0026 décision","count":4},{"language":"en","tag":"Getting started","count":3},{"language":"en","tag":"Test Repository","count":3},{"language":"fr","tag":"Prise en main","count":3},{"language":"fr","tag":"Test Repository","count":3},{"language":"en","tag":"Reports history","count":2},{"language":"en","tag":"Coverage Builder","count":2},{"language":"en","tag":"Exports","count":2},{"language":"fr","tag":"Historique \u0026 collaboration","count":2},{"language":"fr","tag":"Coverage Builder","count":2},{"language":"fr","tag":"Exports","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/tutorials/exploratory-session","slug":"/en/tutorials/exploratory-session","pageMetadata":{"title":"An exploratory session from start to finish","description":"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.","icon":"compass","href":"/en/tutorials/exploratory-session"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`By the end of this workshop, you will have an `,_jsx(_components.strong,{children:`exploratory session you can find again in Azure DevOps`}),`, with a charter, observations, illustrated evidence, a linked bug and a PDF. You will also learn to distinguish a session verdict from a report’s Quality Gate.`]}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Prepare the `,_jsx(_components.a,{href:`/en/tutorials/demo-project`,children:`demo dataset`}),` and find the `,_jsx(_components.strong,{children:`TP-DOC — Sécuriser la livraison`}),` user story.`]}),`\n`,_jsx(_components.li,{children:`Use TestPulse 2.73.1 or later for reopening the session from its Task.`}),`\n`,_jsxs(_components.li,{children:[`Check that you can edit work items and create bugs and tasks in the demo scope. An administrator must have approved the extension’s write permissions; `,_jsx(_components.a,{href:`/en/security/permissions`,children:`project permissions`}),` are still required.`]}),`\n`,_jsx(_components.li,{children:`Use the training scenario and fictional data only. Sessions are stored at project level: the “my sessions” filter does not make them private.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`We will document the `,_jsx(_components.strong,{children:`empty delivery address accepted`}),` scenario. This is a fictional exercise, and created objects must say so explicitly. Work item names remain the same in both documentation languages.`]}),`\n`,_jsxs(_components.p,{children:[`Download the `,_jsx(_components.a,{href:`https://raw.githubusercontent.com/AlexThibaud1976/testpulse-docs/main/examples/tp-doc-boutique-kit.zip`,children:`training shop ZIP kit`}),` from the public documentation repository. Extract it (`,_jsx(_components.strong,{children:`Extract All`}),` on Windows), then open `,_jsx(_components.strong,{children:`boutique-demo.html`}),` from the extracted folder in your browser. Reuse your copy if you already prepared the dataset. Select English. This page runs locally, without installation, a server or real payment; it deliberately accepts an empty address to make the defect reproducible.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Your action`}),_jsx(_components.th,{children:`What is saved`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Start a session and write notes`}),_jsx(_components.td,{children:`Session and notes automatically saved in TestPulse’s Azure DevOps storage.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Confirm a capture`}),_jsx(_components.td,{children:`Attachment uploaded to Azure DevOps and entry added to the session.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),` in the work item panel`]}),_jsx(_components.td,{children:`New bug with the selected links and attachments.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`End the session and confirm closure`}),_jsx(_components.td,{children:`Tracking Task containing the report, links and session evidence.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Export to PDF`}),_jsx(_components.td,{children:`File downloaded to your computer. Attaching it to the Task is a separate action.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`1-open-explore-from-the-item-you-want-to-test`,children:`1. Open Explore from the item you want to test`}),`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`TP-DOC — Sécuriser la livraison`}),` user story in Azure DevOps and save any pending form changes first. On this work item, open TestPulse’s `,_jsx(_components.strong,{children:`Explore`}),` tab.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` the `,_jsx(_components.strong,{children:`Start an exploratory session`}),` form. If one of your sessions is already active, it may be restored: check its charter before continuing. An existing session on another subject does not become a demo exercise just because you change its notes.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`There are two `,_jsx(_components.strong,{children:`Explore`}),` entry points. The work item’s tab is where you run a session; the TestPulse hub’s Explore tab is where you find project sessions. To start, use the work item form.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`2-define-a-charter-you-can-check`,children:`2. Define a charter you can check`}),`\n`,_jsx(_components.p,{children:`Complete the form:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Exercise value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Session charter`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`TP-DOC — Explore delivery-address validation; record what is needed to reproduce the finding.`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Timer (minutes, optional)`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`10`}),`, as an exploration budget; leaving it empty is also valid.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Campaign tag (optional)`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`TP-DOC`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Environment (optional)`})}),_jsx(_components.td,{children:`Leave empty for this first workshop.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Area path / Iteration path`})}),_jsx(_components.td,{children:`Keep the scope inherited from the demo user story.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Start session`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` `,_jsx(_components.strong,{children:`Session running`}),`, your charter, a timer and an empty Timeline. Without an environment selected, closure does not offer a promotion decision to another stage. That decision has a `,_jsx(_components.a,{href:`/en/exploratory/promotion-decision`,children:`separate guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-explore-and-record-what-happened`,children:`3. Explore and record what happened`}),`\n`,_jsxs(_components.p,{children:[`In the training shop, add the product to the cart and check the `,_jsx(_components.strong,{children:`EUR 20`}),` amount. Leave the delivery address empty, then click `,_jsx(_components.strong,{children:`Place order`}),`. The page deliberately accepts this input: that is the behaviour to document. Keep this screen ready for the next step’s capture, then return to Explore.`]}),`\n`,_jsx(Frame,{caption:`The fictional shop accepts a EUR 20 order without an address: this defect is intentional and only serves the exercise.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=b558b8d90782088605a43f890b8b1fda`,alt:`Training shop in English: empty delivery address, EUR 20 cart and the message Demonstration order accepted.`,\"data-og-width\":`2048`,width:`2048`,\"data-og-height\":`1055`,height:`1055`,\"data-path\":`images/en/tutorial-shop-defect.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=a1443f0e13daff7482a00692620e0db8 280w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=24aeff7f0095153adfaba2076255e22b 560w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=685a134c4b05856b0ccf6176477cc22d 840w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=153c2c7ff88b47ce3beb7a32ec004a20 1100w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=a111c8d81dc13744c86477ebc4ed494f 1650w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-shop-defect.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=d1e670f25f206dd031fdcc82de3c85df 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Add three separate notes. Select the type, enter the text and click `,_jsx(_components.strong,{children:`Add note`}),` for each one.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Training text`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Observation`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Fictional TP-DOC exercise: cart containing one product at EUR 20; opening the delivery step.`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Anomaly`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Training scenario: an empty address is accepted. Expected: remain on the delivery step and request an address.`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Question`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`To investigate in a real application: does the server also validate the address?`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Wait until `,_jsx(_components.strong,{children:`Saving…`}),` disappears and check that there is no save error before leaving the form.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` three timestamped entries. An observation provides context, an anomaly compares actual and expected behaviour, and a question separates an investigation lead from an established fact.`]}),`\n`,_jsxs(_components.p,{children:[`While the session is active, correct a note with `,_jsx(_components.strong,{children:`Edit`}),`, then `,_jsx(_components.strong,{children:`Save`}),`. These corrections are no longer available once the session is closed.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-add-a-capture-that-explains-the-finding`,children:`4. Add a capture that explains the finding`}),`\n`,_jsxs(_components.p,{children:[`Return to the training shop and prepare a capture showing `,_jsx(_components.strong,{children:`the empty address and the accepted order`}),`. Keep the demo label visible. This image proves the exercise page’s behaviour; it does not concern a real shop.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Copy the image`,children:[_jsxs(_components.p,{children:[`On Windows, use `,_jsx(_components.strong,{children:`Win+Shift+S`}),` to select the useful area. Return to the work item’s Explore tab and paste with `,_jsx(_components.strong,{children:`Ctrl+V`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` the `,_jsx(_components.strong,{children:`Annotate the capture`}),` editor. The image is not attached yet.`]})]}),_jsxs(Step,{title:`Highlight the relevant element`,children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Rectangle`}),` or `,_jsx(_components.strong,{children:`Arrow`}),` to point to the relevant field or result. Add the text `,_jsx(_components.strong,{children:`TP-DOC exercise — fictional data`}),`. If the image contains information that should be masked, apply `,_jsx(_components.strong,{children:`Blur (mask)`}),` and inspect the result before confirming.`]}),_jsxs(_components.p,{children:[`For `,_jsx(_components.strong,{children:`What does this capture show?`}),`, select `,_jsx(_components.strong,{children:`Result obtained`}),` when it shows the training result. Cancelling the editor does not upload the image.`]})]}),_jsxs(Step,{title:`Attach and check`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Attach to session`}),`, then wait for the upload to complete.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` a capture in the Timeline with your annotations. Resolve upload errors before treating the evidence as attached.`]})]})]}),`\n`,_jsx(_components.p,{children:`A confirmed capture is flattened: its annotations are no longer editable layers. Removing its Timeline entry does not delete the file already uploaded to Azure DevOps. To correct only the accompanying text, edit its caption.`}),`\n`,_jsx(Heading,{level:`2`,id:`5-turn-the-finding-into-an-actionable-bug`,children:`5. Turn the finding into an actionable bug`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create bug / work item`}),` and select `,_jsx(_components.strong,{children:`Bug`}),`.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Replace the prefilled title with `,_jsx(_components.strong,{children:`TP-DOC — Adresse vide acceptée à la livraison — exercice`}),`. The initial title comes from the last note, which may be a question rather than the defect you intend to describe.`]}),`\n`,_jsxs(_components.li,{children:[`Choose an appropriate exercise severity, for example `,_jsx(_components.strong,{children:`3 - Medium`}),` if your process offers it.`]}),`\n`,_jsxs(_components.li,{children:[`Review `,_jsx(_components.strong,{children:`Repro steps (HTML, generated from notes)`}),`. Keep the context, action, actual and expected results; make the fictional nature explicit.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Attachments to include`}),`, select the exercise capture.`]}),`\n`,_jsx(_components.li,{children:`Check the proposed user-story and session links, and inherited classification.`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`. This actually creates a bug in your demo project.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` a work item entry with an Azure DevOps ID. Open the bug and check its title, steps, attachment and link to the story. Record its number so you can find it in the final report.`]}),`\n`,_jsx(Frame,{caption:`Example in TestPulse 2.73.1: the running session counts one note, one capture and one bug. This condensed illustration uses one note; the workshop asks you to write three. The example note remains in French.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=a7489a4f37f5e7ba9abf3d874ff3e5b7`,alt:`Explore in English with a running session and Timeline counts showing one note, one capture and one bug.`,\"data-og-width\":`2008`,width:`2008`,\"data-og-height\":`440`,height:`440`,\"data-path\":`images/en/tutorial-explore-session.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=5e0ac653d2b4052fc2da2988dd41a4e9 280w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=793ba3febf82d247627e2a92cfc5eb53 560w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=15da431549a17231f61b46a2788c7aed 840w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=2b7eb3a2fd738f8e65fa18d09b27e2ce 1100w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=4d5862e66f5e0d4d76ce08413965325c 1650w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-session.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=18294ce609d3ef7a7599ad4b2026421d 2500w`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This bug is linked to the explored subject and session. That does not automatically associate it with a test-run result. Do not expect this exercise to remove a campaign report’s “failure without defect”; `,_jsx(_components.a,{href:`/en/reports/campaign-bugs`,children:`bug sources`}),` have different contracts.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`6-close-the-session-and-find-its-task`,children:`6. Close the session and find its Task`}),`\n`,_jsxs(_components.p,{children:[`Review the notes and capture one last time. Click `,_jsx(_components.strong,{children:`End session`}),`, then `,_jsx(_components.strong,{children:`End and archive`}),` in the confirmation.`]}),`\n`,_jsxs(_components.p,{children:[`A second dialog lets you choose the Task’s assignee, initial state and an optional `,_jsx(_components.strong,{children:`Verdict`}),`. For this exercise, select `,_jsx(_components.strong,{children:`Failed`}),`, since the scenario describes an anomaly, then click `,_jsx(_components.strong,{children:`Confirm`}),`. Keep the proposed state unless you are deliberately exercising a particular transition.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Skip`}),` also closes the session, but does not retain a verdict or promotion decision prepared in that dialog.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You should see:`}),` `,_jsx(_components.strong,{children:`Session ended — Task #… created`}),`. Open that Task and check:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`the session report and charter;`}),`\n`,_jsxs(_components.li,{children:[`the `,_jsx(_components.code,{children:`exploratory-session`}),` tag and your `,_jsx(_components.code,{children:`TP-DOC`}),` campaign tag;`]}),`\n`,_jsx(_components.li,{children:`the user-story link, created bug and attached evidence.`}),`\n`]}),`\n`,_jsx(Frame,{caption:`The closure confirmation reports that the session Task was created. Its number belongs to the demonstration project; this capture does not confirm a PDF download.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=131f3a95d1d3a8455ce1cc4b707ad239`,alt:`Explore in English after closure: Session ended — Task #3070 created, with actions to export and attach the report.`,\"data-og-width\":`2008`,width:`2008`,\"data-og-height\":`600`,height:`600`,\"data-path\":`images/en/tutorial-explore-archived.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=e679f7a90537371587e6bfd3e9833746 280w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=60615f6a8b8b87154fad369bbe294198 560w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=b8cf7c45980d4efd7d0ac16ab1c75de7 840w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=750d1f13a1b1e557556b4e3fd9c02c57 1100w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=31dffea71c136233bed85e96b67452ea 1650w, https://mintcdn.com/test-pulse/6Y4jr9m7GAePKSAE/images/en/tutorial-explore-archived.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=6Y4jr9m7GAePKSAE\u0026q=85\u0026s=6bfd95bb804babf5aa8c3160595add2f 2500w`})}),`\n`,_jsx(_components.p,{children:`The Task is the session’s archive. Returning to the user story or changing a hub filter does not delete it.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Failed`}),` describes the tester’s judgement of this session. It does not add a Failed result in Azure Test Plans or change any Quality Gate metric. The verdict is final for that closed session.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`7-export-and-find-your-session-again`,children:`7. Export and find your session again`}),`\n`,_jsxs(_components.p,{children:[`From the closed session, click `,_jsx(_components.strong,{children:`Export PDF report`}),`. Check or adjust the proposed title, then click `,_jsx(_components.strong,{children:`Export`}),`.`]}),`\n`,_jsx(_components.p,{children:`Open the PDF and find the charter, three notes, capture and bug number. If the image could not be retrieved, it may appear by name: read any unavailable-evidence notices before sharing the document.`}),`\n`,_jsxs(_components.p,{children:[`Return to the TestPulse hub’s `,_jsx(_components.strong,{children:`Explore`}),` tab. Filter by campaign `,_jsx(_components.strong,{children:`TP-DOC`}),`, expand the user story and find your session. A closed session’s link leads to its Task. On that Task, the `,_jsx(_components.strong,{children:`Explore`}),` tab lets you read the saved session.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Final check:`}),` you should be able to start from the hub, find the Task, open the bug and read the PDF. The downloaded export is not automatically attached to the Task; use `,_jsx(_components.strong,{children:`Attach report to task`}),` only if you want to store it there too.`]}),`\n`,_jsx(Heading,{level:`2`,id:`if-your-screen-differs`,children:`If your screen differs`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symptom`}),_jsx(_components.th,{children:`Check and action`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`I see a session list instead of the form.`}),_jsx(_components.td,{children:`You are in the Explore hub. Open the demo user story, then its Explore tab.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The capture does not paste.`}),_jsxs(_components.td,{children:[`Check that the clipboard contains an image and Explore has focus. `,_jsx(_components.strong,{children:`Browse…`}),` also accepts files, but a dropped image is a file attachment rather than a capture embedded in the PDF.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Azure DevOps rejects an attachment or creation.`}),_jsx(_components.td,{children:`Read the message: scope re-approval and work item permissions are different checks. Have the relevant issue checked, then retry the failed action.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A save error appears.`}),_jsx(_components.td,{children:`Keep the form open and check connectivity. Visible entries do not prove that they were saved.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Some files did not upload.`}),_jsx(_components.td,{children:`Identify the failures named in the message. Successfully attached files remain; retry only those that are missing.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Closure fails.`}),_jsx(_components.td,{children:`The session stays active and can be retried. Resolve the stated cause, then retry closure instead of starting another session.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The Task exists but its requested state was not applied.`}),_jsx(_components.td,{children:`Closure succeeded; only the transition failed. Open the Task and handle its state using the project’s rules. Do not duplicate the session.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The hub still shows the session as active after closure.`}),_jsx(_components.td,{children:`If a message says the index was not refreshed, reload the hub and check the Task that already exists.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`I cannot find a colleague’s session.`}),_jsxs(_components.td,{children:[`Remove `,_jsx(_components.strong,{children:`Filtered to my sessions`}),`, check other filters and include archived sessions if needed. Resuming an active session belongs to the account that started it.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The Task tab cannot find the session.`}),_jsx(_components.td,{children:`Check the TestPulse version and the Task’s origin. A session created in TestPulse Studio’s Explore AI belongs in that other tab, not in TestPulse.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`try-it-yourself`,children:`Try it yourself`}),`\n`,_jsxs(_components.p,{children:[`Start another demo session with a charter that explores the limits of promotion code `,_jsx(_components.strong,{children:`DEMO10`}),`. Record an observation, a question and a test idea, then create a `,_jsx(_components.strong,{children:`Test case`}),` rather than a bug.`]}),`\n`,_jsx(_components.p,{children:`Review the proposed steps before creation: notes and capture meaning affect how they are built. You have succeeded when a colleague can understand the scenario from the created case without having attended the session.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Captures and work item creation`,icon:`pencil`,href:`/en/exploratory/capture-and-create`,children:`Go further with annotations, attachments and test cases.`}),_jsx(Card,{title:`Find project sessions`,icon:`layout-list`,href:`/en/exploratory/sessions-hub`,children:`Understand filters, statuses and scope reports.`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"An exploratory session from start to finish","description":"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.","icon":"compass","href":"/en/tutorials/exploratory-session"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"1. Open Explore from the item you want to test","slug":"1-open-explore-from-the-item-you-want-to-test","depth":2,"children":[]},{"title":"2. Define a charter you can check","slug":"2-define-a-charter-you-can-check","depth":2,"children":[]},{"title":"3. Explore and record what happened","slug":"3-explore-and-record-what-happened","depth":2,"children":[]},{"title":"4. Add a capture that explains the finding","slug":"4-add-a-capture-that-explains-the-finding","depth":2,"children":[]},{"title":"5. Turn the finding into an actionable bug","slug":"5-turn-the-finding-into-an-actionable-bug","depth":2,"children":[]},{"title":"6. Close the session and find its Task","slug":"6-close-the-session-and-find-its-task","depth":2,"children":[]},{"title":"7. Export and find your session again","slug":"7-export-and-find-your-session-again","depth":2,"children":[]},{"title":"If your screen differs","slug":"if-your-screen-differs","depth":2,"children":[]},{"title":"Try it yourself","slug":"try-it-yourself","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"test-pulse","siteName":"TestPulse","title":"An exploratory session from start to finish - TestPulse","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/tutorials/exploratory-session","matchLevel":0},"fr":{"href":"/fr/tutorials/exploratory-session","matchLevel":1}}},"lastModified":"2026-10-12T10:49:01.700Z","originalFileLocation":"en/tutorials/exploratory-session.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TestPulse\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"An exploratory session from start to finish - TestPulse\">\u003cmeta data-mint-head property=\"og:description\" content=\"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TestPulse\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.atconseil.info/en/tutorials/exploratory-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://test-pulse.mintlify.app/_mintlify/api/og/v2?division=Guided+workshops\u0026amp;title=An+exploratory+session+from+start+to+finish\u0026amp;description=Turn+a+charter+into+a+documented+session%3A+notes%2C+an+annotated+capture%2C+a+linked+bug%2C+an+archive+task+and+a+PDF.\u0026amp;theme=5af5a5a9342a4cf615410699\u0026amp;signature=9fa05e46ea0a9701c2e5a2670fd7c32542ab707b530f7e132cfa48919cd86215\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"An exploratory session from start to finish - TestPulse\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://test-pulse.mintlify.app/_mintlify/api/og/v2?division=Guided+workshops\u0026amp;title=An+exploratory+session+from+start+to+finish\u0026amp;description=Turn+a+charter+into+a+documented+session%3A+notes%2C+an+annotated+capture%2C+a+linked+bug%2C+an+archive+task+and+a+PDF.\u0026amp;theme=5af5a5a9342a4cf615410699\u0026amp;signature=9fa05e46ea0a9701c2e5a2670fd7c32542ab707b530f7e132cfa48919cd86215\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/test-pulse/35-PNLyFgMpfBvJe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TestPulse\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.atconseil.info/en/tutorials/exploratory-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/tutorials/exploratory-session.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.atconseil.info/en/tutorials/exploratory-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.atconseil.info/fr/tutorials/exploratory-session\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.atconseil.info/en/tutorials/exploratory-session\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.atconseil.info/#organization\",\"name\":\"TestPulse\",\"url\":\"https://docs.atconseil.info\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/test-pulse/piNZ15_PZTLkwUj0/logo/light.svg?fit=max\u0026auto=format\u0026n=piNZ15_PZTLkwUj0\u0026q=85\u0026s=30385e977f354302cd44536aba793858\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.atconseil.info#website\",\"name\":\"TestPulse\",\"url\":\"https://docs.atconseil.info\",\"publisher\":{\"@id\":\"https://docs.atconseil.info/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.atconseil.info/en/tutorials/exploratory-session#webpage\",\"url\":\"https://docs.atconseil.info/en/tutorials/exploratory-session\",\"name\":\"An exploratory session from start to finish\",\"description\":\"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\",\"dateModified\":\"2026-10-12T10:49:01.700Z\",\"isPartOf\":{\"@id\":\"https://docs.atconseil.info#website\"},\"breadcrumb\":{\"@id\":\"https://docs.atconseil.info/en/tutorials/exploratory-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.atconseil.info/en/tutorials/exploratory-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guided workshops\",\"item\":\"https://docs.atconseil.info/en/tutorials/demo-project\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An exploratory session from start to finish\",\"item\":\"https://docs.atconseil.info/en/tutorials/exploratory-session\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.atconseil.info/en/tutorials/exploratory-session#article\",\"headline\":\"An exploratory session from start to finish\",\"name\":\"An exploratory session from start to finish\",\"description\":\"Turn a charter into a documented session: notes, an annotated capture, a linked bug, an archive task and a PDF.\",\"url\":\"https://docs.atconseil.info/en/tutorials/exploratory-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.atconseil.info/en/tutorials/exploratory-session#webpage\"},\"dateModified\":\"2026-10-12T10:49:01.700Z\",\"publisher\":{\"@id\":\"https://docs.atconseil.info/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.atconseil.info#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TestPulse\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"TestPulse","nav":{"global":null,"languages":[{"language":"en","groups":[{"group":"Getting started","icon":"rocket","pages":[{"title":"Succeed with TestPulse","icon":"sparkles","href":"/en"},{"title":"Installation","icon":"download","href":"/en/getting-started/installation"},{"title":"Quickstart: your first report","icon":"play","href":"/en/getting-started/quickstart"}]},{"group":"Guided workshops","icon":"graduation-cap","pages":[{"title":"Prepare the demo shop","icon":"flask-conical","href":"/en/tutorials/demo-project"},{"title":"Your first report, from plan to PDF","icon":"file-text","href":"/en/tutorials/first-report"},{"title":"Understand and explain a NO-GO","description":"Trace the verdict back to its rules, results and bugs, while keeping the calculation separate from a human decision.","icon":"shield-check","href":"/en/tutorials/understand-no-go"},{"title":"An exploratory session from start to finish","icon":"compass","href":"/en/tutorials/exploratory-session"},{"title":"Import CSV test cases and organise their suites","description":"Create tests from a CSV file, reuse static suites and build missing levels after reviewing the preview.","icon":"file-spreadsheet","href":"/en/tutorials/import-csv-test-cases"}]},{"group":"Concepts","icon":"book-open","pages":[{"title":"The Test Plans model","icon":"network","href":"/en/concepts/model"},{"title":"Traceability \u0026 hierarchy","icon":"git-branch","href":"/en/concepts/traceability"},{"title":"Reads, writes and data flows","icon":"lock","href":"/en/concepts/read-only"},{"title":"Statuses \u0026 results","icon":"list-checks","href":"/en/concepts/statuses"}]},{"group":"Generate a report","icon":"file-text","pages":[{"title":"Generate a report","icon":"file-text","href":"/en/reports/generate-a-report"},{"title":"Bugs of a report","icon":"bug","href":"/en/reports/campaign-bugs"},{"title":"Cover page","icon":"file-badge","href":"/en/reports/cover-page"},{"title":"Generation \u0026 templates","icon":"zap","href":"/en/reports/generation-and-templates"},{"title":"Suite × Configuration matrix","icon":"grid-3x3","href":"/en/reports/suite-configuration-matrix"},{"title":"Bulk reassignment","icon":"users","href":"/en/reports/bulk-reassignment"}]},{"group":"Exports","icon":"file-output","pages":[{"title":"Export formats","icon":"file-output","href":"/en/exports/formats"},{"title":"Show or hide export buttons","icon":"eye","href":"/en/exports/button-visibility"}]},{"group":"Quality \u0026 decision","icon":"shield-check","pages":[{"title":"Coverage depth","icon":"gauge","href":"/en/quality/coverage-depth"},{"title":"Quality Gate — grade \u0026 GO/NO-GO","icon":"shield-check","href":"/en/quality/quality-gate"},{"title":"Decision support","icon":"circle-check-big","href":"/en/quality/decision-support"},{"title":"Requirement Drift \u0026 stale coverage","icon":"git-compare-arrows","href":"/en/quality/requirement-drift"}]},{"group":"Cockpit","icon":"gauge","pages":[{"title":"Execution Cockpit — the morning stand-up","icon":"gauge","href":"/en/cockpit/execution-cockpit"}]},{"group":"Dashboard","icon":"layout-dashboard","pages":[{"title":"Quality overview widget","icon":"layout-dashboard","href":"/en/dashboard/quality-overview-widget"}]},{"group":"Coverage Builder","icon":"list-checks","pages":[{"title":"Coverage Builder — from requirements to a plan","icon":"list-checks","href":"/en/coverage-builder/overview"},{"title":"Create the plan in Azure DevOps","icon":"square-pen","href":"/en/coverage-builder/create-plan"}]},{"group":"Test Repository","icon":"folder-tree","pages":[{"title":"Test Repository — organize your test cases","icon":"folder-tree","href":"/en/test-repository/overview"},{"title":"Organize at scale","icon":"layers","href":"/en/test-repository/organize"},{"title":"Generate a plan from a folder","icon":"square-pen","href":"/en/test-repository/generate-a-plan"}]},{"group":"Reports history","icon":"history","pages":[{"title":"Report history \u0026 collaboration","icon":"history","href":"/en/collaboration/history"},{"title":"Notifications \u0026 scheduled reports","icon":"bell","href":"/en/collaboration/notifications-and-scheduling"}]},{"group":"Configuration","icon":"settings","pages":[{"title":"Settings \u0026 imports","icon":"settings","href":"/en/configuration/settings-and-import"}]},{"group":"On the work item","icon":"list-checks","pages":[{"title":"The Test coverage tab (on the work item)","icon":"list-checks","href":"/en/work-item/test-coverage-tab"}]},{"group":"Exploratory testing","icon":"compass","pages":[{"title":"Exploratory testing — the Explore tab","icon":"compass","href":"/en/exploratory/overview"},{"title":"Sessions hub","icon":"layout-list","href":"/en/exploratory/sessions-hub"},{"title":"Capture, annotate \u0026 create","icon":"pencil","href":"/en/exploratory/capture-and-create"},{"title":"Promotion decision","icon":"milestone","href":"/en/exploratory/promotion-decision"},{"title":"Session report","icon":"file-text","href":"/en/exploratory/session-report"}]},{"group":"Security","icon":"shield","pages":[{"title":"Privacy and data","icon":"shield","href":"/en/security/privacy"},{"title":"Permissions and scopes","icon":"key","href":"/en/security/permissions"}]},{"group":"Reference","icon":"library","pages":[{"title":"FAQ \u0026 troubleshooting","icon":"circle-help","href":"/en/reference/faq"},{"title":"Glossary","icon":"book-a","href":"/en/reference/glossary"}]},{"group":"Changelog","icon":"clock","pages":[{"title":"Changelog","icon":"clock","href":"/en/changelog"}]}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/tutorials/exploratory-session"}]}]},"title":"An exploratory session from start to finish - TestPulse","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}