Here is the definition of the day:
In software development, an “estimate,” in the usual sense, consists of a quantified evaluation of the effort necessary to carry out a given development task; this is most often expressed in terms of duration.
The intent is to aggregate many such individual estimates, so as to obtain an indication of the overall duration, effort or cost of a software project.
An estimate is not definitive answer, when we start estimate something we base it on the current information we have and certain assumptions. If a piece of work was originally estimated to be completed at 2 days then suddenly a new piece of information comes, the work may take longer to complete. It is important that this new information is communicated to the appropriate stakeholders so they are aware.
Product Manager : “How long will it take to test this feature?”
Tester: “It would take approximately 1 day. However, I need to catch up with the developer that has done this ticket to ensure that I have understood the feature and what needs to be tested
Tester: “After a catch up with the developer, there were certain implications that I did not take into account in my initial estimate. The testing will take 1 ½ days.”
Product Manager: “Cool, thanks!”