Subscribe by Email


Showing posts with label Positive Testing. Show all posts
Showing posts with label Positive Testing. Show all posts

Thursday, March 8, 2012

What is meant by negative testing?

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.


Wednesday, November 30, 2011

What are different objectives of software testing?

None of the processes in the world are carried out without a purpose. Every kind of software testing has got some objectives. This article discusses such objectives only.
Software testing has got several objectives. Objectives are decided on the basis of the expectations of the software developers.

- Software testing is expected to distinguish between the validations of the software system and defects present in the software system.
- It is necessary to describe the principles on which the software works and processes the data.
- It is also important for us to know the principles of different kinds of testing.
- Before creating the tests cases for testing one should decide for a proper strategy to follow so as to achieve the desired objectives.
- The tester should understand the characteristics and behavior of the tools that are being used for the test automation.
- Before testing any software system, the tester should know the problems that can cause the system to fail. Failures should be known otherwise it will be difficult to prevent the potential harm.
- When the software developer pens down the objectives of the testing, he should keep in mind the requirements of the customers.
- Apart from the requirements it is also necessary to keep knowledge about the non requirements of the users.

Both these requirements and non requirements form a major an important part of the objectives of testing. In fact, we can say that 95 % of the objectives of the testing are based on the requirements and non requirements of the user.

There is one more kind of requirements called the missing requirements.
- Missing requirements are the requirements that are needed but they are absent form both the customer’s requirements list and non requirements list.
- Only the software developer or the tester can figure out the missing requirements.
- These missing requirements also form a small part of the objectives of the testing.
- There are some requirements needed for the software system but they are almost impossible to implement.

Below mentioned are the objectives of software testing clearly and in detail:
- To check whether the system is working as required or not.
- To prove that the software system is free of any errors.
- To certify that the particular software system is correct to the best knowledge of the programmer and the tester.
- To certify that the software can be used without any fear of losing data or damage.

For achieving the objectives, testing can be done in following two ways:

Negative testing
- This testing tests for the abnormal or negative operations in the software system.
- This is carried out by using illegal or invalid data.
- In negative testing, the tester intentionally tries to make the things go wrong and checks what happens then.
- Based on the observation, improvement is made further. It checks if the program crashes or not, if the program does any unexpected thing?, whether the software system successfully achieves the target or not?

Positive testing
- In this kind of testing, the software system is operated normally with correct data input values.
- Proper test cases are used.
- This testing methodology includes testing of system software at the boundaries of the program.
- This is done to determine the correctness of the program. Actual result and the expected result is compared and it is determined whether or not the program is behaving normally?,results coincide with the expected results?, software system is still functioning properly or not?

Not to much surprise, the negative testing has got a positive side. It checks out all the flaws, errors and the discrepancies before they show up in the front of the user. After all, a testing is regarded good only if it fails the software system.


Facebook activity