Together with increase of the influence of software systems in all aspects of everyday life there is also a need to focus on their non-functional characteristics. Reliability is one important software quality characteristic, which is defined as continuity of correct service. Reasoning and modeling are necessary in order to achieve desired levels of reliability both during design and usage of software systems. There exist different techniques for gathering of data for software reliability estimation and the aim of this paper is to make a good overview of them. As software testing is the biggest and most widely applied technique we also make a study of current state of the art in application of different testing methods for collection of data to be used for reliability estimation.