I’ve recently been following the #isTDDDead debate between Kent Beck (@kentbeck), David Heinemeier Hansson (@dhh), and Martin Fowler (@martinfowler) with some interest.
Most businesses depend on third parties to reliably deliver products or services to their customers. E-commerce sites rely on delivery services. Broadcasters rely on cable and satellite providers. And web platforms rely on cloud infrastructure to keep their systems accessible.
While the artifact of Test Driven Development is test code, what you get out of test driven development far exceeds the test themselves. Another thing TDD does is that it prevents feature creep on the part of developers. By coding to the test, you reduce this urge.
New developers joining a project will often find that the project won't build cleanly on their machine, and hours of time will be sunk into setting up the project so work can start. Counter this by using continuous integration to build your project from scratch.
The good news is that open source projects release newer versions of their components that address newly found vulnerabilities. Bug-free alternatives are available. But making use of these newer more secure versions, relies on ensuring your organization has a process to identify these defects easily and early.
I remember back in late 1990s when I discovered Socket communication and how that can help back-end processes to provide information to the outside world.
One of the great things about Angular is that it does not make us extend anything, and we can just use plain old Dart objects. This enables testing them without any help from the framework. There are, however, cases where it becomes problematic, especially when testing decorators and components.
The point here is that the balance for your organization ought to reflect your actual practices. Whether you consider past practices or anticipated practices is an interesting thought exercise, but you should be considering something.
I am pleading with developers to stop building Plato's cathedral. Software development is not about populating an unseen world with perfect widgets. It is about building the appropriate structures such that both you and the computer can agree about what happens when you execute the program.
Why write unit tests? They validate current and future implementations. They measure code quality. They force you to write testable, loosely coupled code. They’re cheaper than manual regression testing. They build confidence in your code. Use this checklist to be sure your tests are really useful and to the point.
How to convert Spring 4 ListenableFuture to Java 8 CompletableFuture and back
Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (June 6 to June 12). This week's topics include 5 things about open source components, a story about TDD, why DevOps matter, the rise of the DevOps movement, and using private and final in open source software.
This is about a simple testing technique that is probably obvious, but I’ll share it anyway.
le_java is one of several libraries that allow you to send log data directly to your Logentries account from your application.
I did a very unscientific twtpoll recently regarding what brought each of us into open source. Plenty of people took the time to vote or retweet, so I thought I'd loop back around and let you know how it looked overall when the poll closed.
Validation is crucial part of development. From argument checks to validating workflows, pipelines, input/output boundaries we run checks to make sure that an application will behave correctly. I like to see the business processes before the implementation and try to express myself via code in that manner.
I’ve been thinking about what makes TDD fail, and there are obviously few reasons that were discussed to death (Get it? Dead? TDD? Ok, let’s move on). What this gets you is a big, convoluted class that has tests, and some small internal, simple data classes.
People often ask, why does DevOps matter? The honest answer to that question is because having the development and operations team work together is the only way IT is successful. In the end it comes down to the most important part, which is that devops creates more happiness.
GPM + GVP has worked well for me, and I find it much better than vendoring or living at the cutting edge of every dependency's repository. I've implemented it on projects large and small, and it feels clean. I've used it to manage builds and CI. Overall, I've found it to meet my needs better than any other solution.
I recently had an experience writing code that proved to me, once again, that using Test Driven Development really is faster than the way I have been working. I easily saved half a day on each project by using Test Driven Development.
The adoption of Continuous Delivery often leads to the discovery of suboptimal practices within an organisation, and the Release Testing antipattern is a common example. What is Release Testing, and why is it an example of Risk Management Theatre?
It's 2014, but there's still a widely held belief that integrated (or end-to-end) tests should be favored over unit tests. A belief that Test-Driven Development does not have a beneficial influence on the quality of your tests and code. So today I'm repeating a few things I have been writing about in the last years.
You can’t get away from it. Thousands of open source components are being used in every industry, every day, to quickly build and deploy applications. For those not in the security industry, it’s hard to keep track of what is being done in this field to manage and monitor open source usage.
When working with crontab service, one thing I often need is to capture the output of the job
In recent months I've seen an increase in the use of private and final keywords used in open source software projects.