VSTS Overview & 2010
30 June 09 10:12 AM | sukrishn | 0 Comments   

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/

 

Filed under:
Agile developement using VSTS
11 February 09 11:09 AM | sukrishn | 1 Comments   

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.

 

 

Filed under: , ,
How to data drive unit tests using VSTS ?
28 January 09 09:22 AM | sukrishn | 1 Comments   

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.");

        }

    }

}

 

Filed under: , , ,
Visual Studio Team System Overview Slide
05 January 09 05:39 AM | sukrishn | 1 Comments   

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.

 

 

New trend with Indian System Integrators
06 December 08 05:57 PM | sukrishn | 1 Comments   

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.

Unit Testing
05 December 08 06:16 PM | sukrishn | 0 Comments   

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.

 

 

 

Filed under:
Page view tracker