The check of any, not too simple queue requires the use of a whole group of tests. When should this be done – during system testing or low level component testing? If a node has only one incoming link, and we have reason to believe that this queue is managed by the component represented by this node, then we should prefer testing the queued components by using component testing approach. If there is a merging, acquiring, or connecting node (several incoming links), then we will have to test the queue at the component level, and then repeat these tests while testing the system. We choose the tests depending on the queue discipline and the server selection rule, if any. Below are some useful types of tests.
- Test the queue length limits.
- Maximum queue length. Try to exceed the maximum number of items in the queue.
- Empty queue. Activate the processing when nothing is in the queue.
- Testing of the cycles. A node that processes a queue contains a loop for processing queue elements (especially group servers). Use loop testing methods for multiple items in the queue.
- Dynamic changes in queue length. Attempting to add a transaction to the queue (especially in the batch queue) during the processing of the elements is obviously a necessary test case. In addition, try to remove an item from the queue while the queue handler is active, if the processing system allows you to do so.
You are welcome to deal with software testing services companies to make worthy amendments to the manufactured program before it goes into production.
- Testing of selection and sorting.
Often, the queue disciplines include the sorting procedure. For example, the discipline might indicate that the oldest transactions are primarily processed. This rule is different from the FIFO queuing rule (First in First Out – first arrived, first served). The FIFO queue is built on the basis of the element in the queue. The basis for the rule “the oldest transaction is processed first” is the time stamp in the transaction check record. Since transactions pass through different paths before they are present in this queue, the order of the FIFO may differ from the order of timestamps. Another example is associated with priority queues in which there is internal sorting by priority. The processing must include an explicit sorting procedure or, if the queue is not too long, the entire queue can be scanned to select the next item to process. Both these options represent an implicit sorting procedure. Sorting always happens based on a real or hidden key.
Comments are closed.