Stephen D. Ritchie's Blog

June 24, 2024

The Future of Software Testing

In Mark Winteringham’s latest book, “AI-Assisted Testing,” he offers a balanced guide to the future of software testing. Manning early access version: https://www.manning.com/books/ai-assisted-testing

The field of software testing is rapidly evolving, and the author conducts a thoughtful and practical exploration of how artificial intelligence (AI), particularly generative AI, can improve the testing landscape.

Mark Winteringham’s journey into software testing is somewhat unconventiona...

 •  0 comments  •  flag
Share on Twitter
Published on June 24, 2024 06:17

May 24, 2024

Introduction to Dynamic Analysis

Dynamic analysis is a powerful technique in software development, aimed at gathering comprehensive information about a program’s behavior during execution. Unlike static analysis, which examines code without running it, dynamic analysis involves running the program under various conditions to collect data on performance, memory usage, code coverage, and internal states. This process provides invaluable insights into how the software interacts with its environment, making it an essential tool for...

 •  0 comments  •  flag
Share on Twitter
Published on May 24, 2024 07:59

May 20, 2024

Lunch with Tech Leaders — Episode 80

I was interviewed me for the Lunch with Tech Leaders podcast on the topic of Crucial Skills That Make Engineers Successful. Check it out! 🎙

https://fast.wistia.net/embed/channel/1p3ghvfdgw?wchannelid=1p3ghvfdgw&wmediaid=xptfl5z1u1Episode 80: Crucial Skills That Make Engineers Successful
 •  0 comments  •  flag
Share on Twitter
Published on May 20, 2024 08:57

May 7, 2024

Crucial Skills That Make Engineers Successful

The other day I was speaking with an engineer and they asked me to describe the crucial skills that make engineers successful. I think this is an important topic.

In a world driven by technological innovation, the role of an engineer is more crucial than ever. Yet, what separates good engineers from successful ones isn’t just technical know-how; it involves a mastery of various practical and soft skills. Let’s explore these skills.

Cultivate Core Technical Skills

Problem Solving — E...

 •  0 comments  •  flag
Share on Twitter
Published on May 07, 2024 07:27

October 29, 2020

Boundary Analysis

For every method-under-test there is a set of valid preconditions and arguments. It is the domain of all possible values that allows the method to work properly. That domain defines the method’s boundaries. Boundary testing requires analysis to determine the valid preconditions and the valid arguments. Once these are established, you can develop tests to verify that the method guards against invalid preconditions and arguments.





Boundary-value analysis is about finding the limits of acceptable...

 •  0 comments  •  flag
Share on Twitter
Published on October 29, 2020 12:52

October 27, 2020

Better Value, Sooner, Safer, Happier

Jonathan Smart says agility across the organization is about delivering Better Value, Sooner, Safer, Happier. I like that catchphrase, and I’m looking forward to reading his new book, Sooner Safer Happier: Antipatterns and Patterns for Business Agility.





But what does this phrase mean to you? Do you think other people buy it?





Better Value – The key word here is value. Value means many things to many people; managers, developers, end-users, and customers.





In general, executive and senior ...

 •  0 comments  •  flag
Share on Twitter
Published on October 27, 2020 05:53

October 23, 2020

Fakes, Stubs and Mocks

I’m frequently asked about the difference between automated testing terms like fakes, stubs and mocks.





The term fake is a general term for an object that stands in for another object; both stubs and mocks are types of fakes. The purpose of a fake is to create an object that allows the method-under-test to be tested in isolation from its dependencies, meeting one of two objectives:





1. Stub — Prevent the dependency from obstructing the method-under-test and to respond in a way that helps it ...

 •  0 comments  •  flag
Share on Twitter
Published on October 23, 2020 08:27

April 24, 2020

First, the mental creation

With physical things, like buildings and devices, etc. people seem to be generally okay with generating strong specifications, such as blueprints, CAD drawings, etc. These specifications are often about trying to perfect the mental creation before the physical creation gets started. In these cases, the physical thing youre making is not at all abstract, and it could be very expensive to make. Its hard to iterate when youre building a bridge thats going to be part of an interstate roadway. ...
 •  0 comments  •  flag
Share on Twitter
Published on April 24, 2020 16:08

April 18, 2020

We are the Pakleds; You *are* smart!

As one of the weary consultants on a multi-year software development project for a major lending institution I observed what became known as the Pakled-Customer Syndrome. The Pakleds are a race of dimwitted aliens from Star Trek: The Next Generation (TNG), which are first seen in the Samaritan Snare episode (summary here). They co-opt the technology of other spaceships through manipulation, brainless praise and hostage taking. Responding in good faith to the Pakled distress call the...

 •  0 comments  •  flag
Share on Twitter
Published on April 18, 2020 10:00

April 15, 2020

You got to know your limitations

Engineers must only be limited by their intellect and available time, subject to a sustainable pace. Maturity and experience are important, too.

This quote is a paraphrase of something a boss from long ago said to me. Here are the things I did to change my professional life based on this revelation, I tried to:

Develop my intellect: Stretch my brain. Learn new skills. Acquire new knowledge. Play brain games. Start taking notes instead of always relying on my recall. Read a lot. Increase my...
 •  0 comments  •  flag
Share on Twitter
Published on April 15, 2020 10:26