<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>vigneshc</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/vigneshc/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/vigneshc/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:51:58 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Getting Facebook trends with Data Explorer</title>
      <link>https://docs.microsoft.com/archive/blogs/vigneshc/getting-facebook-trends-with-data-explorer</link>
      <pubDate>Tue, 05 Mar 2013 01:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Vignesh C]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vigneshc/2013/03/05/getting-facebook-trends-with-data-explorer/</guid>
      <description><![CDATA[In previous post we looked at consuming CSV with Data Explorer. Even though CSVs are very common and...]]></description>
      <content:encoded><![CDATA[<p>In <a href="https://blogs.msdn.com/b/vigneshc/archive/2013/03/03/data-explorer-is-here.aspx">previous post</a> we looked at consuming CSV with Data Explorer. Even though CSVs are very common and a widely used data source, the example was kind of straight forward. Today, we would &nbsp;go social and connect to Facebook's graph API! I would get "<a href="https://en.wikipedia.org/wiki/Space_Needle">Space Needle</a>"' Facebook <a href="https://www.facebook.com/spaceneedle?sid=0.3358207738492638">page's</a> Status and Like trends from graph api and create the following chart in Excel. This kind of a trend might be interesting if a business wants to correlate its advertisement campaign with rise in its social media popularity.</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/2844.finalChart.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/2844.finalChart.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/2844.finalChart.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/2844.finalChart.png" alt="" border="0" /></a></p>
<p>This post would cover following features of Data Explorer</p>
<ul>
<li>Connecting to Facebook Graph API.</li>
<li>Creating a Query using current Excel Workbook's data.</li>
<li>Merging two DataExplorer queries.</li>
<li>Using custom formulas.&nbsp;</li>
<li>and finally&nbsp;Getting the above trend for your Facebook profile!</li>
</ul>
<div>You can download the completed Excel sheet <a href="https://dataexplorerqueries.codeplex.com/downloads/get/634192">here</a> (or get the complete Git repository from codeplex)</div>
<div>Now, lets create this Data Explorer query from scratch.</div>
<div>Facebook graph API contains data about all the objects in its network. Roughly every entity(like a person or a restaurant or a movie) is an object, there connections between these objects. For example if a person likes a movie, there would be a connection between that person's node and that movie's node. You can read about graph API <a href="https://developers.facebook.com/docs/getting-started/graphapi/">here</a>. Businesses have Facebook pages and it is interesting and valuable to look at social media popularity these days.&nbsp;</div>
<div>Data Explorer has the ability to connect to Facebook graph API.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;"><strong>Step1:</strong></span> Add Facebook datasource by clicking on <em>"From Other Sources --&gt; From Facebook". </em>Screenshot is below</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8032.fbScreen1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8032.fbScreen1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8032.fbScreen1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8032.fbScreen1.png" alt="" width="195" height="300" /></a></div>
<div>After this, provide "<em>SpaceNeedle</em>" as the username. You can provide any valid facebook object name or id here. Roughly, you can do this by doing a search in Facebook.</div>
<div>Select "<em>Feed</em>" as the stream that you want to cover.</div>
<div>Next &nbsp;expand the likes column, below is how the screen looks like. Choose "<em>likes.count</em>"</div>
<div>After this hide all the columns except <em>created_time, type,likes.count</em> . (<a href="https://blogs.msdn.com/b/vigneshc/archive/2013/03/03/data-explorer-is-here.aspx">Previous post</a> has details on how to hide columns)</div>
<div>Change type of "<em>Created_time</em>" column, just choose "<em>auto-detect</em>" DataExplorer would detect it to be a datetime data type.</div>
<div><span style="text-decoration: underline;"><strong>Step2:-</strong></span> &nbsp;Inserting "Day of the Week" column using custom formula</div>
<div>I am interested in the looking at number of posts/likes Trend by Weekday. So I need a way to convert absolute date to day of the week.</div>
<div>Data Explorer has a formula called "<em>Date.DayOfWeek</em>" . It takes a date and returns the day (0 being Sunday). You can read about Data Explorer library specification <a href="https://go.microsoft.com/fwlink/?LinkID=235475&amp;clcid=0x409">here</a>, this documents the functions very well.</div>
<div>Right-click on any column and click <em>"Insert Column --&gt; Custom" . </em>After this type in the "<em>Date.DayOfWeek</em>" formula. Below is how the screen looks like</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/3482.customColumn.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/3482.customColumn.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/3482.customColumn.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/3482.customColumn.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>Now I don't want to show "0" ,"1" etc for day of week, I would like to show "Sunday", "Monday" etc. We will update the query to do that in couple of steps.&nbsp;</div>
<div>Change name of this query to something meaningful. I have renamed it to "<em>SpaceNeedleFacebook</em>".</div>
<div><strong>Step3:-</strong> Adding current excel sheet as a data explorer query.</div>
<div>You would want to add current excel sheet as a Data Explorer for variety of reasons. One of them could be to hande-enter few data points.</div>
<div>In this case, I have manually created a "<em>DayOfWeekNumber</em>" to "<em>Weekday string</em>". "<em>From Table</em>" option in Data Explorer lets you add current Excel sheet. Below is a screenshot</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/1033.weekday.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/1033.weekday.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/1033.weekday.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/1033.weekday.png" alt="" width="188" height="200" /></a></div>
<div>&nbsp;</div>
<div>I have renamed the query to <em>DayNumberToDayStringMapping</em>.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;"><strong>Step4:-</strong></span> Merging two tables in Data Explorer.</div>
<div>I can simply merge "<em>DayNumberToDayStringMapping</em>" query and "<em>SpaceNeedleFacebook</em>" query. Merging roughly combines two tables based on one or more columns.&nbsp;</div>
<div>Below is a screenshot that merges our two queries on "<em>Day</em>" column.</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/4857.mergeScreenshot2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/4857.mergeScreenshot2.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/4857.mergeScreenshot2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/4857.mergeScreenshot2.png" alt="" border="0" /></a></div>
<div><span style="text-decoration: underline;"><strong>Step5:-</strong></span> Group by "<em>Weekday and Type</em>". I want to find the total number of posts done and average number of likes&nbsp;on each day of the week.</div>
<div>Right-click on any column and click "<em>Group by</em>". Then choose the columns you want to group by. Below is the screen shot</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/7484.groupbyScreen2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/7484.groupbyScreen2.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/7484.groupbyScreen2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/7484.groupbyScreen2.png" alt="" border="0" /></a></div>
<div>Click "Done" and wait for the data to be loaded in Excel sheet. It might take few seconds because it is getting all all statuses from Facebook graph API.</div>
<div><span style="text-decoration: underline;"><strong>Step6:</strong></span> Create a <a href="https://office.microsoft.com/en-us/excel-help/create-or-delete-a-pivottable-or-pivotchart-report-HP010342375.aspx?CTT=3">Pivot-chart</a> with this data. Every Data Explorer query is an external connection in Excel. You can create a pivot-chart using that connection.</div>
<div>From then on its regular Excel pivot-chart. Below is a screenshot to initiate the pivot-chart</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/7380.pivotChart1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/7380.pivotChart1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/7380.pivotChart1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/7380.pivotChart1.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>Below is the final output, we are done! That's Space Needle Facebook page's trend. Photos posted on thursday receives more likes (May be because of increased user activity on Weekends)</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8814.finalOutput.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8814.finalOutput.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8814.finalOutput.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8814.finalOutput.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;"><strong>Step7:- </strong></span>Getting these trends for your facebook profile. This one is simple, in step one provide username as "<em>me</em>" instead of "<em>Space Needle</em>".</div>
<div>Once again you can get the completed excel sheet from <a href="https://dataexplorerqueries.codeplex.com/SourceControl/changeset/view/bf215eb935d2#readme.txt">codeplex</a>.&nbsp;</div>
<div>Enjoy!</div>
<div>&nbsp;</div>]]></content:encoded>
    </item>
    <item>
      <title>Consume csv with Data Explorer</title>
      <link>https://docs.microsoft.com/archive/blogs/vigneshc/consume-csv-with-data-explorer</link>
      <pubDate>Sun, 03 Mar 2013 19:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Vignesh C]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vigneshc/2013/03/03/consume-csv-with-data-explorer/</guid>
      <description><![CDATA["Data Explorer" &nbsp;preview for Excel 2013 is now available for download here. "Data Explorer"...]]></description>
      <content:encoded><![CDATA[<p>"<em>Data Explorer</em>" &nbsp;preview for Excel 2013 is now available for download <a href="https://office.microsoft.com/en-us/excel/download-data-explorer-for-excel-FX104018616.aspx">here</a>. "<em>Data Explorer</em>" add-in is an easy to use query-by-example tool that connects to a wide variety of datasources. There are several blog posts and documentation that &nbsp;talks about the benefits and features of Data Explorer, some of them are <a href="https://blogs.msdn.com/b/dataexplorer/archive/2013/02/27/announcing-microsoft-data-explorer-preview-for-excel.aspx">here</a>, <a href="https://blogs.office.com/b/microsoft-excel/archive/2013/02/28/data-explorer-brings-big-data-connectivity-to-excel-2013.aspx">here</a> and <a href="https://blogs.msdn.com/b/mllopis/archive/2013/02/28/get-microsoft-quot-data-explorer-quot-preview-for-excel-today.aspx">here</a>.&nbsp;</p>
<p>In this blog post I would take Seattle's neighborhood data from data.gov and land it in excel. It demonstrates the use of following features in Data Explorer</p>
<ul>
<li>Consuming a csv file.</li>
<li>Hiding columns.</li>
<li>Text Filtering.</li>
</ul>
<div>"<em><span style="text-decoration: underline;">seattle.data.gov</span></em>" &nbsp;has data about Seattle's beaches, parks, viewpoints and much more. You can look at the data <a href="https://data.seattle.gov/Community/My-Neighborhood-Map/82su-5fxf">here</a>. There is an "Export" option that lets us download the file as csv, json etc.</div>
<div>I have download the data in csv format. Direct link for download is <a href="https://data.seattle.gov/api/views/82su-5fxf/rows.csv?accessType=DOWNLOAD">here</a>.&nbsp;</div>
<div>You can download the completed Excel sheet with Data Explorer query from codeplex <a href="https://dataexplorerqueries.codeplex.com/downloads/get/633016">here</a>. (If you are interested in getting all the files as a Git repository, you can do that as well)</div>
<div>Below are complete instructions and screenshots for creating this Data Explorer query yourself.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;"><strong>Step1:-</strong></span> After you have installed "<em>Data Explorer</em>" add-in for Excel, click on "<em>From File -&gt; From CSV</em>" link from the "<em>Get External Data</em>" ribbon. Below is a screenshot.<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/2248.fromCSV.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/2248.fromCSV.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/2248.fromCSV.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/2248.fromCSV.png" alt="" border="0" /></a>n.</div>
<div>Provide <em>csv</em> file's location in the dialog that pops up. Now you would get DataExplorer editor window that lets you "<em>Filter&amp;Shape</em>" the data to the format you want.</div>
<div>DataExplorer splits the columns appropriately and provides us the following view.&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/6433.withouHideColumn.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/6433.withouHideColumn.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/6433.withouHideColumn.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/6433.withouHideColumn.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div><strong><span style="text-decoration: underline;">Step2:-</span></strong> It has some columns that I don't intend to use. I would like to hide those, to do that I select the ones that I want to hide while holding Ctrl key, right-click and select "<em>Hide Columns</em>". Roughly the operations that you can do on a columns are all available in the context menu.</div>
<div>Here is how the "<em>hide columns</em>" screen would look like</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/0601.hideOtherColumns.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/0601.hideOtherColumns.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/0601.hideOtherColumns.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/0601.hideOtherColumns.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;<span style="text-decoration: underline;"><strong>Step3:-</strong></span> Now all is left is to filter the table on "<em>City Feature</em>" column. I am only interested in places of tourist interest, by looking at various of "<em>City Features</em>" available, I figure I would have to filter and only take rows that have <em>"General Attractions"</em> or <em>"Viewpoints"</em> as City Feature.</div>
<div>I do this filtering by clicking on the drop down button in column header, below is a screen shot that does this.I choose "<em>Text Filter</em>" option instead of just using the check box because, the list does not contain all the unique items in "<em>City Feature</em>" . Data Explorer does not load the complete file in memory, and hence wouldn't know about all the unique "<em>City Feature</em>" values.&nbsp;</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8461.filterScreen1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8461.filterScreen1.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/8461.filterScreen1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/8461.filterScreen1.png" alt="" border="0" /></a></div>
<div>Next I type in the value of "<em>City Features</em>" that I am interested in. Below is how the screen looks like</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/5658.textFilter2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/5658.textFilter2.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/47/75/5658.textFilter2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-47-75/5658.textFilter2.png" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;"><strong>Step4:-</strong></span> That's it! Click "<em>Done</em>".</div>
<div>Data Explorer would now do the complete evaluation and land the final data in Excel.&nbsp;</div>
<div>Have Fun!</div>]]></content:encoded>
    </item>
    <item>
      <title>Differences between MSTest.exe and VS IDE</title>
      <link>https://docs.microsoft.com/archive/blogs/vigneshc/differences-between-mstest-exe-and-vs-ide</link>
      <pubDate>Sat, 19 May 2012 19:17:08 GMT</pubDate>
      <dc:creator><![CDATA[Vignesh C]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vigneshc/2012/05/19/differences-between-mstest-exe-and-vs-ide/</guid>
      <description><![CDATA[MSTest is a good unit test solution , tightly integrated with Visual Studio IDE .Following is a...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">MSTest is a good unit test solution , tightly integrated with Visual Studio IDE .Following is a typical flow for test automation development and running the tests</span></p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Tests are developed and tested completely in VS IDE .</span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">MSTest.exe is used for running the tests in lab . </span></li>
</ol>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;">MSTest.exe is the command line test execution tool . Details about various options that it provides are <a href="https://msdn.microsoft.com/en-us/library/ms182489(v=vs.100).aspx">here</a> .</span></p>
<p><span style="text-decoration: underline;"><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Mostly , MSTest.exe and VS IDE are similar . Following are some subtle differences</span></span></p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">If a project has other test projects referenced , VS IDE would run tests from all the referenced projects. Whereas MSTest.exe would only execute the tests that are directly in the dll provided in command line for /testcontainer parameter.</span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">VS IDE finds out all the necessary dlls required , it walks the depency graph and does this for us. MSTest.exe doesn't do this . This might result in a&nbsp;failure during automated runs,especially when the tests are run in remote machine using a Test Controller + Test Agent setup . Following are some solutions to this issue</span></li>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Make sure "<a href="https://msdn.microsoft.com/en-us/library/t1zz5y8c(v=VS.80).aspx">Copy Local</a>" option is set for all custom dlls that are referenced.</span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Use Deployment Item option in <a href="https://msdn.microsoft.com/en-us/library/ee256991.aspx">TestSettings</a> file to copy dlls that will not be available in the machine where tests will be run. Pass this test setting file as a parameter to MSTest.exe command line.</span></li>
</ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">VS IDE works with relative paths .MSTest.exe won't in most cases , because design time relative path and run time relative paths would most likely be different. This issue shows up mostly for load tests.Load tests are xml files , Unit tests that are part of loadtests could be specified using relative path or using absolute path. While developing the load test with VS IDE&nbsp; , it adds the tests using relative path. This may not work while running the <a href="https://msdn.microsoft.com/en-us/library/ms182588.aspx">load test from command line</a> using MSTest.exe . Following are some possible solutions for this issue</span></li>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;">Provide a placeholder location during build time (like an environment variable) , and replace it during automation run time. For example the location could be<em> "%BuildRoot%\TestDll.dll"</em> at design time and changed to <em>"c:\CurrentBuild\TestDll.dll"</em> at run time.</span></li>
</ol></ol>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Load Testing in cloud using Visual Studio</title>
      <link>https://docs.microsoft.com/archive/blogs/vigneshc/load-testing-in-cloud-using-visual-studio</link>
      <pubDate>Thu, 26 Apr 2012 15:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Vignesh C]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vigneshc/2012/04/26/load-testing-in-cloud-using-visual-studio/</guid>
      <description><![CDATA[&nbsp;
Update in July 2013: Visual studio 2013 preview now has the capability to execute load tests...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p><strong><span style="font-family: arial, helvetica, sans-serif; font-size: small;">Update in July 2013: </span></strong><span style="font-family: arial, helvetica, sans-serif; font-size: small;">Visual studio 2013 preview now has the capability to execute load tests in cloud built in! Details about how to get started with cloud based load testing with Team foundation service is <a href="https://blogs.msdn.com/b/visualstudioalm/archive/2013/06/03/introducing-cloud-based-load-testing-with-team-foundation-service.aspx" target="_blank">here</a>.</span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Visual Studio provides an intuitive and straight forward way to do load testing. The integrated experience in IDE, ease with which different configurations of the test can be controlled &nbsp;and the ease with which results can be interpreted is excellent. It also provides scale out, if we want to drive load from multiple machines. For intranet applications, out of the box solution works perfectly well. Setup the test rig with necessary agent machines and just start the test. </span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>For internet facing applications, like the ones deployed in windows azure, this is a little tricky due to following reasons</span></span></p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Usually traffic from all machines inside a company goes through proxy. </span></span><ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>The proxy would have defined set of limits for outgoing request &ndash; this might interfere with load test which by definition would do lots of simultaneous requests.</span></span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Since the proxy is shared, we don&rsquo;t get a consistent bandwidth across multiple test runs. Consistent test bed configuration is critical for any kind of performance testing.</span></span></li>
</ol></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>All the cloud providers charge for outgoing and incoming traffic from datacenter.</span></span></li>
</ol>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>So keeping the test rig &ndash; pool of machines that drive traffic and the service close together makes sense. When they are in the same datacenter, we get standard and consistent bandwidth between those machines and the service we are trying to test.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><a href="https://blogs.msdn.com/b/ricardo/"><span style="color: #085296; font-size: small;">This</span></a><span style="font-size: small;"><span> blog has three posts that give detailed explanation of how a test rig with Controller and Agents can be created in Windows Azure. It has everything need to get going.</span></span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Basic Idea is that we use windows azure worker roles as a simple VM, the worker role code wouldn&rsquo;t actually do anything. Agent / Controller is installed and configured at role startup, after that it runs as a local windows service in the azure worker role VM. We create couple of instances of this and boom we have a test bed.</span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">One detail here is &ndash; Visual Studio load test started out as a solution for load testing applications inside intranet. It requires all the agent machines to be part of a local network. To overcome this we use a feature called &ldquo;</span><a href="https://msdn.microsoft.com/en-us/library/windowsazure/gg432997.aspx"><span style="color: #085296; font-size: small;">Windows Azure Connect</span></a><span style="font-size: small;">&rdquo; . After configuring the test VM instances with &ldquo;Azure Connect &ldquo; , they all become part of a local network &ndash; they would behave as if they are in local intranet. Much of this process is automatable &ndash; so setting up the rig is really quick and easy. I would love to see an OOB solution in </span><a href="https://www.codeplex.com/"><span style="color: #085296; font-size: small;">codeplex</span></a><span style="font-size: small;">J<span> .</span></span></span></p>
<p><span style="font-family: arial,helvetica,sans-serif; text-decoration: underline;"><span style="font-size: small;"><span>Couple of issues that we might face with this approach</span></span></span></p>
<ol>
<li><span style="font-family: arial,helvetica,sans-serif;"><span style="font-size: small;">Connectivity from developer desktop (or a machine part of test automation) to test rig would typically be slow &ndash; it will be over internet. If the size of all referenced dlls is more than a couple of MBs , we might hit test deployment timeout issues.&nbsp; Instruction for this is at an </span><a href="https://social.msdn.microsoft.com/Forums/en-US/vstswebtest/thread/3583bd1b-07a7-4ee3-8afc-9a5c7c261bc4"><span style="color: #085296; font-size: small;">msdn forum</span></a><span style="font-size: small;"><span>.</span></span></span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Windows Azure updates . Windows azure reboots or even reimages the machines at least once in a month. This is to ensure that the machines have all the necessary patches and security updates installed.</span></span><ol>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>A reboot in the middle of a load test run would stop the run.</span></span></li>
<li><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><span>Manual intervention would be needed after such a reboot to setup/fix the rig.</span></span></li>
</ol></li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Hello World</title>
      <link>https://docs.microsoft.com/archive/blogs/vigneshc/hello-world</link>
      <pubDate>Wed, 07 Sep 2011 11:08:20 GMT</pubDate>
      <dc:creator><![CDATA[Vignesh C]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/vigneshc/2011/09/07/hello-world/</guid>
      <description><![CDATA[Finally I took sometime and started a tech blog. I work as an SDET in the broader SQL org currently...]]></description>
      <content:encoded><![CDATA[<p>Finally I took sometime and started a tech blog. I work as an SDET in the broader SQL org currently and plan to post interesting testing related challenges for now.</p>
<p>Lets see how it goes!</p>]]></content:encoded>
    </item>
  </channel>
</rss>