Is there a difference in testing a product and testing an application, from Automation Testing standpoint. Testing fundamentally means determining if the object under test operates in a way that meets specifications.
Software is software and its there is no difference if its a Software Product or Software Application . It doesn’t matter whether it is a simple “hello world” program, or an operating system. The fundamental process for testing is to break down the functionality into testable components with well defined behaviors, and then work your way “up” testing component interactions as a system. Knowing the target users or the “business” is used to determine if the product is actually going to solve a user’s problem or meet their need in a way that they will actually want to use it. That is Usability testing, which is very distinct from functional correctness testing.
If the designers are not sure what users will do with their “product” or not sure how they will use it, then they are most likely going to design the wrong thing, or, at best, design something that only a fraction of their target base will want. If any software does not have clear specifications, then testing is more problematic because it isn’t clear what is right and what is wrong, what is a bug and what is not a bug. But this is true of “application” designers too. So this does not clarify the distinction between an application and a product.
If the argument is that products are more complex than applications, then it is a subjective an arbitrary distinction. Who gets to say when complexity crosses the line from application to product?
Is it that products are sold, and applications are used internally? Does that make any difference from test-process point of view? It certainly has a bearing on what “quality” means (paying customers are much less forgiving of minor bugs), but it should have no bearing on _how_ testing is approached. The software still needs to be proven to work as intended.
So far, no one has been able to provide a clear, objective, practical, technical differentiation between the term “product” and “application” as it applies to software, nor an example of how that would change the fundamental process of testing – nor has anyone addressed the original question in this thread – automated testing.
How I would go about automating testing of an operating system is vastly different from how I would do it for something like … as an example … iTunes. But whether you call one an application and one a product means nothing.