Subscribe by Email


Showing posts with label Error guessing. Show all posts
Showing posts with label Error guessing. Show all posts

Friday, February 24, 2012

What is meant by error guessing methodology?

Errors and bugs are perhaps the worst enemy of a software system or application and of course cause a lot of nuisance in the programming and give nightmares to the program developers and testers. Till date several methodologies have been developed to cope up with these errors and bugs but, the problem of errors is something which cannot be rooted. It can only be controlled.

Error guessing and error seeding are two such technologies about which we will be discussing in this article.

CHARACTERISTICS OF ERROR GUESSING
- Error guessing is a self explaining term.
- It can be thought of as a software testing methodology or technique that employs test cases to dig out the bugs buried in the software program.

DIFFERENCE BETWEEN ERROR GUESSING & OTHER SOFTWARE TESTING METHODOLOGIES

Then what is the difference between error guessing and other software testing methodologies? Though they may seem similar, there is a considerable difference which lies in the composition of the test cases.

DIFFERENCE #1:
- The test cases used in other types of software testing methodologies are based up on the requirements specifications of the software system or the application. - But, in error guessing, the test cases involved are based up on the past experiences of the testing as well as on the experience of the program that is to undergo testing.

DIFFERENCE #2:
- These test cases are created by the tester who has been involved in the whole programming of the software system or application.
- The tester has a past experience of the older versions of the programs so that he can easily put forth the situations and conditions that can cause the system failure or give rise to errors like null pointers, division by zero or use of parameters that are invalid.
- Error guessing methodology like exploratory testing does not follow any explicit rules or regulations.
- The tester is free to choose the basis to base the test cases on whether be it on functional or non functional requirements, experience, and situation and so on.

ASPECTS USED BY TESTERS IN USING ERROR GUESSING
Testers who have an experience of using error guessing make use of the below mentioned aspects:

1. Knowledge about the methods and techniques used in the AUT like implementation technology and designing method etc.
2. Past experience of software testing in different phases. Such experience is required during the phase of the regression testing.
3. Past experience of testing similar software system or applications and a knowledge of the factors that caused defects in them.
4. Knowledge of typical errors like those mentioned above in the article which are implemented unknowingly in the code.
5. General Thumb rules of heuristics.

ADVANTAGES OF ERROR GUESSING
- Error guessing when implemented properly can gradually increase the efficiency and effectiveness of your software testing life cycle.
- The error guessing skills of a tester gradually improve with the gradual experience of software testing.
- Error guessing is the easiest software technology that a tester can ever use.
- It is just like a guessing game, you guess where all the errors might be hidden.
- This methodology does not require any specially designed tools.
- Error guessing involves seeding out of errors.
- Error guessing methodology can be applied while carrying all other software testing techniques so as to get much better outcomes since the error guessing helps a great deal in improving the quality of the test cases.
- Error guessing is a technique that roots those defects that appear to be an intuition in the AUT.


Tuesday, October 12, 2010

Some Black box testing techniques...Graph based testing methods, Error guessing and Boundary Value Analysis.

Graph Based Testing Methods
Software testing begins by creating a graph of important objects and their relationships and then devising a series of tests that will cover the graph so that each objects and their relationship is exercised and errors are uncovered.Graph based testing begins with the definition of all nodes and node weights i.e. objects and attributes are identified.

Error Guessing
The purpose of error guessing is to focus the testing activity on areas that have not been handled by the other more formal techniques, such as equivalence partitioning and boundary value analysis. It comes with an experience of technology and the project. There are no specific tools and techniques for error guessing but you can write test cases depending on the situation. Error guessing will require tester to think out of the box and would involve intuition and experience of the tester.

Boundary Value Analysis (BVA)
It is a test data selection technique where the extreme values are chosen. It makes use of the fact that the inputs and outputs of the component under test can be partitioned into ordered sets with identifiable boundaries. A test engineer chooses values that lie along data extremes. It is expected that if the system works correctly for these special values, then it will work correctly for all values in between. The boundary value analysis test cases are obtained by holding the values of all but one obtained by holding the values of all but one variable at their nominal values, and letting that variable at their nominal values, and letting that variable assume its extreme values variable assume its extreme value.
There are two ways to generalize BVA technique :
- By the number of variables: for n variables, BVA yields 4n+1 test cases.
- By the kinds of ranges.

Advantages of Boundary Value Analysis
- Robustness Testing
- It checks values for min-1, min, nom, max-1, max, max+1
- It forces attention to exception handling.

Limitations of Boundary Value Analysis
BVA works best when the program is a function of several independent variables that represent bounded physical quantities.
Boundary value analysis works well when the program to be tested is a function of the program to be tested is a function of several severalindependent independent variables that variables that represent bounded represent bounded physical physicalquantities quantities.


Facebook activity