{"id":1699,"date":"2019-05-15T05:10:17","date_gmt":"2019-05-15T05:10:17","guid":{"rendered":"http:\/\/kusuaks7\/?p=1304"},"modified":"2023-07-14T13:41:02","modified_gmt":"2023-07-14T13:41:02","slug":"overcoming-the-pitfalls-of-maintenance-in-continuous-testing","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/bigdata-cloud\/overcoming-the-pitfalls-of-maintenance-in-continuous-testing\/","title":{"rendered":"Overcoming the Pitfalls of Maintenance in Continuous Testing"},"content":{"rendered":"<p>We live in a competitive era where meeting customers expectations and demands is the key for winning over your competition. Digital media is the battlefield and fast release cycle if your weapon. The need to release software at a rapid pace requires continuous integration (CI) and deployment (CD) is key to drive the frequency in which code is pushed to production.<\/p>\n<p>Throughout this process, it is important for testing to start right from the requirements phase and continue all the way till production deployment and monitoring. This is what we call\u00a0<i>\u201cContinuous Testing\u201d (CT)<\/i>. Automation is a vital component of CT and starts early in the software development lifecycle. here have been various challenges related to test automation in a CT\/CI\/CD environment such as skill set, authoring, execution and scaling of automated tests. But the biggest challenge that still continues to haunt teams is the challenge of\u00a0<b><i>Maintenance<\/i><\/b>.<\/p>\n<p>For example \u2013 Say the team has written 500 tests. The next day, they come in only to find out that, half of them have failed due to multiple factors. They slowly start realizing that, this is a regular occurrence and they have been spending about half their time just trying to fix these failed tests. Does this ring a bell?<\/p>\n<p>These failures are a result of the agile methodologies organization use today and constant changes the developers makes to the application under test (AUT). They are usually related to the use of\u00a0<i>static locators<\/i>\u00a0in the application where a developer changes the name, id or another attribute of an element and the tests immediately break due to this change. As a result, testers have to try troubleshooting the problem by identifying which element has changed, then update the test scripts accordingly and re-run the test to ensure it passes. There is a lot of wastage of cost, time and effort.<\/p>\n<p>I\u2019ve recently seen an innovative approach to that challenge using\u00a0<b>\u201cDynamic Locators\u201d<\/b>. This is a strategy where we get multiple attributes for every single element of the AUT we interact through our tests and create a list of location strategies. So when the test runs and detects a change in the element property, it can look for the next best location strategy from the list; instead of failing. Thus making the test adaptive to the changes in the AUT. For example \u2013 If a developer changes the name of a \u201cLogin\u201d button to \u201cSubmit\u201d, instead of the test breaking due to this change, the test looks for the next best location strategy of the button which could be id, class, tag or any other attribute which has already been extracted from the Document Object Model (DOM). This is how Dynamic Locators can help in creating more stable tests. As a result of this, the authoring and execution of the test is really fast and far less time is spent on maintaining the tests.<\/p>\n<p style=\"text-align: center;\">\n<p><a href=\"https:\/\/hubs.ly\/H0cyLJS0\" rel=\"noopener\">Testim.io<\/a>\u00a0, for example, utilizes \u00a0Dynamic Locators and helps in easy authoring, execution and maintenance of automated tests. The Artificial Intelligence (AI) underneath the hood, analyzes the DOM in real time and extracts all the object trees and properties. Finally, the AI decides the best location strategy to locate a particular element based on this analysis, as it has already extracted multiple attributes for each element. It also supports cross browser testing using the same location strategy. In fact, they have a webinar coming up and I will speaking on the same topic. Check it out here \u2013\u00a0<a href=\"http:\/\/go.testim.io\/not-another-browser-version-continuous-cross-browser-testing-for-a-changing-world?utm_campaign=Perfecto%20webinar_June%202018&amp;utm_source=EranBlog&amp;utm_medium=post&amp;utm_content=pitfalls%20of%20maintenance\" rel=\"noopener\">Not Another Browser Version\u2026 Continuous Cross Browser Testing for a Changing World<\/a><\/p>\n<p>In summary, as we go through the continuous testing cycle, it is important to pay attention to problems due to maintenance; take corrective actions immediately and prevent this being a bottleneck for faster release cycles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The need to release software at a rapid pace requires continuous integration (CI) and deployment (CD) is the key to drive the frequency in which code is pushed to production. It is important for testing to start right from the requirements phase and continue all the way till production deployment and monitoring. This is what we call&nbsp;continuous testing (CT). There have been various challenges related to test automation, but the biggest challenge that still continues to haunt teams is the challenge of&nbsp;Maintenance.<\/p>\n","protected":false},"author":494,"featured_media":2739,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[187],"tags":[95],"ppma_author":[3126],"class_list":["post-1699","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bigdata-cloud","tag-big-data-amp-technology"],"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\/1699","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=1699"}],"version-history":[{"count":2,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1699\/revisions"}],"predecessor-version":[{"id":29214,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/1699\/revisions\/29214"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/2739"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=1699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=1699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=1699"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}