{"id":3390,"date":"2016-02-03T10:10:35","date_gmt":"2016-02-03T10:10:35","guid":{"rendered":"https:\/\/www.happiestminds.com\/blogs\/?p=3390"},"modified":"2024-04-10T08:10:08","modified_gmt":"2024-04-10T08:10:08","slug":"viewing-testing-as-an-observation-on-data-in-motion","status":"publish","type":"post","link":"https:\/\/www.happiestminds.com\/blogs\/viewing-testing-as-an-observation-on-data-in-motion\/","title":{"rendered":"Viewing Testing as an observation on &#8220;Data in Motion&#8221;"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p style=\"text-align: justify;\">Testing has been traditionally viewed as an exercise of observing and commenting on the behavior of an &#8220;<a title=\"application under test\" href=\"https:\/\/www.happiestminds.com\/casestudies\/Mobile-Security-and-Web-Application-Penetration-Testing.pdf\" target=\"_blank\" rel=\"noopener\">application under test<\/a>&#8220;. Testers have been always groomed to be honest to the &#8220;requirements&#8221; that form the basis of solutions. Then came the era of scale and the consequent resource contention issues that software (and associated hardware). &#8220;Nonfunctional Requirements&#8221; also got added as a new dimension to testing. But the focus still remained the same &#8211; application behavior. As applications grew to become <em>integrated solutions<\/em> and then platforms, the philosophy of testing remained the same.<\/p>\n<p style=\"text-align: justify;\">A parallel view for testing evolved in the meantime &#8211; primarily led by the data warehouse world &#8211; a concept that looked at software as a &#8220;means&#8221; to achieving data transformation, processing and reporting. Testing can also be viewed as data in motion. Of course, the functions that retrieve, store, transmit, process and syndicate\/present data are as important as the data itself from a testing standpoint, but then &#8211; as long as the data moves in an expected fashion from the source to the end under a spectrum of conditions, the product can be deemed &#8220;<a title=\"Quality Assured\" href=\"https:\/\/www.happiestminds.com\/services\/independent-testing-services\/\" target=\"_blank\" rel=\"noopener\">Quality Assured<\/a>&#8220;.<\/p>\n<p style=\"text-align: justify;\"><strong>A few aspects of data centered testing\u00a0 &#8211; One needs a thorough understanding of<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li>The journey points of the data across the solution stack.<\/li>\n<li>Transient conditions that impact (by design or by virtue of the environment &#8211; read production environment, co-existing applications, hardware degradation, load balancers, cloud scaling behaviors, etc.)<\/li>\n<li>Expected processing logic of the data by the app\/solution\/platform functions &#8211; Can be a modification (as in computational logic), a transformation of the form (such as to an HDFS file system), Derived processing (referencing the data and presenting new data as a relation to it, analytics and reporting can also be viewed under this), etc.<\/li>\n<li>The spectrum of data that would be realistically needed to be studied &#8211; as close to business or production-like data.<\/li>\n<li>Adverse situations that may impair the data journey (negative testing) or corrupt the data that is in motion.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">There are several more of such dimensions that could be used to build a framework for testing.<\/p>\n<p style=\"text-align: justify;\">Is data-centered testing a better than traditional app focused testing? Some key points in its favor<\/p>\n<ul style=\"text-align: justify;\">\n<li>It focuses on what the end-user wants ultimately. After all, content is king, and it is information that the end-user is seeking.<\/li>\n<li>It would trigger the right testing questions and answers &#8211; with the tester not being subject to distractions caused by an abnormal obsession with an application&#8217;s attributes &#8211; a.k.a functional specs.<\/li>\n<li>It could be a basis for <a title=\"Independent Testing Services\" href=\"https:\/\/www.happiestminds.com\/services\/software-product-engineering\/independent-testing-services\" target=\"_blank\" rel=\"noopener\">testing<\/a> under incremental development processes. A part of the &#8220;data journey&#8221; can be incrementally and absolutely (integration tests as well as end to end tests)<\/li>\n<li>Could lend more easily to several test optimization and visualization techniques such as state transition, branch analysis, etc.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">The next level of detail could be in how one could achieve a reasonable level of effectiveness of the implementation of such a concept on the ground. That would involve the right methods to sample the data in motion, comparison mechanisms, test data management and test results correlation to business requirements.<\/p>\n<p style=\"text-align: justify;\">\n<div class=\"pld-like-dislike-wrap pld-template-2\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Like\" data-post-id=\"3390\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-heart\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">0    <\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Testing has been traditionally viewed as an exercise of observing and commenting on the behavior of an &#8220;application under test&#8220;. Testers have been always groomed to be honest to the &#8220;requirements&#8221; that form the basis of solutions. Then came the era of scale and the consequent resource contention issues that software (and associated hardware). &#8220;Nonfunctional [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":983,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[123,120],"tags":[313,703,927,930,1451,1624],"class_list":["post-3390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","category-testing","tag-analytics","tag-analytics-and-reporting","tag-data-analytics","tag-data-centered-testing","tag-quality-assured","tag-testing"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/posts\/3390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/comments?post=3390"}],"version-history":[{"count":1,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/posts\/3390\/revisions"}],"predecessor-version":[{"id":12094,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/posts\/3390\/revisions\/12094"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/media\/983"}],"wp:attachment":[{"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/media?parent=3390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/categories?post=3390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.happiestminds.com\/blogs\/wp-json\/wp\/v2\/tags?post=3390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}