Re:Things nobody told me about being a software engineer
by arkh on Wednesday November 14, 2018 @01:05AM
(#18447866)
Currently you read a lot about unit testing. Usually used badly (testing solo methods or classes).
What you want is E2E tests: test that your product conforms to its specifications. Automate the test procedure your testers have.
Re:Things nobody told me about being a software engineer
by rorykoehler on Tuesday November 13, 2018 @10:12PM
(#18447162)
Testing is for business logic not for seeing if the project will build.
Re:Things nobody told me about being a software engineer
by pathseeker on Wednesday November 14, 2018 @02:47PM
(#18453194)
Type testing can't catch business logic regressions.
If the testing advocates are using something with even a basic compiler/type-system (e.g. Java), then IME it often comes down to not being fluent with the design patterns, tricks, IDE shortcuts/plugins, tools, etc. that compilers and type-systems can provide to work with you to catch bugs at build time. I mention Java because it's a language that allows you to keep writing "dynamic" code and avoid the compiler/type-system to a good degree if you want (and boy do people want to). E.g. passing top-level Object types around and casting, using HashMaps instead of a proper Class, heavy reflection use, "stringly" typing, etc. Unlike say Haskell or Rust which force correctness down your throat to a much higher degree.
Obviously no matter the language choice, their comes a point where automated testing becomes cost-effective (e.g. safety-critical software). At that point however there should be formal methods and such in play also. And I'd say for the majority of us working on CRUD apps, we're not at that cost-effectiveness point.