development

Articles

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
Pytest logo Lessons Learned Switching Manual Tests to Pytest

If you want to start automating your test cases, László Szegedi makes an argument for using the popular Python and Selenium combination. Here, he gives a test script you can use after every release to find any serious regression bugs in the system, to be executed automatically. Integrate it with your existing development pipeline and you get a pretty useful tool for continuous improvement.

László Szegedi's picture László Szegedi
Gold-plated leaves Build Just Enough of a Feature with ATDD

Developers have a tendency to overbuild their code. This is frequently due to not knowing exactly when they're done and not knowing how robust a feature needs to be. Acceptance test-driven development (ATDD) is a great way to avoid this practice because when the acceptance test passes, the developer knows they're done building that particular feature.

David Bernstein's picture David Bernstein

Better Software Magazine Articles

Supporting Continuous Testing with Automation Supporting Continuous Testing with Automation

Create tests that can be used in a continuous testing environment, build the right number of tests, and don’t fall victim to the mistaken belief that everything can be automated.

Bas Dijkstra's picture Bas Dijkstra
All Customers Are Not Created Equal All Customers Are Not Created Equal

Software developers may not think they have much to do with customers, but it is wise to consider the customer in all you do, from collecting requirements to design and implementation.

Regina Evans's picture Regina Evans
DevOps and the Culture of Code DevOps and the Culture of Code

Migrating an organization to continuous integration requires adoption new processes, tools, and automation. DevOps relies on dramatic culture change to encourage total transparency and collaboration among all project stakeholders.

Patrick Turner's picture Patrick Turner
Developers and testers 5 Ways to Pair Developers with Testers

Some agile practices stress the importance of pairing team members together to achieve better team performance. Try these five suggestions for pairing key resources.

Jeffery Payne's picture Jeffery Payne

Interviews

Mike Faulise Giving Control Back to Software Developers: An Interview with Mike Faulise
Video

In this interview, Michael Faulise, the founder and managing partner at tap|QA, explains how the move toward DevOps and away from release management is giving control back to developers, then details why major companies often need partners to leverage CI, CD, and other modern techniques.

Jennifer Bonine's picture Jennifer Bonine
Hans Buwalda The Tester’s Mindset versus the Developer’s Mindset: An Interview with Hans Buwalda
Video

In this interview, Hans Buwalda, the CTO at LogiGear, explains how software developers have the mindset of creation while software testers are more concerned with how things might be destroyed. He details why testers don’t always need to code and why UI and API automation matters.

Jennifer Bonine's picture Jennifer Bonine
Jeff "Cheezy" Morgan Overcoming the Hurdles of Continuous Delivery: An Interview with Jeff "Cheezy" Morgan
Video

In this interview, Jeff Morgan, the chief technology officer and cofounder of LeanDog, explains how continuous delivery and continuous deployment have changed how software teams do business. He breaks down funding projects versus teams and validating quality as you build your product.

Jennifer Bonine's picture Jennifer Bonine
Melissa Benua How to Adapt to the New Age of Testing and Development: An Interview with Melissa Benua
Podcast

In this interview, Melissa Benua, a senior technical lead at mParticle and senior backend software engineer at PlayFab, explains how the speed of development and testing has changed, as well as how to adapt to the new era of software.

Josiah Renaudin's picture Josiah Renaudin

Conference Presentations

STAREAST Leveraging Kubernetes as a Tester
Slideshow

Kubernetes is one of the fastest growing open source projects in history, and it's taking the DevOps world by storm. With so many resources being poured into this technology, it would be nice if there were some benefits for testing. It may seem that the Kubernetes framework revolves around operations and microservices, but with a little know-how, we can leverage the internet excitement around the project to enhance our own automated testing frameworks. Glenn Buckholz will demonstrate how, with just a little bit of knowledge about Docker and Git, an automated testing team can leverage Kubernetes to keep up with the rapid pace of software development. Glenn will show how Kubernetes allows for testing multiple versions of an application in parallel and with minimal effort.

Glenn Buckholz
Agile DevOps East A DevOps Team's Journey Toward Behavior-Driven Development
Slideshow

DevOps teams struggle to ensure quality in multiple daily deployments. Traditional testing approaches have often failed in this context, but there are exciting new ways to test. Laurent Py and Vincent Prêtre will explain how, at Hiptest, DevOps teams combine behavior-driven development (BDD) techniques with business metrics analysis to continuously assert the quality of their product. BDD scenarios align teams to a common goal, and users provide feedback to ensure their needs are met. The team transforms usage scenarios into tests that enable developers to deliver the functionality expected, and product analytics are collected to ensure that the functionality is valuable to users. Analytics data is then used to learn how the new feature impacts the user experience. Laurent and Vincent will explain how this approach reduces siloed communication and combines scenarios and data in living documentation.

Laurent Py
STARCANADA Use BDD and Product Analytics to Change Your Vision of Quality
Slideshow

DevOps teams struggle to ensure quality in multiple daily deployments. Traditional testing approaches have often failed in this context, but there are exciting new ways to test. Laurent Py and Vincent Prêtre will explain how, at Hiptest, DevOps teams combine behavior-driven development...

Laurent Py
Agile DevOps East Empathy-Driven Development
Slideshow

Empathy is a technical skill. Don’t worry; you read that correctly. While empathy is often cited as a critical “soft skill,” it doesn’t stop there. Empathy is also an incredibly technical topic that is more accessible to analytical engineers—and more vital to building software—than you might think. Andrea Goulet, a noted expert on communication in the software industry, will debunk several myths around empathy, including that empathy is just a feeling, that technical folks can’t access empathy, and that empathy is just a high-level, touchy-feely fad. Andrea will demonstrate how empathy is a crucial skill for all developers of software, and she will give you practical and immediately actionable advice for making empathy a central focus of your daily software development communication practices. She'll also explore the place for empathy while you’re coding and testing.

Andrea Goulet

StickyMinds is a TechWell community.

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