Several good answers were provided for this question, but recently I had a chance to review few resources on this topic and so I decided to share the results.
There are multiple possible estimators for zero-failures data. Let's denote $k=0$ as number of failures and $n$ as sample size. Maximum likelihood estimator for probability of failure given this data is
$$ P(K = k) = \frac{k}{n} = 0 \tag{1} $$
Such estimate is rather unsatisfactory since the fact that we observed no failures in our sample hardly proves that they are impossible in general. Out out-of-data knowledge suggests that there is some probability of failure even if non were observed (yet). Having a priori knowledge leads us to using Bayesian methods reviewed by Bailey (1997), Razzaghi (2002), Basu et al (1996), and Ludbrook and Lew (2009).
Among simple estimators "upper bound" estimator that assumes (Bailey, 1997)
that it would not be logical for an estimator for P in the
zero-failure case to yield a probability in excess of that predicted
by the maximum likelihood estimator in the one-failure case, a
reasonable upper bound
defined as
$$ \frac{1}{n} \tag{2} $$
can be mentioned. As reviewed by Ludbrook and Lew (2009), other possibilities are "rule of threes" (cf. here, Wikipedia, or Eypasch et al, 1995)
$$ \frac{3}{n} \tag{3} $$
or other variations:
$$ \frac{3}{n+1} \tag{4} $$
"rule of 3.7" by Newcombe and Altman (or by 3.6):
$$ \frac{3.7}{n} \tag{5} $$
"new rule of four":
$$ \frac{4}{n+4} \tag{6} $$
but as concluded by Ludbrook and Lew (2009) "rule of threes" is "next to useless" and "rule of 3.6" (and 3.7) "have serious limitations – they are grossly inaccurate if the initial sample size is less than 50" and they do not recommend methods (3)-(6), suggesting rather to use proper Bayesian estimators (see below).
Among Bayesian estimators several different can be mentioned. First such estimator suggested by Bailey (1997) is
$$ 1 - 0.5^\frac{1}{n} \tag{7} $$
for estimating median under uniform prior
$$ 1 - 0.5^\frac{1}{n+1} \tag{8} $$
or for estimating mean under such prior
$$ \frac{1}{n+2} \tag{9} $$
yet another approach assuming exponential failure pattern with constant failure rate (Poisson distributions) yields
$$ \frac{1/3}{n} \tag{10} $$
if we use beta prior with parameters $a$ and $b$ we can use formula (see Razzaghi, 2002):
$$ \frac{a}{a+b+n} \tag{11} $$
that under $a = b = 1$ leads to uniform prior (3). Assuming Jeffreys prior with $a = b = 0.5$ it leads to
$$ \frac{1}{2(n+1)} \tag{12} $$
Generally, Bayesian formulas (7)-(12) are recommended. Basu et al (1996) recommends (11) with informative prior, when some a priori knowledge is available. Since no single best method exists I would suggest reviewing the literature prior to your analysis, especially when $n$ is small.
Bailey, R.T. (1997). Estimation from zero-failure data. Risk Analysis, 17, 375-380.
Razzaghi, M. (2002). On the estimation of binomial success probability with zero occurrence in sample. Journal of Modern Applied Statistical Methods, 1(2), 41.
Ludbrook, J., & Lew, M. J. (2009). Estimating the risk of rare complications: is the ‘rule of three’good enough?. ANZ journal of surgery, 79(7‐8), 565-570.
Eypasch, E., Lefering, R., Kum, C.K., and Troidl, H. (1995). Probability of adverse events that have not yet occurred: A statistical reminder. BMJ 311(7005): 619–620.
Basu, A.P., Gaylor, D.W., & Chen, J.J. (1996). Estimating the probability of occurrence of tumor for a rare cancer with zero occurrence in a sample. Regulatory Toxicology and Pharmacology, 23(2), 139-144.