The objectives of Test Driven Development and unit testing are generally misunderstood. The problem is the word ‘test’, it is much less about testing and much more about specification of requirements, showing your working – as in maths, and the impact it has on design.
Environment config, isn’t the same as “infrastructure as code”. This is the stuff that’s potentially live-tunable in an application stack that subsumes feature toggles, but goes further – application specific things not limited to rectangles of web-pages appearing or disappearing.
This week, DZone released its latest Checklist: Unit Testing. If you're interested in learning more about Unit Testing or sharpening your skills, we decided to dig into the DZone archives and find some of the most popular posts we've had on the topic over the past two years.
I keep hammering on trust and how it’s crucial that we trust our tests. If a test is deterministic, it raises the level of our trust. If it isn’t, we may question its result, which will be followed by questioning other tests as well.
I’ve just upgraded to Vagrant version 1.6, and vagrant global-status is possibly my favourite new feature. This command lists all currently up Vagrant environments wherever they may be on your computer
The goal of Continuous Delivery is to optimise cycle time in order to increase product revenues, and cycle time is measured as the average lead time of the value stream from code checkin to production release. This was memorably summarised by Mary and Tom Poppendieck as the Poppendieck Question.
The value stream associated with software development typically goes something like this: analysis, design, build, test, and deploy. That’s pretty much everything you need to develop a working tested increment of the product… and therefore what defines the basic requirements for a Scrum team.
Feature flags or config flags aka feature toggles aka flippers are an important part of Devops practices like dark launching (releasing features immediately and incrementally), A/B testing, and branching in code or branching by abstraction.
Shortly after you start building docker containers you will realize that you need some place to publish your images. You could push to the central docker registry. However, the central registry is public. Not a great idea if you are working on a private project.
In this article, I would like to discuss the opportunity to collect user behaviour and measure user happiness when building information system. I also want to share my idea on how to improve user experience based on data collected.
I have published new versions of librarian-puppet and puppet-blacksmith gems that handle the new Puppet metadata.json format for module data and dependencies.
Tests are about trust. We expect them to be reliable. Reliable tests tell us everything is ok when they pass, and that something is wrong when they fail. Tests can give false positive (fail when they shouldn’t) or false negative (pass when they shouldn’t) results.
Validation is one thing that’s missing from the core javafx framework. To fill in this gap there is already a 3rd party validation library that’s present in controlsfx.
Releasing the new version of GitHub Issues and the Deployment API is a step in the right direction. I am aware of the fact that there are a lot of projects using GitHub Issues as main issue tracker and even more just trying it.
The article presents some of the frequently asked interview questions in relation with unit testing with Java code. Please suggest other questions tthat you came across and I shall include in the list below.
I once again had the pleasure of presenting a lightning talk at the London Software Craftsmanship Community #LSCCtalks series. This time I presented a new talk I’m working on – “Crafting DevOps: Applying software craftsmanship to DevOps”.
A microservice is similiar to the “S” in the SOLID design principals. It is a service that has only one single responsibility. These small services are then composed together to make a cohesive system. The small services are independently deployable and distributable. In the new “cloud” world, elasticity is the game.
As your DevOps team grows, scaling efficiencies across the group is imperative to maintaining a well-oiled unit. A small team of smart engineers can function well without much effort, but as your team gets bigger, you need to make sure you invest in the right tools and practices to help keep everyone on the same page.
The question is – what if the test fails? Since you’ve allowed the tests to mark their territory, you now have tests that are hard to reproduce. That will cost you in debugging, and maybe in even resolving the problem. As always, it’s an ROI balance of risk analysis and mitigation.
Developers – and their managers – will need to get used to being part of the bigger picture of running IT, which is about much more than designing apps and writing and delivering code. This might be the future of software development. But not all developers will like it, or be good at it.
You are a Java programmer, so you know what I am talking about. public modifiers make a method or field accessible from anywhere in the application
You may remember that in January, I wrote a trilogy of blogposts surrounding the use of Ansible, as a handy guide to help y’all get started. I’ve decided to revisit this now, and write another part, about Ansible Tower.
Agent technology handles extreme scalability issues. Agents are characterized by being autonomous, having interactions, and being adaptive. CEP engines can be autonomous and interactive to the extent that they simply respond to multiple (complex and continuous) events.
Mastering Java 8 features such as Lambda expressions & functional interfaces would require developers to have a clear understanding on some of the following topics in relation with FP.
This post is building on a recent post highlighting recommendations ideas on how to simplify your unit testing by using the right set of tools (Smart Integration Testing with Dropwizard, Flyway and Retrofit). In this post, I want to highlight three steps that can be very valuable in your release planning process.