In my first blog post for FTL Metrics, I want to cover the importance of keyword checks and database inserts as they apply to performance testing your web application(s).
Most load test software will check the response code from the server and compare it to the response that was received when recording the test. However, it is quite common to received errors that are marked with a STATUS 200 (OK). You can employ a second level of checking by using Keyword Checks.
Keyword checks are a method of verifying that your script is doing what it is supposed to be doing, which is interacting with your application server in the exact same way a real user will. When recording a performance testing script, it is not just the user’s side of the conversation that is recorded, but the server’s responses as well. A keyword check is where you specify something in the response from the server as being a “KEYWORD”, and then each time the test is run, each virtual user will check to see if the response contains the keyword(s). If the word or phrase is missing, you cannot be sure that the transaction ran correctly.
During testing you filled-in a form and hit the submit button. The server’s response included the words “Your Transaction was Successful!”. A keyword check will test the server’s response each time that the form is submitted and look for that phrase.
You want to be sure that the Keyword(s) chosen will always be present if the transaction is successful. Dynamic data is not a valid choice.
A database insert is where a record is inserted into a database. Simple, huh? Almost all web applications do database inserts.
I would suggest however, that a good practice is to have one of the last steps of the load test script be to hit a page that inserts user-centric information to the database. Information from key variables is a good idea.
This method is an excellent test to ensure that all is well with the transaction:
If the record is inserted, you know the script did not error-out earlier
You can insert key variables and know by reading the inserted record if they had the proper values
Another advantage is that if you have an outside company running your test, you can create this insert yourself, and use it to validate the test. Keyword checking is done by the outside company. This way, you can independently validate that the testing was done properly.