I do version control with Git, and unit testing with QUnit. Sometimes I find a bug in my software that was not present in a past version. It\'s easy for me to write a unit test
Yes, this is called git bisect, and was first introduced in git.
Principle:
c1;c1 you know fails, call it c2;git bisect start c2 c1.You can even restrict the bisect to subpaths if you know where it fails, and if you have a script which can run the test non interactively, use git bisect run.