[{"data":1,"prerenderedAt":58},["ShallowReactive",2],{"wiki-test-management-migrating-test-management-systems-en":3},{"meta":4,"html":8,"headings":9,"words":57},{"title":5,"description":6,"published":7,"updated":7},"Migration between test management systems","Migration between test management systems: what is transferred, CSV, XML and API formats, field mapping, identifiers and links, verification after migration.","2026-11-03","\u003Cp>\u003Cstrong>Migration between test management systems\u003C/strong> is the transfer of test data from one system to another: the structure of projects and \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-suite\">test suites\u003C/span>, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-case\">test cases\u003C/span> with their steps and attributes, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"custom-property\">custom properties\u003C/span>, attachments, and, depending on the decision of the team, the history of \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-run\">test runs\u003C/span> and the links to requirements and \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"defect\">defects\u003C/span>. Migration ends when the new system is used for testing and its data are confirmed to match the source.\u003C/p>\n\u003Cp>No standard defines a format for exchanging test cases between \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-management-system\">test management systems\u003C/span>. Systems export and import data in general-purpose formats: CSV and spreadsheets, their own XML or JSON formats, and their APIs. Two neighboring areas have common formats: \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"junit-xml\">JUnit XML\u003C/span> for the results of automated tests and \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"reqif\">ReqIF\u003C/span>, the Requirements Interchange Format of the Object Management Group, for requirements. The entities that are transferred are described in the article \u003Ca href=\"/en/wiki/test-management/what-is-a-test-management-system\" class=\"wiki-link wiki-link--article\">What is a test management system\u003C/a>.\u003C/p>\n\u003Ch2 id=\"why-migration-is-not-a-copy\" class=\"wiki-heading\">Why migration is not a copy\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"why-migration-is-not-a-copy\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>The core entities are similar in most test management systems, but their data models differ in details, and each detail affects the transfer:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Steps.\u003C/strong> In one system a step is a separate record with an action and an \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"expected-result\">expected result\u003C/span>; in another the steps are one text field.\u003C/li>\n\u003Cli>\u003Cstrong>Fields.\u003C/strong> The sets of standard fields differ, and so do their values: three levels of priority in one system, four in another.\u003C/li>\n\u003Cli>\u003Cstrong>Custom properties.\u003C/strong> Field types (list, multiple choice, number, date, user) and their allowed values are defined per system and per project.\u003C/li>\n\u003Cli>\u003Cstrong>Formatting.\u003C/strong> Text can be stored as HTML, Markdown or plain text, and tables, images and links inside the text are encoded differently.\u003C/li>\n\u003Cli>\u003Cstrong>Identifiers.\u003C/strong> The target system assigns its own identifiers. Everything that referred to the old identifiers, including automated tests, defects in the bug tracker and documents, has to be updated or mapped.\u003C/li>\n\u003Cli>\u003Cstrong>History.\u003C/strong> Results of past runs refer to versions of test cases, users and environments. Not every system can import results with their original dates and executors.\u003C/li>\n\u003C/ul>\n\u003Cp>Migration is therefore a transformation of data from one model into another, with decisions about what is transferred, how and what is left behind.\u003C/p>\n\u003Ch2 id=\"what-is-transferred\" class=\"wiki-heading\">What is transferred\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"what-is-transferred\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>The table lists the kinds of data and the questions that are decided for each of them before migration:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Data\u003C/th>\n\u003Cth>Questions to decide\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Structure: projects, suites, folders\u003C/td>\n\u003Ctd>Is the tree kept as it is or reorganized? How are nested levels mapped if the depth is limited?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Test cases\u003C/td>\n\u003Ctd>Which statuses are transferred: only active ones or also deprecated? Which versions: the latest or all?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Steps and expected results\u003C/td>\n\u003Ctd>Are steps transferred as separate records or as text? How are shared steps and called test cases handled?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Standard fields\u003C/td>\n\u003Ctd>How are priorities, types and statuses mapped between the two sets of values?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Custom properties\u003C/td>\n\u003Ctd>Which are needed in the new system? Are their types and values created before import?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Attachments\u003C/td>\n\u003Ctd>Are files transferred with the test cases and results? How are images embedded in the text resolved?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Test runs and results\u003C/td>\n\u003Ctd>Is the history transferred, kept in the old system as an archive, or exported to files?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Links to requirements\u003C/td>\n\u003Ctd>Do the requirements stay in the same tool? Are the links recreated by identifier?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Links to defects\u003C/td>\n\u003Ctd>Do the defects stay in the bug tracker? Are the links from results to defects recreated?\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Users\u003C/td>\n\u003Ctd>How are authors and executors mapped to accounts in the new system?\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch3 id=\"test-runs-and-their-history\" class=\"wiki-heading\">Test runs and their history\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"test-runs-and-their-history\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>History is the most expensive part of a migration. Results refer to test cases, environments, builds and users, and all of them have to exist in the target system before the results are imported. Some systems do not allow results to be created with an original date or on behalf of another user.\u003C/p>\n\u003Cp>Three approaches are common:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>full transfer\u003C/strong>: runs and results are imported with their dates and executors where the target system allows it;\u003C/li>\n\u003Cli>\u003Cstrong>summary transfer\u003C/strong>: only the latest result of each test case, or the results of the last release, are imported;\u003C/li>\n\u003Cli>\u003Cstrong>archive\u003C/strong>: the history stays in the old system in read-only mode or is exported to files, and the new system starts with new runs.\u003C/li>\n\u003C/ul>\n\u003Cp>The choice depends on what the history is used for: audits and regulatory requirements, analysis of unstable areas, comparisons with past releases.\u003C/p>\n\u003Ch2 id=\"exchange-formats\" class=\"wiki-heading\">Exchange formats\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"exchange-formats\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"csv-and-spreadsheets\" class=\"wiki-heading\">CSV and spreadsheets\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"csv-and-spreadsheets\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>CSV is the format that almost every test management system can export and import. Its common description is RFC 4180 (October 2005), which has the status of an informational document, not a standard. According to RFC 4180, records end with a line break CRLF, an optional first line contains the names of the fields, and a field that contains a comma, a double quote or a line break is enclosed in double quotes; a double quote inside such a field is written twice.\u003C/p>\n\u003Cp>Test cases often contain multi-line text, so these rules matter. A test case with two steps in one CSV record:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"csv\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">csv\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Copied\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Copy\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Copied\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>ID,Title,Priority,Steps,Expected Result\nTC-13,&quot;Pay with an expired card&quot;,High,&quot;1. Open the cart and click &quot;&quot;Checkout&quot;&quot;\n2. Click &quot;&quot;Pay&quot;&quot;&quot;,&quot;The message &quot;&quot;Card expired&quot;&quot; is shown&quot;\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>RFC 4180 does not fix the character encoding: it names US-ASCII as common usage and allows other character sets through the \u003Ccode>charset\u003C/code> parameter of the media type. In practice, the encoding, the separator (comma or semicolon) and the format of dates are agreed between the export and the import, otherwise non-Latin text and dates are corrupted.\u003C/p>\n\u003Cp>Two limits of CSV follow from its structure. A record is flat, so steps as separate records are encoded either as one multi-line field or as several rows of one test case, depending on what the importing system expects. Attachments cannot be placed in CSV and are transferred separately.\u003C/p>\n\u003Cp>Spreadsheets in the Office Open XML format (XLSX, standardized as ECMA-376 and ISO/IEC 29500) are used in the same way. They avoid the problems of separators and encodings but have the same flat structure.\u003C/p>\n\u003Ch3 id=\"xml-and-json-exports\" class=\"wiki-heading\">XML and JSON exports\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"xml-and-json-exports\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Many systems export a project in their own XML or JSON format, which keeps the structure: suites, test cases, steps as separate elements, custom properties, sometimes attachments. Such a format is documented by the vendor of the source system. A target system can import it if it supports the format of this particular source, or a script converts it into the import format of the target.\u003C/p>\n\u003Ch3 id=\"api\" class=\"wiki-heading\">API\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"api\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>An API gives access to all data that the system stores, including the data that an export does not contain. A migration through the API reads the data from the source and writes it into the target with a script. Such a script takes into account the limits of the APIs: pagination of lists, limits on the number of requests per minute, the order of creation (a suite before its test cases, a test case before its results), and repeated attempts after errors.\u003C/p>\n\u003Ch3 id=\"formats-of-neighboring-areas\" class=\"wiki-heading\">Formats of neighboring areas\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"formats-of-neighboring-areas\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>The results of automated tests are not migrated as history in most cases. After migration, the CI \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"ci-pipeline\">pipeline\u003C/span> sends new results to the new system, usually in the JUnit XML format. Automated tests that contain identifiers of test cases in their names or attributes are updated to the new identifiers.\u003C/p>\n\u003Cp>Requirements that are moved together with the test cases can be exchanged in ReqIF, if both tools support it. ReqIF is an XML format of the OMG; its current version 1.2 was published in July 2016.\u003C/p>\n\u003Ch2 id=\"field-mapping\" class=\"wiki-heading\">Field mapping\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"field-mapping\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>A \u003Cstrong>field mapping\u003C/strong> is a table that says for each field of the source where it goes in the target and how its value is transformed. It is written before the first trial import and is the main document of the migration.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Source field\u003C/th>\n\u003Cth>Target field\u003C/th>\n\u003Cth>Transformation\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>ID\u003C/td>\n\u003Ctd>Custom property &quot;Legacy ID&quot;\u003C/td>\n\u003Ctd>Copied as is\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Title\u003C/td>\n\u003Ctd>Title\u003C/td>\n\u003Ctd>Copied as is\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Priority: Critical, High, Medium, Low\u003C/td>\n\u003Ctd>Priority: High, Medium, Low\u003C/td>\n\u003Ctd>Critical and High become High\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Status: Draft, Ready, Obsolete\u003C/td>\n\u003Ctd>Status: Draft, Active, Deprecated\u003C/td>\n\u003Ctd>One to one by meaning\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Component (text)\u003C/td>\n\u003Ctd>Custom property &quot;Component&quot; (list)\u003C/td>\n\u003Ctd>Values are normalized and created in the list before import\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Steps (HTML)\u003C/td>\n\u003Ctd>Steps (separate records)\u003C/td>\n\u003Ctd>Text is split by numbered items, HTML is converted to the target markup\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Automation (yes, no)\u003C/td>\n\u003Ctd>Custom property &quot;Automation status&quot;\u003C/td>\n\u003Ctd>yes becomes &quot;Automated&quot;, no becomes &quot;Manual&quot;\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>A mapping that merges values loses information: after Critical and High are merged, the difference between them cannot be restored from the target. If the difference matters, the original value is kept in a separate field.\u003C/p>\n\u003Cp>Values that the mapping does not cover appear in every migration: an unknown status, a component written with a typo, an empty required field. The script reports them instead of filling in defaults silently, and each case gets a decision.\u003C/p>\n\u003Ch2 id=\"identifiers-and-links\" class=\"wiki-heading\">Identifiers and links\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"identifiers-and-links\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>The target system assigns new identifiers. The old identifier is kept in a custom property, for example &quot;Legacy ID&quot;, so that people and documents that refer to the old identifier find the test case. A \u003Cstrong>mapping of identifiers\u003C/strong> from old to new is saved as a separate table after the import.\u003C/p>\n\u003Cp>The mapping of identifiers is used to update everything that referred to the old system:\u003C/p>\n\u003Cul>\n\u003Cli>links from results and test cases to defects in the bug tracker, and links from defects back to test cases;\u003C/li>\n\u003Cli>links between requirements and test cases;\u003C/li>\n\u003Cli>identifiers of test cases in the code of automated tests and in the configuration of the CI pipeline;\u003C/li>\n\u003Cli>references in documents: \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-plan\">test plans\u003C/span>, reports, wiki pages.\u003C/li>\n\u003C/ul>\n\u003Cp>Links inside the migrated data, such as a test case that calls another test case or a result that belongs to a run, are recreated during the import in the order of dependencies: first the objects that are referred to, then those that refer to them.\u003C/p>\n\u003Ch2 id=\"migration-process\" class=\"wiki-heading\">Migration process\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"migration-process\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>A migration of test data usually goes through the following stages:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>Inventory.\u003C/strong> The volume of data is counted: projects, suites, test cases by status, custom properties, attachments and their total size, runs and results.\u003C/li>\n\u003Cli>\u003Cstrong>Scope.\u003C/strong> The team decides what is transferred and what is left behind: deprecated test cases, history, attachments of old runs.\u003C/li>\n\u003Cli>\u003Cstrong>Mapping.\u003C/strong> The field mapping is written, the custom properties and their values are created in the target system.\u003C/li>\n\u003Cli>\u003Cstrong>Trial migration.\u003C/strong> A part of the data, for example one project or one suite with test cases of all kinds, is migrated to a test space and checked.\u003C/li>\n\u003Cli>\u003Cstrong>Corrections.\u003C/strong> The mapping and the script are corrected based on the trial, and the trial is repeated until the check passes.\u003C/li>\n\u003Cli>\u003Cstrong>Freeze.\u003C/strong> Changes in the source system are stopped for the time of the full migration, or the changes made during the migration are recorded and transferred afterwards.\u003C/li>\n\u003Cli>\u003Cstrong>Full migration.\u003C/strong> All data within the scope are migrated.\u003C/li>\n\u003Cli>\u003Cstrong>Verification.\u003C/strong> The result is checked against the source, as described below.\u003C/li>\n\u003Cli>\u003Cstrong>Switch.\u003C/strong> Testing moves to the new system, the CI pipeline sends results there, the old system is set to read-only or archived.\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"verification-after-migration\" class=\"wiki-heading\">Verification after migration\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"verification-after-migration\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Verification compares the target with the source at several levels.\u003C/p>\n\u003Cp>\u003Cstrong>Counts.\u003C/strong> The numbers of objects are compared per project and per suite: test cases by status, steps, attachments, runs, results. A difference in counts is found and explained before anything else is checked.\u003C/p>\n\u003Cp>\u003Cstrong>Sample comparison.\u003C/strong> A sample of test cases is compared field by field: the title, all steps and expected results, every custom property, the attachments. The sample includes the difficult cases: long texts, tables and images in the text, non-Latin characters, test cases with many steps, test cases with all custom properties filled in.\u003C/p>\n\u003Cp>\u003Cstrong>Attachments.\u003C/strong> The number and the total size of files are compared, and a sample of files is opened. Images embedded in the text of test cases are checked separately, because they are referenced from the text and are lost when the reference is not converted.\u003C/p>\n\u003Cp>\u003Cstrong>Links.\u003C/strong> For a sample of test cases, the links to requirements and defects are followed in both directions. For automated tests, a CI run is executed and its results are checked to arrive in the right test cases of the new system.\u003C/p>\n\u003Cp>\u003Cstrong>Use.\u003C/strong> Testers execute a small run in the new system before the switch. The run checks what counts and samples cannot: that the test cases are readable, that filters and reports work with the migrated custom properties.\u003C/p>\n\u003Ch2 id=\"migration-with-and-without-history\" class=\"wiki-heading\">Migration with and without history\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"migration-with-and-without-history\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>The decision about history affects the cost and the duration of the migration more than any other.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003C/th>\n\u003Cth>With history\u003C/th>\n\u003Cth>Without history\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>What is transferred\u003C/td>\n\u003Ctd>Test cases, structure, runs and results with dates and executors\u003C/td>\n\u003Ctd>Test cases and structure; runs start anew\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Requirements to the target system\u003C/td>\n\u003Ctd>Import of results with original dates and users\u003C/td>\n\u003Ctd>Import of test cases only\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Effort\u003C/td>\n\u003Ctd>High: environments, builds, users and versions of test cases are recreated\u003C/td>\n\u003Ctd>Lower\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Where the history lives\u003C/td>\n\u003Ctd>In the new system\u003C/td>\n\u003Ctd>In the old system in read-only mode or in exported files\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Reports across the switch\u003C/td>\n\u003Ctd>Possible in one system\u003C/td>\n\u003Ctd>Require combining data from two sources\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>The history in the old system stays available only as long as the old system or its export is kept. When the old system is shut down, the export of the history is the only copy, and its format and readability are checked before the shutdown.\u003C/p>\n\u003Ch2 id=\"terms\" class=\"wiki-heading\">Terms\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"terms\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Term\u003C/th>\n\u003Cth>Meaning\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Migration between test management systems\u003C/td>\n\u003Ctd>Transfer of test data from one system to another with transformation into the data model of the target\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Field mapping\u003C/td>\n\u003Ctd>Table that says for each field of the source where it goes in the target and how its value is transformed\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Mapping of identifiers\u003C/td>\n\u003Ctd>Table of correspondence between the identifiers of objects in the source and in the target\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Trial migration\u003C/td>\n\u003Ctd>Migration of a part of the data to a test space to check the mapping and the script\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>CSV\u003C/td>\n\u003Ctd>Comma-separated values: text format of tables, described by RFC 4180\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>ReqIF\u003C/td>\n\u003Ctd>Requirements Interchange Format: XML format of the OMG for exchanging requirements between tools\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"sources\" class=\"wiki-heading\">Sources\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"sources\" aria-label=\"Copy link to section\" data-copied-label=\"Link to section copied\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://www.rfc-editor.org/rfc/rfc4180\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">RFC 4180, Common Format and MIME Type for Comma-Separated Values (CSV) Files, October 2005\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(opens in a new tab)\u003C/span>\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"https://ecma-international.org/publications-and-standards/standards/ecma-376/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">ECMA-376, Office Open XML file formats, Ecma International\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(opens in a new tab)\u003C/span>\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.omg.org/spec/ReqIF/1.2\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Requirements Interchange Format (ReqIF), version 1.2, OMG\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(opens in a new tab)\u003C/span>\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/testmoapp/junitxml\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Common JUnit XML format and examples, Testmo\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(opens in a new tab)\u003C/span>\u003C/a>\u003C/li>\n\u003C/ul>\n",[10,14,17,21,24,27,30,33,36,39,42,45,48,51,54],{"id":11,"level":12,"text":13},"why-migration-is-not-a-copy",2,"Why migration is not a copy",{"id":15,"level":12,"text":16},"what-is-transferred","What is transferred",{"id":18,"level":19,"text":20},"test-runs-and-their-history",3,"Test runs and their history",{"id":22,"level":12,"text":23},"exchange-formats","Exchange formats",{"id":25,"level":19,"text":26},"csv-and-spreadsheets","CSV and spreadsheets",{"id":28,"level":19,"text":29},"xml-and-json-exports","XML and JSON exports",{"id":31,"level":19,"text":32},"api","API",{"id":34,"level":19,"text":35},"formats-of-neighboring-areas","Formats of neighboring areas",{"id":37,"level":12,"text":38},"field-mapping","Field mapping",{"id":40,"level":12,"text":41},"identifiers-and-links","Identifiers and links",{"id":43,"level":12,"text":44},"migration-process","Migration process",{"id":46,"level":12,"text":47},"verification-after-migration","Verification after migration",{"id":49,"level":12,"text":50},"migration-with-and-without-history","Migration with and without history",{"id":52,"level":12,"text":53},"terms","Terms",{"id":55,"level":12,"text":56},"sources","Sources",2300,1793718915720]