development

Articles

Secure padlock Embedding Security in a DevOps World

Faster DevOps processes also create new challenges. It was difficult enough to add security into a traditional waterfall software development lifecycle with monthly or quarterly releases, but now software updates are released several times a day! What can developers do to build and maintain more secure applications? Here are some ways to encourage better security practices throughout the DevOps lifecycle.

Alex Humphrey's picture Alex Humphrey
Foundation of a building Infrastructure as Code: The Foundation of Effective DevOps

The absence of versioned infrastructure as code (IaC) and automated provisioning undermines one of the most important benefits of DevOps: the ability to version, manage, and control the servers and networking required to run software applications in development, testing, and production. Automating infrastructure setup and continuous monitoring helps keep system environments stable and less susceptible to outages.

Anirudh Sethi's picture Anirudh Sethi
Computer screen showing clean code Clean Coding Practices for a Scalable Test Automation Framework

Many organizations are looking to expand their automation abilities by designing and developing test automation frameworks. However, we often abandon good coding practices in favor of working as fast as possible. We need to treat this project like any other application development project. Here are three of the most important clean coding practices to keep in mind in order to make a scalable test automation framework.

Sumon Dey's picture Sumon Dey
Software engineer pouring coffee into a mug that says "UGH" 11 Reasons Behavior-Driven Development Can Fail

There are a lot of advantages to behavior-driven development, but there are also a lot of challenges you can encounter during the implementation. Knowing is half the battle, so be aware of these eleven common stumbling blocks to BDD adoption and outline plans to mitigate them beforehand, and you’ll be able to start reaping the benefits of BDD sooner.

Evgeny Tkachenko's picture Evgeny Tkachenko
Metal gears 6 Steps for Succeeding with Test Automation in Agile

Lots of test automation efforts in agile software development fail, or at least do not maximize their potential. This article looks at two main reasons test automation may not live up to the expectations that testers and other stakeholders in the agile development process have, then outlines six steps to avoid falling into these traps. Here's how to succeed with test automation in an agile environment.

Bas Dijkstra's picture Bas Dijkstra
Branching example Picking the Right Branch-Merge Strategy

A good branch-merge strategy facilitates processes among multiple developers and is the basis for any well-functioning DevOps pipeline that uses continuous integration. Let’s explore branching strategies, merging strategies, and how you can put them together in a way that’s right for your team in order to bring quality features to production faster.

Alan Crouch's picture Alan Crouch
Three different colored keys 3 Keys to Mastering Test-Driven Development

From his decade of teaching thousands of professional software developers how to be effective with test-driven development, David Bernstein has learned that there are three key ingredients for mastering TDD: understanding what it really is, making code reliably testable, and getting hands-on experience. Let’s look at each of these factors to see what it takes to use TDD effectively on your projects.

David Bernstein's picture David Bernstein
Hand drawing automation gears For Sustainable Test Automation, Look beyond the Surface

When it comes to achieving sustainable test automation, having an appropriate test automation team structure in place is the most important first step to take. This article has some proven practices for a few different test automation adoption scenarios—led by an automation team or a regression team, and with agile adaptations—that have helped organizations enjoy long-term test automation success.

Maximilian Bauer's picture Maximilian Bauer
Car steering wheel photo by Nicolai Berntsen A Case for Test-First Development

You may feel you don't have time to write unit tests, but you really don't have time not to. Steve Poling makes the case that writing tests first not only will yield better code, but will help you get that code working right sooner. Here's how using a test-first approach changes your thinking about coding, lets you see mistakes immediately, and helps you create more testable code.

Steve Poling's picture Steve Poling
Icon showing an automated system Why You Need to Be Doing Continuous Integration

It’s usually easy and inexpensive to set up a continuous integration environment for either an agile or a waterfall project. Perhaps the most obvious benefit of CI is the elimination of the integration phase that existed in traditional waterfall projects, where we typically slip the worst on deadlines. But there are many other benefits to continuous integration that you may not have considered.

David Bernstein's picture David Bernstein

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.