In a software that follows any specific SDLC, who can be considered the mostappropriate resource to catch the defect.
Software development life cycle has various stages and each stage has
different experts or resources involved starting with product owner, business analyst, designers, developers and testers. Every of them somewhere or the others perform testing to identify bugs at their own level. The developer does unit testing, testers are officially there to test the application and identify bugs however product owner and business analysts is the best person who can identify the bugs in accordance with the business requirements.