DEV Community

Mike
Mike

Posted on

When can you safely make an assumption when developing anything?

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)

Collapse
 
dmfay profile image
Dian Fay

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.

Collapse
 
jacksonelfers profile image
Jackson Elfers

Well said. Murphy's law tends to stick with me.

Collapse
 
jacksonelfers profile image
Jackson Elfers • Edited

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.

Collapse
 
scottishross profile image
Ross Henderson

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.

Collapse
 
itr13 profile image
Mikael Klages

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.