-
I did a presentation on VSTS with overview on 2010 features. Here are the slides for you to download
I also showed some videos on Requirements traceability in 2010, Historical debugger , Impacted Tests.
VSTS 2010 videos can be found at http://channel9.msdn.com/tags/VSTS/
-
Here is a slide deck on Agile developement using VSTS.
This is basically for the teams who would want to understand what features VSTS provides for doing Agile developement.
-
Many of my developer friends have asked me for a very simple sample to do data driven unit test. Here is how I demonstrate a simple data driven unit test using VC#.
1. Create a c# class in a windows application called Calculator.
2. Add a simple addNumbers method . Basically this will add two numbers like below
class Calculator
{
public int addNumbers(int s1, int s2)
{
int total;
total = s1 + s2;
return total;
}
}
4. Right click on the class and choose ceate a unit test
5. Unit Test class is created and is called CalculatorTest by default.
6. Since my goal is to test the calculator function for various values of my addNumber function, I first use the server explorer and connect to an existing database, create a simple table in my database. The table has 3 columns storing two inputs and an expected value.
7. I then populate the table with sample data values.
8. I add the column to enumerate , a data connection and then call to actual values in the database values hightliged in yellow.
9. I am now ready to run my data driven unit test.
[TestClass()]
public class CalculatorTest
{
enum Column
{
inputval1,inputval2,total
}
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
[TestMethod()]
[DataSource("System.Data.SqlClient","Data Source=sukrishn2\\sqlexpress;Initial Catalog=master;Integrated Security=True","Unittestdata",DataAccessMethod.Sequential)]
public void addNumbersTest()
{
Calculator target = new Calculator(); // TODO: Initialize to an appropriate value
int s1 = (int)TestContext.DataRow[(int)Column.inputval1];
int s2 = (int)TestContext.DataRow[(int)Column.inputval2];
int expected = (int)TestContext.DataRow[(int)Column.total];
int actual = target.addNumbers(s1, s2);
Assert.AreEqual(expected, actual);
//Assert.Inconclusive("Verify the correctness of this test method.");
}
}
}
-
This is the most comprehensive VSTS Slide I got. Got lot of pictures, detailed explanation and overview of the product portfolio.
Thanks to my colleagues at Microsoft who created this. I just run through this if I have couple of hours in hand.
You can download a copy from here.
-
The week like several other weeks was hectic. I travelled across varios cities and spoke VSTS developer and Test Editions.
I had several conversations with senior executives and solution architects of various system integrators (SI) in India. I find a very interesting trend. My customers (SI) are now exploring newer and innovative ways to get projects and also provide solutions which are very cost effective.
To acheive they would -
A. Scan the existing customer base and pitch in for additional service offering. This service offering mostly in areas where they had no prior expertise or they never thought it was their core competency.
B. Look for alternate cost effective solution like newer toolsets , not the key expertise available within the SI community. This would mean working with newer vendors, building capabilities and also proposing these to their end customers to win proposal.
-
I always thought Unit Testing was real easy and obvious thing to do until I met this customer who was managing a fairly large .Net team. The developers were familiar with the concept of unit testing.
However their internal research showed that they were spending lot of dollars fixing bugs which were discovered in system testing phase. Doing a further root-cause analysis revealed that they were not doing enough unit testing. This was because it was not mandated by the management and also the tools they were using for unit testing were not integrated enough to do this seamlessly.
So there performance improvement plans core requirements were
a) Unit Testing,
b) Static code Analysis,
c) Resource utilization and memory leaks.
They would also be able to put some kind of mandate by which code coverage criteria is of a higher percentage for complex programs and lower for simple programs. They also would want to have check-in rules which would only allow compiled error free code in the version control repository.
VSTS dev edition with TFS would make this place a heaven.