<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5816720185388133194</id><updated>2024-10-04T19:06:04.292-07:00</updated><title type='text'>Automation &amp;amp; Frameworks</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-5483085331143826014</id><published>2010-09-14T13:50:00.000-07:00</published><updated>2010-09-14T13:50:22.488-07:00</updated><title type='text'>Web Performance Testing with Visual Studio 2010</title><content type='html'>Performance testing and debugging is a major focus of Visual Studio 2010 Ultimate. Web testing and load testing have been supported in Visual Studio Team System since the 2005 release, but Visual Studio 2010 offers major improvements. &lt;br /&gt;
&lt;br /&gt;
In the Web performance tests, the addition of Loops and Conditions enables developers to write more complex and intelligent tests against their applications. For load tests, the addition of 64-bit agents and controllers allows you to more effectively use the available hardware resources to generate load. Additionally, changes to the licensing of the load test agents and controllers gives you greater flexibility, making it easier -- and potentially cheaper -- to configure your load test rigs.&lt;br /&gt;
&lt;br /&gt;
Web tests allow you to simulate a user performing a set of operations – typically a defined use case – on your ASP.NET Web application, and validate the responses to see if the application is working as expected. Once you have your Web tests defined, you can knit them together to create a load test to see how well your application performs under stress.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;color: blue;&quot;&gt;Create Some Web Tests:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
Web tests are typically created using the Internet Explorer Web Testing toolbar, which records a human user clicking through a Web application. In the sample code for this article, our Visual Studio Test Project is called Com.Benday.WebTesting.WebTests. You can create a new Web test by right-clicking the project and choosing new Web Test (in Visual Studio 2010, Web Performance Test) from the Add menu. See the below picture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you add a new Web Test to your project, Visual Studio will open up Internet Explorer and you should see the Web Test Recorder panel in the browser. You can now go to a Web site and start using it just like you normally would and, as you go, you&#39;ll see your actions being recorded by the Web Test Recorder.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1k06k7HZ67t2gpGziA7a-0WCkyDg0_SbQxyv1oax03aAr9xYbLVHP04rkx0RylmEiZpA3U8zP1HnvEW4c6_6uwNWVF4GXDIkg5t2iZ7W3pYFkgnDy6Ifhn-Sy74vRJgfRJxi8sTpk90Q/s1600/Record.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1k06k7HZ67t2gpGziA7a-0WCkyDg0_SbQxyv1oax03aAr9xYbLVHP04rkx0RylmEiZpA3U8zP1HnvEW4c6_6uwNWVF4GXDIkg5t2iZ7W3pYFkgnDy6Ifhn-Sy74vRJgfRJxi8sTpk90Q/s320/Record.JPG&quot; width=&quot;273&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1k06k7HZ67t2gpGziA7a-0WCkyDg0_SbQxyv1oax03aAr9xYbLVHP04rkx0RylmEiZpA3U8zP1HnvEW4c6_6uwNWVF4GXDIkg5t2iZ7W3pYFkgnDy6Ifhn-Sy74vRJgfRJxi8sTpk90Q/s1600/Record.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1k06k7HZ67t2gpGziA7a-0WCkyDg0_SbQxyv1oax03aAr9xYbLVHP04rkx0RylmEiZpA3U8zP1HnvEW4c6_6uwNWVF4GXDIkg5t2iZ7W3pYFkgnDy6Ifhn-Sy74vRJgfRJxi8sTpk90Q/s1600/Record.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Figure 1. &lt;/strong&gt;The Web Test Recorder toolbar in Internet Explorer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you&#39;ve finished performing the actions that you wanted to record, click the Stop on the Web Test Recorder toolbar and you&#39;ll be taken back to Visual Studio and you&#39;ll see your actions in a *.webtest file (Figure 2).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXO60hDZUBepogWbMSQeO58z0nElrzsEsHoHzO8TBqEncngi-EAv0M86Agz2P5zSekNuKMYYOfysWeICX63_kNGMWokRv-jxkFbUz4kdqRh7EY8N_5B1rt2_J3KPEFcv62MXx_RFb41tM/s1600/record2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXO60hDZUBepogWbMSQeO58z0nElrzsEsHoHzO8TBqEncngi-EAv0M86Agz2P5zSekNuKMYYOfysWeICX63_kNGMWokRv-jxkFbUz4kdqRh7EY8N_5B1rt2_J3KPEFcv62MXx_RFb41tM/s320/record2.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Figure 2&lt;/strong&gt;. A new Web Test in Visual Studio</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/5483085331143826014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/09/web-performance-testing-with-visual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/5483085331143826014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/5483085331143826014'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/09/web-performance-testing-with-visual.html' title='Web Performance Testing with Visual Studio 2010'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1k06k7HZ67t2gpGziA7a-0WCkyDg0_SbQxyv1oax03aAr9xYbLVHP04rkx0RylmEiZpA3U8zP1HnvEW4c6_6uwNWVF4GXDIkg5t2iZ7W3pYFkgnDy6Ifhn-Sy74vRJgfRJxi8sTpk90Q/s72-c/Record.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-4934460072553818675</id><published>2010-09-14T12:51:00.000-07:00</published><updated>2010-09-14T12:52:58.582-07:00</updated><title type='text'>Layered framework for Visual studio 2010 Automation testing</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Base your layered architecture on three layers: script layer, business layer, and framework layer. This pattern presents an overview of the responsibilities of each layer and the components that compose each layer.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNORehOWxNGJxVwS2eBL4oP8lLk5BC7hkO5WtfMzE8y_IIaoy11o9iXgBf8GyNjW1bQ5DLwsDqfiIGcGnCD4WomRJcp_EtzQEO9ap09T7PwPyTpfrTL2gdf4YnL7IDnkGnjBPERVZ9MuM/s1600/Layers.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;492&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNORehOWxNGJxVwS2eBL4oP8lLk5BC7hkO5WtfMzE8y_IIaoy11o9iXgBf8GyNjW1bQ5DLwsDqfiIGcGnCD4WomRJcp_EtzQEO9ap09T7PwPyTpfrTL2gdf4YnL7IDnkGnjBPERVZ9MuM/s640/Layers.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;The above framework has 3 layers:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Framework Layer&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Business Layer&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Scripting Layer&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;&lt;/ul&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Framework Layer:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &amp;nbsp;This layer is generic and common across all the projects. It consist of generic components which are useful with in the organization across all the projects. It would be good declare all the possible components as interfaces with in this layer. Below are the compoenets that goes into this layer.&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Utilities&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Data management&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Configuration management&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Logging&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Reporting&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Logging&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Reporting&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Exception handling&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Recovery scenarios&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Screen recording&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;Data access layer&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;Object wrapper functions&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Data driven driver classes&lt;/span&gt;&lt;/li&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt; &lt;/span&gt;&lt;/ol&gt;&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Business Layer:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;This layer is specific to project, where the re usable libraries are developed. Each screen will have one class for handling the testing. Common functions will go into separate library. Every project will have their own implementation of the interface that are created in the Framework layer.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Scripting Layer:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;This layer is responsible for the scripting, each script is responsible for one screen in the application. Scripts will call the business layer components to pass the test data.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/4934460072553818675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/09/layered-fraemwork-for-visual-studio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/4934460072553818675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/4934460072553818675'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/09/layered-fraemwork-for-visual-studio.html' title='Layered framework for Visual studio 2010 Automation testing'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNORehOWxNGJxVwS2eBL4oP8lLk5BC7hkO5WtfMzE8y_IIaoy11o9iXgBf8GyNjW1bQ5DLwsDqfiIGcGnCD4WomRJcp_EtzQEO9ap09T7PwPyTpfrTL2gdf4YnL7IDnkGnjBPERVZ9MuM/s72-c/Layers.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-1024298936987890031</id><published>2010-08-06T12:06:00.000-07:00</published><updated>2010-08-06T12:06:10.921-07:00</updated><title type='text'>Functional Testing REST Web Services With SoapUI</title><content type='html'>General observations about SoapUI. &lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;It is an amazingly high quality open source test tool. The use of groovy scripts, xPath, and dynamic property expansion created a very robust development environment. Although not being Java programmers, it was initially a bit confusing to sort out where Groovy stopped and Java began. A good book, Groovy in Action, solved that problem. &lt;/li&gt;
&lt;li&gt;We found test case development a bit more tedious than expected with a test cases consisting of a dozen steps and within each step perhaps a dozen assertions. It was just a lot of detail, with lots of mouse clicking to drill into things. We wrote some helper routines to consolidate a lot of the assertion checks which helped to some extent.&lt;/li&gt;
&lt;li&gt;We wound up buying the Pro version of SoapUI as we needed some technical support and this turned out to be a great decision. The support was excellent, we were more productive using the Pro version, and the code remained compatible with the open source version of SoapUI as long as we stayed away from certain Pro features. &lt;/li&gt;
&lt;li&gt;The SoapUI documentation was quite well written, but initially it was a challenge to sort out which things applied specifically to REST based testing. &lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;&lt;b&gt;Solution&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Create a SoapUI project, a rest service within the project, defined each of the 100 resource paths within the service, and created an empty test suite.&lt;/li&gt;
&lt;li&gt;Utest suite properties as a set of global variables. Some properties were used to store dynamic data that was stored and retrieved by various test steps, while other properties contained static content that represented various possible values for customer records. Referencing these properties in a variety of ways throughout the test suite was simple. A few examples.&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Simple Property Expansion: ${#TestSuite#password}&lt;/li&gt;
&lt;li&gt;Dynamic Property Expansion where multiple comma separated values are stored in one property: {=context.testCase.testSuite.properties[&quot;accountNumber&quot;].value.split(&quot;,&quot;)[1]}&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;We made extensive use of random numbers for generating values that had to be unique. Yes, there was a remote possibility that we might get a test case failure as a result of a random number collision, but from a practical perspective, this was a non-issue. &lt;/li&gt;
&lt;li&gt;We structured our test suite to run sequentially, with the following initialization routines:&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Generate unique “random” values and store in properties&lt;/li&gt;
&lt;li&gt;Use REST calls to populate the data base with sufficient framework data to register a customer. Example, define the various valid address types such as home, business, other, etc.&lt;/li&gt;
&lt;li&gt;Use REST calls to register a set of customers using characteristics pulled form test suite properties. These customers will not be modified during test execution and will be used exclusively for “get” and “search” customer related testing.&lt;/li&gt;
&lt;li&gt;Define a series of test cases that register customers for subsequent record updating. These can be called from other test cases as needed. Note that we encountered problems exporting and importing test cases that used the Goto Test step (they reference a GUID not the name of the test case), so we chose to call the test cases from a groovy script…&lt;/li&gt;
&lt;li&gt;def testCase = testRunner.testCase.testSuite.testCases[&quot;Another TestCase&quot;] def properties = new com.eviware.soapui.support.types.StringToObjectMap() def async = false testCase.run( properties, async )&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Once the basic plumbing was in place we needed to grind out hundreds of test cases that when completed represented thousands of REST API calls and many thousands of test assertions.&lt;/li&gt;
&lt;li&gt;Perhaps a note on assertions is warranted. There are a multitude of ways to validate that you get the expected values in a response using SoapUI. We utilized the following methods&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Contains assertion – On the surface this is a simple text comparison, but we also used regular expressions to accept multiple values such as (?s).*ALREADY.*|.*SUCCESS.* as well as property expansions.&lt;/li&gt;
&lt;li&gt;Script Assertion – This was our most common assertion tool, which allowed to use the getXmlHolder object provided by SoapUI to easily query and assert conditions within a groovy script, such as..\def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) def holder = groovyUtils.getXmlHolder(messageExchange.responseContent) def xPath = &quot;//statusLabel[../SystemLabel=&#39;&quot; + \ context.testCase.testSuite.properties[&quot;SystemLabel&quot;].value.split(&quot;,&quot;)[1] \ + &quot;&#39; and ../statusLabel=&#39;SUCCESS&#39;]&quot; assert holder[xPath] == &quot;SUCCESS&quot;&lt;/li&gt;
&lt;li&gt;xPath Match – This was nice tool in that I could use an xPath statement to grab a parent node, then compare expected results using both wild cards and property expansions child elements. The only gotcha that I found was that if I wasn’t very careful with my xPath statement and multiple parent blocks were returned, xPath Match would compare the first instance, which wasn’t always what I wanted. But with simpler scenarios, this was definitively a very quick and dirty way to check a bunch of response values.&lt;/li&gt;
&lt;/ul&gt;&lt;/ol&gt;As most of our assertion testing involved comparing large sets of known values stored in test suite properties to API responses, we wrote some rather elaborate helper routines that simplified the assertion process. We did run into one obstacle in that we couldn’t find a clean way to “include” these routines in the assertions. The Pro version has a common library capability, but we didn’t want to lock ourselves into that. The open source version does allow a Jar file to be included in the the soapUI\bin\ext folder , which would have addressed the issue, but we wanted the test suite to run on a generic install of SoapUI. &lt;br /&gt;
&lt;br /&gt;
So, the utility routines were pasted into assertions throughout the suite (yuck). Just as the test suite was being finalized we discovered that there was a bug in the helper routines (not zero stuffing MD5 hash values) and were faced with editing 147 instances of the helper routines in the test suite (nightmare!). Fortunately, we were able to pull the entire SoapUI project into XMLSpy and globally edit the routines. This notion of editing the project from outside SoapUI might open up some interesting productivity opportunities.&lt;br /&gt;
&lt;br /&gt;
We are now moving on to using SoapUI to load test this implementation and I will share our experiences with this effort in a week or so.</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/1024298936987890031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/08/functional-testing-rest-web-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/1024298936987890031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/1024298936987890031'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/08/functional-testing-rest-web-services.html' title='Functional Testing REST Web Services With SoapUI'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-8022031024251257854</id><published>2010-08-04T13:37:00.000-07:00</published><updated>2010-08-04T13:37:23.453-07:00</updated><title type='text'>SAP CATT - Computer Aided Test Tool</title><content type='html'>&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;SAP CATT - Computer Aided Test Tool &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Just sharing my experiences with CATT &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Simply, any one in SAP can use this tool as long as you can access to the tcode. I used CATT atleast in 3 different SAP modules. Typically, in SAP projects, CATT execution is a favorite task for &quot;technical&quot; associates. When the technical resources are either not available immediately or their plate is full with other important tasks, functional associates can simply jump into this activity, since there is no coding or programming involved. This tool has been a great gift from SAP since I am a functional person and could not do coding ! I can remember at least 30 or 40 occassions where I used CATT to get this and that done. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;strong&gt;Below find few examples: &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;1. Created multiple sales orders (excess of 200) in a matter of minutes for the purpose of end user training &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;2. Created multiple purchase ordes (excess of 200) in a matter of minutes for the purpose of end user training &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;3. Created Deliveries for the sales orders in a matter of minutes for the purpose of end user training &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;4. Created config. entires, if the volume of records is large. I remember once I entered 900 records. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;5. Extensively used in preparing the transactional data for the purpose of archiving. It worked impeccably. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;6. Loading of master data (example: material groups) &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Note: Upon execution of CATT, it is very possible that some records will fail, which have to be addressed manually. SAP really needs to further enhance this area of CATT because, there is no easy way of identifying the failed ones, it has to be done manually. One workaround is simply download the result into an Excel and using sort feature of Excel, identify the failed ones and deal with them manually. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;CATT stands 4 Computer Aided Testing Tool &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Although CATT is meant for as a testing tools, many SAP users have now use CATT frequently to upload vendors master data and make changes to other master record. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;SAP Consultant and Abapers tends to used it for creating test data. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;With CATT, you don&#39;t have to create any ABAP upload programs and this save on development time. However, you still have to spend time on data mapping into the spreadsheet format. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;The transactions run without user interaction. You can check system messages and test database changes. All tests are logged. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;What CATT does is record you performing the actual transaction once. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;You then identify the fields that you wish to change in that view. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Then export this data to a spreadsheet to populate with the data required. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;This is uploaded and executed saving you keying in the data manually. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;To perform CATT, it has to be enabled in your production environment (your systems administrator should be able to do this - SCC4). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;You will also need access to your development system to create the CATT script. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;strong&gt;User Guide for Data Upload &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;The use of CATT is for bulk uploading of data. Although CATT is primarily a testing tool, it can be used for the mass upload of data. The way CATT works is like a real user actually inputting on the SAP screen. You prepare a set of data that are required to be input into the system and execute what you called a Test Case and CATT will do the boring task of keying for you. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Over-all procedure &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;The over-all procedure to upload data using CATT is as follows: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Creation of the CATT test case &amp;amp; recording the sample data input. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Download of the source file template. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Modification of the source file. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Upload of the data from the source file. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Details of each step are provided in the following paragraphs. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Detailed Procedure &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Creation of the CATT test case: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Creation of the test case is completed as follows: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Execute Transaction SCAT &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Name the test case. Test case name must start with “Z”. It is also good practise to include the transaction code in &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;the test case name (e.g. Z_IE01_UPLOAD for the upload of equipment) &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Click the “Record” button. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Enter the transaction code (e.g. IE01) &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Continue recording the transaction. Ensure data is entered into every field that is to be used during the upload. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Save the test case. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Download the source file template &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Download of source file template is conducted in two stages as follows: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Creation of import parameters: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Within transaction SCAT, Double Click on the TCD line in the “Maintain Functions” screen. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Click the Field List button (Field list is displayed). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· For every field that you wish to upload data, double click in the Column New field contents (This creates an &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;import parameter). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· In the Maintain Import Parameter Pop-Up: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Delete the default value if not required. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Press Enter &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· The New field contents column now contains the character &amp;amp; followed by the field name (e.g. &amp;amp;EQART). This &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;is the name of the import parameter. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Repeat this for every field (in every screen) to be uploaded. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Back out and save the CATT test case &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Download of source file template: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Use the path GOTO -&amp;gt; Variants -&amp;gt; Export Default &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Select path and file name (e.g. C:\TEMP\Z_IE01_UPLOAD.TXT) &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Click Transfer &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Modify the source file &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;The downloaded source file template is now populated with the data that is to be uploaded. This is completed as follows: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Using Excel, open the tab-delimited text file. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Do not change any of the entries that already exist. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;1st row contains the field names. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;2nd row contains the field descriptions. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;3rd row displays the default values which are set in the test case. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;4th row contains a warning that changing the default values in the spreadsheet has no effect on the actual default values. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· The data to be uploaded can be entered in the spreadsheet from row 4 onwards (delete the 4th row warning &amp;amp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;replace with data for upload). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Save the file as a Text file (Tab delimited). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Upload data from the source file &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Uploading the data is completed as follows: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Execute the CATT test case &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· In the Execute screen: &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Set processing mode to Errors or Background (your choice). &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Set variants to External from file. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· Click the Choose button and select the file to be uploaded. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· If uploading to another client, click the Remote execution button and select the RFC connection to the required client. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;· If uploading to the current client, click the execute button. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/8022031024251257854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/08/sap-catt-computer-aided-test-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/8022031024251257854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/8022031024251257854'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/08/sap-catt-computer-aided-test-tool.html' title='SAP CATT - Computer Aided Test Tool'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-9088713693138584403</id><published>2010-02-25T03:59:00.000-08:00</published><updated>2010-02-25T05:16:49.412-08:00</updated><title type='text'>Visual Studio Team System 2010 - Connecting Test Cases to User Stories</title><content type='html'>&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;This walkthrough guides you through the process for connecting existing test cases to user stories. In this scenario, Lucerne Publishing wants to be able to view which test cases will test which user stories for the DinnerNow.net payment system. This lets Lucerne publishing know the level of test coverage for each user story.&lt;br /&gt;&lt;br /&gt;Suppose that you are a test lead at Lucerne Publishing. You want to link the existing manual test to the user story to check that the reviews are displayed for a restaurant because the test also covers this functionality.&lt;br /&gt;&lt;br /&gt;In this walkthrough, you complete the following task:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Link Existing Test Case to a User Story&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To link existing test cases to a user story&lt;br /&gt;&lt;br /&gt;1. To display the Planning Activities Center, click Planning.&lt;br /&gt;2. In the Requirements pane, double-click the requirement Customer Finds Reviews for&lt;br /&gt;Restaurant that you want to link to your test case.&lt;br /&gt;&lt;br /&gt;The requirement is displayed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUNCDGLAiR9HuvxptCnyWFOJsSMCkppoiKliQxkmoj_SzQI1P1ObiVpHotJhveramVoIkBa3tYgiwGBi_-RgKUY_gJ1iwiMKwcMctwv-ISm7ayWI6x6uuKJTH_Crhr1C-HAxmCG6o0vs/s1600-h/6.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442154175661481874&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUNCDGLAiR9HuvxptCnyWFOJsSMCkppoiKliQxkmoj_SzQI1P1ObiVpHotJhveramVoIkBa3tYgiwGBi_-RgKUY_gJ1iwiMKwcMctwv-ISm7ayWI6x6uuKJTH_Crhr1C-HAxmCG6o0vs/s400/6.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;3. Select the Test Cases tab.&lt;br /&gt;4. To find the test cases, click Add.&lt;br /&gt;&lt;br /&gt;The Add Link to User Story dialog box is displayed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY9nZA9WhaPSphLR3hPcejaTDkvCwrkTNpxSmtQyE0mO67aPEpUVO7kBYaAxgnZj5QlmNEBTyXwy06BDIpkqhAdPyMEbJk_BX86kJHEXM7XYdZFV8qd0nrM5OzvIrdQ77h3fS2OQFuCK8/s1600-h/7.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442154871171611890&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 172px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY9nZA9WhaPSphLR3hPcejaTDkvCwrkTNpxSmtQyE0mO67aPEpUVO7kBYaAxgnZj5QlmNEBTyXwy06BDIpkqhAdPyMEbJk_BX86kJHEXM7XYdZFV8qd0nrM5OzvIrdQ77h3fS2OQFuCK8/s400/7.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;5. To find the test cases that you want to link to the requirement, click Browse to&lt;br /&gt;select a query to use.&lt;br /&gt;&lt;br /&gt;The Choose linked work items dialog box is displayed&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeIlcxCRLVALLrnQ10VIgkf54tFJ4cel7qr_z8CZvp2IpZ8qJjQu8J-BlrapuanKEXCno43-IidqvgTl3w1W1Fp7OEbwWyCwux9DYoBoxoKMP93vSGJHyqi9deiYzvFBmmwWA413viINQ/s1600-h/8.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442155601000962402&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeIlcxCRLVALLrnQ10VIgkf54tFJ4cel7qr_z8CZvp2IpZ8qJjQu8J-BlrapuanKEXCno43-IidqvgTl3w1W1Fp7OEbwWyCwux9DYoBoxoKMP93vSGJHyqi9deiYzvFBmmwWA413viINQ/s400/8.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;6. Select the following query: Team Queries/Open Test Cases, and then click Find.&lt;br /&gt;The test cases in the query are displayed&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0EVMZdTY9wfBGhJioqreR9scd47RbK22xr0djWp4WYaVPFWwjmFuJk4IWlDpcAYanB8ZygkxxS9nOaXCIgZgPZZZbNWRpbn2GwnjCitm9tq1TonTBoSv9uNZdXQIlububF_myBxVSqA/s1600-h/9.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442167934464626946&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 164px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0EVMZdTY9wfBGhJioqreR9scd47RbK22xr0djWp4WYaVPFWwjmFuJk4IWlDpcAYanB8ZygkxxS9nOaXCIgZgPZZZbNWRpbn2GwnjCitm9tq1TonTBoSv9uNZdXQIlububF_myBxVSqA/s400/9.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;9. Select the check box for the row that contains Complete Purchase Scenario.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOtI_4BLGqAPHI7i2zrElw5qnVBUPiiWil3oBoAXqj6l_w4aIUcBxuDbyK0pu0pXQk_OMjoxZaTEuOcgOq3eIFoqKy4qtj0wvAJAoJ30tlzWCSY4emu-FcXuHX4zpR4SADPVaa3dRFq4/s1600-h/10.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442168214748713202&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 185px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDOtI_4BLGqAPHI7i2zrElw5qnVBUPiiWil3oBoAXqj6l_w4aIUcBxuDbyK0pu0pXQk_OMjoxZaTEuOcgOq3eIFoqKy4qtj0wvAJAoJ30tlzWCSY4emu-FcXuHX4zpR4SADPVaa3dRFq4/s400/10.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;10. To select to link these test cases to this requirement, click OK.&lt;br /&gt;&lt;br /&gt;The Choose linked work items dialog box is no longer displayed&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63qnBRnvBVc0v-H0GzLVQbLQcNbCPdnwA59Bx7X9HnEwN9TC0wePUeEVdIFxnL-2qrRCy59Dfzf3H5hDLFWpzQElwfXw_OnFjPbnXFC9pfQw79C4JWlKaN6vpWeaDseszM_Ex_dJEtOE/s1600-h/11.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442168555786120850&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 189px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63qnBRnvBVc0v-H0GzLVQbLQcNbCPdnwA59Bx7X9HnEwN9TC0wePUeEVdIFxnL-2qrRCy59Dfzf3H5hDLFWpzQElwfXw_OnFjPbnXFC9pfQw79C4JWlKaN6vpWeaDseszM_Ex_dJEtOE/s400/11.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;11. To add the links to this requirement, click Ok.&lt;br /&gt;&lt;br /&gt;The links are now displayed.&lt;br /&gt;&lt;br /&gt;12. To save the requirement, click Save and Close in the toolbar.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDhyphenhyphen5_hCMrgjWgvuC-DS1ueHYzwA_bQ12O_t03an9jcSfL_AI8dtlTcafTaRnJ-EzzM0mnuEVFkDPQbVjOky6MyzcPHmuHHkxNLQawmpvtS6nc71k4s_xJwVJlPYVvCfFxDakqvBKeJY/s1600-h/12.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442168911077106626&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglDhyphenhyphen5_hCMrgjWgvuC-DS1ueHYzwA_bQ12O_t03an9jcSfL_AI8dtlTcafTaRnJ-EzzM0mnuEVFkDPQbVjOky6MyzcPHmuHHkxNLQawmpvtS6nc71k4s_xJwVJlPYVvCfFxDakqvBKeJY/s400/12.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/9088713693138584403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/02/visual-studio-team-system-2010.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/9088713693138584403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/9088713693138584403'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/02/visual-studio-team-system-2010.html' title='Visual Studio Team System 2010 - Connecting Test Cases to User Stories'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUNCDGLAiR9HuvxptCnyWFOJsSMCkppoiKliQxkmoj_SzQI1P1ObiVpHotJhveramVoIkBa3tYgiwGBi_-RgKUY_gJ1iwiMKwcMctwv-ISm7ayWI6x6uuKJTH_Crhr1C-HAxmCG6o0vs/s72-c/6.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-7084655266317795796</id><published>2010-02-24T23:35:00.000-08:00</published><updated>2010-02-25T03:56:07.085-08:00</updated><title type='text'>Visual Studio Team System 2010 - Creating Manual Test Cases and Adding to a Test Suite</title><content type='html'>&lt;a name=&quot;_Toc211132062&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;I am posting Test Features of Microsoft Visual Studio Team System 2010&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;a name=&quot;_Toc211132063&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;his walk through will focus on how you can plan, design, develop, and test an application by using the Microsoft Visual Studio Team System 2010&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Creating Manual Test Cases and Adding to a Test Suite:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;This walkthrough guides you through the process for creating manual test cases and adding a test case to a test suite. In this scenario, Lucerne Publishing wants to add another test to the DinnerNow.net payment system. You have to add an end to end test for the purchasing scenario.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Suppose that you work on Lucerne team and have the task of testing the payment system for Iteration 2. First, you will create a manual test for this. You will add the steps to this test case and the expected results. Then you will add it to the existing test suite for the integrated payment system.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;In this walkthrough, you complete the following tasks:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Add a test case to an existing test suite.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Add test steps to a manual test case.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Overall, performing these tasks will help you create and organize the tests for testing your application.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Before you begin this walkthrough, complete the following prerequisites:&lt;br /&gt;To fulfill the walkthrough prerequisites&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Follow these steps to open the new tool for generalist testers, Microsoft &quot;Code Name Camano&quot; for Visual Studio Team Test 2010 CTP:&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To display the Microsoft &quot;Code Name Camano&quot; window, click Start, and then point to All Programs. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Point to Microsoft Visual Studio 2010 and then click Microsoft Code Name Camano.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To connect to a team project, point to Home, click the down arrow, and then click Connect to a Team Project.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To add a new Team Foundation Server, click Add. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;The Add Team Foundation Server dialog box is displayed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type localhost, and then click Add.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To select the team project, click the name of the team project, DinnerNow, in the list. Then click Connect. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;If you successfully connect to this team project, the name of the team project is displayed in the Microsoft &quot;Code Name Camano&quot; window following Team Project.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgALgSPHrnJclDk3mQMcYnf5KKBP-gT76QGXgxg7kyWtocPjWDSF8FJJO-lcr3HSWBzCC4XP55rx161PDvSZJIeOiqNWf5rT12vCKyiYZ2lOpR8lQ4Ad2mIIUsMjPWCRq6m-WA45zrVG0k/s1600-h/suite.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442084701100274706&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 283px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgALgSPHrnJclDk3mQMcYnf5KKBP-gT76QGXgxg7kyWtocPjWDSF8FJJO-lcr3HSWBzCC4XP55rx161PDvSZJIeOiqNWf5rT12vCKyiYZ2lOpR8lQ4Ad2mIIUsMjPWCRq6m-WA45zrVG0k/s400/suite.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&quot;_#Create_a_Manual&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Add Test Case to an Existing Test Suite&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;You can manage your test cases by organizing tests into test suites. You use a test suite to group test cases together. For example, you can group all test cases for a specific feature together. By grouping them in a test suite, you can now easily run all the tests in the test suite together. Test suites also help in planning your testing effort by working with this logical grouping of test cases. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To add a test case to an existing test suite &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To display the Planning Activities Center, click Planning.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To display all the test suites, click Test Suite Manager in the Planning Activities sidebar.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To select the test suite, click End to End Test.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;The tests that have already been added to the test suite are displayed in the test suite details panel. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;There is a prebuilt test case that you can use instead of creating a test case yourself called Prebuilt: Complete Purchase Scenario. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To add a test, click New test case in the toolbar for the test suite details panel.&lt;br /&gt;The new test case is displayed in the main editing pane of Microsoft &quot;Code Name Camano&quot; titled New Test Case 1:&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To name the test case, type Complete Purchase Scenario in Title. You use this title to identify the test case and search for it if you have to. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Check Area shows DinnerNow.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Click Owner to select Ellen Adams for the test case.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Click Priority to select 1 for the importance of the test case.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To save the test case, click the save icon in the toolbar.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Note After the test case has been saved, the test case identifier is shown in the title of the editing pane.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXF_YHUd0cKlqSE7h-boHpsavdorsN-YY3J1pr0VrNEekefOlQsw3hXXDn0qLWEUZA8jFlKh6vlJA4LTHnAlFi6mhkJ_GK2U8aVZGin5MzpaRFIXAu5fFqCqplofufHVVorpb476u22mM/s1600-h/1.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442102149629562722&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXF_YHUd0cKlqSE7h-boHpsavdorsN-YY3J1pr0VrNEekefOlQsw3hXXDn0qLWEUZA8jFlKh6vlJA4LTHnAlFi6mhkJ_GK2U8aVZGin5MzpaRFIXAu5fFqCqplofufHVVorpb476u22mM/s400/1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGWPtqbi3bGyGXjbl29E1jUWiPSefNUGIZ_7eEGVEEpcWyqmdFT4jJHMIPCgTM2IF-d9Y1y4F2N36DZJPtR3fAvXQoOofkidY7oxaCgkfEReQwFg6jR2S3APzJXRgSy-rmdwPDGfz9HKE/s1600-h/2.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442102377618356418&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGWPtqbi3bGyGXjbl29E1jUWiPSefNUGIZ_7eEGVEEpcWyqmdFT4jJHMIPCgTM2IF-d9Y1y4F2N36DZJPtR3fAvXQoOofkidY7oxaCgkfEReQwFg6jR2S3APzJXRgSy-rmdwPDGfz9HKE/s400/2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Add Test Steps to a Manual Test Case&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;A test step might be an action only, or it might include validation.&lt;br /&gt;To add test steps to a manual test case &lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Click Steps.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Click &lt;click&gt;, type Verify that DinnerNow Web application is started as the Action for the first test step, and press Enter.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Enter 98101 in the Your Zip field as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select American as the food type in the combo box as the Action for the next step.\&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-family:Verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcS_VRzGH7M_0BPpc-cckpqQHXZ3CmjbHh3iZjF03nFvWCrzRnrq4NwOiPd3GeDZM8IuDZkKwTZm4b5zJQPc5DHZLoRtoQIWaiyJHotvNZcD5E1eDhpuqyWAat6vXylrz5fU50rwE05LA/s1600-h/3.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442106951643323538&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 173px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcS_VRzGH7M_0BPpc-cckpqQHXZ3CmjbHh3iZjF03nFvWCrzRnrq4NwOiPd3GeDZM8IuDZkKwTZm4b5zJQPc5DHZLoRtoQIWaiyJHotvNZcD5E1eDhpuqyWAat6vXylrz5fU50rwE05LA/s400/3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://blogs.msdn.com/blogfiles/charles_sterling/WindowsLiveWriter/VisualStudioTeamSystem2010TestFeaturesw_C251/clip_image012_2.jpg&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select Dinner as the meal of choice as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select 1 hour as the time frame as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click Find as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;In the Expected Result column, type Check 3 restaurants are displayed: TailSpin BBQ, SouthRidge Subs, Northwind Bar and Grill. &lt;strong&gt;Note:&lt;/strong&gt; If you type a value in the Expected Result column, the step is automatically set to a validation step, as indicated by the check mark icon.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select Northwind Bar and Grill as the Action for the next step, and then type 12 items should be displayed as the expected results.&lt;/span&gt;&lt;/li&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhko1YXo29xX0ip5WBtKCHmgbhVbmn63VjN3Ojav0bANh4Ny3U7GAMK1EUf72gJN7q4tyyPJHZKfFjlktE95bfqBRNrv-Jj4a10Zgkyvo4E11X2dcgPG1XY_2x5C9KfM1N7UJ1xmkKrKEY/s1600-h/4.jpg&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442119542064358882&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 174px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhko1YXo29xX0ip5WBtKCHmgbhVbmn63VjN3Ojav0bANh4Ny3U7GAMK1EUf72gJN7q4tyyPJHZKfFjlktE95bfqBRNrv-Jj4a10Zgkyvo4E11X2dcgPG1XY_2x5C9KfM1N7UJ1xmkKrKEY/s400/4.jpg&quot; border=&quot;0&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select Classic Burger and Ice cream from the menu list as the Action for the next step, and then type Your menu today has a cost of $27 as the Expected Result.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click Testimonials at the top of the screen as the Action for the next step, and then type Positive reviews are displayed for Northwind Bar and Grill as the Expected Result.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click Checkout as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select sign in using InfoCard as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Select Brad Sutton and click Send as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click the radio button (Work) for Choose Delivery Address as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click the radio button (Visa) for payment option as the Action for the next step.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Confirm Order as the Action for the next step, and then type Check Total is $27, Delivery address is 1 Microsoft Way, and Payment Option is Visa as the Expected Result.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Type Click Bring my Meal as the final test step.&lt;br /&gt;a. Note You can mark any test step as a validation test step when you click Toggle Step Validation in the Steps Toolbar. When you run the test case, you must individually mark a validation test step as either passed or failed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;To save and close this test case, click Save and Close. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Important If you do not close the test case and continue to a different activity, the test case is now shown in Work in Progress in the sidebar. Click this test case to open it again.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizFXnpNms_X_6d3RrQoAhOAG66RqeG-A9pwvRMnrc1MZagWJbpy82T1R1TfptYALYnEeFAH5JKnca-AJs5VPRY_gKQWrrrDjbP4QA9JlgLvspaySpdfFrzE_gp3GjcwfQxplIUOvM8_y8/s1600-h/5.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5442142420425034898&quot; style=&quot;WIDTH: 244px; CURSOR: hand; HEIGHT: 174px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizFXnpNms_X_6d3RrQoAhOAG66RqeG-A9pwvRMnrc1MZagWJbpy82T1R1TfptYALYnEeFAH5JKnca-AJs5VPRY_gKQWrrrDjbP4QA9JlgLvspaySpdfFrzE_gp3GjcwfQxplIUOvM8_y8/s400/5.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/7084655266317795796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/02/visual-studio-team-system-2010-creating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/7084655266317795796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/7084655266317795796'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/02/visual-studio-team-system-2010-creating.html' title='Visual Studio Team System 2010 - Creating Manual Test Cases and Adding to a Test Suite'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgALgSPHrnJclDk3mQMcYnf5KKBP-gT76QGXgxg7kyWtocPjWDSF8FJJO-lcr3HSWBzCC4XP55rx161PDvSZJIeOiqNWf5rT12vCKyiYZ2lOpR8lQ4Ad2mIIUsMjPWCRq6m-WA45zrVG0k/s72-c/suite.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5816720185388133194.post-7932021629713608499</id><published>2010-02-19T02:09:00.000-08:00</published><updated>2010-02-19T03:02:42.426-08:00</updated><title type='text'>Automating Flex Applications with QTP</title><content type='html'>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;u&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Flex application Automation Using QTP&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;There are two approaches to enable Flex application automation using QTP.&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Runtime Approach.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Compilation Approach.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;Runtime Approach:&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;General Implementation Concept: &lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;You use the run-time testing files rather than building your applications with testing libraries. This lets you test SWF files that are compiled without automated testing support. To do this, you use a SWF file that does include the automated testing libraries. In that SWF file, the SWF Loader class loads your application&#39;s SWF file which does not include the testing libraries. The result is that you can test the target SWF file in a testing tool such as QTP, even though the application SWF file was not complied with automated testing support.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Flex Builder includes a wrapper SWF file and an HTML template that supports run-time loading. The source MXML file for the wrapper SWF file is also included. The following files are located in the “Flex_builder_install_dir/sdks\3.2.0\templates\automation-runtimeloading-files”&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;RunTimeLoading.html&lt;/strong&gt; -- The HTML template that loads the run-time loader SWF file. This template includes code that converts the automationswfurl query string parameter to a flashVars variable that it passes to the application. You use this query string parameter to specify the name of the application you want to test.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;runtimeloading.mxml&lt;/strong&gt; -- The source code for the runtimeloading.swf file that you compile. The SWF file acts as a wrapper for your application. This SWF file includes the testing libraries so that you do not have to compile them into your application SWF file.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;Compile the runtimeloading.swf file:&lt;/strong&gt; You can use the batch file in the Flex_builder_install_dir/sdks\3.2.0\templates\automation-runtimeloading-files directory. Execute this batch file from the sdks/3.2.0/frameworks directory. This batch file ensures that your runtimeloading.swf file includes the automation.swc, automation_agent.swc, automation_dmv.swc, automation_flashflexkit.swc, and qtp.swc libraries.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Deploy the runtimeloading.swf, RunTimeLoading.html, and your application&#39;s SWF file to a web server. Request the RunTimeLoading.html file and pass the name of your SWF file as the value to the automationswfurl query string parameter. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;        For example:   &lt;a href=&quot;http://localhost/RunTimeLoading.html?automationswfurl=MyApp.swf&quot;&gt;&lt;strong&gt;http://localhost/RunTimeLoading.html?automationswfurl=MyApp.swf&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Implementation:&lt;br /&gt;&lt;/strong&gt;Please find the below steps followed to implement runtime approach.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;&lt;u&gt;Steps&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Installed Flex builder 3.20 professional version.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Navigated to Flex_builder_install_dir/sdks\3.2.0\templates\automation-runtimeloading-files directory.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Observed that there one wrapper html file RunTimeLoading.html ,RunTimeLoading.mxml file and also build.bat.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;We can use the batch file to compile RunTimeLoading.mxml with automation libraries.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;After compilation it will generate runtimeloading.swf file in the same directory.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Request the RunTimeLoading.html file and pass the name of your SWF file as the value to the automationswfurl Automationswfurl=application.swf&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Copy the runtimeloading.swf, RunTimeLoading.html, and your application&#39;s SWF file to a web server.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Start the services and access the URL as below&lt;br /&gt;” &lt;/span&gt;&lt;a href=&quot;http://hostname:11090/application/ux/RunTimeLoading.html&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;http://hostname:11090/application/ux/RunTimeLoading.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;Compilation Approach: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;If you do not use run-time testing, you must compile applications that you plan to test with the testing libraries. The functional testing classes are embedded in the application at compile time, and the application typically has no external dependencies for automated testing at run time.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;Implementation of Compilation Approach:&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;&lt;u&gt;Steps:&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;Copy the qtp.swc, automation_agent.swc, automation.swc and automation_dmv.swc files from the flex_automation_installer/frameworks/libs directory to flex_sdk_dir/frameworks/libs.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;Need to copy the following files &lt;/strong&gt;(airframework_rb.swc,automation_agent_rb.swc,automation_rb.swc,datavisualization_rb.swc,framework_rb.swc, rpc_rb.swc to) C:\Devtools\flex_sdk_3.3.0.4852\frameworks\libs\locale from flex_automation_installer/frameworks/libs directory to flex_sdk_dir/frameworks/libs&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;strong&gt;Implementation:&lt;br /&gt;&lt;/strong&gt;We have the added the above said tag to mxml target in ux/ant/compile.xml and compiled the application.mxml,Please refer the compile.xml from section 49 to 75&lt;br /&gt;The modified ant target will be as follows.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;compiler.library-path dir=&quot;${FLEX_HOME}/frameworks&quot; append=&quot;true&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;include name=&quot;libs&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;include name=&quot;libs/locale/{locale}&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;!--include name=&quot;../bundles/{locale}&quot; /--&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/compiler.library-path&gt;&lt;compiler.library-path dir=&quot;${flex.lib.dir}&quot; append=&quot;true&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;include name=&quot;*.swc&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/compiler.library-path&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;compiler.include-libraries dir=&quot;${FLEX_HOME}/frameworks/libs&quot; append=&quot;true&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;include name=&quot;*.swc&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/compiler.include-libraries&gt;            &lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;/span&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://testmation.blogspot.com/feeds/7932021629713608499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://testmation.blogspot.com/2010/02/automating-flex-applications-with-qtp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/7932021629713608499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5816720185388133194/posts/default/7932021629713608499'/><link rel='alternate' type='text/html' href='http://testmation.blogspot.com/2010/02/automating-flex-applications-with-qtp.html' title='Automating Flex Applications with QTP'/><author><name>Venkatesh Kovvuri</name><uri>http://www.blogger.com/profile/18385925157813713721</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhwaUeUtsixjbZueaS84tKBNGDc_fDEa_lIG_lSPhSwvDenxFDL5Y_Ei_x4UffXp_s6BI89dzs_VJIrYE6SJJi5IplrkKmhXCRN_9Fc--r_P9M7h5GeeDPhDSMTTOChA/s220/100_3307.JPG'/></author><thr:total>1</thr:total></entry></feed>