development

Articles

Coding brackets Mob Programming for Low-Code and No-Code Development

In low-code and no-code development, as the names suggest, developers do less actual coding—they create applications through GUIs and configuration instead of traditional programming. But mob programming is still a useful practice, because the entire team can clarify requirements, discuss development and test strategies, and implement the best ideas. Everyone gets to learn and contribute.

Arun Kumar Dutta
A developer and a tester looking at each other warily Examining Cross-functionality Bias on Software Development Teams

Cross-functionality means having all the necessary people and skills on one self-organizing team. Unfortunately, the execution of cross-functionality is often biased. The main traps we fall into are misunderstanding the value of specialization, hero worship, and not “walking the cross-functional talk” as organizations. Let’s examine each of these pitfalls in the hope that your teams may avoid them.

Natalie Warnert
Two people participating in a code review, photo by Alvaro Reyes Participating in Code Reviews as a Tester

Code reviews are a popular method of catching bugs early in development through peer-reviewing someone’s code. But perhaps more important than catching bugs, these reviews also serve as a chance to see how something is built and have a conversation about it. Because testers question software differently from developers, it’s important that we participate in this knowledge-sharing practice.

Chris Kenst
Clip art of an insect with a target on its back How Much of Debugging Software Is a Tester’s Responsibility?

Everyone knows a tester's job is to help improve the quality of the software under test. But it gets a little murky when you try to define the boundary between testing and debugging. There's no clear delineation: Some testers would state how to reproduce the bug, write the report, and hand it off, while others learn the code, find the root cause, and even create builds to fix the bugs. How much is useful, and how much is too much?

Michael Stahl

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

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

Conference Presentations

STARWEST 2018 Managing BDD Automation Test Cases inside Test Management Systems
Slideshow

Behavior-driven development (BDD) has been around for a while and is here to stay. However, the added abstraction levels pose a technical problem for writing and managing tests. While BDD does a great job of marrying the nontechnical aspect of test writing to the technical flow of an application under test, keeping this information under source control becomes problematic. Frameworks such as JBehave, Cucumber, or Robot give subject matter experts that additional ability to write tests, but they are often restricted access from them; because people treat test cases as code, they get stored in source control repositories. Additionally, these given-when-then steps soon can grow to an extent where they are difficult to manage without an IDE, and nontechnical people lose interest. Using management tools, Max Saperstone shows how to manage these nontechnical steps and keep them in sync with the automaton in tools such as Git.

Max Saperstone
STARWEST 2018 Building a Modern DevOps Enterprise Testing Organization
Slideshow

The DevOps movement is front and center across enterprises. Companies with mature systems are breaking down siloed IT departments and federating them into product development teams and departments. Testing and its practices are at the heart of these changes. Traditionally, development organizations have been filled with mostly manual testers and a limited number of automation and performance engineers. Adam Auerbach says this has to change. To keep pace with development in the new “you build it, you own it” environment, testing teams and individuals must develop new technical skills and even embrace coding in order to stay relevant and add more value to the business. Based on his experiences at Lincoln Financial and Capital One, Adam explores what the DevOps movement is all about, its core values, and proven patterns for how testing must evolve.

Adam Auerbach
STARWEST 2018 What's an API and How Do I Test It?
Slideshow

API-based applications have become ubiquitous in the past few years. Yet many of us still really don't know what an API is from the inside out. Moreover, many of us don't know much about how to comprehensively test them! Join Paul Merrill to learn what everyone is doing and talking about, related to APIs: microservices, REST, endpoints, requests, request methods, and responses. Paul demonstrates four free tools you can use to directly interact with a simple API: curl, the browser, Postman, and Java (with Rest Assured). Learn techniques for testing APIs at the service level and how to test APIs faster with greater coverage and quicker test automation. Walk away with an understanding of what JSON is, how APIs use JSON, and how to go about verifying that it is correct. With new knowledge and skills, you’ll do a better testing job and give more valuable feedback to the API designers and developers.

Paul Merrill
STARWEST 2018 Troubleshooting and Understanding Modern Systems: Tools Testers Need
Slideshow

Successful agile testers collaborate with programmers as code is written, isolating problems, troubleshooting defects, and debugging code all along the way to getting the product to done. But modern systems are scaling beyond what traditional teams are able to understand using familiar tools. New appreciation for systems and complexity theory, as well as disciplines and tools around emerging areas such as observability and resilience engineering, are offering solutions that allow teams to actively debug their systems and explore properties and patterns they have not defined in advance. Chris will share the basics of the theory of these new ideas, as well as some tools that support this type of work. He'll show how dynamic analysis can be used to isolate and understand puzzling system behavior.

Chris Blain

StickyMinds is a TechWell community.

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