Negative testing is one of the most sought after software testing methodology. Negative testing is the counterpart of positive testing.
Facts about Negative Testing
- Negative testing is really very helpful when it comes to handling the invalid input test data and abnormal behavior of the software system or application.
- The purpose of the negative testing is to prevent such situations in which the invalid data might be taken by the system and which in turn may disrupt the functioning of the whole software system or application.
- For example, when a user tries to enter numerical data in the alphabetic field, the software system displays a message like “incorrect data type”.
- Such response from the software system or application is required since it avoids the crashing or hanging of the whole system by preventing input of invalid data.
- Not only this, the negative testing helps one improve the quality of the software system or application by knocking out its weak points.
- In positive testing, giving some invalid data as input to the system is considered to be an exception but this is not so in the case of negative testing.
- In negative testing, giving some exceptional input to the software system or application is treated just like a normal event.
- Negative testing is all about testing the exceptions.
- Usually for a better software testing results, both the negative testing as well as positive testing are combined together and implemented.
- Using such a testing methodology provides greater test coverage rather than using just one of the either mentioned software testing methodologies.
Situations which are typically tested by the negative testing:
1. Filling up fields by user
- Most of the web sites as well as web applications require the user to fill up all the fields that are marked compulsory.
- To test this functionality, leave all the marked fields blank and hit the submit button and observe the response of the site or the application.
- The expected outcome here can be a message asking you to fill up all the compulsory fields.
2.Checking correspondence between field and data type
- Negative testing also checks the correspondence between the field and data types.
- For example, the different fields in a form can accept the specified type of data. - To test this, you can enter various sorts of invalid data types in to those fields and check the behavior of the application.
3. Checks allowed limits and data bounds
- It also checks for the allowed limits and allowed data bounds.
- Fields in a form can accept data only within a specified data range and not above or below that.
- This can be tested in two ways. You can either enter value that is less than the lower range of the data or you can enter value that is above the specified range.
- Another example can be of text box which accepts only a finite number of characters.
- You can test it by inputting less or more number of characters.
4. Checking reason ability of input data. - Negative testing is also an effective tool for checking the reasonability of the input data.
- The age fields in some web forms etc do not allow any negative integers and also no floating point value.
- This can be tested by simply putting in the wrong data types like a negative integer.
5. Tests the web sessions
- Negative testing can also be used to test the web sessions either for timing or for log-in purposes.
- There are some web pages for viewing which you first have to log in.
- This can be tested by trying to open that web page without logging in.
Negative testing is pretty easy to be carried out manually, but still you can find many automation tools for it.
Thursday, March 8, 2012
What is meant by negative testing?
Posted by
Sunflower
at
3/08/2012 11:55:00 PM
0
comments
Labels: Coverage, Data, Events, Functional, Invalid, Limits, Messages, Methodology, Negative, Negative Testing, Positive Testing, Purpose, Response, Software testing, Tests, Valid, Web Applications, Websites
| Subscribe by Email |
|
Thursday, March 1, 2012
What are different boundary related defects?
Like there is a separate testing methodology for each aspect of a software system, there is a testing technique called “boundary value analysis” for testing the boundary values of a software system or application.
WHAT IS BOUNDARY VALUE ANALYSIS?
- Boundary value analysis consists of test cases which include the boundary value representatives of the software program.
- Boundary values are the values which lie on the maximum and minimum edges of an equivalence partition.
- These maximum and minimum values can be either input values or output values of the software program.
- These boundary values of the software are the main seat for the defects or errors that are responsible for the faults in the software.
- This property of the boundary values finds them useful in the test cases.
- These input and output values are taken from the specifications of the component.
- The values contained in each of the sets are processed by the software system or application exactly in the same way.
- While creating the test cases for the boundary value analysis it is very important to keep in mind both the invalid and valid partitions even though there is no need for invalid partitions.
- Whenever an invalid partition is encountered by the application, the test case is designed as such that it helps the application control the partition in a proper way instead of faltering.
- The boundary is located exactly between any two set partitions and the behavior of the software system or application.
- The value at a boundary can either be maximum or minimum.
- The values at the boundaries are absolute and cannot be exceeded.
- In order to make correct assumptions about the software system or application you need to understand the boundary limits correctly.
- Apart from boundaries there are threshold values and these values cannot be exceeded unless modified.
- The threshold values can be modified to suit your needs.
- But you should keep in mind that hanging the threshold values can affect the performance of your input data.
- The boundary values are generated and verified through observation and testing. - While testing the workload is increased till the software system starts giving its maximum efficient performance.
- Some of the components of a system have capability to handle more loads than the other components.
- In such a case the average value of the load should be calculated and assigned to the software system or application.
- High latency is showed by some of the features and functionalities as compared to the others which operate under acceptable values.
- In such a case the maximum value is calculated on the basis of the usage of the features and functionality such that the overall performance of the software system or application remains unaffected and acceptable.
- If some of the components are operating on the limits exceeding those limits that were used during the testing, the acceptable limits of the other components will be affected.
Therefore, it is important to implement a good capacity management so that effective limits are established. We are now clearly stating some boundary related defects:
1. Numeric boundaries
2. Boundary on numerosity
3. Boundary within the data structures
4. Equality as a boundary
5. Boundary on space
6. Boundary in loops
7. Boundary in time
8. Errors in calculations
9. Out- dated constants
10.Invisible boundaries
11.Hardware related boundaries
Posted by
Sunflower
at
3/01/2012 11:49:00 PM
0
comments
Labels: Analysis, Application, Boundaries, Boundary Value Analysis, Calculation, Defects, Errors, Functionality, Invalid, Limits, Maximum, Minimum, Software Systems, Test cases, Time, Valid, Values
| Subscribe by Email |
|