It might be possible that there may be two teams in project like software developer team and software testing team or more teams in project. There may be different kinds of functionalities in project and each one developed by different kind of developer teams like DBA, Front end developers . Tester who test the functionality and verifies software is as per requirement or not also find defects in it. It's always required to have same and good understanding about functionality for both Tester and Developer. Developer need to understand functionality in way to develop it and tester need to understand functionality in way to test it . In my overall testing experience i also experienced where there may be differences in understanding of both developer and tester on specific functionality. Some times because of bug both developer and tester realizes that there is gap of understanding. In this situation the best way to tackle situation is discussion meeting with both developer team and tester team by referencing FRD , SRS document. Its not about more or less discussion its all about fruitful outcome. So here tester need to play good role to create communication channel in between all teams in process. As tester need to test it in all possible ways and all possible ways means test the all phases.