I'm a Systems Reliability and DevOps engineer for Netdata Inc. When not working, I enjoy studying linguistics and history, playing video games, and cooking all kinds of international cuisine.
Usually by writing the code to meet the exact requirements they were given, and then writing unit tests (which should absolutely be the developer's responsibility) that verify that it behaves the way they were told it should.
The thing is, it's not unusual for the description given to the developer to be under-specified, and as such not unusual that some of the behavior is left up to the implementation, which may cause issues for end users. So it's fully possible for the code to 'work correctly' as per what the developer was told, but still not do everything it's supposed to.
Developing software solutions for too many years. The majority of my time has been either Managing Software Development efforts or as a Software Quality Engineer.
Usually by writing the code to meet the exact requirements they were given, and then writing unit tests (which should absolutely be the developer's responsibility) that verify that it behaves the way they were told it should.
The thing is, it's not unusual for the description given to the developer to be under-specified, and as such not unusual that some of the behavior is left up to the implementation, which may cause issues for end users. So it's fully possible for the code to 'work correctly' as per what the developer was told, but still not do everything it's supposed to.
You are very right. The potential gaps in requirements and/or expectations definitely can lead to issues or unintended behaviors.