Suppose you're developing an application (eg. website, mobile app, backend app, etc) - when can you safely make an assumption when developing it?
For example, if you've tested Creating an Item, Deleting it, and Reading it's info - is it safe to assume Update works?
Furthermore, if you have your tests automated, how much trust do you put into your tests?
Top comments (5)
1) Never. In practice, you have to. Risk management is the tricky part: problems are going to come up no matter what you do, so you need to minimize the potential impact and make sure you can recover.
2) No.
3) I trust them to catch the problems I could think of.
Well said. Murphy's law tends to stick with me.
It's probably better to never trust yourself completely. Usually for me that's when I fall on my face. In the industrial industry we safe guard equipment for the "safety" of both personnel and machinery. I tend to think of automated testing working in a similar way. Sometimes the human in me isn't thinking clearly and the test catches my mistake. Things that are depended upon by multiple facets tend to be top priority for testing like backend api's routes etc.
I'm the developer. If I'm testing the application I'm going to be testing the functionality I've built in, and the ways it could break. I'll test all that before it goes to QA and I have to trust that QA will use the application like a standard user and break it in ways I never thought of.
Any bugs that get past that I don't blame myself for.
If you keep using the same tests, you might end up with code that's only good at passing those specific tests and bad at everything else.