Software projects can be extremely large and have wildly different requirements. Software that needs to operate at high scale and require high reliability will have differenet requirements for say - a web application that has low traffic.
I think making rules of thumbs like the title of this article defeats the purpose of one of the essential tasks of being an engineer - making good tradeoffs between different approaches to solving problems. It's not hard to see that some projects will require more unit testing, some may require more integration testing and others may require more of both.
I automated my housing search. When I moved to a new city (Cape Town, South Africa), there are a wide range of different classified websites that advertise house sharing. The market in Cape Town is extremely competitive and does not favour tenants. I wrote a series of python scripts that trawled through these online classified and automatically created responses to them. The aggregation of content and the auto creation of emails saved me a great deal of time and allowed me to quickly respond to hundreds of adverts from a variety of sites almost as soon as they were created.
Software projects can be extremely large and have wildly different requirements. Software that needs to operate at high scale and require high reliability will have differenet requirements for say - a web application that has low traffic.
I think making rules of thumbs like the title of this article defeats the purpose of one of the essential tasks of being an engineer - making good tradeoffs between different approaches to solving problems. It's not hard to see that some projects will require more unit testing, some may require more integration testing and others may require more of both.