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
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
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
Lines of code, photo by Markus Spiske Reduce Technical Debt by Using Unit Tests as Documentation

Technical debt is an inevitable side effect of legacy code. Some code can (and should) be pruned, but institutional memory fades—what if there's a reason certain lines were included that may not be immediately obvious? Done right, unit tests can serve as documentation. Later on, these tests can illuminate what the developer was thinking when they created the code.

Steve Poling's picture Steve Poling

Better Software Magazine Articles

Do You Really Want to Be a Manager Do You Really Want to Be a Manager?

The majority of managers are promoted due to their software development expertise. But becoming a successful manager requires a drastic change of focus. There is a set of expectations to consider before making that leap to the “dark side.”

Ron Lichty's picture Ron Lichty MW Mantle
Playing Games to Improve Software

You may not have heard about gamification, but instructional designers are now using game principles to help with retention of learned material in many forms of training. Ross Smith and Rajini Padmanaban believe that developers' UX and app design can benefit from gamification.

Ross Smith's picture Ross Smith Rajini Padmanaban
When Software Smells Bad

Most software needs to be "maintainable" and have high "internal quality." But what does that mean in practical terms? Code smells form a vocabulary for discussing code quality and how well suited code might be to change. The smells also provide good indications as to what to refactor and how.

Leveraging A Learning Culture

Mistakes happen. It's how you respond to them that matters. Teams might react to a bug with panic and blame, leading to a quickly hacked fix and possibly more issues. Taking time to investigate and learn leverages problems into process and practice improvement and a higher quality product.

Lisa Crispin's picture Lisa Crispin

Interviews

Mike Faulise Why Testers Are Starting to Look More like Developers: An Interview with Mike Faulise
Video

In this interview, Mike Faulise, the founder and managing partner at tap|QA, explains how organizations are trying to move toward continuous integration and taking in automation. Consequently, he says, testers are cultivating more technical skill sets and starting to look more like developers.

Jennifer Bonine's picture Jennifer Bonine
Swim Along with the Testing Wave: An Interview with Dawn Haynes
Video

In this interview, Dawn Haynes, CEO, testing coach, and consultant for PerfTestPlus, explains how testers can expand their skills to move along with the development wave and collaborate with their programmer colleagues. She also talks about her problem-solving workshop at the Women Who Test summit.

Jennifer Bonine's picture Jennifer Bonine
Stacy Kirk A Comprehensive Full Stack Testing Strategy with Node.js: An Interview with Stacy Kirk
Video

In this interview, software agile coach Stacy Kirk explains the reasons for the increasing popularity of Node.js, what full stack testing means, and why Node.js can make it easier. Stacy discusses the best testing practices, processes, and modules to develop Node.js applications.

Jennifer Bonine's picture Jennifer Bonine
Melissa Benua discusses continuous integration Employ Continuous Integration Processes to Make Your Code Work: An Interview with Melissa Benua
Video

In this interview, Melissa Benua, senior backend engineer for PlayFab, explains the new way of life that continuous integration brings. She imparts practical advice for creating builds and running automation on the fly without spending hundreds of hours or thousands of dollars.

Jennifer Bonine's picture Jennifer Bonine

Conference Presentations

Agile DevOps West Mobbing, Pairing, Soloing, and Pipe Fires: A Personal History of Collaboration
Slideshow

Pair programming: the practice you love to hate! Twenty years after being introduced as part of Extreme Programming, the collaborative practice is still a thing. And if you thought pairing was nuts, now there's mobbing, where the entire team works together on one thing at a time. Yet we often hear teams say, "We go faster because we are mobbing." In this anecdote-heavy session, you'll hear Jeff Langr's history of working through various models for collaboration (or not) across the past several decades, including solo programming, pairing, and mobbing. He'll show you his office blueprints to help put you in his shoes and understand what contributed to the ups and downs of each model. You'll learn tips for success, pitfalls to watch out for, and Jeff's take on why mobbing or pairing might help us go faster. Come with a willingness to lose your preconceptions.

Jeff Langr
Agile DevOps East A Personal History of Collaboration: Soloing, Pairing, Mobbing, Cube Farms, and Pipe Fires
Slideshow

Pair programming is the practice you love to hate! It's been nearly twenty years since Extreme Programming promoted pair programming as a collaborative practice, and it's still here. And if you thought that was bad, now there's mobbing, where the entire team works together on one thing at a time. Does that seem nuts? Yet we often hear teams say, "We go faster because we are mobbing." In this anecdote-heavy session, you'll hear Jeff Langr's history of working through various models for collaboration (or not) across the past several decades, including pairing, solo programming, and mobbing. He'll show you his office blueprints to help put you in his shoes and understand what made for the ups and downs of each model. You'll learn tips for success with each model, pitfalls to watch out for, and Jeff's take on why mobbing or pairing might help us go faster.

Jeff Langr
STARCANADA Mobbing for Test Design: Connecting with Your Colleagues’ Test Ideas
Slideshow

Do you have trouble generating test case ideas? Are there seemingly obvious bugs getting through your test plan? Are you considering revamping your current test analysis and design? If you answered yes to any of these questions, then this session is for you. You may have heard of mob...

Jeff MacBane
Mobile Dev Test Threads, Queues, and More: Async Programming in iOS
Slideshow

To keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how...

Joe Keeley

StickyMinds is a TechWell community.

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