When can you safely make an assumption when developing anything?

github logo ・1 min read

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?

twitter logo DISCUSS (5)
markdown guide
 

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.

 
 

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.

Classic DEV Post from Apr 18

The Weird Rules I Set Myself That Got Me a Job

Mike profile image
Full-time freelancer; Former Lead Engineer / Senior Management; speaker; 14 years in development; open for consulting and freelance opportunities.

A blogging community of over 100,000 software developers Join dev.to