PageSourceSearch

https://docs-production-katalon.netlify.app/assets/js/453f5158.b408f313.js

js docs-production-katalon.netlify.app collected 2026-10-03 10:41:33 UTC 7,863 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkKatalon_Docs=self.webpackChunkKatalon_Docs||[]).push([[6992],{28453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>o});var n=t(96540);const a={},r=n.createContext(a);function i(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(r.Provider,{value:s},e.children)}},80706:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"test-case-generation-with-truetest/test-gap-analysis","title":"Test Gap Analysis","description":"Test Gap Analysis feature in TrueTest allows you to discover how well your tests match actual user behavior. Test Gap Analysis helps you find and fix missing test coverage by highlighting which user actions in production are not tested yet. This makes it easy to spot uncovered flows and create tests for them, ensuring your tests are based on real user behavior.","source":"@site/docs/katalon-truetest/test-case-generation-with-truetest/test-gap-analysis.md","sourceDirName":"test-case-generation-with-truetest","slug":"/test-case-generation-with-truetest/test-gap-analysis","permalink":"/katalon-truetest/test-case-generation-with-truetest/test-gap-analysis","draft":false,"unlisted":false,"tags":[],"version":"current","lastUpdatedAt":1753257724000,"frontMatter":{"title":"Test Gap Analysis"},"sidebar":"katalon-truetest","previous":{"title":"Set user session attributes","permalink":"/katalon-truetest/test-case-generation-with-truetest/user-session-attributes"},"next":{"title":"Types of variables in TrueTest","permalink":"/katalon-truetest/test-case-generation-with-truetest/types-of-variables-in-truetest"}}');var a=t(74848),r=t(28453);const i={title:"Test Gap Analysis"},o=void 0,l={},c=[{value:"How it works",id:"how-it-works",level:2},{value:"Use Test Gap Analysis",id:"use-test-gap-analysis",level:2}];function d(e){const s={admonition:"admonition",h2:"h2",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.p,{children:[(0,a.jsx)(s.strong,{children:"Test Gap Analysis"})," feature in TrueTest allows you to discover how well your tests match actual user behavior. Test Gap Analysis helps you find and fix missing test coverage by highlighting which user actions in production are not tested yet. This makes it easy to spot uncovered flows and create tests for them, ensuring your tests are based on real user behavior."]}),"\n",(0,a.jsx)(s.h2,{id:"how-it-works",children:"How it works"}),"\n",(0,a.jsx)(s.p,{children:"Test Gap Analysis works by comparing two user journey maps from different environments:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Primary User Journey Map"}),": typically represents the production environment, where real users interact with your application. This map shows actual usage patterns that you want to ensure are properly tested."]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Secondary User Journey Map"}),": usually represents your testing environment, reflecting the user flows that have already been tested, often based on the latest application version."]}),"\n"]}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"Key benefits"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Give testers direct, actionable insight into real user behavior"}),"\n",(0,a.jsx)(s.li,{children:"Filter out noise and focus only on untested flows that matter"}),"\n",(0,a.jsx)(s.li,{children:"Automatically generate test cases to close the coverage gap"}),"\n",(0,a.jsx)(s.li,{children:"Improve test efficiency and reduce the risk of escaped defects"}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"use-test-gap-analysis",children:"Use Test Gap Analysis"}),"\n",(0,a.jsx)(s.admonition,{title:"Prerequisites",type:"caution",children:(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"You already have at least 2 generated journey maps."}),"\n",(0,a.jsxs)(s.li,{children:["The feature is applicable for maps that have the ",(0,a.jsx)(s.strong,{children:"Active"})," or ",(0,a.jsx)(s.strong,{children:"Archived"})," status."]}),"\n"]})}),"\n",(0,a.jsx)(s.p,{children:"This section explain how to use the Test Gap Analysis feature."}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsxs)(s.li,{children:["Navigate to\xa0",(0,a.jsx)(s.strong,{children:"Test"}),"\xa0>\xa0",(0,a.jsx)(s.strong,{children:"Journey Maps"})," > and click ",(0,a.jsx)(s.strong,{children:"Analyze coverage gap"}),"."]}),"\n",(0,a.jsxs)(s.li,{children:["In the ",(0,a.jsx)(s.strong,{children:"Analyze Coverage Gap"})," dialog, choose a ",(0,a.jsx)(s.strong,{children:"Primary"})," and a ",(0,a.jsx)(s.strong,{children:"Secondary"})," map."]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"info",children:(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["To speed up gap analysis, TrueTest pre-generates results for common comparisons (between two ",(0,a.jsx)(s.strong,{children:"Active"})," maps or recent ",(0,a.jsx)(s.strong,{children:"Archived"})," maps). When these are selected, results display almost instantly after clicking Analyze."]}),"\n",(0,a.jsxs)(s.li,{children:["For older ",(0,a.jsx)(s.strong,{children:"Archived"})," maps, the analysis process may take longer, and you'll receive an email notification once results are ready."]}),"\n"]})}),"\n",(0,a.jsx)("img",{src:"https://tw-cdn.katalon.com/truetest/test-gap-analysis/analyze-coverage-gap-dialog.png",alt:"Analyze coverage gap dialog",width:"500"}),"\n",(0,a.jsxs)(s.ol,{start:"3",children:["\n",(0,a.jsxs)(s.li,{children:["Click ",(0,a.jsx)(s.strong,{children:"Analyze"}),". TrueTest will compare both maps and display the flows.","\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.strong,{children:"Orange paths and boxes"})," show actions and pages available in production but not covered in the testing environment (",(0,a.jsx)(s.strong,{children:"Secondary"})," map)."]}),"\n",(0,a.jsxs)(s.li,{children:["The ",(0,a.jsx)(s.strong,{children:"Flows panel"})," on the left summarizes the uncovered user journeys. Use filters to focus on flows without test cases."]}),"\n",(0,a.jsxs)(s.li,{children:["Click ",(0,a.jsx)(s.strong,{children:"Swap"})," to switch the ",(0,a.jsx)(s.strong,{children:"Primary"})," and ",(0,a.jsx)(s.strong,{children:"Secondary"})," maps if needed."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)("img",{src:"https://tw-cdn.katalon.com/truetest/test-gap-analysis/converage-gap-analysis.png",alt:"Coverage gap analysis",width:"800"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsxs)(s.ol,{start:"4",children:["\n",(0,a.jsxs)(s.li,{children:["Click the ",(0,a.jsx)(s.strong,{children:"Generate test cases"})," link in the ",(0,a.jsx)(s.strong,{children:"Coverage Gap"})," panel. This will take you directly to the ",(0,a.jsx)(s.strong,{children:"List View"})," with all uncovered flows selected automatically."]}),"\n",(0,a.jsxs)(s.li,{children:["Review the selected flows, then click ",(0,a.jsx)(s.strong,{children:"+ Generate test cases"}),". TrueTest will create test cases accordingly.","\n",(0,a.jsx)(s.admonition,{type:"tip",children:(0,a.jsxs)(s.p,{children:["Check the ",(0,a.jsx)(s.strong,{children:"Estimated Remaining"})," section to see how much of your coverage gap still needs attention based on uncovered flows, pages, and actions."]})}),"\n"]}),"\n"]}),"\n",(0,a.jsx)("img",{src:"https://tw-cdn.katalon.com/truetest/test-gap-analysis/select-uncovered-flows.png",alt:"Select uncovered flows",width:"800"})]})}function h(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.