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:
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..
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.
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.
No comments:
Post a Comment