{"id":1609,"date":"2019-04-02T03:06:26","date_gmt":"2019-04-02T03:06:26","guid":{"rendered":"http:\/\/kusuaks7\/?p=1214"},"modified":"2023-08-25T14:39:24","modified_gmt":"2023-08-25T14:39:24","slug":"the-role-of-a-modern-tester-in-the-era-of-machine-learning-ml-and-artificial-intelligence-ai","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/bigdata-cloud\/the-role-of-a-modern-tester-in-the-era-of-machine-learning-ml-and-artificial-intelligence-ai\/","title":{"rendered":"The Role of a Modern-Tester in The Era of Machine Learning (ML) and Artificial Intelligence (AI)"},"content":{"rendered":"<p>We keep hearing about new solutions for test automation and\u00a0<a href=\"http:\/\/www.perfecto.io\/\" class=\"broken_link\" rel=\"noopener\">continuous testing<\/a>. Such solutions aim to increase the test automation authoring as well as the maintenance associated with these tests as the product evolves.<\/p>\n<p>With this trend, many software quality engineers, SDET, and test automation architects are asking themselves whether their job is at risk, and what\u2019s the future holds for them?<\/p>\n<p>Prior to answering these questions, and re-profiling the modern testers role, let\u2019s examine the terms ML\/AI, the algorithms behind these tools, as well as the tools landscape as of today.<\/p>\n<h2>Artificial Intelligence<\/h2>\n<p><b>Artificial Intelligence<\/b>: Sometimes called\u00a0<b>machine intelligence<\/b>, is\u00a0intelligence\u00a0demonstrated by\u00a0machines, in contrast to the\u00a0<b>natural intelligence<\/b>\u00a0displayed by humans and other animals. In\u00a0computer science\u00a0AI research is defined as the study of \u201cintelligent agents\u201d: any device that perceives its environment and takes actions that maximize its chance of successfully achieving its goals. The term \u201cartificial intelligence\u201d is applied when a machine mimics \u201ccognitive\u201d functions that humans associate with other\u00a0human minds, such as \u201clearning\u201d and \u201cproblem solving\u201d.<\/p>\n<h2>Machine Learning<\/h2>\n<p><b>Machine Learning<\/b>: Is a subset of\u00a0artificial intelligence\u00a0in the field of\u00a0computer science\u00a0that often uses statistical techniques to give\u00a0computers\u00a0the ability to \u201clearn\u201d (i.e., progressively improve performance on a specific task) with\u00a0data, without being explicitly programmed. In a recent blog post from\u00a0<a href=\"https:\/\/www.mabl.com\/blog\/whats-the-difference-between-ai-and-ml\" rel=\"noopener\">Mabl<\/a>, ML was also defined as \u201c<em><strong>Machine learning is the process of continuously presenting a machine with a well defined data sample so that behavior can be developed<\/strong>\u201c<\/em><\/p>\n<p>Common Methods for Developing ML\/AI<\/p>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Gradient_descent\" rel=\"noopener\">Gradient Decent<\/a>\u00a0\u2013\u00a0Is a\u00a0first-order\u00a0iterative\u00a0optimization\u00a0algorithm\u00a0for finding the minimum of a function. To\u00a0<strong>find a\u00a0local minimum\u00a0of a function using gradient descent<\/strong>, one takes steps proportional to the\u00a0<i>negative<\/i>\u00a0of the\u00a0gradient\u00a0(or approximate gradient) of the function at the current point. If instead one takes steps proportional to the\u00a0<i>positive<\/i>\u00a0of the gradient, one approaches a\u00a0local maximum\u00a0of that function; the procedure is then known as\u00a0<b>gradient ascent<\/b>.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Convolutional_neural_network\" rel=\"noopener\">Convolutional Neural Networks<\/a>\u00a0\u2013\u00a0In\u00a0machine learning, a\u00a0convolutional neural network\u00a0(CNN, or\u00a0ConvNet) is a class of deep,\u00a0feed-forward\u00a0artificial neural networks, most commonly applied to\u00a0<strong>analyzing visual imagery<\/strong>. The convolutional layer is the core building block of a CNN. The layer\u2019s parameters consist of a set of learnable filters, that have a small receptive field, but extend through the full depth of the input volume. During the forward pass, each filter is convolved across the width and height of the input volume, computing the\u00a0dot product\u00a0between the entries of the filter and the input and producing a 2-dimensional activation map of that filter. As a result, the network learns filters that activate when it detects some specific type of feature at some spatial position in the input.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/www.investopedia.com\/terms\/l\/lookaheadbias.asp\" class=\"broken_link\" rel=\"noopener\">Lookahead and Backchaining<\/a>\u00a0\u2013\u00a0are the\u00a0<strong>leading<\/strong>\u00a0<strong>models<\/strong>\u00a0<strong>for<\/strong>\u00a0<strong>decision making as part of machine learning<\/strong>.\n<ul>\n<li><b>Backchaining\u00a0<\/b>is a technique used in<strong>\u00a0teaching\u00a0<a href=\"https:\/\/www.slideshare.net\/carologic\/ai-and-machine-learning-demystified-by-carol-smith-at-midwest-ux-2017\/28-AI_and_ML_Demystified_carologic\" rel=\"noopener\">oral<\/a>\u00a0language skills<\/strong>, especially with\u00a0polysyllabic\u00a0or difficult words.\u00a0The teacher pronounces the last syllable, the student repeats, and then the teacher continues, working backwards from the end of the word to the beginning.\u00a0For example, to teach the name \u2018<b>Kinsbruner<\/b>\u2018 a teacher will pronounce the last syllable:\u00a0\u2013\u00a0\u00a0<b>ner<\/b>,\u00a0and have the student repeat it. Then the teacher will repeat it with\u00a0\u2013<b>\u2013<\/b><b>bru<\/b><b>\u2013<\/b>\u00a0attached \u00a0 before:\u00a0\u2013<b>bru-ner<\/b><b>,<\/b>\u00a0after which all that remains is the first syllable:\u00a0<b>Kins-bru-ner<\/b><\/li>\n<li>The\u00a0<strong>lookahead<\/strong>\u2013<strong>based<\/strong>\u00a0algorithms is used for induction of decision trees, allowing trade-off between tree quality and learning times.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Forward%E2%80%93backward_algorithm\" rel=\"noopener\">Forward-Backward Algorithm<\/a>\u00a0\u2013\u00a0In an\u00a0inference\u00a0algorithm\u00a0that computes the\u00a0posterior\u00a0marginals\u00a0of all hidden state variables given a sequence of observations. The algorithm makes use of the principle of\u00a0dynamic programming\u00a0to efficiently compute the values that are required to obtain the posterior marginal distributions in two passes. The first pass goes forward in time while the second goes backward in time; hence the name\u00a0<i>forward\u2013backward algorithm.\u00a0In the\u00a0<b>first pass<\/b>, the forward\u2013backward algorithm computes a set of forward probabilities which provide the probability of ending up in any particular state given the first observations in the sequence. In the second\u00a0<b>pass<\/b>, the algorithm computes a set of backward probabilities which provide the probability of observing the remaining observations given any starting point. These two sets of probability distributions can then be combined to obtain the distribution over states at any specific point in time given the entire observation sequence<\/i><\/li>\n<\/ul>\n<h2>ML and AI Tools Landscape<\/h2>\n<p>In the mobile and desktop web testing landscape today, we see few vendors starting to operate.<\/p>\n<p>Without drilling into each specific solution, here are the list of vendors that offer specific ML\/AI set of solutions:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.mabl.com\/\" rel=\"noopener\">Mabl<\/a>\u00a0\u2013 desktop web ML test automation solution that leverages a chrome add-on trainer to build code-less test automation<\/li>\n<li><a href=\"https:\/\/www.testim.io\/\" rel=\"noopener\">Testim.IO<\/a>\u00a0\u2013 Desktop and Mobile Android code-less test automation solution that also uses a browser add-on to build robust test automation that aims to address the problem of dynamic objects<\/li>\n<li><a href=\"https:\/\/www.testcraft.io\/\" class=\"broken_link\" rel=\"noopener\">TestCraft<\/a>\u00a0\u2013 web based code-less selenium test automation solution for testing web apps<\/li>\n<li><a href=\"https:\/\/applitools.com\/\" rel=\"noopener\">Applitools<\/a>\u00a0\u2013 visual test automation and monitoring for mobile and web apps<\/li>\n<li><a href=\"https:\/\/test.ai\/\" rel=\"noopener\">Test.AI<\/a>\u00a0\u2013 ML based mobile native test automation<\/li>\n<li><a href=\"http:\/\/www.perfecto.io\/\" class=\"broken_link\" rel=\"noopener\">Perfecto<\/a>\u00a0\u2013 Cloud based solution for testing mobile native apps and web based applications, offers AI based\u00a0<a href=\"http:\/\/www.perfecto.io\/platform\/test-automation-reporting-analytics-digitalzoom\/\" class=\"broken_link\" rel=\"noopener\">reporting<\/a>\u00a0with error classifications, and analytics to optimize the entire CI\/CD workflows.<\/li>\n<\/ul>\n<h2>What Does all Of the Above Means to Modern Testers?<\/h2>\n<p>As mentioned above, there are plethora of tools evolving these days aiming to solve test authoring, analysis, and maintenance problems. While these are all awesome initiatives that will position testing higher and smarter in the overall DevOps processes, this does not translate into the extinction of the tester. Each of the above tools, as well as new tools that will rise are rising to help the existing testers to become more agile, smarter, and efficient.<\/p>\n<p><strong>AI and ML today mean the following to Test Engineers:<\/strong><\/p>\n<ul>\n<li>A change in mind set \u2013 Aid Humans vs. Replacing Humans<\/li>\n<li>Training on modern ML\/AI tools and techniques is required TODAY<\/li>\n<li>Use the tools to solve complex testing activities, don\u2019t neglect existing testing methods, they are still relevant, not all are supported by ML\/AI<\/li>\n<li>Keep humans in control of these tools, evolve productivity \u2013 become a DevOps champion by embracing new tools and lead innovation<\/li>\n<li>Modify working processes accordingly (Go\/No GO criteria)<\/li>\n<li>AI\/ML tools are solving specific rather than holistic problems \u2013 keep that in mind<\/li>\n<li>Match proper AI\/ML tools to existing pains in test automation<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>We keep hearing about new solutions for test automation and&nbsp;continuous testing.&nbsp;There are plethora of tools evolving these days aiming to solve test authoring, analysis, and maintenance problems. While these are all awesome initiatives that will position testing higher and smarter in the overall DevOps processes, this does not translate into the extinction of the tester. Each of the tools, as well as new tools that will rise are rising to help the existing testers to become more agile, smarter, and efficient.<\/p>\n","protected":false},"author":494,"featured_media":4269,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[187],"tags":[94],"ppma_author":[3126],"class_list":["post-1609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bigdata-cloud","tag-data-science"],"authors":[{"term_id":3126,"user_id":494,"is_guest":0,"slug":"eran-kinsbruner","display_name":"Eran Kinsbruner","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","user_url":"","last_name":"Kinsbruner","first_name":"Eran","job_title":"","description":"Eran Kinsbruner&nbsp;is the lead&nbsp;Technical Evangelist at&nbsp;<a href=\"https:\/\/www.perfectomobile.com\/\" target=\"_blank\" title=\"Perfecto\" rel=\"noopener\">Perfecto<\/a>, the leading cloud-based web, and mobile quality lab. A monthly columnist at&nbsp;<a href=\"https:\/\/www.infoworld.com\/author\/Eran-Kinsbruner\/\">InfoWorld.Com<\/a>, he is the author of the&nbsp;<a href=\"https:\/\/www.amazon.com\/dp\/0692885994\/ref=sr_1_1?ie=UTF8&amp;qid=1493727687&amp;sr=8-1&amp;keywords=eran+kinsbruner\">Digital Quality Handbook<\/a>, and Continuous Testing for DevOps Professionals and the creator and author of the quarterly Digital Test Coverage&nbsp;<a href=\"https:\/\/info.perfectomobile.com\/factors-magazine.html\">factors<\/a>&nbsp;magazine, and co-inventor of the&nbsp;<a href=\"https:\/\/www.google.com\/patents\/US6980916\">test exclusion automated mechanism<\/a>&nbsp;for mobile J2ME testing at Sun Microsystems. He is also a public speaker, researcher, and blogger."}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/494"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=1609"}],"version-history":[{"count":4,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1609\/revisions"}],"predecessor-version":[{"id":31511,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1609\/revisions\/31511"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/4269"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=1609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=1609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=1609"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}