I'm Peter Bindels, software engineer. I use the word "Engineer" as software can be put together haphazardly, but with bad consequences, or by following a more rigorous method of thinking about software with matching results. At work I usually work on medium to large size C++ code base(s), and I often spend time thinking what kind of things we could be using to make the whole code base smaller at the same time as simplifying it. Doing so I created a mocking framework, Hippomocks, that allows for better testing, and a dependency checking tool called cpp-dependencies that allows you to reverse engineer and check architectural properties as they are actually present in code.
Writing many tests at work, and a mocking framework at home, has got me a fair bit of experience with testing - both from people asking me for advice and people providing me with their anecdotes. From this wide range of inputs I've spotted some trends in testing that do not match the simplified dogmas that are often accepted for true, and I'm looking to get the word out on this.
Dealing with software dependencies