{"id":1716,"date":"2020-04-08T08:03:19","date_gmt":"2020-04-08T15:03:19","guid":{"rendered":"https:\/\/www.lightsondata.com\/?p=1716"},"modified":"2020-04-29T10:24:53","modified_gmt":"2020-04-29T17:24:53","slug":"regression-testing-on-dw-bi-projects","status":"publish","type":"post","link":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/","title":{"rendered":"What you need to know about regression testing on DW\/ BI projects"},"content":{"rendered":"<p>Regression testing on large data integration DW\/BI development projects is challenging. The number of test cases is often massive and many change impacts may be widely spread. For high-level integration regression testing, the retest-all approach is always time and resource consuming.<\/p>\n<p>To counter challenges with regression testing, this article proposes test scenarios based on changes to ETL logic and data. Selected test scenarios should be semi-formal representations of detailed system requirements with their test inputs, outputs, and conditions defined. By using test dependency information, the QA team can use a test slicing algorithm that identifies the scenarios that are affected and thus are candidates for regression testing.<\/p>\n<p>&nbsp;<\/p>\n<h2>What is regression testing?<\/h2>\n<p>Following are three ways of understanding regression testing:<\/p>\n<ol>\n<li>Testing performed after developing functional improvements or repairs to data and BI reports. The purpose of those tests is to establish if changes haves regressed other attributes of data and reports.<\/li>\n<li>A series of tests intended to show that the software\u2019s overall behavior is unchanged except as required by adjustments to the software or data.<\/li>\n<li>Testing conducted for the purpose of evaluating whether specific changes to the system have introduced new failures.<\/li>\n<\/ol>\n<p>Figure 1 shows domains of regression testing to be considered after changes to source data, DW data, ETL\u2019s, business logic, and business intelligence reports.<\/p>\n<figure id=\"attachment_1719\" aria-describedby=\"caption-attachment-1719\" style=\"width: 604px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/04\/common-testing-domains.png?resize=604%2C461&#038;ssl=1\" alt=\"Common testing domains across the DW\/BI project lifecycle\" width=\"604\" height=\"461\" \/><figcaption id=\"caption-attachment-1719\" class=\"wp-caption-text\">Figure 1: Common testing domains across the DW\/BI project lifecycle<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h2>Common strategies for selecting regression test suites<\/h2>\n<ol>\n<li><strong>High priority and high-risk use cases.<\/strong> Choose baseline tests to rerun by risk heuristics &#8211; those with the most risk to data, reports, or dashboards when failing.<\/li>\n<li><strong>End-to-end operational profiles.<\/strong> Choose baseline tests to rerun by allocating time\/QA resources in proportion to operational profile risks (source extraction, data staging, data mart loads, etc.).<\/li>\n<li><strong>Business logic and\/or data changes.<\/strong> Choose baseline tests to rerun after assessing changes to code and data.<\/li>\n<li><strong>Select from existing test cases.<\/strong> Choose baseline tests for regression testing by analyzing dependencies and relationships with changed or added code.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2>Recommended strategies for DW\/BI regression test planning<\/h2>\n<p>Combine the four common strategies from above: Any one of the existing regression testing strategies above may be fine for your project, but in the real world, a combination of the four strategies, as described below, may be a better choice.It is assumed that first we test each change (fix) by running all related test cases. Then for regression testing:<\/p>\n<ol>\n<li><strong>30% of regression tests:<\/strong> Tests representing the riskiest functions and data; in particular, those identified to be affected by changes. Among components for high priority, consider business risk and frequency of using the changed scenario by users.<\/li>\n<li><strong>50% of regression tests:<\/strong> Run all tests planned for general regression testing.<\/li>\n<li><strong>20% of regression tests:<\/strong> Exploratory Testing &#8211; Remember to properly document the results of exploratory testing. For those who not like the idea of \u2018exploratory testing\u2019, use the time in the schedule to improve your understanding of the requirements, the system, and your logical and architectural coverage of application by test cases then plan for exploratory testing.<\/li>\n<\/ol>\n<p>Conventional allocations are 30%; 50% and 20%; other ratios of regression tests may work better for your project (see Figure 2).<\/p>\n<p>&nbsp;<\/p>\n<h3 style=\"text-align: center;\">Percentage of regression tests<\/h3>\n<p style=\"text-align: center;\">Figure 2: Percentages of testing resources and time allocated to the three regression test strategies.<\/p>\n<h2>The selection of test cases for regression testing<\/h2>\n<ul>\n<li>Requires knowledge of logic and data changes\/or bug fixes and how the software may be affected<\/li>\n<li>Includes the data and business logic areas of frequent defects<\/li>\n<li>Includes the areas which have undergone many and\/or recent code changes<\/li>\n<li>Includes the domains which are highly visible to users<\/li>\n<li>Includes the core features of the product which are mandatory requirements by users<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>By using requirements traceability information, one can uncover affected components and their associated test scenarios and test cases for regression testing.<\/p>\n<p>With information about dependencies and traceability, one can use a flow-affect analysis to identify all potentially affected logic and data, (directly or indirectly), scenarios, and thus a set of test cases can be selected for regression testing. <a href=\"https:\/\/www.lightsondata.com\/what-you-need-to-know-about-regression-testing-on-dw-bi-projects-part-2\/\">Checkout Part 2 of this article<\/a> to learn more about the process for selecting regression test cases to be run after changes to DW ETL code or data.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regression testing on large data integration DW\/BI development projects is challenging. The number of test cases is often massive and many change impacts may be widely spread. For high-level integration regression testing, the retest-all approach is always time and resource consuming. To counter challenges with regression testing, this article proposes test scenarios based on changes [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":1717,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[54,41,52,53],"class_list":["post-1716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business-intelligence","tag-bi","tag-data-integration","tag-data-warehouse","tag-dw","post-wrapper","thrv_wrapper"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What you need to know about regression testing on DW\/ BI projects | LightsOnData<\/title>\n<meta name=\"description\" content=\"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What you need to know about regression testing on DW\/ BI projects | LightsOnData\" \/>\n<meta property=\"og:description\" content=\"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/\" \/>\n<meta property=\"og:site_name\" content=\"LightsOnData\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-08T15:03:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-29T17:24:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i1.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Wayne Yaddow\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@georgefirican\" \/>\n<meta name=\"twitter:site\" content=\"@georgefirican\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wayne Yaddow\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/\",\"url\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/\",\"name\":\"What you need to know about regression testing on DW\/ BI projects | LightsOnData\",\"isPartOf\":{\"@id\":\"https:\/\/www.lightsondata.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1\",\"datePublished\":\"2020-04-08T15:03:19+00:00\",\"dateModified\":\"2020-04-29T17:24:53+00:00\",\"author\":{\"@id\":\"https:\/\/www.lightsondata.com\/#\/schema\/person\/4503a79021fcf6acf4850c36356b6ffe\"},\"description\":\"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1\",\"width\":800,\"height\":450,\"caption\":\"What You Need to Know About Regression Testing on DW\/BI Projects\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.lightsondata.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What you need to know about regression testing on DW\/ BI projects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.lightsondata.com\/#website\",\"url\":\"https:\/\/www.lightsondata.com\/\",\"name\":\"LightsOnData\",\"description\":\"Practical resources, online courses, free articles and videos for data management, data governance, data quality, and business intelligence\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.lightsondata.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.lightsondata.com\/#\/schema\/person\/4503a79021fcf6acf4850c36356b6ffe\",\"name\":\"Wayne Yaddow\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lightsondata.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c5eaab6104044bec265d829746d99a451bd1acb77e74af42b55c757e191fe76?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c5eaab6104044bec265d829746d99a451bd1acb77e74af42b55c757e191fe76?s=96&d=retro&r=g\",\"caption\":\"Wayne Yaddow\"},\"description\":\"Wayne Yaddow is an independent consultant with more than 20 years\u2019 experience leading data integration, data warehouse, and ETL testing projects with J.P. Morgan Chase, Credit Suisse, Standard and Poor\u2019s, AIG, Oppenheimer Funds, and IBM. He taught IIST (International Institute of Software Testing) courses on data warehouse and ETL testing and wrote DW\/BI articles for Better Software, The Data Warehouse Institute (TDWI), Tricentis, and others. Wayne continues to lead numerous ETL testing and coaching projects on a consulting basis. You can contact him at wyaddow@gmail.com.\",\"url\":\"https:\/\/www.lightsondata.com\/author\/wyaddowgmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What you need to know about regression testing on DW\/ BI projects | LightsOnData","description":"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/","og_locale":"en_US","og_type":"article","og_title":"What you need to know about regression testing on DW\/ BI projects | LightsOnData","og_description":"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.","og_url":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/","og_site_name":"LightsOnData","article_published_time":"2020-04-08T15:03:19+00:00","article_modified_time":"2020-04-29T17:24:53+00:00","og_image":[{"width":800,"height":450,"url":"https:\/\/i1.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1","type":"image\/jpeg"}],"author":"Wayne Yaddow","twitter_card":"summary_large_image","twitter_creator":"@georgefirican","twitter_site":"@georgefirican","twitter_misc":{"Written by":"Wayne Yaddow","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/","url":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/","name":"What you need to know about regression testing on DW\/ BI projects | LightsOnData","isPartOf":{"@id":"https:\/\/www.lightsondata.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage"},"image":{"@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1","datePublished":"2020-04-08T15:03:19+00:00","dateModified":"2020-04-29T17:24:53+00:00","author":{"@id":"https:\/\/www.lightsondata.com\/#\/schema\/person\/4503a79021fcf6acf4850c36356b6ffe"},"description":"Regression testing on DW\/BI development projects is challenging, but here are ways to counter the challenges faced with regression testing.","breadcrumb":{"@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#primaryimage","url":"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1","width":800,"height":450,"caption":"What You Need to Know About Regression Testing on DW\/BI Projects"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lightsondata.com\/regression-testing-on-dw-bi-projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lightsondata.com\/"},{"@type":"ListItem","position":2,"name":"What you need to know about regression testing on DW\/ BI projects"}]},{"@type":"WebSite","@id":"https:\/\/www.lightsondata.com\/#website","url":"https:\/\/www.lightsondata.com\/","name":"LightsOnData","description":"Practical resources, online courses, free articles and videos for data management, data governance, data quality, and business intelligence","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lightsondata.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.lightsondata.com\/#\/schema\/person\/4503a79021fcf6acf4850c36356b6ffe","name":"Wayne Yaddow","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lightsondata.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c5eaab6104044bec265d829746d99a451bd1acb77e74af42b55c757e191fe76?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c5eaab6104044bec265d829746d99a451bd1acb77e74af42b55c757e191fe76?s=96&d=retro&r=g","caption":"Wayne Yaddow"},"description":"Wayne Yaddow is an independent consultant with more than 20 years\u2019 experience leading data integration, data warehouse, and ETL testing projects with J.P. Morgan Chase, Credit Suisse, Standard and Poor\u2019s, AIG, Oppenheimer Funds, and IBM. He taught IIST (International Institute of Software Testing) courses on data warehouse and ETL testing and wrote DW\/BI articles for Better Software, The Data Warehouse Institute (TDWI), Tricentis, and others. Wayne continues to lead numerous ETL testing and coaching projects on a consulting basis. You can contact him at wyaddow@gmail.com.","url":"https:\/\/www.lightsondata.com\/author\/wyaddowgmail-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.lightsondata.com\/wp-content\/uploads\/2020\/03\/regression-testing-for-dw-bi-projects.jpg?fit=800%2C450&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p9BPV6-rG","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/posts\/1716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/comments?post=1716"}],"version-history":[{"count":9,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/posts\/1716\/revisions"}],"predecessor-version":[{"id":1924,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/posts\/1716\/revisions\/1924"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/media\/1717"}],"wp:attachment":[{"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/media?parent=1716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/categories?post=1716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lightsondata.com\/wp-json\/wp\/v2\/tags?post=1716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}