Wed, 06 Dec 2023 10:21:15 GMT Sustainable Test-Driven Development https://www.ProjectManagement.com/blogs/654443/sustainable-test-driven-development Test-driven development is a very powerful technique for analyzing, designing, and testing quality software. However, if done incorrectly, TDD can incur massive maintenance costs as the test suite grows large. This is such a common problem that it has led some to conclude that TDD is not sustainable over the long haul. This does not have to be true. It's all about what you think TDD is, and how you do it. This blog is all about the issues that arise when TDD is done poorly-and how to avoid them. Acceptance Tests: Why Bother? https://www.ProjectManagement.com/blog-post/74207/acceptance-tests--why-bother- Wed, 29 Mar 2023 18:34:11 GMT Acceptance Test-Driven Development (ATDD) is a collaborative activity where individuals from different parts of an organization, both technical and non-technical people, get together to create acceptance tests before development begins.  It is not without cost, of course, and so many might ask ... Do I Really Have to Test Everything? (part 3) https://www.ProjectManagement.com/blog-post/73544/do-i-really-have-to-test-everything---part-3- Wed, 30 Nov 2022 16:55:02 GMT This is part 3 of a three-part posting.  If you have not read part 1, I strongly suggest you start there: https://www.projectmanagement.com/blog-post/73523/do-i-really-have-to-test-everything- Answer #3: TDD is not about testing in the first place.  It never was. The idea of drivin... Do I Really Have to Test Everything? (part 2) https://www.ProjectManagement.com/blog-post/73539/do-i-really-have-to-test-everything---part-2- Tue, 29 Nov 2022 16:47:26 GMT This is part 2 of a three-part posting.  If you have not read part 1, I strongly suggest you start there: https://www.projectmanagement.com/blog-post/73523/do-i-really-have-to-test-everything- Answer #2: You will not test everything. You'll want to, but you won't.   In TDD ... Do I Really Have to Test Everything? https://www.ProjectManagement.com/blog-post/73523/do-i-really-have-to-test-everything- Mon, 28 Nov 2022 17:22:00 GMT This is a quite frequent question in my Test-Driven development classes.  I really like it because it presents a wonderful opportunity to make some significant observations about TDD and testing in general. I have three answers to this question, so this posting will be in three parts.  ... TDD Tests as "Karen"s https://www.ProjectManagement.com/blog-post/72155/tdd-tests-as--karen-s Mon, 02 May 2022 18:18:03 GMT We’ve all heard the meme by now: The Karen.  Usually a blonde woman with an eccentric hairstyle that demands to see the manager when things do not go as they want them to.  Personally I think the term is a bit sexist as I’ve met plenty of men who act this way too.  Anyway,... ATDD and TDD https://www.ProjectManagement.com/blog-post/68269/atdd-and-tdd Fri, 12 Feb 2021 07:21:55 GMT A question that we are often asked is: “What is the difference between Acceptance Test Driven Development (ATDD) and Test Driven Development (TDD)?” These two activities are related by name but otherwise seem to have little to do with each other.  ATDD is a whole-team practi... The Importance of Test Failure https://www.ProjectManagement.com/blog-post/68268/the-importance-of-test-failure Fri, 12 Feb 2021 07:09:01 GMT The typical process of Test-Driven Development goes something like this: Write a test that expresses one required behavior of the system. Create just enough production code (a “stub”) to allow the test to compile, and fail. Run the test and watch it fail (red). Modify the pro... Mock Objects, Part 1 https://www.ProjectManagement.com/blog-post/68267/mock-objects--part-1 Fri, 12 Feb 2021 07:02:48 GMT Narrow Specifications When writing tests as specifications, we strive to create a very narrow focus in each individual test.  We want each test to make a single, unique distinction about the system.  This creates a clear specification when we later read the test, and also creates the ma... Mock Objects, Part 2 https://www.ProjectManagement.com/blog-post/68254/mock-objects--part-2 Fri, 12 Feb 2021 06:51:54 GMT Techniques There are many ways to create a mock object by hand.  You will likely come up with your own techniques, which may make use of language elements and idioms made possible by the particular languages and frameworks you work with.  It is important to know more than one technique ... Mock Objects, Part 3 https://www.ProjectManagement.com/blog-post/68253/mock-objects--part-3 Thu, 11 Feb 2021 13:49:07 GMT Dependency Injection Imagine that the example use previously was implemented differently: public class BoundaryAlarm {      private GPS myGPS;      private DashLight myDashLight;      public BoundaryAlarm(){   &n...