Choosing Best Testing Techniques

Choosing Best Testing Techniques

Which testing technique is best used, and when shall that specific technique be used? As a professional tester when creating test cases you should always use a combination of test techniques in order to achieve the best result from the test efforts, and verify the security of the product by finding those bugs that need improvements or fixing. Every company would like to have a secure and trustful product, but for that the product has to go through various stages of tests that will give the product credibility and value. Below I listed certain test techniques factors that should be taken in consideration when having to chose testing scenarios for different types of products or software.

Test techniques selection factors:

1.?????Regulatory standards: always be informed of the regulatory standards applicable in the manufacture of the product.

2.?????Customer or control requirements: Are you required to use a specific type of test like white box-testing as an example.

3.?????Level of risk: if the level of risk is high like safety of critical systems than we should do more detailed formal testing.

4.?????Type o risk: helps decide which technique to use, sometimes the risk is not marking the software on time, in this case exploratory testing will be the answer.

5.?????Type of component or system: the type of system, graphical, financial, etc. will influence the choice of techniques. For example, a financial application involving many calculations would benefit from boundary value analysis.

6.?????Test Objectives: for example if the test objective is simply to gain confidence that the software is working under certain circumstances, than use case testing will be a good approach. If the objective is to test the system thoroughly than more vicious and detailed techniques including the structure-based technique or white box technique should be chosen.

7.?????Documentation available: if we have specification and models than we can use black-box testing. If we have source code, then we can use white-box testing. If we have nothing than we can only use the experience of the tester to drive test cases.

8.?????Knowledge of the testers: if the tester can read code, than we can use white box testing. If they can’t read code than we can not use white-box testing.

9. ????Time and budget: if we have the time, then we can do any kind of testing. But if we don’t have the time, then exploratory testing will be our only choice.

10.???Development life cycle: development life cycle will lead to a more formal techniques, where exploratory testing will be a better choice for iterative life cycle modules.

11.???Experience of types of defects found: since some techniques are good at finding a particular type of defects, the knowledge of the likely defects will be very helpful in choosing the testing technique.

12.???Component or system complexity: complect systems will require more advanced testing techniques.

13.???Available tools: if we already have a specific kind of tool that supports a specific kind of testing technique, then we better take advantage of it.

14.???Expected use of the software: developing software for your own company differs from creating software for the public. Hance different test techniques will be chosen.

15.? Experience with using the test: on the component to be tested, if we have used the state transition diagrams, in our specifications than we might use state transition testing. If our specifications were written using use case models then we might use case testing.

  • In conclusion lets answer the question: "Which technique is best?" It is important to Always make functional testing the first priority. Start with black-box testing techniques to cover the functionality as much as possible. Than consider non-functional test cases. Observe if there are check statements and decision coverage, and add as many test cases to increase the coverage to an acceptable limit. Never underestimate the?use of experience-based techniques to add test cases as necessary. The higher the maturity of the test and development processes the higher the formality should be. Time management is key, because less time forces a tester to be less formal. Safety and regulatory requirements should always be taken in consideration, knowing that the more the regulatory or safety requirements the more formal route we should go. Know the knowledge and skills of the people involved, and make sure to follow the software development lifecycle model.

要查看或添加评论,请登录

Beniamin Martis的更多文章

社区洞察

其他会员也浏览了