3 ms·
I find that most of my development time in my career is spent getting that glue in place! Seems like we need a better way to glue things together and make sure
by beebmam 4y ago
I find that most of my development time in my career is spent getting that glue in place! Seems like we need a better way to glue things together and make sure that glue doesn't make a mess of things. Maybe AI can help with this
- jaggederest 4y agoThere are tests that help ensure that things are glued correctly. Functional testing is useful in this regard, and end-to-end (sometimes called integration testing*) is extremely useful in making sure critical parts of the system work. For example, I always try to write a "log in" test, and for systems that take payment, a "payment acceptance" test. Even if other parts of the system have bugs, I want to be able to have existing clients log in, and new clients sign up, no matter what. * though I think integration testing is really "anything that tests more than one system" without necessarily being fully end to end
- beebmam 4y agoNot enough companies use these end-to-end tests you describe!
- jaggederest 4y agoI put them in place everywhere I go, so I'm trying my best! I think in a lot of cases the value is difficult to see unless you maintain them as a priority - they can get out of date and start randomly failing, and that's when they go "the way of the dodo" in most organizations, even though a few hours a month of engineering time deliver significant, useful results for your investment.
- saurik 4y agoWhich is sad, because well chosen / planned integration tests also can have high code coverage, but no matter how good your unit tests are they will never replace the need for an integration test. Imagine if someone test every component of a car but didn't do a routine road test, right?