1. A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein, when executed, the program causes the at least one computing device to at least: receive an application for testing; select a specific application category of a plurality of application categories based at least in part on the application; determine that an automated testing pattern subset associated with the specific application category is incomplete based at least in part on at least one of a number of other applications tested using the automated testing pattern subset or a number of testing patterns included in the automated testing pattern subset; and in response to determining that the automated testing pattern subset associated with the specific application category is incomplete: perform automated random testing on the application, the automated random testing generating a plurality of random testing patterns; determine a plurality of random testing results based at least in part on the automated random testing of the application, individual ones of the plurality of random testing results corresponding to a respective random testing pattern of the plurality of random testing patterns; store the plurality of random testing results and the plurality of random testing patterns; receive a plurality of manual testing results determined from manual testing of the application; calculate an accuracy score for individual ones of the plurality of random testing patterns based at least in part on a comparison of the plurality of manual testing results with the plurality of random testing results; and determine whether to add at least one of the plurality of random testing patterns to the automated testing pattern subset associated with the specific application category based at least in part on the accuracy score associated with the individual ones of the plurality of random testing patterns.