Wednesday 9 September 2015

Experienced Based Techniques

Although it is true that testing should be rigorous, thorough and systematic , this is not all there is to testing. There is a definite role for non systematic, techniques i.e, tests based on a person's knowledge ,experience, imagination and knowing the reason . The reason is that some defects are hard to find using more systematic approaches , so a good "Bug Hunter" that means an individual who can identify the bugs easily and can be very effective and creative at finding those elusive defects. Actually the Experienced based testing is of two types. They are 

  • Error Guessing 
  • Checklist based Testing
  • Exploratory Testing
  • Attack Testing

Error Guessing:
Error guessing is commonly used in risk analysis to "guess" where errors are likely to occur and to assign a higher risk to the error-prone areas. Error guessing as a testing technique is employed by the tester to determine the potential errors that might have been introduced during the software development and to devise methods to detect those errors as they manifest into defects and failures. Error guessing coverage is usually determined based on the types of defects that are being recognized. If there is a defect (or bug) classification available, that can be used as the guideline. If defect classification is not employed, the experience of the tester and the time available for testing usually determine the level of coverage. I doesn't sound very well but actually it works.
Checklist-Based Testing: 

Checklist-based testing is used by experienced testers who are generally use these checklists to guide their testing. The checklist is basically a high-level list, or a reminder list, explaining what all areas to be tested. This may include items to be checked, lists of rules, or particular criteria or data conditions to be verified. Checklists are usually developed over time and enables to know the experience of the tester as well as on standards, previous trouble-areas, and known usage scenarios. Coverage is determined if all the areas of the checklist are tested and covered..

Exploratory Testing: 
Remember that exploratory testing is not at all an adhoc testing. Exploratory testing occurs when the tester plans, designs, and executes tests concurrently and learns about the product while they are executing the tests. As testing proceeds, the tester adjusts what will be tested next based on what has been discovered till now. Exploratory tests are planned and usually guided by a test charter which provides about a general description of the goal of the test. The process is interactive and creative, ensuring that the tester's knowledge is directly and immediately applied to the testing effort. Documentation for exploratory testing is usually lightweight, if it exists at all. Coverage for exploratory testing can be very difficult to determine. The use of the charter helps to define the tasks and objectives of the testing. The charter is used to specify what is to be tested, what is the goal, and what is considered to be in and out of scope, and sometimes it also indicates what resources will be committed including time allocated for the test session. If there is a clear charter, coverage can be determined based on adherence or expansion of the charter. In some cases, coverage is also determined based on defect or quality characteristics that have been addressed by the testing.

4) Attack Testing:
Software attacks sometimes it is called fault attacks are focused on trying to identify a specific type of failure. When performing attack testing, you should consider all areas of the software and its interaction with its environment as opportunities for failures. Attacks target the user interface, the operating system, interfacing systems, database interfaces, APIs, and any file system interaction. Anytime data is being exchanged, it is potentially suspicious and doubtful to a failure and consistently it would be excellent target for an attack. Coverage for attack testing is usually measured by determining if all the potentially suspicious interfaces have been tested

Conclusion:
1) Experience-based testing can have huge benefits, as It can be seen from several examples. But it is better to use these techniques wisely.
2) Experience-based testing isn’t an excuse to have poor testing documentation or to jump into testing with no plan.
3) This type of testing is most effective in the hands of experienced testers who will bring their knowledge to bear in the most productive ways possible. Why it is so?
  • Experienced testers know what needs to be documented to assess coverage and     ensure some level of repeat ability. 
  • Experienced testers also know what to target to find the biggest bugs quickly and return a high yield during their testing time.
4) These are not techniques for novices-but they are definitely appropriate and productive techniques for the advanced tester.






No comments:

Post a Comment