[HTC One Mini] MercuryStar:
No matter what the phone, you tend to see battery life tests showing 8+ hours of web browsing battery life. However, real life never matches up to this expectation, with 3 or 4 hours of web browsing much more typical. This is the case with all smartphones - even a device like the Note 2 or Note 3 (albeit with higher expectations to begin with: - a Note 2/3 may tests 11+ hours web browsing but typically get 4.5+ in real-life conditions).

Unfortunately this leads many to believe that their brand new device (or its battery) is faulty. But in most cases this is not true.

I'll attempt to explain the real reason for the discrepancy.

Most importantly, the battery life tests are exclusively limited to that activity or task. For example, fully charging the smartphone, continuously web browsing for 8+ hours until the phone dies. In reality when we use our phones, the phone will be on standby, or doing other tasks, at other times. For example, 8+ hours of web browsing from a full charge is not the same as getting 8+ hours of web browsing over a 16 hour day. Those other 8 hours, even if the phone are on standby, are going to use up some of your battery, too.

The single biggest battery drain of a device is usually going to be the screen, unless you have specifically forced the screen brightness to a low (<33%) amount. At full brightness, a smartphone may burn through battery after only 3.5 hours of web browsing even if it could last 8+ hours at 40% screen brightness (the brightness control is not usually linear in terms of power draw). Review sites tend to standardise on a particular brightness level that is relatively low (the reason for this is often that allows fair comparison with devices that just can't get as bright). The bottom line is that 8+ hours of screen on time at lowish brightness might drop to half that or lower if you let auto-brightness bring up the brightness during the daylight hours or when outdoors, or if you prefer higher brightnesses.

Often, battery life tests will be done over wifi with mobile phone reception disabled entirely. This is not realistic as with a smartphone you're usually connected to a cell tower even while you're using wifi, so that voice calls and texts can still come through. Also, cellular uses a lot more energy while idle than wifi does. So even if you set the brightness really low and do nothing else with the phone, you still shouldn't be surprised that you can't get 8+ hours of web browsing if you also have the phone connected to a cell tower in the background. Some sites will conduct battery life tests over the cellular network instead of wifi, and typically these will get much lower battery life ratings (eg. 4+ hours, even with the same brightness level as for the wifi test).

Bottom line is, don't head back to the shop if you only get 3 to 4 hours screen on time during the day with web browsing. This is entirely normal for *some* usage patterns. You can improve it by:

Disable auto-brightness and set the brightness to a low-ish value, say 30%-40% of maximum. This might be able to double your screen-on time compared to full brightness.

Avoid using the phone much in direct sunlight. For the brightness to be high enough to read in direct sunlight, you'll be burning through your battery quickly, and if you've set the brightness manually to a low level as advised above, you won't be able to read it in direct sunlight.

Connect to wifi (but of course, only if you trust the wifi network to be secure and respect your privacy).

Realise that if you ever play CPU- or GPU-intensive games (most casual games shouldn't fit in this category) then a beefier battery or external battery booster may be a good investment. There's not much you can do about their battery use.

Only after considering the above should you hunt through battery usage analysers and wakelock detectors. In many cases even a misbehaving wakelock that keeps your phone partially awake all day has a low impact compared to having the screen on full brightness for just 20 or 30 minutes.