I am building an Arduino based project with DS1307 RTC clock module and storing an offset value, rarely updated though, in its EEPROM. But I am observing drift in the time as well as the offset value in the EEPROM over time. The stored value of -18 in the EEPROM changed to 104 after 3-4 days. I suspect the time is changing more rapidly, about one minute in a day. I am also using AltSoftSerial to communicate with a GSM Mini 900A module. I suspect some issue in the Arduino, as the project works flawlessly in some other hardware. I wrote two bytes on address 0 and 1 and after the drift I tried on address 100 but no improvement. The change in the EEPROM stored value is very surprising. What are the general characteristics of a faulty Arduino UNO board?
Any RTC that depends on an internal oscillator will drift with respect to time, the only question is how fast. As well as inherent drift, temperature changes, voltage changes and noise can affect the timekeeping. According to the chip datasheet:
A drift of 1 minute per day (700ppm) is much more than one would expect from a crystal by maybe 50 or 100x so maybe the issue is noise coupled from the Arduino reads and poor layout or circuit arrangement in your implementation or in the design of your module (presumably an inexpensive hobbyist-oriented product).
If the clock is running fast, this is most likely the issue. If it's running slow, then it may be something else.
You seemingly have different thinking principle than most of us.
The only general sure thing of faults is that they can cause something which differs from the specs. I wrote can - it's well possible that nothing noticeable has still happened and if some anomalies have been seen, they can be caused by misuse or errors in other parts of the system.
So: You cannot get a short general checklist that you can work through and can decide "the board is ok because all steps in the checklist gave OK".