Mobility testing seems challenging as there are so many different devices and applications available. How would you break down the stages of testing?
I hear questions like this once in a while. Each time I wonder just what people expect they need to test. Oftentimes, I turn the question around and ask about testing in other environments.
What has me a little flummoxed is the actual question asked “How would you break down the stages of testing?” I looked at this a couple of ways. First, do the stages of testing (as commonly presented in theory if not in practice) vary based on the environment or nature of application under test?
Most shops I have worked in, the developers were responsible for the unit testing of their own work. If they wrote several modules that needed to work together, typically they would then do some rudimentary integration testing. System testing and System Integration Testing are often lumped together and sometimes with more exhaustive Integration Testing than done by the developers, into a common mass of testing around business need or user expectations as understood by the tester or test team. These and how they fit with other applications, again, with a focus on business need or user expectation as understood by the tester or test team, become the emphasis of what I think of as a general Integration Test. Then there is some form of acceptance testing. However, much commercial software has such a broad base of potential users that this is often done by proxy, either by those who helped define the function and requirements for the system or sometimes by limited beta testers.
I have found that these general definitions don’t change too much as you move from environment to environment. The manner in which they are done will clearly change, but the need for them does not.
The greater question is one that begs to be considered, and is the second way I thought about this question. What is the purpose or goal my testing is to achieve? The answer to that depends entirely on the mission. Am I testing a specific application on a variety of devices and configurations? Am I testing a group of related applications? What is expected of me in this test effort?
That is the central question to every test effort I have ever been exposed to. What information around what questions am I to discover and provide to the stakeholders on this project? This is central to all testing, regardless of environment.
Simulators, emulators and various other tools are available for you to exercise your application and get a reasonable feel for how it will behave in the wild. Will they give you a precise measurement of how the application will behave? Will you have hard facts? Not precisely. You will have trends and information on general behavior.
Let me reconsider my original thought on this question. Given the variety of applications that run on laptop computers and all the makes, models, configurations, OS and browser choices available, how do you break down the testing there?
This was first published in October 2011