Testing in Software Development
In software development, testing plays the role of engineering rigor. Developers often use metaphors from hard engineering disciplines like bridge building to explain their work, but these comparisons have limitations. Unlike traditional engineering, software development lacks the mathematical and physical tools needed to ensure structural stability before building. However, software development has the advantage of being able to cheaply build and test speculative designs using tools such as unit testing, mock objects, and test harnesses. Testing is essential to ensuring reproducibility and quality in software development, and it is the responsibility of developers to prioritize it. While testing takes time, it is necessary for ensuring the quality of the end product. As such, developers should embrace testing as the primary verification mechanism for software and push back against arguments that dismiss it as unimportant. #TestingRigorForSoftwareEngineering