About Validation Rules
Validation rules help verify that a Web application is working correctly by validating the existence of text, tags, or attributes on the page returned by a Web request. Validation rules can also verify the amount of time it takes a request to finish, and the existence of form fields and their values.
Extraction rules are similar to validation rules, but instead of verifying data, they will extract the data and store it in the Web test context. For more information, see About Extraction Rules.
Predefined Validation Rules
Visual Studio Team System Test Edition includes the following predefined validation rules:
Validation Rule Type |
Description |
---|---|
Form Field |
Verifies the existence of a form field that has a specified name and value. |
Find Text |
Verifies the existence of specified text in the response. |
Maximum Request Time |
Verifies that the request finishes within a specified amount of time. |
Required Attribute Value |
Verifies the existence of a specified HTML tag that contains an attribute with a specified value. |
Required Tag |
Verifies the existence of a specified HTML tag in the response. |
Custom Validation Rules
Test Edition provides predefined validation rules in the form of classes in the Microsoft.VisualStudio.TestTools.WebTesting.Rules namespace. However, you can create your own custom validation rules by deriving from the ValidationRule class. For more information, see How to: Create a Custom Validation Rule.
Impact of Validation Rules on Load Testing
Execution of validation rules has an impact on performance in load testing. To reduce the performance impact, use the Validation Level of a request to control which validation rules are used in a specific load test. You can set the validation level of each rule to Low, Medium, or High. Typically, the higher you set the validation level, the slower your test will run.
Setting the Validation Level of a rule in a request determines when that validation rule is used in a load test. For example, setting it to High means that the rule is executed only when the load test validation level is set to high.
Load Test Validation level |
Description of Request settings used |
---|---|
Low |
Invoke only rules with a setting of Low |
Medium |
Invoke rules with a setting of Low and Medium |
High |
Invoke all rules - Low, Medium, and High |
The ability to set the rule levels in both the Web test request and the load test setting gives you flexibility in your testing. Setting a load test setting to Low executes the fewest rules and can be used for heavy load test and stress runs. Setting a load test setting to High executes the most rules and should be used when validation is more important than maximum throughput.
See Also
Tasks
How to: Add a Validation Rule to a Web Test
How to: Create a Custom Validation Rule
Walkthrough: Adding Validation and Extraction Rules to a Web Test
Concepts
Reference
Microsoft.VisualStudio.TestTools.WebTesting.Rules