How would you test it?
By: Slav Kurochkin
Sometimes when you are planing to test something you getting questions, how would you test that component, why would you test that module, how you identify what should be tested first, why it is more important than another?
And it is ok when business owner concern about testing strategy, isn't it?
First of all we can use method which is currently psychology using for problem solving, we need to develop strategy and organize our knowledge.
1. Identifying the Testing Module: While it may seem like an obvious step, identifying testing target is not always as simple as it sounds. In some cases, Test Engineeer might mistakenly identify the wrong source of concern, which will make attempts to test it inefficient or even useless. For example developer and test engineer, after they got story from BA may understand it differently, so it is good to have a little chat with developer, before he start developing module, just to make sure that you are in same boat and your vision of how particular component should be developed and then tested pretty same as your developer have it in mind.
2. Defining the Testing Module: After the testing module has been identified, it is important to fully define module so that it can be tested right way. Once you as test engineer got story. You have to ask questions:
- How would that component affect entire website
- Is there some modules which directly related to component you going to test
- Is there functional, GUI changes (development)
- If you need give a Fibonacci sequence pointing system, is particular story 1,2,3,5,8,13,21,34,45? Why would you choose that pointing instead another? What was your previous experience with similar component? What amount of time will it take to test? Does it required cross browsing, cross platform testing? If development delay how would it affect testing? If release for particular component fail, will it affect entire release?
3. Forming a Strategy: The next step is to develop a strategy to test module. The approach used will vary depending upon the situation and the individual's unique preferences.
- Why would you test component and what is the right way to test it?
- From where you are starting your testing? Is component you are testing new or it is upgrade for existing component. If it is existing component, what is the reason of upgrade? Was there some bugs reported for particular module? Is there some areas to be concern about?
So you are as test engineer should focus on possible failures, which should be based on previous experience and risk analysis.
- If cross browsing required. Identify supported browsers
- Should module have test automation
4. Organizing Information: Before coming up with a solution, we need to first organize the available information. What do we know about the component? What do we not know? The more information that is available, the better prepared we will be to come up with an accurate testing.
- Business requirement
- Testing Strategy with understanding what we are testing and how we are going to test it.
- Do we have all required tools for testing
- Is there some other Test Engineer, Developer or another team member need to be involved in testing
5. Allocating Resources: Of course, we don't always have unlimited money, time and other resources to develop and test application. Before you begin to test, you need to determine how high priority it is. If it is an important component(bug), it is probably worth allocating more resources to solving it. If, however, it is a fairly unimportant problem, then you do need to spend all of your working time on testing color changes in particular link. 🙂
6. Monitoring Progress: Effective QA engineers tend to monitor their progress as they work towards a testing. If they are not making good progress toward reaching their goal, they will reevaluate their approach or look for new strategies. It is good to have some parallel debugger running wile you executing your test. In some case you may not be able to catch all errors, and Proxy Debugging tools such as Fiddler for Windows or Charles for Mac will be accomplish for your testing. How ever you may have a charts where you can pull all information for specific component. As example you may write down how much time you spending on testing, how many of your test cases completed, how many failures and fixes you got wile testing etc.
7. Evaluating the Results: After a testing complete, it is important to evaluate the results to determine if it is the best possible tests to the story.