Willie Walker closed the gap with a penalty for Worcester, and Ulster came under increased pressure as second row Ryan Caldwell spent time in the sin-bin.
But Brian McLaughlin's charges kept the Warriors at bay and struck back at the start of the second half, with experienced scrum half Isaac Boss slipping through for a 49th minute try.
Humphreys missed the conversion but managed to land a penalty on 64 minutes, extending the visitors' advantage to 15-3.
Humphreys kicked a second successful penalty and then in the closing minutes, number 8 Robbie Diack stormed through the Worcester defence for a well-executed try - Ulster's third of an encouraging display - and Humphreys added the conversion for good measure.
So a rare win on English soil for Ulster and one founded on a solid defensive platform and clever gameplan.
Three pre-season wins out of three for something for McLaughlin and his coaching staff to savour - but maintaining that winning form away to the Dragons in next weekend's Magners League opener is what really counts.
ULSTER: Bryn Cunningham; Timoci Nagusa, Andrew Trimble, Ian Whitten, Nevin Spence; Ian Humphreys, Isaac Boss; Bryan Young, Andy Kyriacou, BJ Botha, Dan Tuohy, Ryan Caldwell, Chris Henry (capt), Willie Faloon, Robbie Diack.
Replacements: Nigel Brady, Tom Court, Declan Fitzpatrick, Ed O'Donoghue, Thomas Anderson, Ian Porter, Niall O'Connor, Jonny Shiels, Darren Cave.