<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software testing refactoring tutorials and videos</title>
	<atom:link href="https://www.softwaretestingmagazine.com/tag/refactoring/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.softwaretestingmagazine.com</link>
	<description></description>
	<lastBuildDate>Mon, 24 Jul 2023 14:38:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.softwaretestingmagazine.com/wp-content/uploads/favicon.png</url>
	<title>Software testing refactoring tutorials and videos</title>
	<link>https://www.softwaretestingmagazine.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Code Refactoring and Its Role in the Software QA Process</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/code-refactoring-and-its-role-in-the-software-qa-process/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 10 Jul 2023 13:43:17 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[software quality assurance]]></category>
		<guid isPermaLink="false">https://www.softwaretestingmagazine.com/?p=9027</guid>

					<description><![CDATA[<p>Code refactoring is the process of restructuring existing code without changing its behavior. Its goal is to improve the design, structure or implementation of the software, while keeping its functionality. This article discusses how refactoring is integrated in software quality assurance (QA). Author: Nataliia Syvynska, TestMatick, https://testmatick.com/ Code refactoring is a special process that consists of editing and analyzing previously created code without changing its current function. This process aims to improve the overall efficiency of the code so that it is easy to use, contains as few edits as possible, and is easy to take apart. Main Techniques and Rules for Performing Refactoring There are several popular and effective methods for performing code refactoring: Red-Green-Refactoring; Refactoring by abstraction; Method of composition; Simplifying method; Preparatory code refactoring. Let’s analyze each type in more detail. Red-Green-Refactor This is a very popular technique that is in particular demand among software testing companies that follows an Agile approach for software development. Its basic steps are: Define what needs to be done; Ensure the smooth execution of basic testing; Implement improvements (if necessary). Refactoring by abstraction This is ideal for a very high-volume refactoring process. With it, you can overcome the excessive amount of code by removing duplicate subclasses and collapsing the hierarchy. This type of refactoring contains several execution methods, namely: Pull-Up/Push-Down: “splits” one class into two, one of which will be tied to the superclass, and the second to the subclass. Pull-Up: collects part of the code in a superclass and deals with code duplication. Push Down: The method allows you to move <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/knowledge/code-refactoring-and-its-role-in-the-software-qa-process/" title="Code Refactoring and Its Role in the Software QA Process">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/code-refactoring-and-its-role-in-the-software-qa-process/">Code Refactoring and Its Role in the Software QA Process</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Testing Legacy Code: Safe Refactoring</title>
		<link>https://www.softwaretestingmagazine.com/videos/testing-legacy-code-safe-refactoring/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 16 Nov 2020 10:36:23 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">https://www.softwaretestingmagazine.com/?p=7633</guid>

					<description><![CDATA[<p>The paradox: I cannot test this code because it is legacy. I need to refractor the code to make it testable. How can I manage that, without breaking existing functionality? I will need to write some tests, but&#8230; argh! This presentation explains how to safely refactor and test &#8216;untestable&#8217; code &#8211; without breaking any existing functionality. Video producer: https://www.phpconference.co.uk/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/testing-legacy-code-safe-refactoring/">Testing Legacy Code: Safe Refactoring</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Advanced Software Testing &#038; Refactoring Techniques</title>
		<link>https://www.softwaretestingmagazine.com/videos/advanced-software-testing-refactoring-techniques/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 24 Mar 2020 15:25:25 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">https://www.softwaretestingmagazine.com/?p=7419</guid>

					<description><![CDATA[<p>When you inherit difficult code it can take weeks to become productive. Having the right tools for software testing and refactoring job and knowing how to use them makes a huge difference. Emily Bache explains this in a series of three posts that deal with approvals and mutation testing; the Lift-Up Conditional refactoring technique; replacing conditional with polymorphism. The first video presents the concepts of Approval Testing, Coverage and Mutation Testing. Approval testing can get you test coverage quickly without having to understand the code. The second video discusses the &#8220;Lift-Up Conditional&#8221; refactoring technique. It is a manipulation of a long complex conditional statement that will let you group together all the statements related to one particular conditional. The third video presents a classic refactoring technique named &#8220;Replace Conditional with Polymorphism&#8221;. The basic idea is that you create subclasses to encapsulate the logic concerned with each logical case. Find more about this series on https://www.praqma.com/stories/advanced-testing-refactoring-techniques/ https://www.praqma.com/stories/advanced-testing-refactoring-techniques-2/ https://www.praqma.com/stories/advanced-testing-refactoring-techniques-3/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/advanced-software-testing-refactoring-techniques/">Advanced Software Testing & Refactoring Techniques</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Refactoring for Testability</title>
		<link>https://www.softwaretestingmagazine.com/videos/refactoring-for-testability/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 18 Sep 2018 14:18:01 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[refactoring]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=6629</guid>

					<description><![CDATA[<p>There are a lot of examples on the web on how to introduce good agile testing and architectural patterns when you are starting a new software development project. In reality, even on newer projects, you are more often working in a less than ideal state. Schedules are tight, customers want more features, but at some point your productivity will fall apart if you do not make good software architecture and software testing a priority. How do you get out of this state? This talk presents common issues and agile, realistic solutions within the context of real world examples. https://www.youtube.com/watch?v=lVNb39ysmy0 Video producer: http://seleniumconf.co.uk/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/refactoring-for-testability/">Refactoring for Testability</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Testable Frontend JavaScript Anti-patterns</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/testable-frontend-javascript-anti-patterns/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 03 Jun 2014 18:34:43 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[refactoring]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=3089</guid>

					<description><![CDATA[<p>Software testing starts when you write the code that will be tested. In these two articles, Shane Tomlinson discusses some anti-patterns that will make your JavaScript frontend code difficult to test. He explains how to detect these anti-patterns in your code and then shows how to refactor your JavaScript to be easier to read, to reuse and to test. The first article presents a basic JavaScript sample application that contains several common anti-patterns and their solutions. Some of these anti-patterns are inline Javascript, Javascript code that is embedded in an HTML file. This code is impossible to include in an external unit test harness. Another anti-pattern are poorly constructed DOM event handlers where the event handler logic is mixed with form submission logic. This results in an inflexible mixture of concerns. This article addresses each of the problems outlined in the sample code so that the front end code becomes easier to test. The second article refactors the sample JavaScript code so that it becomes easier to read, to reuse and to test. After the refactoring, testing begins: a test harness is created, an XHR mock is developed and finally, a full unit test suite is added. Each of the anti-pattern discussed in the first article is refactored with detailed explanations. The conclusion of the article is that &#8220;Writing testable code is often a challenge, but the basics are easy once you are used to it. Before writing a single line of code, start with the question “how am I <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/knowledge/testable-frontend-javascript-anti-patterns/" title="Testable Frontend JavaScript Anti-patterns">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/testable-frontend-javascript-anti-patterns/">Testable Frontend JavaScript Anti-patterns</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>The Negative Side of Mocking Tools</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/the-negative-side-mocking-tools/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Thu, 04 Oct 2012 10:38:38 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[mocking]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=1829</guid>

					<description><![CDATA[<p>In this article, Brett Schuchert discusses how modern mocking tools affects positively our ability to work with legacy code and the possible negative implications of using mocking tools. These tools allow us to perform unit testing without actually changing the underlying code. He starts with a discussion about the challenges of unit testing and how mocking tools help to solve them; at least on the surface. He argues however that performing some refactoring on some code structures could make them more testable using more traditional unit testing tools. The fact is that using powerful mocking tools like JMockIt could cover sometimes questionable design in code. His conclusion is not that you shouldn&#8217;t use mocking tools, but rather than using them sparingly during new development could lead to writing new code with more discipline. This article provides thinking content with many code examples and it should be considered by all developers using mocking tools, especially in a Java context.</p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/the-negative-side-mocking-tools/">The Negative Side of Mocking Tools</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Transformation Priority Premise for TDD</title>
		<link>https://www.softwaretestingmagazine.com/videos/transformation-priority-premise-for-tdd/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Thu, 25 Aug 2011 17:14:21 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[TDD]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=868</guid>

					<description><![CDATA[<p>This just might be the thing that brings a mathematical rigor to Test Driven Development (TDD). If nothing else, it will certainly help programmers choose which tests to write next, and how best to make them pass. Transformations are like refactorings in that they are simple incremental changes to code. They are unlike refactorings in that they change the behavior of code. In this video, Robert &#8220;Uncle&#8221; Martin presents a set of transformations sufficient to create any application. It also suggests that when they are applied in a certain order developers can avoid many of the common problems with TDD such as painting yourself into a corner, or taking steps that are too large. It also suggests that the ordering helps developers to find better algorithms. http://ndc2011.macsimum.no/mp4/Day1%20Wednesday/Track5%201740-1840.mp4</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/transformation-priority-premise-for-tdd/">Transformation Priority Premise for TDD</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		<enclosure url="http://ndc2011.macsimum.no/mp4/Day1%20Wednesday/Track5%201740-1840.mp4" length="244021679" type="video/mp4" />

			</item>
		<item>
		<title>Unit Test and Refactor Legacy PHP Code</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/unit-test-and-refactor-legacy-php-code/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 26 Jul 2011 13:07:23 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=780</guid>

					<description><![CDATA[<p>This article proposes strategies to refactor problematic PHP code, making it easier to test it with unit testing tools, while reducing dependencies that improves your code base.</p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/unit-test-and-refactor-legacy-php-code/">Unit Test and Refactor Legacy PHP Code</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
	</channel>
</rss>
