Let us begin with discussing what is a Test Strategy? As you know, Strategy means using the resources at one's disposal to achieve the desired objectives effectively. Test strategy means the plan that details how the testing objectives would be met effectively. See the video, How to create a test strategy or read on.
Like any other strategy, the test strategy may be defined at different levels. You may have a test strategy at the organization level, at a program level or at a project level. The thing is that it may not be called a test strategy at the organization/ department/ program level; it may just exist as a management policy or as a part of a governance plan. At the project level, the test strategy may just be a part of the test plan. Further, depending on the nature of the project, the test strategy defined at the project level may or may not satisfy the test strategy outlined at a higher level.
Like any other strategy, the test strategy may be defined at different levels. You may have a test strategy at the organization level, at a program level or at a project level. The thing is that it may not be called a test strategy at the organization/ department/ program level; it may just exist as a management policy or as a part of a governance plan. At the project level, the test strategy may just be a part of the test plan. Further, depending on the nature of the project, the test strategy defined at the project level may or may not satisfy the test strategy outlined at a higher level.
The advantages of an effective test strategy are:
1. It mitigates the risks to objective testing.
2. It helps focus on different aspects of the system under test (by using distinct test phases such as unit testing, integrating testing and so on).
3. It provides clarity on the required people, procedures, tools and infrastructure.
4. It can be used to communicate the test approach to the various stakeholders (clients, project/ test managers, developers and testers) in the project.
How to create a powerful test strategy?
If you want to define a powerful test strategy for your project/ program/ organization, you should consider the following tips:
1. Before you define your test strategy, you should research the client(s) and the end user(s) with respect to the their needs and expectations from the application(s).
2. Your test strategy should aim at satisfying the test objectives alone.
3. Practically speaking, you may need to create two versions of your test strategy depending on the situation - one for communicating to all and a detailed/ tailored one for agreement with the key stakeholders.
4. You have the option of having different kinds of focus in different test phases. However, do not go over-board with defining too many test phases with overlapping effort. In other words, economize with the test phases. Define only the ones which you think are really required.
5. Your test strategy should be totally customized according to your specific situation. What has worked for other companies or what has worked for your company in the past may not apply to your current situation.
6. You should consider the required test environment while designing your test strategy. You should at least have one test environment that is the same as (or is a replica of) the production environment. Further, your test strategy should assume the most common test environment configurations for the most part.
7. Your test strategy should define the testing tools (test/ defect management systems and/ or automated test tools). It is best if you have evaluated the testing tools yourself. If not, base your decision on reliable (vendor-agnostic) and popular user reports.
8. You should look at any defined test processes (e.g. entry/ suspension/ resumption/ exit criteria for test, process to execute test cases and process to report a defect) to examine their feasibility in your situation. Identify the required test processes that will be re-used, modified or created from scratch.
9. Identify the data that will be recorded, measured, analyzed and reported to show the progress of testing.
10. Challenge all assumptions while you design your test strategy. Provide safeguards if any of the prior assumptions prove incorrect later.
11. Finally, remember that a powerful strategy is never static. Monitor the results obtained from the test strategy and do not hesitate in making the desired modifications to your test strategy.
cool
ReplyDeleteVery much useful.
ReplyDeleteThis is the best definition for Test Strategy I have ever come across and many thanks.
ReplyDeleteHi,
ReplyDeleteIt looks good. But, what I can see here is most of the content is from Test planning. Test Strategy should be at high level.
Regards
Shivanand B
Exactly I go with you Shiva..
DeleteKarthik K
Nice article!
ReplyDeleteCompletely agree that test strategy and test planing should be focused on end users.
In my current development model, time to market is very less so deadlines for dev. and testing are usually very aggressive. Focus in this model is more towards quick test execution then towards automation and continuous integration. Test documentation is very minimal.
Thanks for nice article :)
ReplyDeleteI agree with you that test strategy and test planing should be focused on end users
But if your project is limited time and resources (EX: Fix-price project)and requirements is not good
Do you think the above thing is correct? Pls give me your advices about this case :)
Thanks
Please note my response. The time and resources are always limited even if we don't see them as such. Additionally, in any project the testing scope is usually understood before the test strategy is designed. The test strategy HAS TO fulfill the scope given the constraints of time and resources.
DeleteLet us say that it is practically impossible to devise a test strategy within the current time and resource constraints. In such a case, you should communicate to the project stakeholders and submit multiple test strategies, each with different testing scope and associated risks. Basically, the larger project team and stakeholders should decide the course of action. There is no use of a test strategy that WILL NOT meet the test objectives. Such a test strategy may well lead to false confidence and project failure.
Remember, subsequent projects are often based on previous successful(of varying degrees of success) projects. It is better to think long-term than just to focus on a profitable project.
Thank you for your comment.
I would like to thank you for the efforts you have made in writing this article about software testing. I am hoping the same best work from you in the future as well.
ReplyDeleteSoftware Testing Services
Software Testing Services in India
Software Testing Companies in India
Software Testing Services in USA
Software Testing Companies in USA
Software Testing Companies
Software Testing Services Company
QA Testing Companies in USA
Nice and informative blog! This type of information helps accelerate application delivery using the efficient testing method for global technology.
ReplyDeleteIf you want to know about QA outsourcing in US then you can click here.
Thanks for sharing.
Nice and informative blog! This type of information aids in keeping the testing effort in the foreground as opposed to being an afterthought to development.
ReplyDeleteIf you want to know about Software testing company in Pune then you can click here.
Thanks for sharing.