Code Refactoring and Its Role in the Software QA Process

July 10, 2023 0

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).

Testing Legacy Code: Safe Refactoring

November 16, 2020 0

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… argh! This presentation explains how to safely refactor and test ‘untestable’ code – without breaking any existing functionality.

Advanced Software Testing & Refactoring Techniques

March 24, 2020 0

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.

Refactoring for Testability

September 18, 2018 0

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.

Testable Frontend JavaScript Anti-patterns

June 3, 2014 0

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 Negative Side of Mocking Tools

October 4, 2012 0

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.

Transformation Priority Premise for TDD

August 25, 2011 0

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.

1 2