top | item 39119549

(no title)

chernevik | 2 years ago

Which is silly, because the whole point of integration testing is to show your bricks don't fit together as expected.

discuss

order

shermantanktop|2 years ago

Or that your bricks aren't square, or they are actually made of sand, or that they collapse under load.

To leave the analogy behind, any non-trivial component has a testable surface area, but typically has additional modes of behavior associated with internal state, environmental conditions, or other areas that well-meaning unit test writers didn't think about.

I have often found issues in simple caller/callee pairs of two components, both of which are tested, but the caller contains subtle expectations of the callee that the unit tests don't match up with.

bumby|2 years ago

Software testing needs a unique mindset compared to traditional hardware reliability testing. The software doesn't "wear out" like the hardware but tends to fail in coordinating functions. Too often, we rely on simplistic measures like a hard restart to manage coordination failures, but that isn't always an option on safety-critical applications.