16. A system for generating video tests for distinguishing a human user from a computer software agent in an online application, the system comprising: a video test generation engine, configured to: select a video clip from a video clips database, each video clip having a plurality of video frames; segment the video clip into a plurality of video segments, each video segment having a subset of video frames, present at least one video segment and a query as a probe to a plurality of users and collect answers to the query from the plurality of users; determine from the collected answers at least one correct answer to the query; associate the video segment with the query and the at least one correct answer; and store each video segment, the plurality of queries and associated correct answers in a video tests database, and a video test serving engine coupled to the video test generation engine, configured to: select a video test from the video tests database, display the selected video test, wherein the video test including a video segment and one of a plurality of queries associated with the video segment; modify the video segment of the video test such that the modified video segment is visually similar to the unmodified video segment and a hash value generated from the modified video segment is different from the hash value generated from the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the video segment comprises: selecting one or more video frames from a video of the video clips database; and re-encoding the selected video segment with the selected video frames; display the modified video test; receive a response to the displayed query from the user; and determine the user to be human user responsive to the received response matching one of the correct answers.
18. The system of claim 16 , wherein the video test generation engine further comprises: a video test query module for selecting a query and a set of correct answers associated with the query from a queries database.