A computerized method for automatic diagnosis of test failures for a device: receiving from an automated test system test results for a plurality of tests performed on a set of revisions of the device, the test results indicating for each revision of said set of revisions whether each test of the plurality of tests failed or passed for said revision; characterized by: grouping failing tests into test result pattern groups, where tests in a same test result pattern group are assumed to be failing on a same earliest revision, for each group of said test result pattern groups: on a condition that at least two tests in said group of tests failed for a latest revision of said set of revisions, selecting one pilot test from said group of tests, wherein the pilot test is the failing test which is the test among the failing tests in said group of tests that is the fastest test to perform; determining one or more untested revisions of the device on which said pilot test has not been performed; requesting the automated test system to perform the pilot test on each of said one or more untested revisions and provide test results for the pilot test for each of said one or more untested revisions; identifying, using the test results for said plurality of tests and for the pilot test received from the automated test system, a first revision of the device for which said pilot test passed and which is earlier than said latest revision and being such that said pilot test failed for each revision of the device being later than the first revision and earlier than said latest revision, and a second revision of the device, the second revision immediately following said first revision; requesting the automated test system to run other tests in said group of tests not being the pilot test on said first and second revisions; receiving, from the automated test system, the test results for the requested tests; given that all requested tests passed on the first revision and failed on the second revision, providing a report indicating the second revision and the tests of said group of tests. grouping failing tests into test result pattern groups, where tests in a same test result pattern group are assumed to be failing on a same earliest revision, for each group of said test result pattern groups: on a condition that at least two tests in said group of tests failed for a latest revision of said set of revisions, selecting one pilot test from said group of tests, wherein the pilot test is the failing test which is the test among the failing tests in said group of tests that is the fastest test to perform; determining one or more untested revisions of the device on which said pilot test has not been performed; requesting the automated test system to perform the pilot test on each of said one or more untested revisions and provide test results for the pilot test for each of said one or more untested revisions; identifying, using the test results for said plurality of tests and for the pilot test received from the automated test system, a first revision of the device for which said pilot test passed and which is earlier than said latest revision and being such that said pilot test failed for each revision of the device being later than the first revision and earlier than said latest revision, and a second revision of the device, the second revision immediately following said first revision; requesting the automated test system to run other tests in said group of tests not being the pilot test on said first and second revisions; receiving, from the automated test system, the test results for the requested tests; given that all requested tests passed on the first revision and failed on the second revision, providing a report indicating the second revision and the tests of said group of tests. on a condition that at least two tests in said group of tests failed for a latest revision of said set of revisions, selecting one pilot test from said group of tests, wherein the pilot test is the failing test which is the test among the failing tests in said group of tests that is the fastest test to perform; determining one or more untested revisions of the device on which said pilot test has not been performed; requesting the automated test system to perform the pilot test on each of said one or more untested revisions and provide test results for the pilot test for each of said one or more untested revisions; identifying, using the test results for said plurality of tests and for the pilot test received from the automated test system, a first revision of the device for which said pilot test passed and which is earlier than said latest revision and being such that said pilot test failed for each revision of the device being later than the first revision and earlier than said latest revision, and a second revision of the device, the second revision immediately following said first revision; requesting the automated test system to run other tests in said group of tests not being the pilot test on said first and second revisions; receiving, from the automated test system, the test results for the requested tests; given that all requested tests passed on the first revision and failed on the second revision, providing a report indicating the second revision and the tests of said group of tests.