SlideShare a Scribd company logo
Automated Testing with Team Test
Unit, Web, Performance, Load, Manual, and Ordered Tests
Code Coverage and Code Analysis
2 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Quality Challenges
““Software bugs, or errors, are soSoftware bugs, or errors, are so
prevalent and so detrimental that theyprevalent and so detrimental that they
cost the U.S. economy an estimatedcost the U.S. economy an estimated
$59.5 billion annually, or about 0.6$59.5 billion annually, or about 0.6
percent of the gross domesticpercent of the gross domestic
product…an estimated $22.2 billion,product…an estimated $22.2 billion,
could be eliminated by an improvedcould be eliminated by an improved
testing infrastructure that enablestesting infrastructure that enables
earlier and more effectiveearlier and more effective
identification and removal of softwareidentification and removal of software
defects.”defects.”
(Source: NIST 2002)(Source: NIST 2002)
Satisfying
users
Business
interruption
risks
Ongoing
maintenance
costs rising
Less avail.
resources
3 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
How Does VSTS/TFS Help?
 Increased Communication and Integration…
 Code Analysis Tools
 Code Profiling Tools
 Unit Testing and Code Coverage
 Load Testing
 Other Testing Tools
 Test Case Management
4 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Unit Testing
 Each unit is tested
independently
 A large percentage of
defects are identified during
unit testing
 Automatic and repeatable
code testing
 Simplifies integration
 Self documenting
 Auto-generate
Isolate small portion of code & determine whether it works correctlyIsolate small portion of code & determine whether it works correctly
5 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Benefits of Automated Unit Testing
 Repeatable unit that verifies code still works
 Confirm code is tested
 Build a set of regression tests
 Make changes with confidence
 Aid in understanding code
 Limits: integration, web and Windows UI testing, load,
performance testing
6 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Unit Test Types
 Class (standard)
– Test the properties and methods of a class
 Data-driven
– Bind unit test parameters to a datasource
 ASP.NET
– Test classes (or business logic) inside an ASP.NET application
– Run in the context of the web server (ASP objects available)
 Web Services
– Define a web reference to the service
7 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Extensions of Unit Testing
 Regression Testing
– Modifications are validated with regression tests
– Write new code and verify system continues to function
correctly
 Integration Testing
– Helps validate how tested components interact with
one another
– Can identify problems that occur when units are
combined
 Scenario Testing
– Combine sequence of unit tests to cover a scenario
8 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Writing Effective Unit Tests
 Atomic
– Should not require others tests to be run first
 Cover all cases
– One test for each sceneario
– Cover all conditions, exceptions, nulls, etc.
 Able to re-run without configuration
– Database create/read/update/delete without having to
modify the database before or after the test is run
 Test a common application state
Unit tests should be …
9 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Unit Test Conditions
 Success baseline
– Common, successful, most-likely call to your code
 Parameter mix
– Pass a varied set of parameters
– Data-driven
 Bounds checking
– Stress the upper and lower limits of your parameters
 Null values
– Determine outcome of passing nulls to parameters
 Error conditions
– Trigger error conditions and validate expected outcomes
 Code coverage scenarios
– Test all conditions in your code
10 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Creating Unit Tests (1 of 2)
 Attributes are used to denote which methods and classes should be
loaded for tests
– TestClass – denotes a class for testing
– TestMethod – denotes a method for testing
• must return void (Sub for VB.NET) and have no parameters
 Certain attributes are associated with initialization
– TestInitialize – run before each test
– TestCleanup – run after each test
– ClassInitialize – run once before running any tests in the class
– ClassCleanup – run once after running all tests in the class
 Assert – static type used for asserting test values
 ExpectedException – attribute used for determining the exception that
should be thrown from the test
11 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Creating Unit Tests (2 of 2)
 Methods on the Assert type
– AreSame / AreNotSame
– AreEqual / AreNotEqual
– IsNull / IsNotNull
– IsInstanceOfType / IsNotInstanceOfType
– IsTrue / IsFalse
 Other Assert types
– CollectionAssert – collection equivalency
– StringAssert – string comparison/regex matching
 Web test types
– HtmlDocument – grants access to tags in the html document
– Validate*/Extract* - types used for reading field values from the
request and response
Unit TestsUnit Tests
13 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Code Coverage
 Improves effectiveness of tests
 Show a measurable indication
of code that was covered by
unit tests
– Strive for 75% and higher
 Shows the ratio of executed
logic to the total logic
 Can be used in conjunction with
unit and load testing
 Helps to find unused code
Determine code that is exercised by tests
Code CoverageCode Coverage
15 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Static Code Analysis
 Provides a means to enforce coding standards
 Configurable
 Reduction in code reviews for small issues
 Provides guidance on how to fix
 Define a check-in policy to enforce code analysis pass
 Coverage includes issues with design, globalization, interoperability,
maintainability, naming, performance, reliability, security, and usage
 Warning: developers can supress messages with attirbute
[SuppressMessage("AdventureWorks.Rules", "AW14441")]
 MORE INFO see, “Writing Quality Code” in TFS documentation
Static Code AnalysisStatic Code Analysis
17 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Web Testing
 Record page navigation
and user interactions with
web pages
 Run tests back to
determine errors
 Seed tests from a
database
 Run tests from a group of
users
 Validation rules
 Extractions
Web TestingWeb Testing
19 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Load Testing
 Load Testing: ensure application works under expected, concurrent
user load
 Create test cases that simulate real user conditions
 Distribute tests across cases based on user behavior
 Assume standard think times
 Distribute across connection types
 Simulate an application performance
in a production environment
 Provide repository to look at a
performance trend over time, to see
if changes are helping or hurting
Simulate multiple users against an application simultaneouslySimulate multiple users against an application simultaneously
20 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Stress Testing
 Stress Testing: determine breaking points in your
application
 Find scalability issues before the application is deployed
 Step (increase) user load over time, monitor
 Find breaking point and use to monitor application
– Change software
– Add hardware
21 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Performance Testing
 Test at single user
 Test at normal load
 Test at peak load (1.5x normal load)
 Measure against expected performance
– Peak load should allow for a 20-30% increase in metric
 Set thresholds on the output to avoid digging through data
Load, Stress, andLoad, Stress, and
Performance TestingPerformance Testing
23 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Manual Test
 Tracked like other tests when executing test groups
 Presented to the tester to enter and confirm results
 Defined as text file or Word document
24 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Generic Test
 Wrap existing code
and have that code
executed as part of
the testing process
 Centralized results
of all tests
25 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Ordered Test
 Test to group (and
order) other tests
 Results of ordered
tests either succeed
or fail as a group
 Used for scenario and
module-level testing
 Add any test except a
load test to an
ordered test
Manual TestManual Test
27 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
Test Case Management
 Organize tests into lists
 Run tests
 Filter and group the
display of the tests
 Import additional tests
 Export tests
Organize and manage test casesOrganize and manage test cases
28 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
The Test Lab
 Clients
– Tester machine
– Used to create and edit tests / view results
 Servers
– Deployed test environment (web servers, load balancer, database server,
etc.)
 Agents
– Computers running tests (multiple-threads, each a user)
– Listen for commands from controller
– Execute tests and pass results back to controller
 Controller
– Central computer that administers agents and collects results
– Distributes load by applying weights to agents
29 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc.
The Test Lab Database
 Run against a test version of the database
 Test data should be same nature and size as production
 Test a steady state of the database
 Automate the initialization of the database
 Extract data using rules to obfuscate personal information
– Visual Studio Database Developer
Test Lab Database InitializationTest Lab Database Initialization

More Related Content

PDF
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
PPTX
Automated Testing Tutorial
PPT
Testing using load runner performance testing
PPT
'Model Based Test Design' by Mattias Armholt
PPTX
Testing strategies -2
PPTX
An Introduction to Software Performance Engineering
PPT
Performance Engineering Basics
PDF
Introduction to Performance testing
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
Automated Testing Tutorial
Testing using load runner performance testing
'Model Based Test Design' by Mattias Armholt
Testing strategies -2
An Introduction to Software Performance Engineering
Performance Engineering Basics
Introduction to Performance testing

What's hot (20)

PDF
Continuous Performance Testing
PDF
Performance Engineering Case Study V1.0
PDF
Testing in the New World of Off-the-Shelf Software
PPTX
Performance testing
PPT
Sap Integration Testing Test Scripting V0.1
PPTX
Quality Assurance and Software Testing
PDF
Testing Object-Oriented Systems: Lessons Learned
DOCX
Why vb is known as front end tool
PPTX
Testing strategies part -1
PDF
Performance Test Plan - Sample 2
PPT
Test execution may_04_2006
PPT
software testing
PPTX
Software testing performance testing
PDF
Building an Effective International Software QA Test Strategy
PPTX
Performance testing
PPTX
Customized Test Automation Solution
PPTX
Performance Testing And Its Type | Benefits Of Performance Testing
PPTX
Software Teting
PPTX
Introduction to SDET
PDF
Jmeter Tester Certification
Continuous Performance Testing
Performance Engineering Case Study V1.0
Testing in the New World of Off-the-Shelf Software
Performance testing
Sap Integration Testing Test Scripting V0.1
Quality Assurance and Software Testing
Testing Object-Oriented Systems: Lessons Learned
Why vb is known as front end tool
Testing strategies part -1
Performance Test Plan - Sample 2
Test execution may_04_2006
software testing
Software testing performance testing
Building an Effective International Software QA Test Strategy
Performance testing
Customized Test Automation Solution
Performance Testing And Its Type | Benefits Of Performance Testing
Software Teting
Introduction to SDET
Jmeter Tester Certification
Ad

Viewers also liked (20)

PPT
i paesi e le nazionalità
PPT
Centro Municipal De Empresas Jornadas I+D+I
PPT
2. Microscopia y tinción
PDF
Color Book
PPT
Agencia Idea Jornadas I+D+I
PDF
Vijay
PPT
A Memoria
PPT
Z Zycia Ocwip
PPT
Gameplan, over invloedstijlen
PPT
Agapea Jornadas I+D+I
PDF
AcusacióN Canada Noticia
PPT
Todos Los Animales
PPT
Conferenceware meeting functionalities
PPT
Colaboración y Negocios Web 20
PPS
BiodomóTica Jornadas I+D+I
PPT
Funcionalidades de reunion de Conferenceware
PPT
O Direito De Ser Aurora De Ternura
PPT
Africas Silkroute Indias New Economic Frontier
PPT
Fiori E Colori
PDF
hnyiluvu
i paesi e le nazionalità
Centro Municipal De Empresas Jornadas I+D+I
2. Microscopia y tinción
Color Book
Agencia Idea Jornadas I+D+I
Vijay
A Memoria
Z Zycia Ocwip
Gameplan, over invloedstijlen
Agapea Jornadas I+D+I
AcusacióN Canada Noticia
Todos Los Animales
Conferenceware meeting functionalities
Colaboración y Negocios Web 20
BiodomóTica Jornadas I+D+I
Funcionalidades de reunion de Conferenceware
O Direito De Ser Aurora De Ternura
Africas Silkroute Indias New Economic Frontier
Fiori E Colori
hnyiluvu
Ad

Similar to Jjustin presentation upload PPT (20)

PPT
Justin Presentation PPT Upload
PPT
Paper PsUpload
PPT
justin presentation upload PPT june 19
PPT
justin presentation Slideshare PPT upload June 25 Final one
PPT
Justin Presentation PPT Upload June 25 adv
PPT
justin for ppt1 by browse button
PPT
upload ppt by browse button
PPT
upload ppt by browse button
PPT
Paper Ps
PPT
Paper Ps
PPT
Paper Ps
PPT
Paper CS
PPT
alkatest7
PPT
alka ppt upload no code change
PPT
upload ppt1 by browse button
PPT
alka ppt test from13
PPT
Paper Ps
PPT
justin presentation slideshare1
PPT
justin presentation upload PPT june 25 ADVANCED
PDF
Agile Testing Pasadena JUG Aug2009
Justin Presentation PPT Upload
Paper PsUpload
justin presentation upload PPT june 19
justin presentation Slideshare PPT upload June 25 Final one
Justin Presentation PPT Upload June 25 adv
justin for ppt1 by browse button
upload ppt by browse button
upload ppt by browse button
Paper Ps
Paper Ps
Paper Ps
Paper CS
alkatest7
alka ppt upload no code change
upload ppt1 by browse button
alka ppt test from13
Paper Ps
justin presentation slideshare1
justin presentation upload PPT june 25 ADVANCED
Agile Testing Pasadena JUG Aug2009

More from techweb08 (20)

PPT
Sample Presentation Asset
PPT
testwp2
PPT
testwp1
PPT
Presentation for test
PPT
NG Test - Presentation
PPT
NG_TEST_SR_Presentation
PPT
NG_TEST_Presentation_0510
PPT
NG_TEST_PRESENTATION
PPT
NGTEST - presentation title - 041219
PPT
ngtest-presen-0419
PPT
ngtest_presentation_0418
PPT
test_wp-4
PPT
test_wp-4
PPT
test_wp-4
PPT
test_wp-4
PPT
NGTEST_Presentation
PPT
Next Gen - case study
PPT
Next Gen Testing Asset
PPT
Reducing network complexity and boosting performance with IRF technology
PPT
Test DB user
Sample Presentation Asset
testwp2
testwp1
Presentation for test
NG Test - Presentation
NG_TEST_SR_Presentation
NG_TEST_Presentation_0510
NG_TEST_PRESENTATION
NGTEST - presentation title - 041219
ngtest-presen-0419
ngtest_presentation_0418
test_wp-4
test_wp-4
test_wp-4
test_wp-4
NGTEST_Presentation
Next Gen - case study
Next Gen Testing Asset
Reducing network complexity and boosting performance with IRF technology
Test DB user

Jjustin presentation upload PPT

  • 1. Automated Testing with Team Test Unit, Web, Performance, Load, Manual, and Ordered Tests Code Coverage and Code Analysis
  • 2. 2 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Quality Challenges ““Software bugs, or errors, are soSoftware bugs, or errors, are so prevalent and so detrimental that theyprevalent and so detrimental that they cost the U.S. economy an estimatedcost the U.S. economy an estimated $59.5 billion annually, or about 0.6$59.5 billion annually, or about 0.6 percent of the gross domesticpercent of the gross domestic product…an estimated $22.2 billion,product…an estimated $22.2 billion, could be eliminated by an improvedcould be eliminated by an improved testing infrastructure that enablestesting infrastructure that enables earlier and more effectiveearlier and more effective identification and removal of softwareidentification and removal of software defects.”defects.” (Source: NIST 2002)(Source: NIST 2002) Satisfying users Business interruption risks Ongoing maintenance costs rising Less avail. resources
  • 3. 3 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. How Does VSTS/TFS Help?  Increased Communication and Integration…  Code Analysis Tools  Code Profiling Tools  Unit Testing and Code Coverage  Load Testing  Other Testing Tools  Test Case Management
  • 4. 4 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Unit Testing  Each unit is tested independently  A large percentage of defects are identified during unit testing  Automatic and repeatable code testing  Simplifies integration  Self documenting  Auto-generate Isolate small portion of code & determine whether it works correctlyIsolate small portion of code & determine whether it works correctly
  • 5. 5 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Benefits of Automated Unit Testing  Repeatable unit that verifies code still works  Confirm code is tested  Build a set of regression tests  Make changes with confidence  Aid in understanding code  Limits: integration, web and Windows UI testing, load, performance testing
  • 6. 6 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Unit Test Types  Class (standard) – Test the properties and methods of a class  Data-driven – Bind unit test parameters to a datasource  ASP.NET – Test classes (or business logic) inside an ASP.NET application – Run in the context of the web server (ASP objects available)  Web Services – Define a web reference to the service
  • 7. 7 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Extensions of Unit Testing  Regression Testing – Modifications are validated with regression tests – Write new code and verify system continues to function correctly  Integration Testing – Helps validate how tested components interact with one another – Can identify problems that occur when units are combined  Scenario Testing – Combine sequence of unit tests to cover a scenario
  • 8. 8 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Writing Effective Unit Tests  Atomic – Should not require others tests to be run first  Cover all cases – One test for each sceneario – Cover all conditions, exceptions, nulls, etc.  Able to re-run without configuration – Database create/read/update/delete without having to modify the database before or after the test is run  Test a common application state Unit tests should be …
  • 9. 9 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Unit Test Conditions  Success baseline – Common, successful, most-likely call to your code  Parameter mix – Pass a varied set of parameters – Data-driven  Bounds checking – Stress the upper and lower limits of your parameters  Null values – Determine outcome of passing nulls to parameters  Error conditions – Trigger error conditions and validate expected outcomes  Code coverage scenarios – Test all conditions in your code
  • 10. 10 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Creating Unit Tests (1 of 2)  Attributes are used to denote which methods and classes should be loaded for tests – TestClass – denotes a class for testing – TestMethod – denotes a method for testing • must return void (Sub for VB.NET) and have no parameters  Certain attributes are associated with initialization – TestInitialize – run before each test – TestCleanup – run after each test – ClassInitialize – run once before running any tests in the class – ClassCleanup – run once after running all tests in the class  Assert – static type used for asserting test values  ExpectedException – attribute used for determining the exception that should be thrown from the test
  • 11. 11 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Creating Unit Tests (2 of 2)  Methods on the Assert type – AreSame / AreNotSame – AreEqual / AreNotEqual – IsNull / IsNotNull – IsInstanceOfType / IsNotInstanceOfType – IsTrue / IsFalse  Other Assert types – CollectionAssert – collection equivalency – StringAssert – string comparison/regex matching  Web test types – HtmlDocument – grants access to tags in the html document – Validate*/Extract* - types used for reading field values from the request and response
  • 13. 13 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Code Coverage  Improves effectiveness of tests  Show a measurable indication of code that was covered by unit tests – Strive for 75% and higher  Shows the ratio of executed logic to the total logic  Can be used in conjunction with unit and load testing  Helps to find unused code Determine code that is exercised by tests
  • 15. 15 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Static Code Analysis  Provides a means to enforce coding standards  Configurable  Reduction in code reviews for small issues  Provides guidance on how to fix  Define a check-in policy to enforce code analysis pass  Coverage includes issues with design, globalization, interoperability, maintainability, naming, performance, reliability, security, and usage  Warning: developers can supress messages with attirbute [SuppressMessage("AdventureWorks.Rules", "AW14441")]  MORE INFO see, “Writing Quality Code” in TFS documentation
  • 16. Static Code AnalysisStatic Code Analysis
  • 17. 17 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Web Testing  Record page navigation and user interactions with web pages  Run tests back to determine errors  Seed tests from a database  Run tests from a group of users  Validation rules  Extractions
  • 19. 19 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Load Testing  Load Testing: ensure application works under expected, concurrent user load  Create test cases that simulate real user conditions  Distribute tests across cases based on user behavior  Assume standard think times  Distribute across connection types  Simulate an application performance in a production environment  Provide repository to look at a performance trend over time, to see if changes are helping or hurting Simulate multiple users against an application simultaneouslySimulate multiple users against an application simultaneously
  • 20. 20 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Stress Testing  Stress Testing: determine breaking points in your application  Find scalability issues before the application is deployed  Step (increase) user load over time, monitor  Find breaking point and use to monitor application – Change software – Add hardware
  • 21. 21 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Performance Testing  Test at single user  Test at normal load  Test at peak load (1.5x normal load)  Measure against expected performance – Peak load should allow for a 20-30% increase in metric  Set thresholds on the output to avoid digging through data
  • 22. Load, Stress, andLoad, Stress, and Performance TestingPerformance Testing
  • 23. 23 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Manual Test  Tracked like other tests when executing test groups  Presented to the tester to enter and confirm results  Defined as text file or Word document
  • 24. 24 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Generic Test  Wrap existing code and have that code executed as part of the testing process  Centralized results of all tests
  • 25. 25 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Ordered Test  Test to group (and order) other tests  Results of ordered tests either succeed or fail as a group  Used for scenario and module-level testing  Add any test except a load test to an ordered test
  • 27. 27 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. Test Case Management  Organize tests into lists  Run tests  Filter and group the display of the tests  Import additional tests  Export tests Organize and manage test casesOrganize and manage test cases
  • 28. 28 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. The Test Lab  Clients – Tester machine – Used to create and edit tests / view results  Servers – Deployed test environment (web servers, load balancer, database server, etc.)  Agents – Computers running tests (multiple-threads, each a user) – Listen for commands from controller – Execute tests and pass results back to controller  Controller – Central computer that administers agents and collects results – Distributes load by applying weights to agents
  • 29. 29 For Discussion Purposes Only | © 2007 Computer Enterprises, Inc. The Test Lab Database  Run against a test version of the database  Test data should be same nature and size as production  Test a steady state of the database  Automate the initialization of the database  Extract data using rules to obfuscate personal information – Visual Studio Database Developer
  • 30. Test Lab Database InitializationTest Lab Database Initialization

Editor's Notes

  • #9: Coding effective unit tests
  • #13: Class Initialize Generate Tests Bind Data to Unit Test Expected Exception
  • #20: Load Testing Load tests are used to verify that your application will perform as expected while under the stress of multiple concurrent users. You configure the levels and types of load you wish to simulate and then execute the load test. Putting an application into production without stress testing can be risky, with load testing you are ensuring your application can hold up to the stress of multiple concurrent users. There are three key points to automated software load testing. Reduce the risk of going live Find the problems early Reduce the cost of testing Re-use of existing tests, plus our solution is a lower cost. Reduce the time spent testing Scripts can be recorded instead of hand coded.
  • #23: Web testing: Record test Bind test to data source Load testing: set parameters Stress testing Performance testing
  • #28: More information: http://msdn.microsoft.com/vstudio/teamsystem/reference/develop%5Ftest/default.aspx?pull=/library/en-us/dnvs05/html/vsteamtest.asp http://msdn2.microsoft.com/en-us/library/ms182463.aspx