Hi Ilya,
I would recommend you to visit these pages:
http://smartbear.com/products/qa-tools/automated-testing/pricing/http://smartbear.com/products/qa-tools/automated-testing/difference-between-licenses/As you are going to run tests on virtual machines, this means that you will need Floating license and to save the budget I would recommend to consider TestExecute (
https://shop.smartbear.com/758/purl-TE8FL). However, as TestExecute is a pure tests execution engine and does not contain debugging and project setup and management means, you may also consider one additional Floating license for TestComplete to be able to install it on VMs when you need to debug the code that works on development machines but fails for some reason when running on production VM (one Floating license should be enough as you will not run more than one TestComplete copy at a time when solving problem on VM).
As for the development boxes, you may consider Floating or Node-locked licenses. If tests development will be done on two fixed boxes (even by different developers), the Node-locked license should be enough. If two developers will work from different machines (or use the same license to develop and solve the problems on VM), then Floating license should be considered.
Please note, that Node-locked license can be applied to the physical machine only. That means that if your developers are going to develop on virtual machines you have no choice but Floating license.