development

Articles

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
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
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's picture 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's picture 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's picture 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's picture Michael Stahl
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

Pages

StickyMinds is a TechWell community.

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