VSTS could be used for the following:
1) Unit testing
2) Web testing
3) Load Testing
Web test in VSTS could be used for automated functional testing. It records HTTP transactions and not API calls. The language used is C++ or VB.NET
Pros of using VSTS:
1) Parameterization of test data possible
2) Add validation points( called Validation Rules)
3) Script is reliable where frequent UI changes take place
Cons of using VSTS:
1) No UI, Database validation possible.
2) No Flow control or other programming constructs provided by other auotmation languages.
3) Does require higher skill set for functional testers.
Thus Microsoft VSTS is competing with HP QTP in terms of automated testing. But I feel VSTS has a long way to go still, looking at advantages QTP provides.