I'm having trouble bridging theory with practical in software testing
Day before yesterday while chatting my friend(also a tester) he raised the topic theory vs practical in testing. His points of concern were that by theory software testing has phases like planning, estimation, scripting and execution. If all are carried out properly then testing will go on smoothly every time, but that doesn't seem to happen in reality. In reality we have all come across various factors that prevents this perfect theory from becoming a reality. We tried to see various scenarios and possibilities on this but couldn't reach on proper conclusion. Well I have also done testing dependent on context but the way my friend was trying to make his point it got me thinking, Is there a relation between the theoretical and practical testing? I clearly saw a gap between the 2, but my point of concern is if there is a connection then I'm clearly not able to see it! I'd like to get to know if these 2 can be bridged and a middle path could be found!
Theory is a wonderful place. Everything works perfectly there. Sarcasm aside, theory is - or should be - a description of how something works that's sufficiently useful to make a prediction about some future version of that thing. So software testing theory should be able to make some predictions about how actual testing will proceed and guide the testing. The idea that testing has distinct phases like planning, estimation, scripting, and execution is really a testing waterfall model. It describes distinct testing activities, and predicts that those activities will largely occur in time-separated chunks, in a distinct order (that is, planning will occur before estimation, which will be before scripting, which will be before execution). In practice, while all these activities occur in some form, they tend to intermingle and loop between each other depending on the context. So the testing waterfall model is possibly not helpful outside strictly structured environments. They also miss the exploration and investigation activities that typically occur when a tester is working. In short, I think the theoretical side of testing, particularly as it's taught in colleges (where it is taught), lags behind the practical side of the field. So far, what I've seen is mostly descriptive with little predictive or guiding value, although there are people working on improving this.