Software reliability estimation is one of most active area of research in software testing. Since recording of time between failures has often been too difficult to collect, software testing data now have commonly been recorded as test-case-wise in a discrete set up. Although there have many models that were developed to estimate software reliability, they were too restrictive in nature.We have developed a model using the size-biased concept which not only estimates the software reliability, but also estimates the total number of bugs present in the software. The model is highly flexible as it could provide the reliability estimates at the end of software testing and also at any future phase of software testing that could have been conducted in order to improve the software reliability. This flexibility is instrumental to find the stopping phase such that the software reliability achieves a desired optimum level (e.g., 95%). In addition, we also provide a model extension which could be applied on grouped bugs in different regions of a software.We assessed the performance of our model via simulation study and found that each of the key parameters could be estimated with satisfactory level of accuracy. We also applied our model to two different software testing data sets. In the first model application we found that the conducted software testing was inefficient and a considerable amount of further testing is required to achieve a optimum reliability level. On the other hand, the application to second empirical data set has shown that the respective software was highly reliable with software reliability estimate 99.8%.We anticipate that our novel modelling approach to estimate software reliability could be very useful for the users and can potentially be a key tool in the field of software reliability estimation.