<?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: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-1103223638913807802</id><updated>2011-12-19T06:34:18.152-08:00</updated><category term='Testers'/><category term='Post-ship problems'/><category term='GPU'/><category term='Web-Testing'/><category term='Web-Applications'/><category term='DNS'/><category term='Software Engineering'/><category term='SQL'/><category term='memory management'/><category term='Encoding'/><category term='web'/><category term='Start-Ups'/><category term='QTP'/><category term='Colleges'/><category term='Errors'/><category term='Technical Support'/><category term='Software Testing Practices'/><category term='User Problems'/><category term='Thoughts'/><category term='Protocols'/><category term='functions'/><category term='Windows'/><category term='Interview Questions'/><category term='Roles and Responsibilities'/><category term='Customer Advocacy'/><category term='Skills'/><category term='Processes'/><category term='Testing'/><category term='JQuery'/><category term='Scripting'/><category term='Attacks'/><category term='TCP'/><category term='Graphics'/><category term='UDP'/><category term='Personal Behavior'/><category term='Web Technologies'/><category term='Tester'/><category term='Difference'/><category term='Documentation'/><category term='Apache'/><category term='Traits'/><category term='Debugging Tool'/><category term='Terminologies'/><category term='Device Drivers'/><category term='basics'/><category term='Automation'/><category term='Agile Software Development'/><category term='Memory Eater'/><category term='Data Structures'/><category term='CSS'/><category term='Proxy server'/><category term='Revrse Proxy'/><category term='Ego issues with Engineers'/><category term='Web Services'/><category term='Wireshark'/><category term='New-Tech'/><category term='Talent'/><category term='Forward Proxy'/><category term='URL'/><category term='Read File'/><category term='Log-management'/><category term='XML'/><category term='Remote Monitoring'/><category term='XPATH'/><category term='PERL'/><category term='APIs'/><category term='Trainings'/><category term='Objects'/><category term='UI Automation'/><category term='Transport Layer Protocols'/><category term='PRocessors'/><category term='Testing Concept'/><category term='Test Planning'/><category term='Parameter Tampering'/><category term='Tree'/><category term='Operators'/><category term='Testing Techniques'/><category term='Scrum'/><category term='HTML'/><category term='People Management'/><category term='Hacking'/><category term='Software Development Model'/><category term='Reliability'/><category term='DBMS'/><category term='Data Definition'/><category term='Code-Coverage'/><category term='Testing Goals'/><category term='Office Culture'/><category term='FDD'/><category term='Queue'/><category term='Web-server'/><category term='Working Style'/><category term='Usability'/><category term='Risk Analysis'/><category term='Payload Attacks'/><category term='Microsoft'/><category term='Architecture'/><category term='Technology'/><category term='Traffic Monitor'/><category term='Comparison'/><category term='FILE-Handling'/><category term='ARPIP'/><category term='web Redirection'/><category term='Review'/><category term='Memory Leak Testing'/><category term='Server-health'/><category term='Software Development Models'/><category term='Cost of Quality'/><category term='Security'/><category term='http'/><category term='Quallity Engineering'/><category term='Business Stories'/><category term='Denial of Services'/><category term='Tags'/><category term='Network Bandwidth'/><category term='User Stories'/><category term='LAN'/><category term='Teams and Roles'/><category term='C++'/><category term='WSDL'/><category term='Exploratory testing'/><category term='Test Cases'/><category term='Code Coverage'/><category term='CPU'/><category term='Resources'/><category term='Software Quality Factors'/><category term='Language'/><category term='Data Transfer'/><category term='Crystal'/><category term='Salaries'/><category term='Fiddler'/><category term='internet'/><category term='Estimation'/><category term='Compensation'/><category term='SQL Injections'/><category term='OpenCL'/><category term='Test Suites'/><category term='User feedback'/><category term='Packages'/><category term='Softwares'/><category term='Test Estimation'/><category term='Quality Assurance'/><category term='Team Collaboration'/><category term='Wiretraces'/><category term='Community Testing'/><category term='Quality Control'/><category term='SDLC'/><category term='Testing teams'/><category term='Graphs'/><category term='QAI'/><category term='Ratio'/><category term='Cloud Computing'/><category term='Linked-List'/><category term='PL-SQL'/><category term='Library'/><category term='web proxy'/><category term='client-server'/><category term='IITs'/><category term='UDDI'/><category term='ARRAY'/><category term='Java'/><category term='Algorithms'/><category term='Performance Testing'/><category term='SOAP'/><category term='Functional Automation Tools'/><category term='Checkpoints'/><category term='Top Management'/><category term='Web-client'/><category term='Definitions'/><category term='Synchronization'/><category term='Database'/><category term='Discussion'/><category term='SysInternals'/><category term='Operating Systems'/><category term='Software-Testing'/><category term='Web Request-Response'/><category term='Computer Basics'/><category term='Tools'/><category term='https'/><category term='Agile Methods'/><category term='Threats'/><category term='Web-Learning Resources'/><category term='Team Activities'/><category term='Agile Testing'/><category term='Website Development'/><category term='DirectX'/><category term='Server-information'/><category term='Tricks'/><category term='Commandline'/><category term='Regression testing'/><title type='text'>Come to Basics again</title><subtitle type='html'>Its about fundamental concepts around Computer Technologies...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>98</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7782213314884508575</id><published>2011-12-19T06:34:00.000-08:00</published><updated>2011-12-19T06:34:18.162-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Talent'/><category scheme='http://www.blogger.com/atom/ns#' term='Softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='Colleges'/><category scheme='http://www.blogger.com/atom/ns#' term='Start-Ups'/><category scheme='http://www.blogger.com/atom/ns#' term='Salaries'/><category scheme='http://www.blogger.com/atom/ns#' term='IITs'/><category scheme='http://www.blogger.com/atom/ns#' term='Compensation'/><title type='text'>Top Technology companies with constant growth and high dreams about aquiring talent !!!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;With huge competition and infinite opportunities for talented individuals, whole market scenario is changing. With this some of the companies need to rethink about their hiring strategy, apart from moving with new challenges and opportunities in same verticals or newer ones.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Let me start with an anonymous example, which is one of the top software company. They always hire from IITs and top Engineering colleges in India. In 2011, the salary gap between this company and it's competitors increased by many fold. Due to constant growth, company is not a position to match those compensations and at the same time, they need to retain their employees, as domain knowledge &amp;amp; experience is very important for delivering good quality solutions. Growth is at constant pace and more compromise on quality can prove as a big disaster.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;At the same time folks from IIT like colleges always look for new challenges and have some goals to achieve in life. These are mainly fast pace folks. With current scenario, most of the folks have started thinking about start-ups.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;With all this, some of the companies who have been hiring people form top colleges are seeing a deep decline on talent pool. some part of it is going to competitors who are in good shape to pay much more. And others are focused on their ideas for start-ups. In my opinion, trend about going for Start-Ups will take a pace and soon we shall see lot of new technology or e-commerce coming in market.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;How such companies should handle such situations. This is a big question for top leaders of these companies and a big pain for managers, who are seeing lot of attrition and need to deliver same thing during end of a month or quarter.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Should they also start looking at middle-tier colleges? How to pace up with increasing salaries, when revenue increase is almost constant, year over year? Should they tighten the processes to reduce overall risk and look at fresh talent available? etc.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;This was one of the random thought came to my mind and thought of putting it somewhere. I will find out more details around the same and share soon...&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7782213314884508575?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7782213314884508575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7782213314884508575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7782213314884508575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7782213314884508575'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/12/top-technology-companies-with-constant.html' title='Top Technology companies with constant growth and high dreams about aquiring talent !!!'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5247706449338644907</id><published>2011-12-15T01:17:00.000-08:00</published><updated>2011-12-15T01:26:19.932-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Functional Automation Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='UI Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Some of the Basics about HP QTP (Quick Test Pro) tool</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Recording modes in QTP&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;QTP supports 3 types of recording modes&lt;br /&gt;&lt;br /&gt;1. Normal mode also called Contextual&lt;br /&gt;2. Low-level recording mode&lt;br /&gt;3.Analog mode&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Normal Mode:&lt;/b&gt;  It is the default recording mode and takes full advantage of QTP's Test  Object Model. It recognizes objects regardless of their position on  -screen. This is the preferred mode of recoding and is used for most of  the automation activities.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Low-level recording mode: &lt;/b&gt;This  mode records the exact x,y co-ordinates of your mouse operations. It is  helpful in testing hashmaps. It is useful for recording objects not  identified by normal mode of QTP.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Analog mode:&lt;/b&gt; This mode records exact mouse and keyboard 'movements'  we perform in relation to the screen / application window. This mode is  useful for the operation such as drawing a picture, recording  signature., drag and drop operations.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Different types object Repositories in QTP (2)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;1) Shared Object Repository (Global)&lt;br /&gt;2) Per-Action Object Repository, (Local)&lt;br /&gt;&lt;br /&gt;Per-Action Object Repository is used by default. The extension for Per-Action repository is '*.mtr', while Shared Object Repository is preferable when dealing with dynamic objects which are called in multiple tests. The extension is '*.tsr' &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Action split and the purpose of using this in QTP :&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;Action split is to divide an existing action into two parts.The purpose of action-split is to divide actions based on their functionality to improve code re-use.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Cross platform testing and Cross browser testing using QTP&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We will need to create separate Actions which take care of different OS and Browsers&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cross Platform Testing:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Using the Built in Environment Variable we can dig up the OS information.&lt;br /&gt;&lt;br /&gt;Eg.  Platform = Environment('OS'). Then based on the Platform you need to  call the actions which you recorded on that particular platform.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cross Browser Testing:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Using  this code&amp;nbsp; Eg. Browser("Core Values").GetROProperty("version") you can  extract the Browser and its correspondin version. Ex: Internet Explorer 6  or Netscape 5. Based on this value you call the actions which are  relevant to that browser.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;How will you handle SAP check-box in QTP ?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Foremost you will select SAP Add - In and launch QTP. Next step record operations on the SAP checkbox. If you face an issue while recording, you can select Tools &amp;gt; Object Identification &amp;gt; SAP checkbox object and make changes in mandatory &amp;amp; assertive properties to enable identification.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;QTP Object Identification&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;QTP identifies any GUI Object based on its corresponding properties.&amp;nbsp; While recording, QTP will identify and store peculiar properties (as defined in the Object Identification settings) in the object repository of the GUI object . At run-time, QTP will compare the stored property values with the on-screen properties, to uniquely identify the GUI object.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;How to call from one action to another action ?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Two different ways&lt;br /&gt;&lt;br /&gt;1) Call to copy of Action. - In this ,the Action Object Repository , Script and Datable will be copied to the destination Test Script.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;2) Call to Existing Action. - In this,&amp;nbsp; Object Repository , Script and Datable&amp;nbsp; will NOT be copied but a call (reference) would be made to the Action in the source script.&lt;br /&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Virtual Objects?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Your application may contain objects that behave like standard objects but are not recognized by QTP. We can define these objects as virtual objects and map them to standard classes, such as a button or a check box. QTP emulates the user's action on the virtual object during the run session. In the test results, the virtual object is displayed as though it is a standard class object.&lt;br /&gt;&lt;br /&gt;For example, suppose we want to record a test on a Web page containing a bitmap that the user clicks. The bitmap contains several different hyperlink areas, and each area opens a different destination page. When you record a test, the Web site matches the coordinates of the click on the bitmap and opens the destination page.&lt;br /&gt;&lt;br /&gt;To enable QTP to click at the required coordinates during a run session, you can define a virtual object for an area of the bitmap, which includes those coordinates, and map it to the button class. When you run a test, QTP clicks the bitmap in the area defined as a virtual object so that the Web site opens the correct destination page.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; For more, visit - &lt;a href="http://www.guru99.com/qtp-interview-questions.html"&gt;http://www.guru99.com/qtp-interview-questions.html&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5247706449338644907?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5247706449338644907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5247706449338644907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5247706449338644907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5247706449338644907'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/12/some-of-basics-about-hp-qtp-quick-test.html' title='Some of the Basics about HP QTP (Quick Test Pro) tool'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-611212322480005927</id><published>2011-12-12T20:15:00.000-08:00</published><updated>2011-12-12T20:15:02.399-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Queue'/><category scheme='http://www.blogger.com/atom/ns#' term='Tree'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphs'/><category scheme='http://www.blogger.com/atom/ns#' term='ARRAY'/><category scheme='http://www.blogger.com/atom/ns#' term='Linked-List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='DBMS'/><title type='text'>Do you really understand Data Structures : Part -2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;QUE. What is the data structures used to perform recursion?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;Stack. Because of its LIFO (Last In First Out) property it remembers its ‘caller’ so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls. Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;QUE. What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms?&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Polish and Reverse Polish notations.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;QUE. Convert the expression ((A + B) * C – (D – E) ^ (F + G)) to equivalent Prefix and Postfix notations.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Prefix Notation:&lt;br /&gt;^ - * +ABC - DE + FG&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Postfix Notation:&lt;br /&gt;AB + C * DE - - FG + ^&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;QUE - Sorting is not possible by using which of the following methods?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;(a) Insertion&lt;br /&gt;(b) Selection&lt;br /&gt;(c) Exchange&lt;br /&gt;(d) Deletion&lt;br /&gt;(d) Deletion.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Using insertion we can perform insertion sort, using selection we can perform selection sort, using exchange we can perform the bubble sort (and other similar sorting methods). But no sorting method can be done just using deletion.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;***Long time back these questions were read from one website about placements and I had all these questions noted down in a Notepad. I just copied whole content, so that it can be helpful for relevant folks.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-611212322480005927?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/611212322480005927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=611212322480005927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/611212322480005927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/611212322480005927'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/12/do-you-really-understand-data_12.html' title='Do you really understand Data Structures : Part -2'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8641677797668244137</id><published>2011-12-12T10:18:00.000-08:00</published><updated>2011-12-12T10:18:23.584-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Queue'/><category scheme='http://www.blogger.com/atom/ns#' term='Tree'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphs'/><category scheme='http://www.blogger.com/atom/ns#' term='ARRAY'/><category scheme='http://www.blogger.com/atom/ns#' term='Linked-List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='DBMS'/><title type='text'>Do you really understand Data Structures : Part -1</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;1. What is data structure?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;A data structure is a way of organizing data that considers not only the items stored, but also their relationship to each other. Advance knowledge about the relationship between data items allows designing of efficient algorithms for the manipulation of data.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;2. List out the areas in which data structures are applied extensively?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;- Compiler Design,&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;- Operating System,&lt;br /&gt;- Database Management System,&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;- Statistical analysis package,&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;- Numerical Analysis,&lt;br /&gt;- Graphics,&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;- Artificial Intelligence,&lt;br /&gt;- Simulation&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;3. What are the major data structures used in the following areas : RDBMS, Network data model &amp;amp; Hierarchical data model.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;RDBMS – Array (i.e. Array of structures)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;Network data model – Graph Hierarchical data model – Trees&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;4. If you are using C language to implement the heterogeneous linked list, what pointer type will you use?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;The heterogeneous linked list contains different data types in its nodes and we need a link, pointer to connect them. It is not possible to use ordinary pointers for this. So we go for void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;5. What is Minimum number of queues needed to implement the priority queue?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;Two. One queue is used for actual storing of data and another for storing priorities.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt;***Long time back these questions were read from one  website about placements and I had all these questions noted down in a  Notepad. I just copied whole content, so that it can be helpful for  relevant folks.&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: x-large;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8641677797668244137?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8641677797668244137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8641677797668244137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8641677797668244137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8641677797668244137'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/12/do-you-really-understand-data.html' title='Do you really understand Data Structures : Part -1'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7440419801021035146</id><published>2011-11-30T02:02:00.000-08:00</published><updated>2011-11-30T02:02:20.601-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Model'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Top Management'/><category scheme='http://www.blogger.com/atom/ns#' term='People Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Estimation'/><category scheme='http://www.blogger.com/atom/ns#' term='Skills'/><category scheme='http://www.blogger.com/atom/ns#' term='Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='Ratio'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimation'/><title type='text'>Developter &amp; Tester/QE/QA ratio in a Software Project?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;It is one of the most common questions, we face in almost every project... 'What is a reasonable Developer to Tester Ratio for a Software Development Project?'… Sometimes the question comes in variations, like 'Are there standard Developer to Tester ratios for Enterprise software, Driver Software, Financial Accounting Software etc.?'. At times it's associated with&amp;nbsp; budget allocation… like in 'What is a reasonable Development to Testing budget breakdown?'.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: x-large;"&gt;There are few things that I see bad  about the topic:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;- When management assumes that test estimation could be  done based on Dev : QA ratio&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;- When a Tester/Test-Lead  don’t understand why the Manager is so concerned about this ratio or  even see it as Management’s lack of understanding of testing process. &lt;/span&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;And in my opinion all this depends project to project and exact stage of the project... Followed by a more elaborate explanation that one size doesn’t fit all. As far as I know there is no such thing as an authoritative ratio, for several reasons:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I do know that some companies keep internal track of that numbers, but this kind of information is not shared publicly as it can impact market and question may come on quality standards. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; What if their competitors find out? Knowing that your competition is doing substantially better or worse from a resourcing perspective tells you something about how efficient or inefficient your competitor is.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Software is hard to categorize… are you dealing with Travel software, Operating system software, Device Drivers, ERP Solutions, MIS systems, a monolithic app, an app running on the mainframe / UNIX / heterogeneous environment, Hybrid application, Cloud services etc.?&lt;br /&gt;&lt;br /&gt;For applications mainly closer to hardware or core systems of our computers like operating systems, device drivers, highly technical, and algorithm driven software, ratio close to 1:1 can be seen. The higher the number of end users, the closer to a 1:1 ratio we get, because the risk is proportionally higher. &lt;br /&gt;&lt;br /&gt;For any business application, we might have seen more of a 4 developers to 1 tester/QE ratio. Some really lose organizations go as far as 10 developers to 1 tester. A lot of this is driven by company history and their commitment to quality. Type of Industry plays a role as well – some industries, like medical devices, demand perfection. While others like e-learning, are more lose. So what the market bears in terms of quality perception drives the ratio as well. There are many standards in software industry which also help various organizations to decide this ratio. For example, projects which need quality of Six-Sigma level will surely need a decent ratio of Developers and Testers.&lt;br /&gt;&lt;br /&gt;Overall here are some variables that may influence this question:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Size of a Software project&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Duration of Software Project and corresponding timelines&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 3. Type of Software Project (version 1.0 vs. version 10.0, rewrite vs. maintenance, etc.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 4. Technologies involved&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: x-large;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. Development methodology (Waterfall OR Agile, etc.)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6. Organizational setup&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 7. Regulatory requirements&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; 8. Quality of the deliverables&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7440419801021035146?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7440419801021035146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7440419801021035146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7440419801021035146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7440419801021035146'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/11/developter-testerqeqa-ratio-in-software.html' title='Developter &amp; Tester/QE/QA ratio in a Software Project?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7065153149331784266</id><published>2011-11-02T11:23:00.000-07:00</published><updated>2011-11-02T11:23:28.903-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDLC'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='User Stories'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Methods'/><title type='text'>What are User Stories in AGILE SOFTWARE DEVELOPMENT?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: x-large;"&gt;A user story is actually a functionality which defines actual need of end user or business organization.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Usually User stories are composed of three components as -&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;1. A written form of story which is used for planning and also a good tool for reminding the actual need during different phases of a project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;2. Conversations about a story which make an outline about the detailing in right context with right details about the story.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;3. Test which convey and document details... and something which can be used a tool for determining the completion of a user story.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;As times these three steps are also known as - Card, Conversation and Confirmation... Ohh again 3Cs :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7065153149331784266?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7065153149331784266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7065153149331784266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7065153149331784266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7065153149331784266'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/11/what-are-user-stories-in-agile-software.html' title='What are User Stories in AGILE SOFTWARE DEVELOPMENT?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7390488344301261315</id><published>2011-11-01T13:41:00.000-07:00</published><updated>2011-11-01T13:41:30.661-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDLC'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='User Stories'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Methods'/><title type='text'>Agile Software Development - What the hell it is?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: x-large;"&gt;Agile Software Development practices are hot in Software industry these days and all for good reasons. I have been working in an environment which has just started adopting some of the Agile methodologies and mixed them with our standard practices. So of course, we are still in learning mode and trying to fetch most out of what we have learned so far.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;As of now, I am not directly involved in any of the Agile processes being followed in my organization. But I wanted to know how they work and why they are in such a high demand these days... So when I went to a friend in office that what exactly it is and what all you guys do.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;His first reaction was - How the hell can you say that you have zero knowledge about Agile. I am a frequent participant of various conferences happen in India and many times heard big leaders talking about it, but somehow I was never able to digest all that theory :) ... Now I realized that anything which is not in practice is theory and one has to start with theory only !&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;So I thought of understanding it now. Today I got a book&amp;nbsp; by Mike Cohn, who has written about User Stories Applied under main title of Agile Software Development.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;We have lots of books in Library but I picked this one because of it's different name - 'User Stories Applied'. Even I was not aware what User Stories are :) ... Anyway, whatever story I was trying to make above is true upto one level but I have some knowledge about Agile Software Development methodologies and now ready to learn more about these...&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Hope to share more around AGILE things and first we will understand what these USER STORIES are :)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7390488344301261315?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7390488344301261315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7390488344301261315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7390488344301261315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7390488344301261315'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/11/agile-software-development-what-hell-it.html' title='Agile Software Development - What the hell it is?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-876877726945225007</id><published>2011-09-06T07:43:00.000-07:00</published><updated>2011-09-19T09:49:32.243-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='User feedback'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer Advocacy'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Ego issues with Engineers'/><category scheme='http://www.blogger.com/atom/ns#' term='Technical Support'/><category scheme='http://www.blogger.com/atom/ns#' term='Testers'/><category scheme='http://www.blogger.com/atom/ns#' term='Post-ship problems'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>Unresolved Customer Problems due to minor things !!!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;As readers of this blog  know that we always talk about Computer Softwares or Hardware. This is  more about&amp;nbsp; Software aspect, where a team of Engineers and testers  delivered a software in market. Now this user reaches to tech-support.  tech support folks tried all possible things and escalated to  engineering team. Story starts here -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;When things are  escalated to engineering team,&amp;nbsp; there are two ways to take it. One is  to jump directly that it's not possible and we have seen this working  here. Most of the times this kind of comment comes from a tester or  quality engineer. Other way is to understand the user problem and try to  figure out the missing information which can lead us to probable cause  of a problem.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;This is one of the thing associated. We shall come back to our first part after knowing other things involved... Let's have a look !&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;1. Many times user escalations are not taken very seriously unless it comes through higher management. And unfortunately, this is considered as secondary activity in most of the engineering companies. But again, it's not a generic case with all ! Who take is seriously is good !!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;2. Many times engineers are not very keen&amp;nbsp; for working on such user problems, because of nature of problems involved. Most of the times, user report things in very obvious and straight workflows. To investigate such issues, people need &lt;b&gt;patience&lt;/b&gt; and &lt;b&gt;right motivation&lt;/b&gt;. Even if patience is not there, motivation can work :)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;I will keep adding items in list mentioned here. Let's continue on the part where tester takes the case positively and has right motivation to work on it. S/he tries and most probably, problem will not be so easily reproducible. S/he will try to think of relevant things around this and if all fails, s/he need help from developer who coded that particular functionality.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;Now again, attitude towards the problem will matter. Many times developers have tendency of asking a reproducible scenarios before doing anything. In practicality, many time user issues are not so obvious to be reproduced. So idea is to work together and try to figure out probable causes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;Right attitude of engineers with belief in team-work is only thing that can help any software company in long-run. Otherwise, any XYZ company can hire brilliant minds to produce brilliant products. It's always better to have brilliant folks with right attitude !!!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: large;"&gt;Small things make a big difference in long run and Customer Advocacy one thing, which is really important for long term growth of any organization !!!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-876877726945225007?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/876877726945225007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=876877726945225007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/876877726945225007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/876877726945225007'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/09/unresolved-customer-problems-due-to.html' title='Unresolved Customer Problems due to minor things !!!'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1512342654567724959</id><published>2011-09-03T05:42:00.000-07:00</published><updated>2011-09-03T05:42:50.182-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linked-List'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Structures'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview Questions'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>How to REVERSE a Linked-List by writing a C++ program?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&amp;nbsp;I hope that you are very well aware about Linked-List. Here we are talking about reversing a Linked-List which means that first node should become last node of a Linked-List and Vice-versa...&lt;br /&gt;&lt;br /&gt;void Reverse_Linked_List(void)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;// When there is no Node in Linked-List&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(List_head==0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//When there is only one Node in the Linked-List&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(List_head-&amp;gt;next==0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//When there are only two Nodes in the Linked-List&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(List_head-&amp;gt;next==List_tail)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_head-&amp;gt;next = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_tail-&amp;gt;next = List_head;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_node* pre = List_head;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_node* cur = List_head-&amp;gt;next;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_node* curnext = List_cur-&amp;gt;next;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_head-&amp;gt;next = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List_cur-&amp;gt; next = List_head;&lt;br /&gt;&lt;br /&gt;for(; curnext!=0; )&lt;br /&gt;{&lt;br /&gt;List_cur-&amp;gt;next = pre;&lt;br /&gt;pre = cur;&lt;br /&gt;cur = curnext;&lt;br /&gt;curnext = curnext-&amp;gt;next;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;curnext-&amp;gt;next = cur;&lt;br /&gt;}&lt;br /&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1512342654567724959?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1512342654567724959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1512342654567724959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1512342654567724959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1512342654567724959'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/09/how-to-reverse-linked-list-by-writing-c.html' title='How to REVERSE a Linked-List by writing a C++ program?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-2934890591897636052</id><published>2011-07-09T21:56:00.000-07:00</published><updated>2011-07-09T21:56:00.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team Collaboration'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Community Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Activities'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams and Roles'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><title type='text'>Community Testing - Another good practice to gain confidence on Quality of your Software !!!</title><content type='html'>&lt;br /&gt;During one of the projects during last year, our testing team was most stressed up with lot of activities. During the mid cycle, all of us in Testing team realized that we have too many bugs to regress and lot of feature testing pending. If we opt for regressing bugs, we have risk of finding new bugs very last in the cycle.&lt;br /&gt;So we had to balance the things, but as all of us know that saying something like following is very easy but practically things can be very different in testing -&lt;br /&gt;&lt;br /&gt;- Let's balance bug regression and testing, when there is a cap of having bugs less that 20 in your court. And most of the tester have more than 35 bugs.&lt;br /&gt;- Let's test on these platforms as well, as it's a quickest thing to do.&lt;br /&gt;- Let's test this bug on Win-7 in Japanese language and Standard User etc etc...&lt;br /&gt;- Etc... (I don't want to rude to the Managers or Developers who use such sentences :) )&lt;br /&gt;&lt;br /&gt;Another challenge was Integration testing which was planned to start from coming week. This kind of situation can occur in any project which is more buggy in initial stages.&lt;br /&gt;Now when an individual tester starts working on ToTest bugs, it used to become hard to find more time to test new features or functionality. &lt;br /&gt;So Team came up with an idea to have a time slot of 2 hrs everyday when all of the tester will meet in the lab and will be testing their own features. We called it as Community Testing and found various advantages of this:-&lt;br /&gt;&lt;br /&gt;1. It helped each QE to do dedicated testing of their features and in turn all of them had good confidence.&lt;br /&gt;2. This Exercise also helped in accelerating Integration testing, as each tester had an opportunity to discuss their overlapping feature areas to make appropriate test scenarios on the run.&lt;br /&gt;3. More productive as it was more disciplined.&lt;br /&gt;&lt;br /&gt;Now in our teams, Community Testing has become a part of every Test Plan people enjoy doing it. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*** My Personal View - In every project a stage comes when meetings, bug discussions, investigations, emails start taking too much time and hardly any time to do focused testing of our regular features. &lt;br /&gt;Community testing gives an opportunity to forget about all these things and do focused exercise for gaining confidence. Within few days every tester starts feeling good. While in other scenario, when s/he spend multiple days doing bug regression, meetings etc... they loose confidence and get stressed up.&lt;br /&gt;&lt;br /&gt;COMMUNITY TESTING is a rocking concept in my opinion. Share your opinions through comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-2934890591897636052?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/2934890591897636052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=2934890591897636052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2934890591897636052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2934890591897636052'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/07/community-testing-another-good-practice.html' title='Community Testing - Another good practice to gain confidence on Quality of your Software !!!'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5646631734786743015</id><published>2011-07-08T22:31:00.000-07:00</published><updated>2011-07-08T22:35:28.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>Return on Investment and Payback of TEST AUTOMATION</title><content type='html'>Of all the reasons, the most relevant and easy to convey to top management is the return out of Automation :-&lt;br /&gt;&lt;br /&gt;- Gives consistency to the project by regular feedback in quick way.&lt;br /&gt;- Helps in pushing the boundaries of the software.&lt;br /&gt;- Give more time to testing team for focusing on other aspects of Quality for final release in market.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With this quick recap of all recent articles, we shall we discussing the hurdles for Automation !!! But need to wait for tomorrow...&lt;br /&gt;&lt;br /&gt;If you are not able to understand the context of this post, please have a look at &lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html"&gt;http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html&lt;/a&gt; where it started from the need of Test Automation in a Software Development Team. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5646631734786743015?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5646631734786743015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5646631734786743015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5646631734786743015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5646631734786743015'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/07/return-on-investment-and-payback-of.html' title='Return on Investment and Payback of TEST AUTOMATION'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4972263648059153518</id><published>2011-07-07T22:43:00.000-07:00</published><updated>2011-07-08T22:36:23.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing teams'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='Processes'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Automated Test-Suites are Great Documentation !!!</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;br /&gt;Agile Software development approach use examples and tests to guide development. When tests that illustrate examples of desired behavior are automated, they become 'Living' documents of how the system actually works. &lt;br /&gt;It would be already recommendable to add appropriate comments with relevant description to your Automation Scripts. But anyway results out of input values to Automated framework is a good enough proof of documented functionality of a particular Software.&lt;br /&gt;&lt;br /&gt;It's very hard to keep static Documentation updated all the time, while in case of automation this problem never occurs.&lt;br /&gt;Automation is a wonderful way to ensuring that we tested our updated code because keeping our results in PASS always need upgradation of our Automation Scripts as per new code changes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;/span&gt;&lt;br /&gt;If you are not able to understand the context of this post, please have a look at &lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html"&gt;http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html&lt;/a&gt; where it started from the need of Test Automation in a Software Development Team. &lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4972263648059153518?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4972263648059153518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4972263648059153518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4972263648059153518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4972263648059153518'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/07/automated-test-suites-are-great.html' title='Automated Test-Suites are Great Documentation !!!'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total><georss:featurename>Unknown location.</georss:featurename><georss:point>37.71859032558813 -122.431640625</georss:point><georss:box>31.404372825588133 -132.53906262499999 44.03280782558813 -112.324218625</georss:box></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-2850486442597517595</id><published>2011-07-07T05:47:00.000-07:00</published><updated>2011-07-07T05:47:51.736-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing teams'/><category scheme='http://www.blogger.com/atom/ns#' term='Office Culture'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal Behavior'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams and Roles'/><category scheme='http://www.blogger.com/atom/ns#' term='Processes'/><category scheme='http://www.blogger.com/atom/ns#' term='Working Style'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>Least Influential Testers and Quality People with very High Influence - Which one is better ?</title><content type='html'>&lt;span style="font-size: large;"&gt;Yes, Testers with very high influence and with least influence can be bad for a particular project. Situation becomes worst when Developer working with such testers are not bothered about arguing on things and don't have strong opinions.&lt;br /&gt;&lt;br /&gt;Why this came to mind and how I am concluding this?&lt;br /&gt;&lt;br /&gt;Today I was sitting in my office and overheard a conversation between a tester in my team &amp;amp; relevant Developer. Tester had logged a bug which seemed to be as-designed. Developer gave one reason that it's discussed in a meeting and should be as-designed. On this Tester got annoyed and said - "I was not in that meeting, I guess. And with workflow makes perfect sense" ... and gave some reasons in favor of that. Developer was just listening and agreed to what that Tester told him. Developer didn't give&amp;nbsp; second thought on the reasoning given by tester and conversation happened in the meeting.&lt;br /&gt;&lt;br /&gt;This is a typical example of Highly influential tester working with a Developer with less influence, weak onions etc. This way Developer end up doing/fixing things, what is suggested by Tester. Usually Testers have very strong opinions and they kind of convince other folks easily. For such Testers, Developers should be more attentive and in case of doubt, Developers should get opinion from Managements and product Managers who are responsible for product requirements.&lt;br /&gt;&lt;br /&gt;Conversations become more interesting when more influential developers work with highly influential Testers&amp;nbsp; :-)&lt;br /&gt;&lt;br /&gt;I have enjoyed such conversations during my career many times ! But believe me, it gives better results if both tester and developer discuss it constructively without thinking in terms of effort, time etc. Also it gives a wonderful experience for both the folks and help in improving their negotiation skills.&lt;br /&gt;&lt;br /&gt;Now let's come to other thing when Tester is not very influential. Not being very influential doesn't mean anything bad, but Tester with least influence should not accept comments from developer or any other team members, if not convinces. And should try to follow the standard processes to share the opinion through Bugs, Email-discussions and let management take right decision rather accepting some comments conveyed through informal conversations.&lt;br /&gt;&lt;br /&gt;Many times, Senior Developers give some technical reasons which may not be right from user's perspective. And if Tester is not convinced with those reasons, there is no point accepting things only because you can't influence others opinion.&lt;br /&gt;&lt;br /&gt;Hope I conveyed my thoughts in right way. Please feel free to share your opinion about this through comments !!! That will be most appreciated. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-2850486442597517595?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/2850486442597517595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=2850486442597517595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2850486442597517595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2850486442597517595'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/07/least-influential-testers-and-quality.html' title='Least Influential Testers and Quality People with very High Influence - Which one is better ?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1382949122670679364</id><published>2011-07-04T10:14:00.000-07:00</published><updated>2011-07-04T10:14:41.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing teams'/><category scheme='http://www.blogger.com/atom/ns#' term='User Problems'/><category scheme='http://www.blogger.com/atom/ns#' term='Risk Analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Top Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams and Roles'/><title type='text'>Higher Management at Software Companies - Dare to accept the mistake and try to correct on your own?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;I am not sure if title of this post is clear or not. I wanted to pose this question to Higher Management in Software companies and also wanted to know about %age of managers who dare to accept the mistakes and try to correct themselves.&lt;br /&gt;&lt;br /&gt;Here are basic things I want to highlight through a basic story :-&lt;br /&gt;&lt;br /&gt;- As a Lead/Manager, do you panic in bad situations?&lt;br /&gt;- As a Lead/Manager, do you take responsibility of any mistake or just pick someone from your team to point all the fingers?&lt;br /&gt;- As a Lead/Manager, what do you think about your responsibilities?&lt;br /&gt;- As a Lead/Manager, How many times, do you lead by example in bad situations?&lt;br /&gt;- As a Lead/Manager, how many times you give 100% credit to your team for any achievement?&lt;br /&gt;&lt;br /&gt;In most of the projects team dynamics are unique but still there are some common things, out of which some are good for healthy work enviornment and some are not. Most of the times things keep running on right path unless deviated by various external situations. Have you started getting confused?&lt;br /&gt;&lt;br /&gt;Here I am going to tell a short story of an incident when one of an important member of corporate management find some problem with an alreased version of software. During his usage found that a particular behavior in software is not very intutive and wanted to know the logic of it's design. He sent an email to director who is heading the software engineering team for that product.&lt;br /&gt;&lt;br /&gt;Director called a meeting with Engineering Manager and Quality Manager of that team.Both of them had almost no clue why this feature is behaving like this. Please note that it was a problem when things were giving correct results and the workflow are not intuitive.&lt;br /&gt;Just after the meeting Engineering Manager asked Quality Manager, this behavior seems very wiered and why didn't we catch this problem. Although Quality Manager was not very convices and he felt that behavior was decent. It was more of perspective problem.&lt;br /&gt;&lt;br /&gt;Before we start with next part of the story, let me throw some light on the issue raised ! Actually this was 7th release of the software and so called problematic area was there in the application from first version of the software.&lt;br /&gt;&lt;br /&gt;Both the managers thought about it and got to know that feature was designed 4 years back for first version of the software. Co-incidently the quality engineer who tested this software in first release was still working on same feature and he was an expert of that area. Quality Manager calls him and ask why this behavior is so wierd rather asking the rationale of the design. Although the Tester explained each and everything, s/he was not able to relate why this question was asked after 4 years of this design. Lots of other meetings happened that what should the team do about it. Many folks even talked about releasing an update by changing the behavior.&lt;br /&gt;&lt;br /&gt;During one of these meetings some of the Managers conveyed that they were never aware of this particular thing and this should have been taken care long time back. From this point, the tester was very disappointed and tried to figure out details related to this behavior and s/he found following details:-&lt;br /&gt;&lt;br /&gt;1. S/he found an email where design proposed by Product Management was very well appreciated by all the Manager however the feature development and testing team had some concerns with this design. As it was not useful for 15% of the users and this software had lacks of users acorss the country.&lt;br /&gt;2. Tester also found a bug which had all the statistics with a proposal of giving two workflows to use the feature and the other one was the expected by the VP. And this bug was deferred by these Managers only !&lt;br /&gt;3. Few more emails where reference of this behavior was discussed in detail.&lt;br /&gt;&lt;br /&gt;WHAT WOULD YOU CONCLUDE OUT OF THIS AND HOW THE RESPECT METER REACT ON THIS?&lt;br /&gt;&lt;br /&gt;Now here are some basic questions that arise :-&lt;br /&gt;&lt;br /&gt;1. Was this a so big issue?&lt;br /&gt;2. Was there any need to discuss this thing in so much detail?&lt;br /&gt;3. Shouldn't these managers figure out details for conveying it to higher management without much Panic?&lt;br /&gt;4. was this something to discuss with so much parties involved?&lt;br /&gt;5. Can a Manager say that he was not aware of software behavior?&lt;br /&gt;6. And lot many others...&lt;br /&gt;&lt;br /&gt;I think I started with something very sepcific and lossing track... So I am stopping here for you guys to think and will share the next part soon :)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1382949122670679364?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1382949122670679364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1382949122670679364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1382949122670679364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1382949122670679364'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/07/higher-management-at-software-companies.html' title='Higher Management at Software Companies - Dare to accept the mistake and try to correct on your own?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-489362302897299204</id><published>2011-06-28T21:02:00.000-07:00</published><updated>2011-07-08T22:36:54.620-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing teams'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Regression testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>Why Should be Automate - Automated Regression set provide a Safety Net !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;A Software tester who has worked on following projects will really appreciate the fact that regression testing is very challenging and boring at times :-&lt;br /&gt;&lt;br /&gt;- Very large project with lakhs of lines of code a and we keep on adding new features to it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;- A badly managed code with lot of bugs and bugs are being fixed on regular basis.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;- A software application which has a common code-base but released in various forms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;- etc...&lt;br /&gt;&lt;br /&gt;In most of these cases challenge is to make sure that new feature or bug-fixes in old code are not breaking any existing functionality. That effectively means retesting things which were already working and can have risk of breaking something.&lt;br /&gt;&lt;br /&gt;Knowing code and planning regression testing in optimized way is usually a good practice but Automating such areas give much more confidence. At times regression automation may demand lot of maintenance as tester may need to update the scripts after a particular change in the code, but effort to update existing automation system should be less and easy. Also it depends upon the initial planning for automating test scenarios for a particular project. Better we understand the nature of our project, more time we shall save on maintaining the automation environment.&lt;br /&gt;&lt;br /&gt;Another reason which I see is important in automating regression peices is fearless attitude of software team to be open for fixing old bugs to improve overall quality. I have seen teams who have been working on same code-base for last 10 years and it's a big fear to fix a severity-1/2 bug in older code. Why so, because each one in the team knows that time cost of testing that change in legacy code will increase and even after that we may not be able to figure out the side-effect. If such teams maintain a good automation harness, it should be fearless to fix any old problems as if any change impacts, can be caught by automation system.&lt;br /&gt;&lt;br /&gt;Regression automation systems should be able to tell the developers that what you have broken by a particular change in older code :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you are not able to understand the context of this post, please have a look at &lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html"&gt;http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html&lt;/a&gt; where it started from the need of Test Automation in a Software Development Team.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321579364&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596527357&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0735619670&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1556159005&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0735618798&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-489362302897299204?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/489362302897299204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=489362302897299204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/489362302897299204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/489362302897299204'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-automated.html' title='Why Should be Automate - Automated Regression set provide a Safety Net !'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1177621339357070351</id><published>2011-06-27T21:49:00.000-07:00</published><updated>2011-06-28T21:20:42.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Cases'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Coverage'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Exploratory testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Tester'/><title type='text'>Why Should be Automate - Frees people to do their best work !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;Automation can free up testers to do better things during the time they save due to automatic test runs. But the only thing is planning automation tasks in such a way that it cover most of the main scnearios and scripts should not be very demanding in terms of maintenance. &lt;br /&gt;&lt;br /&gt;If whole automation setup reliable and needs less manual inputs, people can better think of other test scenarios and do exploratory testing. As we know testing an application with 100% test-cases is not possible as any application can have thousands or lacks of user scenarios. With various white-box techniques we can ensure that all the functions in a code are tested but but covering all the path conditions etc is not that practical.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;Here Automation gives as opportunity to testing team to explore more areas to test and make sure things are better with those efforts.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321601912&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0130084689&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0201331403&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1177621339357070351?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1177621339357070351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1177621339357070351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1177621339357070351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1177621339357070351'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-frees-people-to.html' title='Why Should be Automate - Frees people to do their best work !'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3428084810951631927</id><published>2011-06-26T22:01:00.000-07:00</published><updated>2011-06-26T22:01:00.956-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Cases'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Tester'/><title type='text'>Why Should be Automate - Manual Processes are error prone !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;At times repeated testing can be boring and it becomes more sad when scripted test cases need to be run. Project deadlines create more pressure on top of that and a tester tend to miss the corners and specific scenarios which may ruin the whole effort put in past.&lt;br /&gt;&lt;br /&gt;With all such limitations, testers may happen to miss some steps or provide some wrong inputs which may be dangerous in terms of accuracy test. At times, team has to work late and that may not be a healthy way of getting things done. As a tester reponsibility to certify something is huge and it becomes difficult at times.&lt;br /&gt;&lt;br /&gt;E.g. - Build process and testing around it is critical and some basic automation may help in doing things fast without error.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0201331403&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321601912&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321580516&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0782143202&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0130084689&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3428084810951631927?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3428084810951631927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3428084810951631927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3428084810951631927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3428084810951631927'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-manual-processes.html' title='Why Should be Automate - Manual Processes are error prone !'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4189674625760997827</id><published>2011-06-26T10:21:00.000-07:00</published><updated>2011-06-26T10:21:55.384-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Regression testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Discussion'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>Why do Test Automation - Manual Testing take too Long !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;This is one of the main reason for automating our test suites and becomes more important for ongoing projects with more funcitonalities each day.&amp;nbsp; Most of the application have various functionalities integrated so well that test scenarios increase exponentially. Although it's pity that sometimes higher management doesn't understand this fact. Non-Tester only understand this challenge when they see some bug after release, which is worst part. Let me control my emotions here :), as we are not discussing that part of test-teams here.&lt;br /&gt;&lt;br /&gt;If we consider as example of Agile Software Development, after firt realease there can be an expectation to release shorter versions, dot releases or minor fixes in short duration of time OR even every day. And in this kind of situation it is close to impossible to test everything and certify. Many times Automation laso takes too much time for such projects, but that is something which can handled using Vm enviornments to run various test scenarios in parallel. &lt;br /&gt;&lt;br /&gt;Regression is one of the area which is more challenging and difficult to handle manually. When an application is manually certified and we do some changes in code, it becomes difficult to cover everything again manually and we may miss some important bug due to this. For regression, automation gives at least some level of confidence apart from manual testing done my the team.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0471358460&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0782143202&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1590596633&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321580516&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0201331403&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4189674625760997827?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4189674625760997827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4189674625760997827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4189674625760997827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4189674625760997827'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/why-do-test-automation-manual-testing.html' title='Why do Test Automation - Manual Testing take too Long !'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5901861429114546832</id><published>2011-06-25T02:20:00.000-07:00</published><updated>2011-07-07T22:45:08.594-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Cases'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Suites'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><title type='text'>Why Should we Automate our Test Scenarios?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Usually following reasons are main cause of thought regarding Automation in a particular Software Development Project :-&lt;br /&gt;&lt;br /&gt;1. &lt;b style="color: black;"&gt;&lt;a href="http://computersfundamental.blogspot.com/2011/06/why-do-test-automation-manual-testing.html"&gt;Manual Testing takes too much time. &lt;/a&gt;&lt;/b&gt;(But faster ways of doing the things may not be simulating actual user scenarios? What's the thought)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;2. &lt;b style="color: black;"&gt;&lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-manual-processes.html"&gt;Manual Processes are error prone.&lt;/a&gt;&lt;/b&gt; (If manual ways of doing can be error prone, then we as Software development team should know the areas which are error prone and try to avoid that user get caught by those errors. Aren't we avoiding the ways to discover those error prone areas?)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;3. &lt;b&gt;&lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-frees-people-to.html"&gt;Automation frees people to do their best work.&lt;/a&gt;&lt;/b&gt; (How many people really think that Automation really need no manual intervention. Even if we say that an automation runs on its own and don't need a single manual input. Is the person who automated, always relax while automation is running? And does our Automation scripts always work without change? If Yes, are we doing any development or not :) )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;4. &lt;a href="http://computersfundamental.blogspot.com/2011/06/why-should-be-automate-automated.html"&gt;&lt;b&gt;Automated regression tests provide a safety net.&lt;/b&gt;&lt;/a&gt; (This is one of the point which seems most reasonable...)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;5. &lt;b&gt;Automated Tests give feedback early and Often.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;6. &lt;a href="http://computersfundamental.blogspot.com/2011/07/automated-test-suites-are-great.html"&gt;&lt;b&gt;Automation can be good return on investment.&lt;/b&gt;&lt;/a&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;We shall be discussing each of these factors in details, before we move on to the things which do not promote Automation much in a Software Development Cycle !!!&amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;&lt;b&gt;"A Developer code should always challenge a Tester and a bug should be more bugging every time for a Developer !!!"&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5901861429114546832?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5901861429114546832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5901861429114546832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5901861429114546832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5901861429114546832'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html' title='Why Should we Automate our Test Scenarios?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-6383982103115758578</id><published>2011-06-23T22:32:00.000-07:00</published><updated>2011-06-23T22:32:00.931-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Thoughts'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Discussion'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><title type='text'>How do you think about Test Automation in a Software Development Project?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;&amp;nbsp;How do you think about Test Automation in a Software Development Project?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;- A Way to test things quickly and gain confidence.&lt;br /&gt;- Reduce Manual effort&amp;nbsp; and in turn getting good quality by reducing cost.&lt;br /&gt;- A Secondary method of testing things to gain confidence.&lt;br /&gt;- A way to cross check the main functionality of back-end !&lt;br /&gt;- A way to impress higher management, even it's consuming more time/resources to maintain the Automation Framework !&lt;br /&gt;- What else?&lt;br /&gt;&lt;br /&gt;Here is how I think about it. And here we are only talking about Functional Automation, not Performance or Load automation thing !&lt;br /&gt;&lt;br /&gt;Actually similar to other planning, Automation plans also depend upon the size of project, type of technologies used, Development Cycle, External Dependencies etc.&lt;br /&gt;&lt;br /&gt;Let's take an example of a software which has longer development cycle and has lot of legacy code. But the application is a fun application which gives good user experience and less functional support.&lt;br /&gt;Now this kind of application has following challenges:-&lt;br /&gt;- Lot of Legacy code. How to test it?&lt;br /&gt;- Ensuring best user experience?&lt;br /&gt;- Repeativtive changes over a longer period of time.&lt;br /&gt;- etc..&lt;br /&gt;&lt;br /&gt;Now questions are :-&lt;br /&gt;&lt;br /&gt;1. Should we do Functional Automation for such Software?&lt;br /&gt;2. If yes for first question, What all should be automated?&lt;br /&gt;3. If yes for first question, How much of Automation with be sufficient?&lt;br /&gt;4. Since application should give best user experience in terms of workflows, UI etc, how should this part be catered. This question becomes more critical when all the legacy features are tightly integrated with new features. &lt;br /&gt;&lt;br /&gt;Before we start discussing this, I will pause to think more on these points and will write soon about my clean thoughts !&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-6383982103115758578?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/6383982103115758578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=6383982103115758578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6383982103115758578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6383982103115758578'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/how-do-you-think-about-test-automation.html' title='How do you think about Test Automation in a Software Development Project?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7993170993808269593</id><published>2011-06-23T06:01:00.000-07:00</published><updated>2011-06-23T06:06:08.314-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Quality Assurance'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Traits'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Skills'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams and Roles'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Roles and Responsibilities'/><category scheme='http://www.blogger.com/atom/ns#' term='Tester'/><title type='text'>TRUST is an important thing for a Quality Engineer or Tester.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: large;"&gt;It's  been more than 6 years that I have been working with various Quality  Engineers and every one is different from other and have unique working  styles. But the most common thing which is seen with a tester, Quality  Engineer or a Quality Analyst is Level of TRUST they gain from various  team members like Developer, Manager, Product Manager and other folks in  the team.&lt;br /&gt;TRUST between the team members is very important and it becomes very important for Testers in two ways -&lt;br /&gt;&lt;br /&gt;1. Other's TRUST on them is important and governed by the way a Tester performs within the team.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;2. TRUST Level a Tester has on the developers. (Although it's recommend to never TRUST the code programmer has written :) )&lt;br /&gt;&lt;br /&gt;Here we are not going to discuss the second part about TRUST but the first part.&lt;br /&gt;&lt;br /&gt;Being  a Tester/QE/QA, gaining TRUST of team members is a very important thing  as we own the responsibility of best possible quality of final product  or application.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;If I take a simple example of the way a  Quality manager deals with his/her team-members (testers) depend a lot  on the way each individual has gained the TRUST over a longer period of time. &lt;/span&gt;&lt;/div&gt;&lt;div class="im" style="color: black;"&gt;&lt;span style="font-size: large;"&gt;A  Quality Manager has a very BIG responsibility with him to deliver best  Quality Product in the market although he/she is not directly testing  everything. TRUST is the thing that gives him/her confidence about overall quality on the Software at various stage of a Development cycle.&lt;span style="color: black;"&gt;There would be few people who have gained that trust and managers doesn't like to follow up too much with these kinds of folks, but story changes completely with folks who have not gained that trust.&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="im" style="color: black;"&gt;&lt;/div&gt;&lt;div class="im" style="color: black;"&gt;&lt;i&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: black;"&gt;The worst part is when someone gains the trust and then looses it with some silly things.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;IDEA of this write-up is to help people understand the significance of TRUST in workplace. Everyone wants to grow in her/his career and key is to work hard and improvise with time. &lt;/span&gt;&lt;span style="color: black;"&gt;Trust me that honest and sincere working habits also impact our personal life. If we do our work in well, there is very rare probability of getting stressed up unless work is not in control or there are other factors involved.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="im" style="color: black;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;I have seen people having different thoughts like -&lt;br /&gt;&lt;br /&gt;"Why should I work too much" .. "What if I complete a task of 5hrs in 1Hr and say OK" ...&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt; Personal life in one &lt;span style="color: black;"&gt;these things change their way of thinking as well and all those things impact their personal life too! For a manager or a lead,  it's not a very difficult thing to judge that things are going wrong.  And there are very simple solutions to resolve such problems. But the harm is that the TRUST level goes down and it also impacts the way or the other.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;In  Software Industry, there are lot of practices to overcome such flaws  which can impact the progress of a project through low confidence level  or less TRUST. But the important question is why should a person do such things.&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;Most  of the people in Software Industry work very hard during the starting  years of their career and over time aspirations change. &lt;/span&gt;&lt;span style="color: black;"&gt;With that, working style also changes... but Testers need to be very careful while doing their work and about their involvement in various other things around them.&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;TRUST is the BIGGEST  ASSET for a Tester and every tester should keep this in mind. Building  GOOD Level of TRUST takes times and taking it to lower levels can be  instantaneous.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7993170993808269593?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7993170993808269593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7993170993808269593' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7993170993808269593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7993170993808269593'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/trust-is-important-thing-for-quality.html' title='TRUST is an important thing for a Quality Engineer or Tester.'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5344005370729291353</id><published>2011-06-22T20:51:00.000-07:00</published><updated>2011-06-22T20:51:13.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Stories'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Teams and Roles'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Testing Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Roles and Responsibilities'/><title type='text'>Various Teams and Role in an Agile Development Project !!!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;Continuing the last discussion about Agile Testing, let's talk something about the different teams involved and their roles in Software development process. There are mainly two teams - Customer Team and Development team.&lt;br /&gt;&lt;br /&gt;Customer Team include business experts, product owners, domain experts, product managers, business analysts, subject matter experts or every other person who is directly or indirectly related to the business part of the aplication/software beging developed.&lt;br /&gt;Customr team writes the user stories or feature sets that developer team delivers. They provide the samples or examples that will drive coding or designing in form of business facing tests. Customer team communicate and collaborate with developer team throughout the project and during each iteration development team test &amp;amp; improve.&lt;br /&gt;&lt;br /&gt;Testers are integral part of Customer Team who help making requirements and examples to help customers expressing their requirements as testing stories.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another team is development team, where everyone in the team is involved in delivering code... Agile principles encourage team members to take on multiple activities, any team member can take on any type of task. Many agile practitioners discourage specialized roles on teams and encourage all team members to transfer their skills to others as much as possible.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;E$ach teams needs to decide what expertize their team require. Programmers, system administrators, architects, Database Admins, technical writers etc. ; people who wear more than one of these hats may be part of the team...&lt;br /&gt;&lt;br /&gt;Testers are also integral part of developer team as testing is central component of Agile development models. Tester ensure the highest possible quality for business people by making sure that development team try to achieve best quality practices to add business value to their user stories.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;There is high degree of interaction between Customer Team and Development Team in an Agile environment.&amp;nbsp; Ideally they are same team with a common goal of providing best possible solution to the user stories and add more value to the business ! Agile Project proceed in small cycles in continuous manner. One chunk of user stories in picked and done in a cycle of one to four weeks and then move on to next user stories. During each cycle Customer Team meets with Developer team to understand how much user stories can be picked and they prioritize their stories accordingly. Customer Team helps developer team to pick the stories in relevant fashion. Testers play a major role in identifying the priority as they are more aware of the interaction of each story with other and their impact. In each Agile cycle Developers code for test and tester team remain on top of all the changes and make sure that every cycle produces best possible quality. Tester has to be in touch with both the teams regularly to ensure that Business needs are met by keeping an eye on techincal complexities to implement those business needs...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Some Agile methodologies don't use the terms as tester.&amp;nbsp; In those cases all the member of an Agile&amp;nbsp; team think about the testing scenarios and stretch their ideas to make sure that the vital role of a Tester is a big responsibility... This new opportunity gives an idea to stretch the thought process and which is not a skill everyone can attain !!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321534468&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0521726875&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321205685&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=B001QL5N4K&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=frozmome-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0955683610&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5344005370729291353?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5344005370729291353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5344005370729291353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5344005370729291353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5344005370729291353'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/various-teams-and-role-in-agile.html' title='Various Teams and Role in an Agile Development Project !!!'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4342270532203469977</id><published>2011-06-21T21:32:00.000-07:00</published><updated>2011-06-21T21:32:38.210-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Terminologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Model'/><category scheme='http://www.blogger.com/atom/ns#' term='FDD'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development Models'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Crystal'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile Methods'/><title type='text'>What exactly is AGILE TESTING?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: large;"&gt;There is lot of buzz about "AGILE" these days and we can hear Agile word in any of the software development organization these days. But what exactly it is and why suddenly everyone starting talking about Agile methodologies in Software Development?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Every company or teams within are practicing various Agile methods these days.. Like Scrum, XP, Crystal, DSDM, FDD etc... Does these names sound new to you? Not a problem, we are not here to discuss the Agile in detail as of now. Idea is to understand the basic meaning of it and what all is associated with it. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Usually we use two terminologies for our convenince - TESTER/QE/QA and PROGRAMMER/DEVELOPER! The person called TESTER/QE/QA does all the activities revolve around testing and PROGRAMMER/DEVELOPER implements the logic for a software by using various technologies available. But does it completely define their role? In Agile, there is a focus on these two type of folks and idea is not to narrow the definition of these roles. In Agile, each member irrespective of the role is responsible for high quality software which provide a value to Business Problem.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Several fundamental practices used by Agile Teams relate to testing. AGILE programmers use test driver development (TDD) and also called as Test-Driver Design to write quality code ! With TDD, programmer writes a test for tiny bit of functionality; if it fails , make appropriate changes to make it work/pass.. and then move for the next tiny functionality of the software !!!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Agile Testing is not just the testing activities do in a Agile project. Some testing practices like Exploratory testing are inherently agile, whether it's done an agile project or not. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Agile development model encourages us to solve our problems as team. Business people, programmers, testers, anlysts - everyone involved in software development - decides together how best to improve their product.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Don't worry if things are not very clear after reading this particular post. We shall be focusing on Agile testing for next few weeks and keep a track of topics being covered. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4342270532203469977?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4342270532203469977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4342270532203469977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4342270532203469977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4342270532203469977'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/what-exactly-is-agile-testing.html' title='What exactly is AGILE TESTING?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5957397073573754084</id><published>2011-06-21T10:21:00.000-07:00</published><updated>2011-06-21T10:21:09.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QAI'/><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Trainings'/><title type='text'>"Test Architecture" Training by QAI in DELHI, INDIA</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;*** Its my personal opinion about this training. &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Yesterday I attended a training on "Test Architecture" by QAI @ Vikram Hotel, Lajpat Nagar, Delhi, INDIA.&lt;br /&gt;&lt;br /&gt;There were 13 attendees from Microsoft (4), Adobe (4) and Aricent (3). Most of the attendees had 5+ experience and some of them had come from Hyderabad to attend this training. During the first half we were told that industry is not following some standards and their technique is going to do some magic to ensure that we test 100% :) . We were taught definitions like Validation, Verification, Test Cases using Boundary value analysis, Equivalence partitioning etc... We spent 1/4th of the time in all these things which are done in first year of our career in testing. In the second half most of the attendees were frustrated and asked for goal of this training. This was asked by many people in different ways as different times. Finally some of us decided to share the feedback with QAI and Adista Testing.&lt;br /&gt;&lt;br /&gt;We were really looking forward to attending this training as it was supposed to be meant for people with 4-5 years of testing experience and because of our faith in the quality of trainings delivered by QAI in the past. However, this time, I hate to say, we are very disappointed. &lt;br /&gt;&lt;br /&gt;The content of the training was much below the expertise level of an experience tester. In fact, it was suitable for a person with 0-1 years experience. A tester with 4-5 years of experience does not need to be taught how to write test cases. Moreover the quality of slides and the delivery of the training were amateurish. Not at all up to QAIs standard. I am afraid to say the training hasn't added anything to our skillset as Test Architecture.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;I decided to not waste another day(7th August) there and have requested QAI to refund the Training Fees.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5957397073573754084?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5957397073573754084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5957397073573754084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5957397073573754084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5957397073573754084'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2011/06/test-architecture-training-by-qai-in.html' title='&quot;Test Architecture&quot; Training by QAI in DELHI, INDIA'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3537746520343265327</id><published>2010-08-26T21:21:00.000-07:00</published><updated>2010-08-26T21:21:07.310-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usability'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Goals'/><category scheme='http://www.blogger.com/atom/ns#' term='Reliability'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Some Opposing goals for WEB - SECURITY Vs Reliability Performance Usability.txt</title><content type='html'>There are many opposing goals in software creation but none is more important than security...&lt;br /&gt;&lt;br /&gt;Most important goals among these are security versus reliability.Reliability often requires developers to write more code (for example, error-handlers) and more code means more opportunity to write bugs. Most of the times these error handlers are under-exercised in testing and chances that it has security bugs is greater. &lt;br /&gt;Error code needs to be carefully checked for security flaws....&lt;br /&gt;&lt;br /&gt;Another important opposing factor is performance. The more code that is pushed to the client the faster the server will run.But more code on the client means more opportunity for security breaches because the user has access to the code running on the client...&lt;br /&gt;&lt;br /&gt;Usability may be next an opposing target to security. Usability means giving information to users to make the system as easy to use as possible.Easy to use often means easy to hack :-) ..Specifically, when error messages reveal information that is helpful to an attacker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3537746520343265327?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3537746520343265327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3537746520343265327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3537746520343265327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3537746520343265327'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/08/some-opposing-goals-for-web-security-vs.html' title='Some Opposing goals for WEB - SECURITY Vs Reliability Performance Usability.txt'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5647353766004806472</id><published>2010-08-25T22:26:00.000-07:00</published><updated>2010-08-25T22:26:56.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='LAN'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='client-server'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocols'/><title type='text'>WEB Versus Client-Sever systems</title><content type='html'>The World Wide Web is a special case of the client-server paradigm.Client-Server means one or more centralized server computers that serve data, resources, programs connected to server a number of client computers.Traditionally, this involves a powerful central server connected to remote client computers that are often "dumb" in that they do no actual computation and simply provide an interface to the server. You can think of a dumb terminal as a keyboard and monitor into the remote server.&lt;br /&gt;&lt;br /&gt;Many UNIX servers that are connected to thin clients, which means that most applications run on the server, but the clients are capable of local data storage and other small computational tasks.The server does most of the heavy computations.Windows networks are typically just the other way round, with the "fat client" possessing basic Office applications and browsing, with separate servers used for major services requiring either the network (Web server, DNS, and so on) or massive storage requirements (database and file servers).&lt;br /&gt;&lt;br /&gt;WEB is a special case of the Client-Server model using fat clients and operating on protocols like HTTP, HTML, XML, and Simple Object Access Protocol (SOAP)...Moreover it adds the interesting problem of "untrusted" users. Whereas traditional networks exist within the firewalled protection of a company's private network. In traditional Client-Server networks it is fairly clear what processing should take place on the client and on the server.Also both of client and the server normally exist within the walls of a corporate ...&lt;br /&gt;&lt;br /&gt;But this is not the case with the World Wide Web....The Web is different because the clients exist outside the control of the central server and the network.Unlike a LAN Web has no boundaries to protect.All the clients have to be treated as untrusted which puts additional requirements on how computation is distributed across the client and the server.LANs can be designed to maximize performance. The more computation that can be "pushed" to the client the faster the central server can execute.Perhaps this is one reason why the fat client paradigm has won out over thin clients.The computational burden can be more distributed for speeding up the network for everyone.&lt;br /&gt;&lt;br /&gt;But the Web is a different thing altogether... It is essentially a network of untrusted clients and any of those can be hostile.This means that every input that originates at a client must be carefully checked and all security operations must be performed on the server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5647353766004806472?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5647353766004806472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5647353766004806472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5647353766004806472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5647353766004806472'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/08/web-versus-client-sever-systems.html' title='WEB Versus Client-Sever systems'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-197079349573704802</id><published>2010-08-16T21:19:00.000-07:00</published><updated>2010-08-16T21:19:10.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TCP'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Terminologies'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Definitions'/><category scheme='http://www.blogger.com/atom/ns#' term='client-server'/><category scheme='http://www.blogger.com/atom/ns#' term='UDP'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocols'/><category scheme='http://www.blogger.com/atom/ns#' term='ARPIP'/><title type='text'>World Wide Web</title><content type='html'>Networked computers are not new for us. We have been connecting computers in a LAN and WAN before Web. Even Web is a specialized version of what is called a client-server network. Client-server networks conserve computing resources by delegating complex and time-consuming computation to powerful, expensive computers called servers. Server machines tend to have large storage and memory capacity and multiple fast processors. Their speed allows them to complete computationally intense processing faster than a typical computer and then serve their results to smaller and less powerful machineswhich are known as clients.&lt;br /&gt;&lt;br /&gt;In client-server networks, there are really three things of importance:&lt;br /&gt;&lt;br /&gt;1. The server computer&lt;br /&gt;2. One or more client computers&lt;br /&gt;3. A connection between the client and server which is called as Network&lt;br /&gt;&lt;br /&gt;At the client, a software must be developed to connect to the network to send and receive requests and data. It's the same for the server. At the network layer, we need protocols to allow the computers to communicate.&lt;br /&gt;We alos need to handle bandwidth issues, lossy transmission of data, collisions, errors, and one or the other computer not being available.But all of this has been figured out for various situations. Protocols like Transmission Control Protocol (TCP), and User Datagram Protocol (UDP) as well as supporting protocols like Internet Protocol (IP), Address Resolution Protocol (ARP), and the Domain Name System (DNS) have been implemented and made easy to use for developers on both the client and server side. &lt;br /&gt;&lt;br /&gt;World Wide Web: new network layer protocols, new server software to handle the connections and serve the variety of content demanded by the clients, and new client software to browse remote servers and search through the entire universe of servers for the one that had the required information. World Wide Web arrived as a network of computers that span over whole world and speak the same languages and protocols: &lt;br /&gt;&lt;br /&gt;HyperText Transfer Protocol (HTTP), &lt;br /&gt;Hypertext Markup Language (HTML), &lt;br /&gt;eXtensible Markup Language (XML) etc. &lt;br /&gt;&lt;br /&gt;The Web began largely as a replacement for the major functionality of the Internet: e-mail and File Transfer Protocol (FTP): ways of communicating and sharing files. Initially there was a method for sharing files between many users was a system called gopher. It was much like the Web we know today. GOPHER allowed users to search for documents using Veronica (the Google of its time) and documents could be linked together and navigated to.Gopher disapeared around 90s.HTML as a language of the Web was much more powerful and expressive than that used by gopher.&lt;br /&gt;&lt;br /&gt;The magic behind this was a server-side program called a Web server that allowed remote clients to access certain parts of the server computer's hard drive. The Web changed everything about the way we shared files and communicated information.Web browser was the ultimate tool for a client computer to connect to the growing number of Web pages that were sprouting up on servers everywhere.&lt;br /&gt;&lt;br /&gt;After that lot many things came into light for making this more dynamic in nature and flexible in usability. &lt;br /&gt;These days many of us can't imagine life withoout these applicatons of World Wide Web...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-197079349573704802?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/197079349573704802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=197079349573704802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/197079349573704802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/197079349573704802'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/08/world-wide-web.html' title='World Wide Web'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1876241078164074372</id><published>2010-08-03T21:42:00.000-07:00</published><updated>2010-08-03T21:42:42.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Attacks'/><category scheme='http://www.blogger.com/atom/ns#' term='Threats'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Injections'/><category scheme='http://www.blogger.com/atom/ns#' term='Hacking'/><category scheme='http://www.blogger.com/atom/ns#' term='XPATH'/><category scheme='http://www.blogger.com/atom/ns#' term='Parameter Tampering'/><category scheme='http://www.blogger.com/atom/ns#' term='Payload Attacks'/><title type='text'>What are the main threats for Web Services???</title><content type='html'>Web Services comes with loosely coupled architecture for connecting systems, data and various business Organizations. Well designed and lossely coupled web-services can be accessible as separate parts of a Business logic, which can be used independently or combined with others to get a complex application.&lt;br /&gt;This also gives opportunity to hackers for easily exploit these facts.&lt;br /&gt;&lt;br /&gt;Here we are going to touch upon few basic threats to Web-Services:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. WSDL SCANNING ATTACK:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;WSDL is mainly used for advertizing the interfaces and web service addresses. These files are oftenly created using some utilities and intentionall designed to expose the information available with a particular method.&lt;br /&gt;So a hackers can get very useful information s/he needs through simple google queries :-)&lt;br /&gt;&lt;br /&gt;Queries like :&lt;br /&gt;&lt;br /&gt;filetype:WSDL company_name&lt;br /&gt;index of /wsdl OR inurl:wsdl company_name&lt;br /&gt;&lt;br /&gt;At very first glance it seems ok because its important to publisize any web service so that it can be used at appopriate places. But this is not the right way to exposing services, it should happen through UDDI. But mny times it developers are not very careful about usage of tools which are used to generate WSDLs. sometimes debuggin information which is never supposed to be accessed, can be exploited in various ways.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Any information in a WSDL file may be a very helpful hint for a hacker which exposes other functionalities. &lt;br /&gt;If we consider a simple example where WSDL describes an operation like GET_STOCK_PRICE even there is an unpublished operation like ACTUAL_STOCK function. Unless there are some authorization checks applied, an attacker can guess the functionalities s/he is not supposed to understand/know.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. PARAMETER TAMPERING&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SQL Injections can be equally useful for attacking a web service. &lt;br /&gt;&lt;br /&gt;Most oftenly, Web Services are some other mechanisms of accessing a legacy code for some sepcific purpose. Out of Range parameters, commnd injection and directory traversal are not mitigated just because data is transferred in XMLs.Its all about the way code validates data inputs.&lt;br /&gt;&lt;br /&gt;Web Services should validate the input data in XMLs before using that. Having strong typing of XML does help but application must be very careful while using the data after proper validations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. XPATH Injections:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;XPATH is a laguage used for quering XMLs like SQL for Databases.It uses expressions to select particular nodes and not-sets in an XML.&lt;br /&gt;&lt;br /&gt;To give some sense of XPATH, lets have a look at some of the expressions:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TFjvUg9_8aI/AAAAAAAAG8o/EC0mrGdJQ1s/s1600/Threats+to+Web+Services.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="434" src="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TFjvUg9_8aI/AAAAAAAAG8o/EC0mrGdJQ1s/s640/Threats+to+Web+Services.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;/ : This is used for selecting root node&lt;br /&gt;&lt;br /&gt;// : For selecting current Node&lt;br /&gt;&lt;br /&gt;//Photographer : Select all Photographer Elements&lt;br /&gt;&lt;br /&gt;Photographer//Name : Select all name elements whic are under Photographer element&lt;br /&gt;&lt;br /&gt;/Photographer/Name[1] : Select first name element which is child of the Photographer element&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An XPATH Injection attack allows an attacker to inject malicious exprssions as part of valid SOAP request.&lt;br /&gt;This can lead to unauthorized access or service denial problems. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;4. Recursive Payload attacks:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There is a concept of nesting in XML for supporting complex relationships mong elements. Nesting is a simple mechanism where one element lies under another.  element which is lying under another is called child element or nested element.&lt;br /&gt;&lt;br /&gt;Sometimes attackers create documents with 10000 or 100000 elements or attributes ina na attempt to break a web service. This is called as Recursive Payload attacks...&lt;br /&gt;&lt;br /&gt;Most of the times XML based systems attemt to load whole document before processing it. Most of these parsers work on Push-Down automation models. There are some map of XML-documents is created to tell the parser about action to do it discovers a particular element in an XML.If XML schema allows nesting, parser could find find itself in a loop on facing a recursive payload attack...So Parser should have some mechanism to know which element was encountered at waht point..These kinds of recursive attacks can consume lot of memroy or even crash the machine having all web services hosted.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Oversize Payload attack&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As we know XML is verbose by design due to the fact that its created for humans to read and understand. But its important for XML parser to check the size of file before processing it. Otheriwse attackers can exploit the vulnerability in a web service by sending heavy XML files, probably in size of gigs. Applications may be able to handle sometimes, but its very critical for applications where files are loaded into memory before processing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6. External Entity attacks:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;XML provides different external entity references that allow data outside the main document to be imported. It does this by declaring an external refernce as:&lt;br /&gt;&lt;br /&gt;!ENTITY name SYSTEM "URI&lt;br /&gt;&lt;br /&gt;so that an XML document can reuse existing data without having to make its own copy.&lt;br /&gt;&lt;br /&gt;This particular attack refers to ondition when external reference is not trusted. An Attacker could provide malicious data which can initiate some unwanted action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1876241078164074372?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1876241078164074372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1876241078164074372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1876241078164074372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1876241078164074372'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/08/what-are-main-threats-for-web-services.html' title='What are the main threats for Web Services???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TFjvUg9_8aI/AAAAAAAAG8o/EC0mrGdJQ1s/s72-c/Threats+to+Web+Services.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8370610106928315761</id><published>2010-07-19T00:29:00.000-07:00</published><updated>2010-07-19T00:29:00.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Cost of Quality'/><title type='text'>Software Testing : What is Cost of Quality</title><content type='html'>Cost of Quality is a term used to quantify the total cost of prevention and appraisal, and costs associated with the production of software. While calculating the total costs associated with the development of a new application or system few sepecific components must be considered. &lt;br /&gt;&lt;br /&gt;The Cost of Quality includes the additional costs associated with assuring that the product delivered meets the quality goals established for the product. This cost component is called the Cost of Quality and includes all costs associated with the prevention, identification, and correction of product defects.&lt;br /&gt;&lt;br /&gt;THREE main categories of costs associated with producing quality products are:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Prevention Costs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Cost of preventing errors and to do the job right the first time. These normally require up-front costs for benefits that will be derived months or even years later. This is mostly money spent on establishing methods and procedures, training employees, acquiring tools, and planning for quality. Prevention money is all spent before the product is actually built.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Appraisal Costs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Money spent to review completed products against requirements. Appraisal includes the cost of inspections, testing, and reviews. This money is spent after the product is built but before it is shipped to the user or moved into production.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;3. Failure Costs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;All costs associated with defective products that have been delivered to the user or moved into production. &lt;br /&gt;Some failure costs involve repairing products to make them meet requirements. Others are costs generated by failures such as the cost of operating faulty products, damage incurred by using them, and the costs associated with operating a Help Desk.&lt;br /&gt;&lt;br /&gt;- The Cost of Quality will vary from one organization to the next.&lt;br /&gt;- The majority of cost associated with the Cost of Quality are associated with the identification and correction of defects. To minimize production costs, the project team must focus on defect prevention.&lt;br /&gt;- The goal is to optimize the production process to the extent that rework is eliminated and inspection is built into the production process.&lt;br /&gt;- The IT quality assurance group must identify the costs within these three categories, quantify them, and then develop programs to minimize the totality of these three costs.&lt;br /&gt;-Applying the concepts of continuous testing to the systems development process can reduce the cost of quality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8370610106928315761?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8370610106928315761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8370610106928315761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8370610106928315761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8370610106928315761'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/software-testing-what-is-cost-of.html' title='Software Testing : What is Cost of Quality'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8631420298256677310</id><published>2010-07-18T00:28:00.000-07:00</published><updated>2010-07-18T00:28:30.146-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Quality Assurance'/><category scheme='http://www.blogger.com/atom/ns#' term='Quallity Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Quality Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><title type='text'>Quality Control Vs Quality Assurance</title><content type='html'>There is often confusion in the IT industry regarding the difference between quality control and&lt;br /&gt;quality assurance. &lt;br /&gt;&lt;br /&gt;Quality methods can be seen in two categories: &lt;br /&gt;&lt;br /&gt;1. Preventive methods &lt;br /&gt;2. Detective methods &lt;br /&gt;&lt;br /&gt;This distinction can be used to distinguish quality assurance activities from quality control.&lt;br /&gt;&lt;br /&gt;This discussion explains the critical difference between control and assurance and how &lt;br /&gt;to recognize a control practice from an assurance.&lt;br /&gt;&lt;br /&gt;Quality has two working definitions:&lt;br /&gt;1. Developer’s View – The quality of the product meets the requirements.&lt;br /&gt;2. Customer’s View – The quality of the product is fit for use or meets the customer’s needs.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;"Testing is a Quality Control Activity."&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Quality Assurance&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Quality assurance is a planned and systematic set of activities necessary to provide adequate confidence that products or services will conform to specified requirements and meet user needs.&lt;br /&gt;&lt;br /&gt;Quality assurance is a group which is responsible for implementing the quality policy defined through the development and continuous improvement of software development processes.&lt;br /&gt;&lt;br /&gt;Quality assurance is an activity that establishes and evaluates the processes that produce products.If there is no need for process then there is no role for quality assurance. &lt;br /&gt;&lt;br /&gt;Quality Assurance takes care of:&lt;br /&gt;&lt;br /&gt;1. System development methodologies&lt;br /&gt;2. Estimation processes&lt;br /&gt;3. System maintenance processes&lt;br /&gt;4. Requirements definition processes&lt;br /&gt;5. Testing processes and standards&lt;br /&gt;&lt;br /&gt;Once established quality assurance would measure these processes to identify weaknesses and then&lt;br /&gt;correct those weaknesses to continually improve the process.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Quality Control&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Quality control is the process by which product quality is compared with applicable standards and&lt;br /&gt;the action taken when non-conformance is detected. Quality control ensures that product conforms to standards and requirements.&lt;br /&gt;&lt;br /&gt;Quality control activities focus on identifying defects in the actual products produced. These&lt;br /&gt;activities begin at the start of the software development process with reviews of requirements and&lt;br /&gt;continue until all application testing is complete.&lt;br /&gt;&lt;br /&gt;It is possible to have quality control without quality assurance. For example, a test team may be in&lt;br /&gt;place to conduct system testing at the end of development regardless of whether that system is&lt;br /&gt;produced using a software development methodology.&lt;br /&gt;&lt;br /&gt;The following statements help differentiate quality control from quality assurance:&lt;br /&gt;&lt;br /&gt;- Quality control relates to a particular product or service.&lt;br /&gt;- Quality control verifies whether specific attributes are included in a specific product or service.&lt;br /&gt;- Quality control identifies defects for the primary purpose of correcting defects.&lt;br /&gt;- Quality control is the responsibility of the team/worker.&lt;br /&gt;- Quality control is concerned with a specific product.&lt;br /&gt;- Quality assurance helps establish processes.&lt;br /&gt;- Quality assurance sets up measurement programs to evaluate processes.&lt;br /&gt;- Quality assurance identifies weaknesses in processes and improves them.&lt;br /&gt;- Quality assurance is a management responsibility&lt;br /&gt;- Quality assurance is concerned with all of the products that will ever be produced by a process.&lt;br /&gt;- Quality assurance is sometimes called quality control over quality control because it evaluates whether quality control is working.&lt;br /&gt;- Quality assurance personnel should not ever perform quality control unless it is to validate quality control.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8631420298256677310?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8631420298256677310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8631420298256677310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8631420298256677310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8631420298256677310'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/quality-control-vs-quality-assurance.html' title='Quality Control Vs Quality Assurance'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4747972910529710894</id><published>2010-07-14T21:02:00.000-07:00</published><updated>2010-07-14T21:02:00.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='UDDI'/><title type='text'>What is Universal Description, Discovery, and Integration (UDDI)</title><content type='html'>Most common problem for many businesses is to identify best way to reach their customers and partners with appropriate information about thier services and products.&lt;br /&gt;UDDI empowers by providing a standardised approach which allows copanies to advertise both businesses and technical aspects of their services. &lt;br /&gt;&lt;br /&gt;Actually this is achieved by having an informational framework that describes and classifies the organizations, its services and technical details about various interfaces of web services.&lt;br /&gt;This framework also proves discovery of interfaces and web-servicesof a particular type, classification or function. UDDI can considered as Yellow pages for web serives. Most of the registered UDDIs can be found at &lt;br /&gt;&lt;br /&gt;http://uddi.ibm.com&lt;br /&gt;http://uddi.microsoft.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4747972910529710894?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4747972910529710894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4747972910529710894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4747972910529710894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4747972910529710894'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/what-is-universal-description-discovery.html' title='What is Universal Description, Discovery, and Integration (UDDI)'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1773582734548448450</id><published>2010-07-13T20:02:00.000-07:00</published><updated>2010-07-13T20:02:00.328-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='WSDL'/><title type='text'>What is Web Services Description Language (WSDL)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDwCIUY5_ZI/AAAAAAAAGdQ/6v4mdKYyB_Y/s1600/WSDL.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;WSDL is a document written in XML that describesfour critical peices of information:&lt;br /&gt;&lt;br /&gt;1. Interface information for describing all publically available functions&lt;br /&gt;2. Data-Type Information for all&amp;nbsp; message requests and responses.&lt;br /&gt;3. Binding information about protocol used for transportation.&lt;br /&gt;4. Address Information for locating appropriate service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;WSDL is a mechanism by which others know how to intercat with a particular service. &lt;br /&gt;It gives the information about the place where service resides, what a service can do and how to invoke that particular web service.&lt;br /&gt;WSDL is oftenly used in Combination with SOAP and XML to provide Web Service over Internet. &lt;br /&gt;WSDL represents a cornerstone of web service architecture because it provides a common language for describing services and platform for automatically integrating all these services.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AN EXAMPLE OF WSDL looks like:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDwCIUY5_ZI/AAAAAAAAGdQ/6v4mdKYyB_Y/s1600/WSDL.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="WSDL is a document written in XML that describesfour critical peices of information:1. Interface information for describing all publically available functions2. Data-Type Information for all  message requests and responses.3. Binding information about protocol used for transportation.4. Address Information for locating appropriate service.WSDL is a mechanism by which others know how to intercat with a particular service.It gives the information about the place where service resides, what a service can do and how to invoke that particular web service.WSDL is oftenly used in Combination with SOAP and XML to provide Web Service over Internet.WSDL represents a cornerstone of web service architecture because it provides a common language for describing services and platform for automatically integrating all these services." border="0" height="212" src="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDwCIUY5_ZI/AAAAAAAAGdQ/6v4mdKYyB_Y/s640/WSDL.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1773582734548448450?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1773582734548448450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1773582734548448450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1773582734548448450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1773582734548448450'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/what-is-web-services-description.html' title='What is Web Services Description Language (WSDL)'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDwCIUY5_ZI/AAAAAAAAGdQ/6v4mdKYyB_Y/s72-c/WSDL.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-403404398664220622</id><published>2010-07-12T23:01:00.000-07:00</published><updated>2010-07-12T23:01:00.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TCP'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Transport Layer Protocols'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocols'/><title type='text'>What is SOAP (Simple Object Access Protocol)</title><content type='html'>SOAP is a way to transport XML from one end point to another. &lt;br /&gt;&lt;br /&gt;It supports a number of standard transport protocols which includes TCP, HTTP and SMTP. HTTP is most popular among all of these.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Basic idea of SOAP is to provide a mechanism by which an XML information can be wrapped in an envelop and which can be further carried by variety of transport mechanisms. &lt;br /&gt;&lt;br /&gt;In a SOAP message, there are two main components:&lt;br /&gt;- Header&lt;br /&gt;- Body&lt;br /&gt;&lt;br /&gt;As names signify, Header contains information abou actual SOAP message and body contains the actual message payload.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDwAzFTo9uI/AAAAAAAAGdI/lxHGHSPvIIM/s1600/SOAP.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="SOAP is a way to transport XML from one end point to another.It supports a number of standard transport protocols which includes TCP, HTTP and SMTP. HTTP is most popular among all of these.Basic idea of SOAP is to provide a mechanism by which an XML information can be wrapped in an envelop and which can be further carried by variety of transport mechanisms.In a SOAP message, there are two main components: Header, BodyAs names signify, Header contains information abou actual SOAP message and body contains the actual message payload." border="0" height="180" src="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDwAzFTo9uI/AAAAAAAAGdI/lxHGHSPvIIM/s640/SOAP.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-403404398664220622?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/403404398664220622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=403404398664220622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/403404398664220622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/403404398664220622'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/what-is-soap-simple-object-access.html' title='What is SOAP (Simple Object Access Protocol)'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDwAzFTo9uI/AAAAAAAAGdI/lxHGHSPvIIM/s72-c/SOAP.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4095427571398600311</id><published>2010-07-10T14:00:00.000-07:00</published><updated>2010-07-10T23:40:28.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Transfer'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Tags'/><category scheme='http://www.blogger.com/atom/ns#' term='Language'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Definition'/><title type='text'>eXtensible Markup Language (XML)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDlnKsmT0rI/AAAAAAAAGco/PiiLpGkLqrM/s1600/XML+Sample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;XML is a language used for data description. It does it independently of applications, protocols, operating systems and pogramming languages used. Its similar to HTML, where we use different tag structures for data definition.&lt;br /&gt;&lt;br /&gt;Inside XML Tags we define what data elements are there. In XML, there are no standard tags as we have in case of HTML. In XML, developer can define her own tags.&lt;br /&gt;With common data providing methods, XML has become common format for elecrtonic data tranfer and Web Services which supports Business to Business Transactions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is an example of an XML:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDlnKsmT0rI/AAAAAAAAGco/PiiLpGkLqrM/s1600/XML+Sample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="174" src="http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDlnKsmT0rI/AAAAAAAAGco/PiiLpGkLqrM/s640/XML+Sample.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4095427571398600311?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4095427571398600311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4095427571398600311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4095427571398600311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4095427571398600311'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/extensible-markup-language-xml.html' title='eXtensible Markup Language (XML)'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Xs4dzGEFgnk/TDlnKsmT0rI/AAAAAAAAGco/PiiLpGkLqrM/s72-c/XML+Sample.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-857549505695367678</id><published>2010-07-09T22:08:00.000-07:00</published><updated>2010-07-09T23:05:39.575-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='WSDL'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='APIs'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='UDDI'/><title type='text'>What are Web Services ???</title><content type='html'>Web Services are next level of Web applications. Web Services expose internal data and interfaces with other programs. These are similar to Application Programing Interfaces (APIs), a Web Application can use multiple web services and these can be shared between multiple Companies.&lt;br /&gt;&lt;br /&gt;Self contained pieces of functionality that can be published, located and invoked on internet, Web Servuces can expose business functionality, services and data over web using automated interfaces.All such interfaces allow different organizatons to find functionality they require on runtime. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;For basic pillars of Web Services are :&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) eXtensible Markup Language (XML)&lt;br /&gt;&lt;br /&gt;2) Simple Object Access Protocal (SOAP)&lt;br /&gt;&lt;br /&gt;3) Web Services Description Language (WSDL)&lt;br /&gt;&lt;br /&gt;4) Universal Description, Discovery, and Integration (UDDI)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDgNpK5MQYI/AAAAAAAAGcg/BJBYDTF1svQ/s1600/What+are+Web+Services.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDgNpK5MQYI/AAAAAAAAGcg/BJBYDTF1svQ/s640/What+are+Web+Services.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-857549505695367678?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/857549505695367678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=857549505695367678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/857549505695367678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/857549505695367678'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/07/what-are-web-services.html' title='What are Web Services ???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TDgNpK5MQYI/AAAAAAAAGcg/BJBYDTF1svQ/s72-c/What+are+Web+Services.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7277805359091213446</id><published>2010-05-10T07:54:00.000-07:00</published><updated>2010-05-10T07:58:21.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='PL-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Difference'/><title type='text'>SQL Vs PL-SQL : Actual difference</title><content type='html'>.&lt;br /&gt;SQL is a data oriented language for selecting and manipulating sets of data. PL/SQL is a procedural language to create applications.&lt;br /&gt;&lt;br /&gt;Normally, you don't have a "SQL application". You normally have an application that uses SQL and a relational database on the back-end. PL/SQL can be the application language just like Java or PHP can. SQL may be the source of data for your screens, web pages and reports. PL/SQL might be the language you use to build, format and display those screens, web pages and reports.&lt;br /&gt;&lt;br /&gt;Think of it like this: The code that makes your program function is PL/SQL. The code that manipulates the data is SQL DML. The code that creates stored database objects is SQL DDL. DDL compiles the code that is written in PL/SQL. PL/SQL may call SQL to perform data manipulation. The commands that format the output of a tool are not related to the SQL standard or to PL/SQL.&lt;br /&gt;&lt;br /&gt;-- SQL is a data oriented language for selecting and manipulating sets of data.&lt;br /&gt;-- PL/SQL is a procedural language to create applications.&lt;br /&gt;&lt;br /&gt;-- PL/SQL can be the application language just like Java or PHP can. PL/SQL might be the language we use to build, format and display those screens, web pages and reports.&lt;br /&gt;-- SQL may be the source of data for our screens, web pages and reports.&lt;br /&gt;&lt;br /&gt;-- SQL is executed one statement at a time.&lt;br /&gt;-- PL/SQL is executed as a block of code.&lt;br /&gt;&lt;br /&gt;-- SQL tells the database what to do (declarative), not how to do it.&lt;br /&gt;-- In contrast, PL/SQL tell the database how to do things (procedural).&lt;br /&gt;&lt;br /&gt;-- SQL is used to code queries, DML and DDL statements.&lt;br /&gt;-- PL/SQL is used to code program blocks, triggers, functions, procedures and packages.&lt;br /&gt;&lt;br /&gt;-- We can embed SQL in a PL/SQL program&lt;br /&gt;-- but we cannot embed PL/SQL within a SQL statement.&lt;br /&gt;&lt;br /&gt;-- SQL is a language that is used by relational database technologies such as Oracle, Microsoft Access, and Sybase etc.&lt;br /&gt;-- PL/SQL is commonly used to write data-centric programs to manipulate data in an Oracle database. PL/SQL language includes object oriented programming techniques such as encapsulation, function overloading, and information hiding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7277805359091213446?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7277805359091213446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7277805359091213446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7277805359091213446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7277805359091213446'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/05/sql-vs-pl-sql-actual-difference.html' title='SQL Vs PL-SQL : Actual difference'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1521131131766627501</id><published>2010-05-08T03:56:00.000-07:00</published><updated>2010-05-08T03:56:41.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='PERL'/><category scheme='http://www.blogger.com/atom/ns#' term='basics'/><category scheme='http://www.blogger.com/atom/ns#' term='ARRAY'/><title type='text'>Basics of arrays in PERL</title><content type='html'>&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Defining an array:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;@Myarray = qw(1st-Element 2nd-Element 3rd-Element);&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;$myarray[0] = "1st-Element";&lt;br /&gt;&lt;br /&gt;$myarray[1] = "2nd-Element";&lt;br /&gt;&lt;br /&gt;$myarray[2] = "3rd-Element";&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;$#array&lt;/b&gt;&lt;/span&gt; returns the number of elements in an array&lt;br /&gt;&lt;br /&gt;for (sort @myarray)&lt;br /&gt;&lt;br /&gt;{ print $_ }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1521131131766627501?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1521131131766627501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1521131131766627501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1521131131766627501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1521131131766627501'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/05/basics-of-arrays-in-perl.html' title='Basics of arrays in PERL'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4007580828344030361</id><published>2010-05-07T00:09:00.000-07:00</published><updated>2010-05-19T07:10:20.967-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='PERL'/><category scheme='http://www.blogger.com/atom/ns#' term='Library'/><category scheme='http://www.blogger.com/atom/ns#' term='Packages'/><title type='text'>WHAT IS CPAN: Comprehensive Perl Archive Network</title><content type='html'>&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"&gt;&lt;span style="font-family: Arial; font-size: 10pt;"&gt;There are some separate modules, usually consisting of a .pm and/or a .pll file and available from CPAN (comprehensive Perl Archive network).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 10pt;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 10pt;"&gt;&lt;o:p _moz-userdefined=""&gt;CPAN, the Comprehensive Perl Archive Network, is an archive of over 18000 modules of software written in Perl. It has a presence on the World Wide Web at www.cpan.org and is mirrored worldwide on more than 220 locations. CPAN can denote either the archive network itself, or the Perl program that acts as an interface to the network and as an automated software installer (somewhat like a package manager). Most software on CPAN is free and open source software.&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: Arial; font-size: 10pt;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;a href="http://en.wikipedia.org/wiki/CPAN"&gt;&lt;b&gt;CLICK HERE&lt;/b&gt;&lt;/a&gt; to know more....&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: 10pt;"&gt;&lt;o:p _moz-userdefined=""&gt;perl -MCPAN -e shell&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4007580828344030361?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4007580828344030361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4007580828344030361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4007580828344030361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4007580828344030361'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/05/what-is-cpan-comprehensive-perl-archive.html' title='WHAT IS CPAN: Comprehensive Perl Archive Network'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7106692056450788399</id><published>2010-05-05T21:57:00.000-07:00</published><updated>2010-05-05T21:58:34.840-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Definitions'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Quality Factors'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Engineering'/><title type='text'>Some Basic definitions when we talk about "Software Testing"</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;These are also called as ‘Software Quality Factors’&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Correctness: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Extent to which a program satisfies its specifications and fulfills the user’s main objectives.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Reliability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Extent to which a program can be expected to perform its intended function with required precision.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Efficiency: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;The amount of computing resources and code required by a program to perform a function.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Integrity: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Extent to which access to software or data by unauthorized persons can be controlled.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;5.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Usability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Its parameters for measuring extent of ease to use the software: Efforts required learning, operating, preparing input, and interpreting output of a program.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;6.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Maintainability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;How easy or difficult is to maintain the software under test : Efforts required locating and fixing an error in an operational program.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;7.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Testability:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt; Effort required testing a program to ensure that it performs its intended function.&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraphCxSpMiddle"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;8.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Flexibility:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt; How much flexible is a software for new additions or changes : Effort required modifying an operational program.&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="ListParagraphCxSpMiddle"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;9.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Portability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;How much effort is required if a particular setup needs to be moved to another environment : Effort required transferring&amp;nbsp; software from one configuration to another.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;10 &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Reusability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Extent to which a program can be used in other applications – related to the packaging and scope of the functions that programs perform.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ListParagraph" style="text-indent: -0.25in;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;11&amp;nbsp;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-size: 7pt; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%;"&gt;Interoperability: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: ArialMT; font-size: 9pt; line-height: 115%;"&gt;Effort required to couple one system with another.&lt;o:p _moz-userdefined=""&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7106692056450788399?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7106692056450788399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7106692056450788399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7106692056450788399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7106692056450788399'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/05/some-basic-definitions-when-we-talk.html' title='Some Basic definitions when we talk about &quot;Software Testing&quot;'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-2570786774600288793</id><published>2010-04-22T06:58:00.000-07:00</published><updated>2010-04-22T06:58:42.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenCL'/><category scheme='http://www.blogger.com/atom/ns#' term='Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Language'/><category scheme='http://www.blogger.com/atom/ns#' term='CPU'/><category scheme='http://www.blogger.com/atom/ns#' term='GPU'/><title type='text'>What is OpenCL???</title><content type='html'>OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language for writing kernels (functions that execute on OpenCL devices), plus APIs that are used to define and then control the platforms. OpenCL provides parallel computing using task-based and data-based parallelism. Its architecture shares a range of computational interfaces with two competitors, NVidia's Compute Unified Device Architecture and Microsoft's DirectCompute.&lt;br /&gt;&lt;br /&gt;OpenCL gives any application access to the Graphical Processing Unit for non-graphical computing. The GPU had previously been available for graphical applications only. The GPU memory would be available to the operating system and or applications essentially as faster system memory than the main system memory Thus, OpenCL extends the power of the Graphical Processing Unit beyond graphics (General-purpose computing on graphics processing units). OpenCL is analogous to the open industry standards OpenGL and OpenAL, for 3D graphics and computer audio, respectively.&lt;br /&gt;&lt;br /&gt;OpenCL was initially developed by Apple Inc., which holds trademark rights, and refined into an initial proposal in collaboration with technical teams at AMD, IBM, Intel, and Nvidia. Apple submitted this initial proposal to the Khronos Group. On June 16, 2008 the Khronos Compute Working Group was formed with representatives from CPU, GPU, embedded-processor, and software companies. This group worked for five months to finish the technical details of the specification for OpenCL 1.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-2570786774600288793?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/2570786774600288793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=2570786774600288793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2570786774600288793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2570786774600288793'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/04/what-is-opencl.html' title='What is OpenCL???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7481965507410089023</id><published>2010-04-20T22:23:00.000-07:00</published><updated>2010-04-20T22:23:32.713-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APIs'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='GPU'/><category scheme='http://www.blogger.com/atom/ns#' term='DirectX'/><title type='text'>Microsoft DirectCompute</title><content type='html'>&lt;b&gt;Microsoft DirectCompute&lt;/b&gt; is an application programming interface (API) that supports General-purpose computing on graphics processing units on Microsoft Windows Vista and Windows 7. DirectCompute is part of the Microsoft DirectX collection of APIs and was initially released with the DirectX 11 API but runs on both DirectX 10 and DirectX 11 graphics processing units. The DirectCompute architecture shares a range of computational interfaces with its competitors - the Khronos Group's Open Computing Language and NVIDIA's Compute Unified Device Architecture.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7481965507410089023?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7481965507410089023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7481965507410089023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7481965507410089023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7481965507410089023'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/04/microsoft-directcompute.html' title='Microsoft DirectCompute'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-321111290470586960</id><published>2010-04-19T21:01:00.000-07:00</published><updated>2010-04-19T21:01:31.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PRocessors'/><category scheme='http://www.blogger.com/atom/ns#' term='Device Drivers'/><category scheme='http://www.blogger.com/atom/ns#' term='GPU'/><title type='text'>What is CUDA: Compute Unified Device Architecture</title><content type='html'>CUDA ( Compute Unified Device Architecture) is a parallel computing architecture developed by NVIDIA. CUDA is the computing engine in NVIDIA graphics processing units or GPUs that is accessible to software developers through industry standard programming languages. CUDA architecture shares a range of computational interfaces with two competitors -the Khronos Group's Open Computing Language and Microsoft's DirectCompute. Third party wrappers are also available for Python, Fortran, Java and MATLAB.&lt;br /&gt;&lt;br /&gt;The latest drivers all contain the necessary CUDA components. CUDA works with all NVIDIA GPUs from the G8X series onwards, including GeForce, Quadro and the Tesla line. NVIDIA states that programs developed for the GeForce 8 series will also work without modification on all future Nvidia video cards, due to binary compatibility. CUDA gives developers access to the native instruction set and memory of the parallel computational elements in CUDA GPUs.&lt;br /&gt;&lt;br /&gt;WHY CUDA?&lt;br /&gt;&lt;br /&gt;CUDA has several advantages over traditional general purpose computation on GPUs (GPGPU) using graphics APIs.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 1. Scattered reads – code can read from arbitrary addresses in memory.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Shared memory – CUDA exposes a fast shared memory region (16KB in size) that can be shared amongst threads. This can be used as a user-managed cache, enabling higher bandwidth than is possible using texture lookups&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. Faster downloads and readbacks to and from the GPU&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. Full support for integer and bitwise operations, including integer texture lookups.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/CUDA"&gt;KNOW MORE ABOUT CUDA...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-321111290470586960?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/321111290470586960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=321111290470586960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/321111290470586960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/321111290470586960'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/04/what-is-cuda-compute-unified-device.html' title='What is CUDA: Compute Unified Device Architecture'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8277183192438359298</id><published>2010-04-18T02:51:00.000-07:00</published><updated>2010-04-18T02:51:49.060-07:00</updated><title type='text'>Some facts about Graphics Processing Units...</title><content type='html'>A graphics processing unit or GPU&amp;nbsp; is a specialized processor that offloads 3D or 2D graphics rendering. It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for a range of complex algorithms. In a personal computer, a GPU can be present on a video card, or it can be on the motherboard. More than 90% of new desktop and notebook computers have integrated GPUs, which are usually far less powerful than those on a dedicated video card.&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;IBM Professional Graphics Controller &lt;/b&gt;was one of the very first 2D/3D graphics accelerators available for the IBM PC. Released in 1984, 10 years before hardware 3D acceleration became a standard, its high price (~$4500 USD @ 1984 currency), slow processor, and lack of compatibility with then-current commercial programs made it unable to succeed in the mass-market.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OpenGL&lt;/b&gt; appeared in the early 90s as a professional graphics API, but became a dominant force on the PC, and a driving force for hardware development. Software implementations of OpenGL were common during this time although the influence of OpenGL eventually led to widespread hardware support. Over time a parity emerged between features offered in hardware and those offered in OpenGL. &lt;b&gt;DirectX&lt;/b&gt; became popular among Windows game developers during the late 90s. Unlike OpenGL, Microsoft insisted on providing strict one-to-one support of hardware. The approach made DirectX less popular as a stand alone graphics API initially since many GPUs provided their own specific features, which existing OpenGL applications were already able to benefit from, leaving DirectX often one generation behind.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NVIDIA &lt;/b&gt;was first to produce a chip capable of programmable shading,&lt;br /&gt;&lt;br /&gt;In 2008, &lt;b&gt;Intel, NVIDIA and AMD/ATI&lt;/b&gt; were the market share leaders, with 49.4%, 27.8% and 20.6% market share respectively.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8277183192438359298?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8277183192438359298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8277183192438359298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8277183192438359298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8277183192438359298'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/04/some-facts-about-graphics-processing.html' title='Some facts about Graphics Processing Units...'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8682851156144540832</id><published>2010-04-05T23:22:00.000-07:00</published><updated>2010-04-05T23:23:26.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Website Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>What is JQuery???</title><content type='html'>Recently I met one of my friend who is running a software company in Chandigarh. I talked to some of the employees of Cybrain Solutions and saw some demos of their cool websites created in Jquery. They recentlt started working in JQuery. As of there ar very few websites are live but they are currently working on approximately 15 websites. Even many clients come up with their requirements and say "Can I have a cool web portal in JQuery". They are very excited about the coolness of JQuery&amp;nbsp;with good perfomance. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ppadprint.com/"&gt;http://www.ppadprint.com/&lt;/a&gt; ; This is first project by Cybrain Solutions and client want another website for another sister cocern.&lt;br /&gt;JQuery is a lightweight cross-browser JavaScript library that emphasizes interaction between JavaScript and HTML. JQuery is the most popular JavaScript library in use today.&lt;br /&gt;&lt;br /&gt;JQuery is free and open source software. jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plugins on top of the JavaScript library. Providing this option, developers are able to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. This contributes to the creation of powerful and dynamic web pages.&lt;br /&gt;&lt;br /&gt;Microsoft and Nokia have announced plans to bundle jQuery on their platforms. Microsoft adopting it initially within Visual Studio for use within Microsoft's ASP.NET AJAX framework and ASP.NET MVC Framework whilst Nokia has integrated it into their Web Run-Time widget development platform.&lt;br /&gt;&lt;br /&gt;The Seaside framework provides full integration of jQuery allowing to write web applications entirely in Smalltalk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8682851156144540832?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8682851156144540832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8682851156144540832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8682851156144540832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8682851156144540832'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/04/what-is-jquery.html' title='What is JQuery???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7115939355408602120</id><published>2010-03-20T01:56:00.000-07:00</published><updated>2010-03-20T01:56:32.785-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PERL'/><category scheme='http://www.blogger.com/atom/ns#' term='FILE-Handling'/><title type='text'>File Exist script in Perl</title><content type='html'>#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;$filename = 'C:\myfile.txt';&lt;br /&gt;&lt;br /&gt;if (-e $filename) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "File Exists!";&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;print "File does not Exist!";&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7115939355408602120?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7115939355408602120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7115939355408602120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7115939355408602120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7115939355408602120'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/03/file-exist-script-in-perl.html' title='File Exist script in Perl'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-188653999714195583</id><published>2010-01-21T08:17:00.000-08:00</published><updated>2010-01-21T08:17:12.908-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Bandwidth'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>What is Netlimiter?</title><content type='html'>NetLimiter is an internet traffic control and monitoring tool designed for Windows. &lt;br /&gt;&lt;br /&gt;We can use NetLimiter to set download/upload transfer rate limits for applications or even single connection and monitor their internet traffic.&lt;br /&gt;&lt;br /&gt;Netlimiter also offers comprehensive set of internet statistical tools. It includes real-time traffic measurement and long-term per-application internet traffic statistics.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;HIGHLIGHTS:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Network Monitor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NetLimiter shows list of all applications communicating over network. It will show connections, transfer-rates and more.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Bandwidth-Limiter/Bandwidth Shaper&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can use NetLimiter to set download or upload transfer rate limits for applications, connections or groups of them. &lt;br /&gt;With limits we can easily manage internet connection?s bandwidth (bandwidth shaper or bandwidth controller)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Statistical tool&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This feature lets you to track your internet traffic history since you've installed NetLimiter.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.Additional network information&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NetLimiter 2 provides you with and additional information like WHOIS, traceroute etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Rule scheduler (and more...)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Remote administration, Personal firewall, Running as WinNT service, User rights, Chart, Advanced Rule editor and scheduler, Zone based traffic management...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MAIN FEATURES:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Limits&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We can use NetLimiter to set download/upload transfer rate limits for applications/connections. With limits we can easily manage our internet connection?s bandwidth (bandwidth shaper) and share it among all applications running on your computer.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Grants&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;When we set grant for application/connection then it means that we grant specified bandwidth for it. If other application/connections take too much bandwidth, then it is taken from them and is given to application/connection with granted bandwidth.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Network monitor&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;NetLimiter shows list of all applications communicating over network&amp;nbsp; with their connections and transfer rates.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Personal firewall functionality&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We can allow/deny certain applications to connect to/from any network.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Zones&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;NetLimiter monitors and controls traffic separately on three predefined zones - My Computer, Local Network and Internet. For example, we can limit the traffic rate of our browser downloading from the Internet and let it download from intranet at full speed.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Filters&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;With filters we can define groups of connections/applications and then apply rules to them. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Rule editor and scheduler&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Rule editor helps us to create advanced rules. For example, we can create limit/firewall rule for a group of applications which is valid only in a given time interval.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Network manager&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Using Network manager we can assign networks present on you computer to NetLimiter zones. It's also possible to add your own networks.&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;- Statistics&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;NetLimiter stats module is intended for long-term measurement of internet traffic. This feature lets us to track our internet traffic history since we have installed NetLimiter. NetLimiter is able to automatically export statistical data to disk. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Traffic chart&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Traffic chart shows application's or connection's real time activity.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;- Remote administration&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We can control and monitor other computers remotely from one place.&lt;br /&gt;&lt;br /&gt;To know more &lt;a href="http://www.netlimiter.com/"&gt;Click Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-188653999714195583?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/188653999714195583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=188653999714195583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/188653999714195583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/188653999714195583'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-is-netlimiter.html' title='What is Netlimiter?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1695896983833260182</id><published>2010-01-11T07:47:00.000-08:00</published><updated>2010-01-11T07:47:16.844-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Website Development'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>IDs and CLASSs in CSS...</title><content type='html'>&lt;b&gt;IDs and CLASSs in CSS:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Apart from styles for a HTML tag CSS aslo allows us to specify our own selectors called "id" and "class".&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ID SELECTOR:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The id selector is used to specify a style for a single and unique element. The id selector uses id attribute of HTML-element and it's defined with a #.&lt;br /&gt;&lt;br /&gt;#ID1&lt;br /&gt;{&lt;br /&gt;text-align:right;&lt;br /&gt;color:blue;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CLASS SELECTOR:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Class selector is used to specify a style for a group of HTML elements. Class selector is most often used on several HTML elements. This allows you to set a particular style for any HTML elements with the same class.&lt;br /&gt;&lt;br /&gt;The class selector uses the HTML class attribute, and is defined with a "."&lt;br /&gt;&lt;br /&gt;A.left&lt;br /&gt;{&lt;br /&gt;text-align:left;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;According to the line above all A elements with class="left" will be left aligned.&lt;br /&gt;&lt;br /&gt;NOTE: Ids/Calsses does not work in Mozilla/Firefox if their names start with a number.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1695896983833260182?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1695896983833260182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1695896983833260182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1695896983833260182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1695896983833260182'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/ids-and-classs-in-css.html' title='IDs and CLASSs in CSS...'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8810550873537337098</id><published>2010-01-11T06:33:00.000-08:00</published><updated>2010-01-11T06:33:57.288-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Website Development'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Basics of CSS and how its useful for your website...</title><content type='html'>&lt;b&gt;Basics of CSS and how its useful for your website&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Cascading Style Sheets&lt;br /&gt;&lt;br /&gt;- Styles define&amp;nbsp; how to display HTML elements&lt;br /&gt;- Styles were added to HTML 4.0 to solve a problem&lt;br /&gt;- External Style Sheets can save a lot of work&lt;br /&gt;- External Style Sheets are stored in CSS files&lt;br /&gt;&lt;br /&gt;Development of large web sites where fonts and color information were added to every single page became a long and expensive process because of repetitive inserstion of required tags.&lt;br /&gt;&lt;br /&gt;World Wide Web Consortium (W3C) created CSS to solve this problem...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CSS SYNTAX:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A CSS rule has two main parts: a selector, and one or more declarations.Each declaration consists of a property and a value.The property is the style attribute you want to change. Each property has a value.&lt;br /&gt;&lt;br /&gt;/* Commnets */&lt;br /&gt;H1&lt;br /&gt;{&lt;br /&gt;color:blue;&lt;br /&gt;text-align:left;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8810550873537337098?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8810550873537337098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8810550873537337098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8810550873537337098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8810550873537337098'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/basics-of-css-and-how-its-useful-for.html' title='Basics of CSS and how its useful for your website...'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1624726346744337346</id><published>2010-01-09T20:44:00.000-08:00</published><updated>2010-01-09T20:44:23.647-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Checkpoints'/><title type='text'>What are Checkpoints in QTP?</title><content type='html'>&lt;b&gt;What are Checkpoints in QTP?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A checkpoint is a verification point that compares a current value for a specified property with the expected value for that property. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Types of Checkpoints in QTP:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Standard Checkpoint:&lt;/b&gt; Checks the property value of the object in an application or Webpage. It checks buttons,Radiobuttons,Comboboxes etc&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Bitmap checkpoint&lt;/b&gt;: Checks the value of an image in the application.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Text checkpoins:&lt;/b&gt; Checks whether the text string is displayed in the appropriate place in your application or on a Web page &lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Text Area checkpoint&lt;br /&gt;- Database checkpoint&lt;/b&gt;: Checks the contents of a database accessed by the application &lt;br /&gt;&lt;br /&gt;&lt;b&gt;- XML Checkpoint&lt;/b&gt;: Checks the data content of XML documents in the application.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Note:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;- Before creating checkpoints on web objects we have to select web-test option in ADD-IN Manager.&lt;br /&gt;- If the objects developed in HTML we can use Standard Check point.&lt;br /&gt;- If the Objects developed in XML we can use XML Check point.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How Checkpoints work?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In Checkpoints, we define what should be the state of an object at particular time. e.g.- If I have an application where a particular button gets enabled on some specific operation. I will automate that operation and will apply a checkpoint that Button should be enabled and its value should be 'OK'.... So we apply checkpoint on properties of different types of objects..&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sample Objects that QuickTest can be verified:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Windows:&lt;/b&gt;&lt;br /&gt;- Window&lt;br /&gt;- Edit-Field&lt;br /&gt;- Drop-Down List&lt;br /&gt;- Menu command&lt;br /&gt;- Radio Button&lt;br /&gt;- Checkbox&lt;br /&gt;- Windows Object&lt;br /&gt;- Status Bar&lt;br /&gt;- Text Area&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WEB:&lt;/b&gt;&lt;br /&gt;- Browser&lt;br /&gt;- Text Area&lt;br /&gt;- Text Link&lt;br /&gt;- Images&lt;br /&gt;- Image Link&lt;br /&gt;- Edit Field&lt;br /&gt;- Drop Down List&lt;br /&gt;- checkbox&lt;br /&gt;- Radio Button&lt;br /&gt;- Tables/Grids&lt;br /&gt;- web Elements&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1624726346744337346?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1624726346744337346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1624726346744337346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1624726346744337346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1624726346744337346'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-are-checkpoints-in-qtp.html' title='What are Checkpoints in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-6661548885944536172</id><published>2010-01-08T08:17:00.000-08:00</published><updated>2010-01-08T08:17:01.646-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Synchronization'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><title type='text'>What is Synchronization in QTP?</title><content type='html'>&lt;b&gt;What is Synchronization in QTP?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Synchronization refers to adding a step in the script that instructs Quick Test to wait for a particular object before proceeding to the next step during playback.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;When do we need SYNCHRONIZATION ?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When you observe that the application takes a longer time to process information sent or respond to a client request, add a synchronization step while recording. E.g.-:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - A progress bar to reach 100%.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - A button to become enabled...&lt;br /&gt;&amp;nbsp;&amp;nbsp; - A window or pop-up message to open. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;b&gt;How to Add Synchronization?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Synchronization can be added only during recording.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Identify the object to be synchronized.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Navigate to the window where the object is located.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Locate the step in the test that corresponds to the object.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Start recording and &lt;i&gt;add the synchronization point.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Two Ways of Setting Synchronization Point?&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Global synchronization value for all Objects:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Instructs Quick Test to wait for all the objects for a specific amount of time.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MENU &amp;gt; TEST &amp;gt; SETTINGS &amp;gt; RUN &amp;gt; "Object Synchronization Timeout" : For every object in the test, Quick Test can wait a maximum number of milliseconds specified in the settings&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Synchronization of a specific Object:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Instructs Quick Test to wait for a specific object only.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Menu &amp;gt; Insert &amp;gt; Step &amp;gt; Synchronization Point&lt;br /&gt;&lt;br /&gt;Quick Test shall pause the test until the object property achieves the value specified (or until the specific timeout amount is exceeded)...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;Quick Test uses one of the object’s properties as the waiting criteria. E.g. ‘Text’ property for window, ‘Label’ property for buttons etc...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-6661548885944536172?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/6661548885944536172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=6661548885944536172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6661548885944536172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6661548885944536172'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-is-synchronization-in-qtp.html' title='What is Synchronization in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3723853023816009236</id><published>2010-01-07T09:37:00.000-08:00</published><updated>2010-01-07T10:02:33.437-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Software-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>What are different recording modes in QTP???</title><content type='html'>&lt;b&gt;1) Normal recording&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is used for recording the operations perform at different contacts on the standard GUI objects.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) Analog Recording&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is used for recording the continuous operations. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3) Low-level Recording&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;It is special recording mode provided by QTP, which is used for recording the minimum operations on the non-Supported environments also.&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It will generate the corresponding test script statement for every user action.&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It will also store the required related information in the object repository.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3723853023816009236?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3723853023816009236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3723853023816009236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3723853023816009236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3723853023816009236'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-are-different-recording-modes-in.html' title='What are different recording modes in QTP???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8654300495655137780</id><published>2010-01-06T06:41:00.000-08:00</published><updated>2010-01-06T06:41:47.494-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>What is Smart Identification in QTP?</title><content type='html'>&lt;b&gt;What is Smart Identification in QTP?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When QuickTest uses the learned description to identify an object, it searches for an object that matches all of the property values in the description. In most cases, this description is thesimplest way to identify the object and unless the main properties of the object change this methodwill work.&lt;br /&gt;&lt;br /&gt;If QuickTest is unable to find any object that matches the learned object description or if it finds more than one object that fits the description, then QuickTest ignores the learned description and uses the Smart Identification mechanism to try to identify the object.&lt;br /&gt;&lt;br /&gt;Smart Identification mechanism is more complex and very flexible. If configured logically a SmartIdentification definition can probably help QuickTest identification of  an object if it is present even when the learned description fails.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Smart Identification mechanism uses two types of properties:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1) Base Filter Properties:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The most fundamental properties of a particular test object class whose values cannot be changed without changing the essence of the original object. For example, if Web link's tag was changed from to any other value, you could no longer call it the same object.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; 2) Optional Filter Properties:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Other properties that can help identify objects of a particular class. These properties are unlikely  to change on a regular basis but can be ignored if they are no longer applicable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8654300495655137780?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8654300495655137780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8654300495655137780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8654300495655137780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8654300495655137780'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-is-smart-identification-in-qtp.html' title='What is Smart Identification in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5323883508269869081</id><published>2010-01-05T03:02:00.000-08:00</published><updated>2010-01-05T03:02:10.418-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Denial of Services'/><title type='text'>What are Ordinal Identifiers in QTP?</title><content type='html'>What are Ordinal Identifiers in QTP?&lt;br /&gt;&lt;br /&gt;If QTP feels that its unable to uniquely identify an object on the basis of Mandatory and Assitive properties then it looks for Ordinal Identifiers.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Generally we should not encourage the Ordinal Identifier but when the application is Stable then we may use it.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Once the application is stable then only we go for Automation, till such time we do only manual testing.&lt;br /&gt;&lt;br /&gt;There are three types of ordinal identifiers that QuickTest can use to identify an object: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp; Index&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp; LOcation&lt;br /&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp; Creation Time&lt;br /&gt;&lt;br /&gt;1. "Index" Indicates the order in which the object appears in the application code relative to other objects with an otherwise identical description. &lt;br /&gt;&lt;br /&gt;2. "Location" Indicates the order in which the object appears within the parent window frame/dialog box relative to other objects with an otherwise identical description.&lt;br /&gt;&lt;br /&gt;3. "CreationTime" (Browser object only) Indicates the order in which the browser was opened relative to other open browsers with an otherwise identical description&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5323883508269869081?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5323883508269869081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5323883508269869081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5323883508269869081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5323883508269869081'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/what-are-ordinal-identifiers-in-qtp.html' title='What are Ordinal Identifiers in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3204591210533778393</id><published>2010-01-04T04:27:00.000-08:00</published><updated>2010-01-04T04:27:16.366-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Whats is an Object Repository in QTP?</title><content type='html'>&lt;b&gt;Whats is Object Repository in QTP: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It's defined as a Storage place where we can store the Objects' information and it also act as an Interface between the Test Script and AUT in order to Identify the Object during the execution.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Types of Object Repository:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Per-Action Repository&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Shared Repository&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Per-Action Repository:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For every action a Separate individual repository is created automatically and managed by QTP.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Per-action repository&amp;nbsp; can’t be Re-usable&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Space&amp;nbsp; required for storage is Less&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Execution speed is fast&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Shared Repository:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Repository needs to be associated to the corresponding test manually.&lt;br /&gt;&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; For long run we go for shared repository even though we need to create manully.&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Shared repository can be re-usable &lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Space&amp;nbsp; required for storage is more &lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Execution speed is slow&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Easily maintenance&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3204591210533778393?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3204591210533778393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3204591210533778393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3204591210533778393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3204591210533778393'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2010/01/whats-is-object-repository-in-qtp.html' title='Whats is an Object Repository in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8948928687975355633</id><published>2009-12-23T20:38:00.000-08:00</published><updated>2009-12-23T20:40:48.079-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><title type='text'>What are different Recording Modes in QTP?</title><content type='html'>There are three basic Recording modes in &lt;a href="http://www.amazon.com/QuickTest-Professional-Interview-Questions-Guidelines/dp/0979147905?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;QTP&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0979147905" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;:&lt;br /&gt;&lt;br /&gt;1) &lt;a href="http://www.amazon.com/QuickTest-Professional-Unplugged-Tarun-Lalwani/dp/0578025795?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Normal recording in QTP&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0578025795" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-align: justify; text-indent: -0.25in;"&gt;It is used for recording the operations perform at different contacts on the standard GUI objects. During this all actions are recorded with Objects details in &lt;a href="http://www.amazon.com/Learning-Objects-Standards-Metadata-Repositories/dp/8392233751?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Object repository&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=8392233751" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;.&lt;style&gt;!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";}.MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;}@page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;}div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:938372567; mso-list-type:hybrid; mso-list-template-ids:-896878336 -150576432 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}@list l0:level1 {mso-level-tab-stop:.75in; mso-level-number-position:left; margin-left:.75in; text-indent:-.25in;}ol {margin-bottom:0in;}ul {margin-bottom:0in;}--&gt;&lt;/style&gt; It will generate the corresponding test script statement for every user action. It will also store the required related information in the object repository.&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-align: justify; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-align: justify; text-indent: -0.25in;"&gt;QTP records in Normal mode by default and takes full advantage of QTP Object Model , recognizing application objects regardless of their location on screen.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2) &lt;a href="http://www.amazon.com/QTP-Interview-Questions-Hakeem-Shittu/dp/B00262U7VW?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Analog Recording in QTP&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B00262U7VW" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It is used for recording the continuous operations. This is useful for the cases where we need to record exact mouse or Keyboard operation in relation to Screen or application. This is useful when Normal reocrding does ot work for you. E.g.- It will be helpful where we want to record mouse drag operation. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3) &lt;a href="http://www.amazon.com/QuickTest-Professional-Unplugged/dp/B002ACTWSM?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Low-level Recording in QTP&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B002ACTWSM" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It is special recording mode provided by QTP, which is used for recording the minimum operations&amp;nbsp;&amp;nbsp; on&amp;nbsp; the Non-Supported environments also.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This mode records at object level and records all run-time objects as windows or winobject test objects. You can also use this recording mode in case exact coordinates are important for your testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8948928687975355633?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8948928687975355633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8948928687975355633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8948928687975355633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8948928687975355633'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/12/what-are-different-recording-modes-in.html' title='What are different Recording Modes in QTP?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3720886289060737776</id><published>2009-12-23T00:37:00.000-08:00</published><updated>2009-12-23T00:37:00.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><title type='text'>What is the basic difference between Structural and Functional Testing?</title><content type='html'>Different people use different &lt;a href="http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Software terminologies&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0735611319" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; as per their convenience&amp;nbsp; and here are two more which are used in &lt;a href="http://www.amazon.com/Business-Software-Manager-Programmer-Entrepreneur/dp/074321580X?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Software Industry&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=074321580X" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, specifically among Quality Prfessionals. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/Soil-Testing-Manual-Procedures-Classification/dp/0071363637?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Structural testing&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0071363637" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; is about comparing software behavior against the apparent intention of the source code wirtten to execute it. Many testers call it &lt;a href="http://www.amazon.com/White-Box-Insert-Plain/dp/0761685014?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;White-Box Testing&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0761685014" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; or Glass-Box Testing :) Structural testing is also called path testing since you choose test cases that cause paths to be taken through the structure of the program. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Other the other side, &lt;a href="http://www.amazon.com/Black-Box-Testing-Techniques-Functional-Software/dp/0471120944?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;functional testing&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0471120944" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; is about comparing workflows behavior in the application against user requirements specification. This is also called as Black-Box Testing.&lt;br /&gt;&lt;br /&gt;Structural testing verifies how the program works by considering possible pitfalls in the structure and logic. In Functional testing, nobody is bothered about the internals. It simply focuses on the end results and way they are delivered to users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3720886289060737776?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3720886289060737776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3720886289060737776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3720886289060737776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3720886289060737776'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/12/what-is-basic-difference-between.html' title='What is the basic difference between Structural and Functional Testing?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3823753345223406315</id><published>2009-12-22T04:35:00.000-08:00</published><updated>2009-12-22T04:35:12.954-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Code-Coverage'/><title type='text'>What is Code Coverage and how does it impact Software Quality?</title><content type='html'>I would like to take second question first: &lt;a href="http://www.amazon.com/Verification-Methodology-Manual-Coverage-Designer/dp/0953848205?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Code coverage&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0953848205" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; is considered as an extended step towards ensuring good &lt;a href="http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;quality of the software&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0321336380" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; by indirect means. Why I explained it in this way?&lt;br /&gt;&lt;br /&gt;In my opinion Code coverage is more about assuring quality of test-cases and finding redundant code, not about quality of actual product we are developing. Realistically its very difficult to do Code coverage exceises with actual testing. So normally teams &lt;a href="http://www.amazon.com/Certified-Software-Quality-Engineer-Handbook/dp/0873897307?ie=UTF8&amp;amp;tag=frozmome-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Quality Engineers&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=frozmome-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0873897307" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; try to find out the cases they need to add and test-cases which does not help in improving the coverage.&lt;br /&gt;&lt;br /&gt;You may not agree, as its my personal opinion.&lt;br /&gt;&lt;br /&gt;Now lets come to first question about what it is?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code Coverage is methodology to:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.&amp;nbsp; Find different program areas not excercised by Testers through pre-identified set of Test cases.&lt;br /&gt;2. Add new test cases to increase coverage in terms of Functional/Statement/Decision/Conditional-coverages&lt;br /&gt;3.&amp;nbsp; Identify overall gap between the actual coverage and targetted coverage. Its more about statistics which helps a Quality engineering team to know about the other quality measures of a Software.&lt;br /&gt;4. To identify redundant test-cases which have 0% contribution in coverage increase.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Most of the times last point is not considered but we should not forget that its also a wastage of resources/time when we run redundant test-cases which adds no value.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3823753345223406315?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3823753345223406315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3823753345223406315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3823753345223406315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3823753345223406315'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/12/what-is-code-coverage-and-how-does-it.html' title='What is Code Coverage and how does it impact Software Quality?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8434677923726374847</id><published>2009-09-05T09:14:00.000-07:00</published><updated>2009-09-05T09:15:51.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>What is winDBG???</title><content type='html'>WinDbg is a multipurpose debugger for Microsoft Windows, distributed on the web by Microsoft. It can be used to debug user mode applications, drivers, and the operating system itself in kernel mode. It is a GUI application, but has little in common with the more well-known, but less powerful, Visual Studio Debugger.&lt;br /&gt;&lt;br /&gt;WinDbg can be used for debugging kernel-mode memory dumps, created after what is commonly called the Blue Screen of Death which occurs when a bug check is issued. It can also be used to debug user-mode crash dumps. This is known as Post-mortem debugging.&lt;br /&gt;&lt;br /&gt;WinDbg also has the ability to automatically load debugging symbol files (e.g., PDB files) from a server by matching various criteria (e.g., timestamp, CRC, single or multiprocessor version). This is a very helpful and time saving alternative to creating a symbol tree for a debugging target environment. If a private symbol server is configured, the symbols can be correlated with the source code for the binary. This eases the burden of debugging problems that have various versions of binaries installed on the debugging target by eliminating the need for finding and installing specific symbols version on the debug host. Microsoft has a public symbol server that has most of the public symbols for Windows 2000 and later versions of Windows (including service packs).&lt;br /&gt;&lt;br /&gt;Recent versions of WinDbg have been distributed as part of the free Debugging Tools for Windows suite, which shares a common debugging engine between WinDbg. This means that most commands will work in all alternative versions without modification, allowing users to use the style of interface with which they are most comfortable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8434677923726374847?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8434677923726374847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8434677923726374847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8434677923726374847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8434677923726374847'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/09/what-is-windbg.html' title='What is winDBG???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4421721495286750143</id><published>2009-08-27T10:05:00.000-07:00</published><updated>2009-09-04T07:00:10.960-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memory Leak Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='memory management'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance Testing'/><title type='text'>What is BoudsChecker :  Memory Leak Testing Tool</title><content type='html'>BoundsChecker is a memory checking tool used for C++ software development with Microsoft Visual C++. It is part of the DevPartner for Visual C++ BoundsChecker Suite. Comparable tools are Purify, Insure++ and Valgrind.&lt;br /&gt;&lt;br /&gt;BoundsChecker can be run in two modes: ActiveCheck, which does not instrument the application, and FinalCheck, which does.&lt;br /&gt;&lt;br /&gt;ActiveCheck performs a less intrusive analysis and monitors all calls by the application to the C Runtime Library, Windows API and calls to COM objects. By monitoring memory allocations and releases, it can detect memory leaks and overruns. Monitoring API and COM calls enables ActiveCheck to check parameters, returns and exceptions and report exceptions when they occur. Thread deadlocks can also be detected by monitoring of the synchronization objects and calls giving actual and potential deadlock detection.&lt;br /&gt;&lt;br /&gt;FinalCheck requires an instrumented build and gives a much deeper but more intrusive analysis. It provides all of the detection features of ActiveCheck plus the ability to detect buffer overflows (read and write) and uninitialized memory accesses. It monitors every scope change, pointer and memory usage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4421721495286750143?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4421721495286750143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4421721495286750143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4421721495286750143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4421721495286750143'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/08/what-is-boudschecker-memory-leak.html' title='What is BoudsChecker :  Memory Leak Testing Tool'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4256252196499383146</id><published>2009-08-27T09:20:00.000-07:00</published><updated>2009-09-01T10:57:26.897-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='web proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='https'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><category scheme='http://www.blogger.com/atom/ns#' term='Log-management'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-Testing'/><title type='text'>Filtering Mechanisms in Fiddler: Can we see filtered http calls made through a particular Application?</title><content type='html'>Yes, Fiddler provide very efficient ways to filter http requests generated through particular application. Here are the steps to achieve this:&lt;br /&gt;&lt;br /&gt;- Launch fiddler&lt;br /&gt;- Start your Application&lt;br /&gt;- Launch Fiddler&lt;br /&gt;- Go to Filter tab on right hand side&lt;br /&gt;- Check "Use Filters" option&lt;br /&gt;- Now all filter parameters will be enabled.&lt;br /&gt;- Go to "Client process" section&lt;br /&gt;- Check option : "Show traffic only from"&lt;br /&gt;- Now a dropdown will be enabled &gt;&gt; Select the exe you want to monitor&lt;br /&gt;- This dropdown shows all the processes running on your machine&lt;br /&gt;&lt;br /&gt;Apart from this, there are different type of Filters.&lt;br /&gt;&lt;br /&gt;1. Filtering on the basis of Hosts. E.g.- you can opt to see only those calls which are made on www.google.com&lt;br /&gt;2. You can also opt for seeing calls which are failing by selecting option for hiding success calls :)&lt;br /&gt;3. We can filter on the basis on content : Images, Text, HTTP, Scripts...&lt;br /&gt;&lt;br /&gt;Explore Filter Menu in details....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4256252196499383146?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4256252196499383146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4256252196499383146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4256252196499383146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4256252196499383146'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/08/filtering-mechanisms-in-fiddler-can-we.html' title='Filtering Mechanisms in Fiddler: Can we see filtered http calls made through a particular Application?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-6505655504209505364</id><published>2009-08-25T11:50:00.000-07:00</published><updated>2009-08-27T09:17:20.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='SysInternals'/><category scheme='http://www.blogger.com/atom/ns#' term='FILE-Handling'/><category scheme='http://www.blogger.com/atom/ns#' term='Remote Monitoring'/><title type='text'>What is Filemon?</title><content type='html'>FileMon monitors and displays file system activity on a system in real-time. Its advanced capabilities make it a powerful tool for exploring the way Windows works, seeing how applications use the files and DLLs, or tracking down problems in system or application file configurations. Filemon's timestamping feature will show you precisely when every open, read, write or delete, happens, and its status column tells you the outcome. FileMon is so easy to use that you'll be an expert within minutes. It begins monitoring when you start it, and its output window can be saved to a file for off-line viewing. It has full search capability, and if you find that you're getting information overload, simply set up one or more filters.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Filtering&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the Filter dialog, which is accessed with a toolbar button or the Edit|Filter/Highlight menu selection, to select what data will be shown in the list view. The '*' wildcard matches arbitrary strings, and the filters are case-insensitive. Only matches shown in the include filter, but that are not excluded with the exclude filter, are displayed. Use ';' to separate multiple strings in a filter (e.g. "filemon;temp"). Windows NT/2000 note: because of the asynchronous nature of file I/O, its not possible to filter on the result field.&lt;br /&gt;&lt;br /&gt;For example, if the include filter is "c:\temp", and the exclude filter is "c:\temp\subdir", all references to files and directories under c:\temp, except to those under c:\temp\subdir will be monitored.&lt;br /&gt;&lt;br /&gt;Wildcards allow for complex pattern matching, making it possible to match specific file accesses by specific applications, for example. The include filter "Winword*Windows" would have FileMon only show accesses by Microsoft Word to files and directories that include the word "Windows".&lt;br /&gt;&lt;br /&gt;Use the highlight filter specify output that you want to have highlighted in the listview output. Select highlighting colors with Edit|Highlight Colors.&lt;br /&gt;&lt;br /&gt;Additional filter options select or deselect read, write or open operations. In many troubleshooting scenarios only open operations are of interest, for example.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Selecting Volumes (Windows NT/2K/XP/2K3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Volumes menu can be used to select and deselect monitored volumes. Select the Network menu item to monitor accesses to any network resources, including remote shares and UNC path name accesses to remote volumes.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Limiting Output&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The History Depth dialog, accessed via toolbar button or the Edit|History menu item, allows you to specify the maximum number of lines that will be remembered in the output window. A depth of 0 is used to signify no limit.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Searching the Output&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can search the output window for strings using the Find menu item (or the find toolbar button). You can repeat the search in the forward direction with the F3 key and in reverse with Shift+F3. To start a search at a particular line in the output, select the desired line by clicking on the far left column (the index number). If no line is selected a new search starts at the first entry in searching down, and at the last entry for searching up.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Options&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;FileMon can either timestamp events or show their duration. The Options menu and the clock toolbar button let you toggle between the two modes. The button on the toolbar shows the current mode with a clock or a stopwatch. When showing duration the Time field in the output shows the number of seconds it took for the underlying file system to service particular requests. The Options|Show Milliseconds menu entry lets you add millisecond resolution to times presented when FileMon shows clock times.&lt;br /&gt;&lt;br /&gt;You can toggle FileMon to always remain a top window with the Options|Always On Top menu item. In addition, you can toggle FileMon not to scroll the listview via the Options|Auto Scroll menu item or corresponding toolbar button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Named Pipes and Mail Slots&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Starting in version 4.1 FileMon is able to monitor named pipe and mail slot file system activity on Windows NT/2K. Named pipes are commonly used as a communications mechanism in NT/Win2K by core subsystems like the Local Security Authority Subsystem (LSASS), and are used by DCOM. They are also used by network components such as the Browser service. To see named pipe activity with FileMon select Named Pipes in the Drives menu and perform an operation on a shared network resource, or open an application such as Regedt32 that interacts with the security subsystem.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;How FileMon Works&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the Windows 9x driver, the heart of FileMon is in the virtual device driver, Filevxd.vxd. It is dynamically loaded, and in its initialization it installs a file system filter via the VxD service, IFSMGR_InstallFileSystemApiHook, to insert itself onto the call chain of all file system requests. On Windows NT the heart of FileMon is a file system driver that creates and attaches filter device objects to target file system device objects so that FileMon will see all IRPs and FastIO requests directed at drives. When FileMon sees an open, create or close call, it updates an internal hash table that serves as the mapping between internal file handles and file path names. Whenever it sees calls that are handle based, it looks up the handle in the hash table to obtain the full name for display. If a handle-based access references a file opened before FileMon started, FileMon will fail to find the mapping in its hash table and will simply present the handle's value instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-6505655504209505364?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/6505655504209505364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=6505655504209505364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6505655504209505364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6505655504209505364'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/08/what-is-filemon.html' title='What is Filemon?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5577580497569108529</id><published>2009-08-25T11:07:00.000-07:00</published><updated>2009-08-25T11:46:53.444-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SysInternals'/><category scheme='http://www.blogger.com/atom/ns#' term='Remote Monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>What is DBGView?</title><content type='html'>&lt;em&gt;Its a very useful application developed by SysInternals which is acquired by Microsoft now.&lt;br /&gt;&lt;br /&gt;DebugView&lt;/em&gt; is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don't need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;DebugView Captures:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Under Windows 2000, XP, Server 2003 and Vista DebugView will capture:&lt;br /&gt;&lt;br /&gt;    * Win32 OutputDebugString&lt;br /&gt;    * Kernel-mode DbgPrint&lt;br /&gt;    * All kernel-mode variants of DbgPrint implemented in Windows XP and Server 2003&lt;br /&gt;&lt;br /&gt;DebugView also extracts kernel-mode debug output generated before a crash from Window's 2000/XP crash dump files if DebugView was capturing at the time of the crash.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Simply execute the DebugView program file (dbgview.exe) and DebugView will immediately start capturing debug output. Note that if you run DebugView on Windows 2000/XP you must have administrative privilege to view kernel-mode debug output. Menus, hot-keys, or toolbar buttons can be used to clear the window, save the monitored data to a file, search output, change the window font, and more. The on-line help describes all of DebugView's features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5577580497569108529?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5577580497569108529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5577580497569108529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5577580497569108529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5577580497569108529'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/08/what-is-dbgview.html' title='What is DBGView?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1495369719657574809</id><published>2009-08-13T23:26:00.000-07:00</published><updated>2009-08-14T02:52:16.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='QTP'/><title type='text'>Basics about QTP : Mercury Interactive Functional Testing Tool (Now HP)</title><content type='html'>1. QTP : Quick Test Professional, a Mercury Interactive Functional Testing Tool&lt;br /&gt;&lt;br /&gt;(Now an HP tool afer overtake)&lt;br /&gt;&lt;br /&gt;2. Scripting language used by QTP: QTP uses VB scripting.&lt;br /&gt;&lt;br /&gt;3. QTP is based on two concept Recording &amp;amp; Playback&lt;br /&gt;&lt;br /&gt;4. How many types of recording facility are available in QTP ?&lt;br /&gt;&lt;br /&gt;QTP provides three types of recording methods-&lt;br /&gt;- Context Recording (Normal)&lt;br /&gt;- Analog Recording&lt;br /&gt;- Low Level Recording&lt;br /&gt;&lt;br /&gt;5. How many types of Parameters are available in QTP ?&lt;br /&gt;&lt;br /&gt;QTP provides three types of Parameter-&lt;br /&gt;- Method Argument&lt;br /&gt;- Data Driven&lt;br /&gt;- Dynamic&lt;br /&gt;&lt;br /&gt;6. What is QTP testing process ?&lt;br /&gt;&lt;br /&gt;QTP testing process consist of seven steps-&lt;br /&gt;- Preparing to recoding&lt;br /&gt;- Recording&lt;br /&gt;- Enhancing your script&lt;br /&gt;- Debugging&lt;br /&gt;- Run&lt;br /&gt;- Analyze&lt;br /&gt;- Report Defects&lt;br /&gt;&lt;br /&gt;7. What is Active Screen ?&lt;br /&gt;&lt;br /&gt;It provides the snapshots of your application as it appeared when you performed a&lt;br /&gt;&lt;br /&gt;certain steps during recording session.&lt;br /&gt;&lt;br /&gt;8. What is Test Pane ?&lt;br /&gt;&lt;br /&gt;Test Pane contains Tree View and Expert View tabs.&lt;br /&gt;&lt;br /&gt;9. What is Data Table ?&lt;br /&gt;&lt;br /&gt;It assists you about parameterizing the test.&lt;br /&gt;&lt;br /&gt;10. What is the Test Tree ?&lt;br /&gt;&lt;br /&gt;It provides graphical representation of your operations which you have performed&lt;br /&gt;&lt;br /&gt;with your application.&lt;br /&gt;&lt;br /&gt;11. Which all environment QTP supports ?&lt;br /&gt;&lt;br /&gt;ERP/ CRM&lt;br /&gt;Java/ J2EE&lt;br /&gt;VB, .NET&lt;br /&gt;Multimedia, XML&lt;br /&gt;Web Objects, ActiveX controls&lt;br /&gt;SAP, Oracle, Siebel, PeopleSoft&lt;br /&gt;Web Services, Terminal Emulator&lt;br /&gt;IE, NN, AOL&lt;br /&gt;&lt;br /&gt;12. How can you view the Test Tree ?&lt;br /&gt;&lt;br /&gt;The Test Tree is displayed through Tree View tab.&lt;br /&gt;&lt;br /&gt;13. What’s the Expert View ?&lt;br /&gt;&lt;br /&gt;Expert View display the Test Script.&lt;br /&gt;&lt;br /&gt;14. Which keyword is used for Nornam Recording ?&lt;br /&gt;&lt;br /&gt;F3&lt;br /&gt;&lt;br /&gt;15. Which keyword is used to run the test script ?&lt;br /&gt;&lt;br /&gt;F5&lt;br /&gt;&lt;br /&gt;16. Which keyword is used to stop the recording ?&lt;br /&gt;&lt;br /&gt;F4&lt;br /&gt;&lt;br /&gt;17. Which keyword is used for Analog Recording ?&lt;br /&gt;&lt;br /&gt;Ctrl+Shift+F4&lt;br /&gt;&lt;br /&gt;18. Which keyword is used for Low Level Recording ?&lt;br /&gt;&lt;br /&gt;Ctrl+Shift+F3&lt;br /&gt;&lt;br /&gt;19. Which keyword used to switch between Tree View and Expert View ?&lt;br /&gt;&lt;br /&gt;Ctrl+Tab&lt;br /&gt;&lt;br /&gt;20. What is a Transaction ?&lt;br /&gt;&lt;br /&gt;You can measure how long it takes to run a section of your test by defining&lt;br /&gt;&lt;br /&gt;transactions.&lt;br /&gt;&lt;br /&gt;21. Where you can view the results of the checkpoint ?&lt;br /&gt;&lt;br /&gt;You can view the results of the checkpoints in the Test Result Window.&lt;br /&gt;&lt;br /&gt;22. What is Standard Checkpoint ?&lt;br /&gt;&lt;br /&gt;Standard Checkpoints checks the property value of an object in your application or&lt;br /&gt;&lt;br /&gt;web page.&lt;br /&gt;&lt;br /&gt;23. Which environment are supported by Standard Checkpoint ?&lt;br /&gt;&lt;br /&gt;Standard Checkpoint are supported for all add-in environments.&lt;br /&gt;&lt;br /&gt;24. What is Image Checkpoint ?&lt;br /&gt;&lt;br /&gt;Image Checkpoint check the value of an image in your application or web page.&lt;br /&gt;&lt;br /&gt;25. Which environments are supported by Image Checkpoint ?&lt;br /&gt;&lt;br /&gt;Image Checkpoint are supported only Web environment.&lt;br /&gt;&lt;br /&gt;26. What is Bitmap Checkpoint ?&lt;br /&gt;&lt;br /&gt;Bitmap Checkpoint checks the bitmap images in your web page or application.&lt;br /&gt;&lt;br /&gt;27. Which environment are supported by Bitmap Checkpoints ?&lt;br /&gt;&lt;br /&gt;Bitmap checkpoints are supported all add-in environment.&lt;br /&gt;&lt;br /&gt;28. What is Table Checkpoints ?&lt;br /&gt;&lt;br /&gt;Table Checkpoint checks the information with in a table.&lt;br /&gt;&lt;br /&gt;29. Which environments are supported by Table Checkpoint ?&lt;br /&gt;&lt;br /&gt;Table Checkpoints are supported only ActiveX environment.&lt;br /&gt;&lt;br /&gt;30. What is Text Checkpoint ?&lt;br /&gt;&lt;br /&gt;Text Checkpoint checks that a test string is displayed in the appropriate place in&lt;br /&gt;&lt;br /&gt;your application or on web page.&lt;br /&gt;&lt;br /&gt;31. Which environment are supported by Test Checkpoint ?&lt;br /&gt;&lt;br /&gt;Text Checkpoint are supported all add-in environments&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MORE INFO:&lt;br /&gt;&lt;br /&gt;* QTP records each steps you perform and generates a test tree and test script.&lt;br /&gt;&lt;br /&gt;* QTP records in normal recording mode.&lt;br /&gt;&lt;br /&gt;* If you are creating a test on web object, you can record your test on one browser&lt;br /&gt;&lt;br /&gt;and run it on another browser.&lt;br /&gt;&lt;br /&gt;* Analog Recording and Low Level Recording require more disk sapce than normal&lt;br /&gt;&lt;br /&gt;recording mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1495369719657574809?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1495369719657574809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1495369719657574809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1495369719657574809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1495369719657574809'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/08/basics-about-qtp-mercury-interactive.html' title='Basics about QTP : Mercury Interactive Functional Testing Tool (Now HP)'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7863632233695497597</id><published>2009-07-19T04:06:00.000-07:00</published><updated>2009-07-19T04:25:13.440-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data Transfer'/><category scheme='http://www.blogger.com/atom/ns#' term='Encoding'/><title type='text'>What is UTF-8 ???</title><content type='html'>&lt;p&gt;UTF-8 (8-bit Unicode Transformation Format) is a variable-length character encoding for Unicode. It is able to represent any character in the Unicode standard, yet is backwards compatible with ASCII. For these reasons, it is steadily becoming the preferred encoding for e-mail, web pages, and other places where characters are stored or streamed.&lt;/p&gt;&lt;p&gt;UTF-8 encodes each character in 1 to 4 octets (8-bit bytes), with the single octet encoding used only for the 128 US-ASCII characters. &lt;/p&gt;&lt;p&gt;The Internet Engineering Task Force (IETF) requires all Internet protocols to identify the encoding used for character data, and the supported character encodings must include UTF-8. The Internet Mail Consortium (IMC) recommends that all email programs be able to display and create mail using UTF-8&lt;/p&gt;&lt;strong&gt;ADTANTAGES:&lt;/strong&gt;&lt;br /&gt;1. The ASCII characters are represented by themselves as single bytes that do not appear anywhere else, which makes UTF-8 work with the majority of existing APIs that take bytes strings but only treat a small number of ASCII codes specially. This removes the need to write a new Unicode version of every API, and makes it much easier to convert existing systems to UTF-8 than any other Unicode encoding.&lt;br /&gt;2. UTF-8 and UTF-16 are the standard encodings for XML documents. All other encodings must be specified explicitly either externally or through a text declaration.&lt;br /&gt;3. UTF-8 and UTF-16 are the standard encodings for having Unicode in HTML documents, with UTF-8 as the preferred and most used encoding.&lt;br /&gt;4. UTF-8 strings can be fairly reliably recognized as such by a simple algorithm.&lt;br /&gt;5. Sorting of UTF-8 strings as arrays of unsigned bytes will produce the same results as sorting them based on Unicode code points.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7863632233695497597?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7863632233695497597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7863632233695497597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7863632233695497597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7863632233695497597'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/07/what-is-utf-8.html' title='What is UTF-8 ???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3056636834460446852</id><published>2009-06-27T04:21:00.000-07:00</published><updated>2009-06-27T04:26:48.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memory Eater'/><category scheme='http://www.blogger.com/atom/ns#' term='memory management'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance Testing'/><title type='text'>How to create a low-memory conditions for Testing your Software Application</title><content type='html'>All this was shared by one of my team-mate for performance testing where we want to test our software performance at different memory levels. Here are the exact details:&lt;br /&gt;&lt;br /&gt;*********************&lt;br /&gt;Using the boocfg command, you can restrict the amount of physical memory available to  windows. So typing the following command will reduce the memory available to Windows by 768 MB. After this, on a machine with 1GB RAM only 256 MB will be available to Windows, 768 MB&lt;br /&gt;will not be available:&lt;br /&gt;&lt;br /&gt;bootcfg /raw "/burnmemory=768" /A /ID 1&lt;br /&gt;&lt;br /&gt;After this reboot the system and Windows will reboot with only 256 MB&lt;br /&gt;of memory available to it.&lt;br /&gt;&lt;br /&gt;*********************&lt;br /&gt;&lt;br /&gt;To remove this entry, the following steps should be performed:&lt;br /&gt;&lt;br /&gt;1. Go to Control Panel&lt;br /&gt;2. Open System dialog&lt;br /&gt;3. Open Advanced Tab on System Dialog&lt;br /&gt;4. In Startup and Recovery Section, click Settings button&lt;br /&gt;5.  the Edit button in System Startup section&lt;br /&gt;6. Boot.ini opens in notepad, delete the "/burnmemory=768" entry&lt;br /&gt;7. Reboot the system&lt;br /&gt;&lt;br /&gt;*********************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3056636834460446852?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3056636834460446852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3056636834460446852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3056636834460446852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3056636834460446852'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/how-to-create-low-memory-conditions-for.html' title='How to create a low-memory conditions for Testing your Software Application'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1575699265663595525</id><published>2009-06-18T10:55:00.000-07:00</published><updated>2009-06-18T11:38:29.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Learning Resources'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Do you want to learn SQL : Try a different Learning approach on Web</title><content type='html'>Today when I came back from Office my friend Vikas was revising his SQL concepts on &lt;a href="http://sqlzoo.net/"&gt;SQLZOO&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This site is really good when you have some basic SQL knowledge and want to learn more by practically executing queries. Actually it has some divided sections where different quesries are asked for sample tables. My description may not be that effective but I would recommend to try out this site to improve your SQL skills..&lt;br /&gt;&lt;br /&gt;By the way I am done with SELECT part today&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1575699265663595525?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1575699265663595525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1575699265663595525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1575699265663595525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1575699265663595525'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/do-you-want-to-learn-sql-try-different.html' title='Do you want to learn SQL : Try a different Learning approach on Web'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3534327720617864161</id><published>2009-06-13T22:16:00.000-07:00</published><updated>2009-06-14T11:08:48.382-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Commandline'/><category scheme='http://www.blogger.com/atom/ns#' term='Wiretraces'/><category scheme='http://www.blogger.com/atom/ns#' term='Automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Log-management'/><category scheme='http://www.blogger.com/atom/ns#' term='Wireshark'/><title type='text'>Setting up your automation to produce wiretraces</title><content type='html'>One of the requirements that came up when we were setting up automation for our hybrid application was to get wiretraces for the activity to help in debugging along with the other logs that our application produced. The request would genuinely help our team and would increase the validity of our automation results. So I started the investigations.&lt;br /&gt;&lt;br /&gt;The only knowledge I had was the name of the tool that I had to use and it was "Wireshark".&lt;br /&gt;&lt;br /&gt;Here is some excerpt from Wikipedia about Wireshark:&lt;br /&gt;"Wireshark is a free packet sniffer computer application. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Originally named Ethereal, in May 2006 the project was renamed Wireshark due to trademark issues...."&lt;br /&gt;For more details, go ahead and read: &lt;a href="http://en.wikipedia.org/wiki/Wireshark"&gt;http://en.wikipedia.org/wiki/Wireshark&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The workflow of our automation was that every hour the automation would be triggered. It would map a required network location and start running 3 test cases using HP Winrunner. It would note the time being taken to complete several actions and save the logs being produced by the application. After which, it would force reboot the system and then wait for the next run.&lt;br /&gt;&lt;br /&gt;We had to fit in Wireshark within this workflow.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First Step&lt;/span&gt;&lt;br /&gt;The first step in this direction was to find out the interface for which we will be monitoring the traffic. For this we used the following command:&lt;br /&gt;&lt;br /&gt;wireshark.exe -d&gt;&gt;c:\interface.txt&lt;br /&gt;&lt;br /&gt;This listed the Network interfaces along with their IDs. We identified the interface that we had to monitor and proceeded.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Second Step&lt;/span&gt;&lt;br /&gt;The plan was to start running Wireshark through commandline interface and instruct it to save logs to a specific file. This was where we faced the first challenge. Though the Wireshark commandline has an option to start capturing logs, it does not provide a 'good-enough' option to stop capturing them. The only commandline options available in this regards are:&lt;br /&gt;&lt;br /&gt;-c                          &lt;packet count=""&gt;                    stop after n packets (def: infinite)&lt;br /&gt;-a &lt;autostop&gt; ...  duration:NUM      - stop after NUM seconds&lt;br /&gt;                                  filesize:NUM         - stop this file after NUM KB&lt;br /&gt;                                     files:NUM              - stop after NUM files&lt;br /&gt;&lt;br /&gt;None of these suited our needs. We needed to be able to tell Wireshark to tell when to start and to stop when our automation was complete. Packet number, duration, file size or number of files was variable in our case and none of the options listed above could be reliable for us.&lt;br /&gt;&lt;br /&gt;The method that we adopted to get across this limitation was a bit crude but worked perfectly. We setup Wireshark to capture for 3600 seconds (1 hour). After our automation had completed, we would simply kill Wireshark through commandline using the following command:&lt;br /&gt;&lt;br /&gt;taskkill /im wireshark.exe /f&lt;br /&gt;&lt;br /&gt;and copy the traces to a network resource.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Third Step&lt;/span&gt;&lt;br /&gt;One 'nice-to-have' option would have been to have an embedded timestamp within the name of the wiretrace log file so that whenever we would want to analyze the log for a particular run, we would only need to look at the timestamp and know which one to look at. Since we had the automation running 24 times in a day, it would also mean that we would have a unique log file for each run.&lt;br /&gt;&lt;br /&gt;For this, I tricked wireshark into believing that I was capturing output into a ringbuffer*. W.R.T. Wireshark, it means that after saving n number of bytes in a file, it would move to the next file and store n number of bytes in that. And so on. In this case, wireshark embeds time-stamp in the name of each ringbuffer file.&lt;br /&gt;&lt;br /&gt;We used the following command line option to set this up:&lt;br /&gt;&lt;br /&gt;-b duration:3600 -w c:\wiretraces\wiretrace&lt;br /&gt;&lt;br /&gt;where -b is the duration for which 1 buffer file will be used&lt;br /&gt;and -w is the common name for all buffer files in one capture.&lt;br /&gt;&lt;br /&gt;As our automation would complete within an hour, it never went beyond one buffer file and at the end we had a buffer file with the following name:&lt;br /&gt;&lt;br /&gt;wiretrace_00001_20090613083111&lt;br /&gt;&lt;br /&gt;which was exactly what I wanted.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fourth Step&lt;/span&gt;&lt;br /&gt;The Fourth and the last challenge with this was the huge size of the trace logs. Typically, wireshark would capture all ports and protocols, which resulted in a huge amount of data that we did not need. We only needed to capture the http traffic. For this we had to set up a capture filter from the command line. Wireshark accepts the filter in 'libpcap filter syntax'. To get a suitable filter string, you can launch Wireshark and go to Capture-&gt;Capture Filters.&lt;br /&gt;&lt;br /&gt;For HTTP, the value of the capture filter is HTTP TCP Port (80), for which the corresponding string is "tcp port http" in libpcap filter syntax. Wireshark command line option -f can be used to specify this.&lt;br /&gt;&lt;br /&gt;The final command line option that we arrived at is:&lt;br /&gt;&lt;br /&gt;wireshark.exe -i 2 -f "tcp port http" -k -b duration:3600 -w c:\wiretraces\wiretrace&lt;br /&gt;&lt;br /&gt;where -i us the ID of the interface to monitor&lt;br /&gt;-f is the capture filter in the libpcap filter syntax&lt;br /&gt;-k instructs wireshark to start capturing immediately&lt;br /&gt;-b duration:3600 intructs wireshark to capture in a ringbuffer and to move to the next file in the buffer after every 1 hour&lt;br /&gt;-w is used to specify the base name of the output file&lt;br /&gt;&lt;br /&gt;Happy Wiretracing!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*A circular buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself easily to buffering data streams.&lt;/autostop&gt;&lt;/packet&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3534327720617864161?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3534327720617864161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3534327720617864161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3534327720617864161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3534327720617864161'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/setting-up-your-automation-to-produce.html' title='Setting up your automation to produce wiretraces'/><author><name>Vibha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/-793afVp6EP0/Tc49DDCdfpI/AAAAAAAAAr0/OnsxYnuCgI4/s220/Vibha.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1358835648147317270</id><published>2009-06-13T04:38:00.000-07:00</published><updated>2009-06-13T04:49:27.150-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='New-Tech'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Nice presenation about Cloud Computing... Do you have doubts about the concept of Cloud Computing???</title><content type='html'>This is really a good video about Cloud Computing. Here presenter has tried to explain Cloud Computing in really easy way.. Watch it&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QJncFirhjPg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/QJncFirhjPg&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1358835648147317270?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1358835648147317270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1358835648147317270' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1358835648147317270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1358835648147317270'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/nice-presenation-about-cloud-computing.html' title='Nice presenation about Cloud Computing... Do you have doubts about the concept of Cloud Computing???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-2887204108215351135</id><published>2009-06-04T21:18:00.000-07:00</published><updated>2009-06-04T21:19:43.924-07:00</updated><title type='text'>Hyper Terminal</title><content type='html'>what says communications theory? - transmitting info from one person to another? OR who says what to whom in what channel with what effect. It depends on the context being used. In terms of computers it could be as simple as connecting two devices.&lt;br /&gt;&lt;br /&gt;HyperTerminal is an application you can use in order to connect your computer to other remote systems. It comes with Windows as preinstalled. Search your programs list if you could find it (hint: Communications). It allows to connect using modem, Ethernet, or serial port. I could possibly talk only about connecting a GSM phone to Hyper Terminal, coz i never connected modem.&lt;br /&gt;&lt;br /&gt;When we connect GSM phone over a COM port say COM1, Windows automatically detects the phone and ask for COM port to use (if using IrDA then use COM4 since IrDA is mapped to serial on COM4). Then after setting the port settings like baud rate, data bits, parity and flow control etc, we are connected to the GSM phone. Use AT commands to test if it is really connected. At Basic level type AT on the Hyper Terminal screen and hit the return key. OK means successful response. When i had connected my SE w550, the first thing i did was to transfer a game (from getjar.com) to it and i did succeded.&lt;br /&gt;&lt;br /&gt;You could also connect to a remote PC or your friends PC and try chat with him/her. Its like sending messages using net send commands.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-2887204108215351135?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/2887204108215351135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=2887204108215351135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2887204108215351135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2887204108215351135'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/hyper-terminal.html' title='Hyper Terminal'/><author><name>Vikas Sharma</name><uri>http://www.blogger.com/profile/11328016132245709069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp0.blogger.com/_r9KGYP-wAzE/SHIeCCXsRVI/AAAAAAAAAT4/z5rZZZkDcEQ/S220/DSC_3042.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7149886784063533565</id><published>2009-06-03T10:38:00.000-07:00</published><updated>2009-06-03T10:41:52.437-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Monitor'/><title type='text'>HTTP Status Code : 1XX Informational</title><content type='html'>1xx Informational&lt;br /&gt;&lt;br /&gt;This class of status code indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line. Since HTTP/1.0 did not define any 1xx status codes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;100 Continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This means that the server has received the request headers, and that the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). If the request body is large, sending it to a server when a request has already been rejected based upon inappropriate headers is inefficient. To have a server check if the request could be accepted based on the request's headers alone, a client must send Expect: 100-continue as a header in its initial request&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;101 Switching Protocols&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This means the requestor has asked the server to switch protocols and the server is acknowledging that it will do so.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;102 Processing&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7149886784063533565?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7149886784063533565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7149886784063533565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7149886784063533565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7149886784063533565'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/http-status-code-1xx-informational.html' title='HTTP Status Code : 1XX Informational'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-628360725357560993</id><published>2009-06-02T10:30:00.000-07:00</published><updated>2009-06-02T10:33:45.180-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-information'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-Testing'/><title type='text'>HTTP Status Codes : 2XX for Success</title><content type='html'>&lt;span style="font-weight: bold;"&gt;2xx Success&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This class of status code indicates that the client's request was successfully received, understood, and accepted&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;200 OK&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request the response will contain an entity describing or containing the result of the action.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;201 Created&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The request has been fulfilled and resulted in a new resource being created.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;202 Accepted&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it might be disallowed when processing actually takes place.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;203 Non-Authoritative Information&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The server successfully processed the request, but is returning information that may be from another source.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;204 No Content&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The server successfully processed the request, but is not returning any content.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;205 Reset Content&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The server successfully processed the request, but is not returning any content. Unlike a 204 response, this response requires that the requestor reset the document view.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;206 Partial Content&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The server is serving only part of the resource due to a range header sent by the client. This is used by tools like wget to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;207 Multi-statuses&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-628360725357560993?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/628360725357560993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=628360725357560993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/628360725357560993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/628360725357560993'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/06/http-status-codes-2xx-for-success.html' title='HTTP Status Codes : 2XX for Success'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1493829000172961230</id><published>2009-05-30T11:52:00.000-07:00</published><updated>2009-05-30T12:06:45.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Technologies'/><title type='text'>What is AJAX</title><content type='html'>Ajax, sometimes written as AJAX (shorthand for asynchronous JavaScript and XML), is a group of interrelated web development techniques used on the client-side to create interactive web applications or rich Internet applications.&lt;br /&gt;&lt;br /&gt;With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of Ajax has led to an increase in interactive animation on web pages and better quality of Web services thanks to the asynchronous mode. Data is retrieved using the XMLHttpRequest object. Despite the name, the use of JavaScript and XML is not actually required, nor do the requests need to be asynchronous.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Advantages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * In many cases, related pages on a website consist of much content that is common between them. Using traditional methods, that content would have to be reloaded on every request. However, using Ajax, a web application can request only the content that needs to be updated, thus drastically reducing bandwidth usage and load time.&lt;br /&gt;&lt;br /&gt;    * The use of asynchronous requests allows the client's Web browser UI to be more interactive and to respond quickly to inputs, and sections of pages can also be reloaded individually. Users may perceive the application to be faster or more responsive, even if the application has not changed on the server side.&lt;br /&gt;&lt;br /&gt;    * The use of Ajax can reduce connections to the server, since scripts and style sheets only have to be requested once.&lt;br /&gt;&lt;br /&gt;    * State can be maintained throughout a Web site. JavaScript variables will persist because the main container page need not be reloaded.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Disadvantages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    * Pages dynamically created using successive Ajax requests do not automatically register themselves with the browser's history engine, so clicking the browser's "back" button may not return the user to an earlier state of the Ajax-enabled page, but may instead return them to the last full page visited before it. Workarounds include the use of invisible IFrames to trigger changes in the browser's history and changing the anchor portion of the URL (following a #) when AJAX is run and monitoring it for changes.&lt;br /&gt;&lt;br /&gt;    * Dynamic web page updates also make it difficult for a user to bookmark a particular state of the application. Solutions to this problem exist, many of which use the URL fragment identifier (the portion of a URL after the '#') to keep track of, and allow users to return to, the application in a given state.&lt;br /&gt;&lt;br /&gt;    * Because most web crawlers do not execute JavaScript code, web applications should provide an alternative means of accessing the content that would normally be retrieved with Ajax, to allow search engines to index it.&lt;br /&gt;&lt;br /&gt;    * Any user whose browser does not support Ajax or JavaScript, or simply has JavaScript disabled, will not be able to use its functionality. Similarly, devices such as mobile phones, PDAs, and screen readers may not have support for JavaScript or the XMLHttpRequest object.[citation needed] Also, screen readers that are able to use Ajax may still not be able to properly read the dynamically generated content. The only way to let the user carry out functionality is to fall back to non-JavaScript methods. This can be achieved by making sure links and forms can be resolved properly and rely not solely on Ajax. In JavaScript, form submission could then be halted with "return false".&lt;br /&gt;&lt;br /&gt;    * The same origin policy prevents some Ajax techniques from being used across domains, although the W3C has a draft that would enable this functionality.&lt;br /&gt;  &lt;br /&gt; * Ajax opens up another attack vector for malicious code that web developers might not fully test for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1493829000172961230?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1493829000172961230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1493829000172961230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1493829000172961230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1493829000172961230'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/05/what-is-ajax.html' title='What is AJAX'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-849420303516744067</id><published>2009-05-30T10:56:00.000-07:00</published><updated>2009-05-30T10:59:18.739-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='web Redirection'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-health'/><title type='text'>HTTP Status Codes: 3xx Redirection</title><content type='html'>The client must take additional action to complete the request.&lt;br /&gt;&lt;br /&gt;This class of status code indicates that further action needs to be taken by the user agent in order to fulfil the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically redirect a request more than five times, since such redirections usually indicate an infinite loop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;300 Multiple Choices&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Indicates multiple options for the resource that the client may follow. It, for instance, could be used to present different format options for video, list files with different extensions, or word sense disambiguation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;301 Moved Permanently&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This and all future requests should be directed to the given URI.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;302 Found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the most popular redirect code, but also an example of industrial practice contradicting the standard. HTTP/1.0 specification (RFC 1945 ) required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily"), but popular browsers implemented it as a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307 to disambiguate between the two behaviors. However, the majority of Web applications and frameworks still use the 302 status code as if it were the 303.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;303 See Other (since HTTP/1.1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The response to the request can be found under another URI using a GET method. When received in response to a PUT, it should be assumed that the server has received the data and the redirect should be issued with a separate GET message.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;304 Not Modified&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Indicates the resource has not been modified since last requested. Typically, the HTTP client provides a header like the If-Modified-Since header to provide a time against which to compare. Utilizing this saves bandwidth and reprocessing on both the server and client.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;305 Use Proxies (since HTTP/1.1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Many HTTP clients do not correctly handle responses with this status code, primarily for security reasons.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;307 Temporary Redirect (since HTTP/1.1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this occasion, the request should be repeated with another URI, but future requests can still use the original URI. In contrast to 303, the request method should not be changed when reissuing the original request. For instance, a POST request must be repeated using another POST request.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-849420303516744067?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/849420303516744067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=849420303516744067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/849420303516744067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/849420303516744067'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/05/http-status-codes-3xx-redirection.html' title='HTTP Status Codes: 3xx Redirection'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4867523464477101226</id><published>2009-05-29T11:03:00.000-07:00</published><updated>2009-05-29T11:18:18.132-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-client'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Denial of Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-Testing'/><title type='text'>HTTP Status Codes: 4xx Client Error</title><content type='html'>The request contains bad syntax or cannot be fulfilled.&lt;br /&gt;&lt;br /&gt;The 4xx class of status code is intended for cases in which the client seems to have erred. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user. These are typically the most common error codes encountered while online.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;400 Bad Request: The request contains bad syntax or cannot be fulfilled.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;401 Unauthorized:&lt;/strong&gt; Similar to 403 Forbidden, but specifically for use when authentication is possible but has failed or not yet been provided. See Basic access authentication and Digest access authentication.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;402 Payment Required:&lt;/strong&gt; The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened, and this code has never been used.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;403 Forbidden:&lt;/strong&gt; The request was a legal request, but the server is refusing to respond to it. Unlike a 401 unauthorized response, authenticating will make no difference.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;404 Not Found: The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;405 Method Not Allowed:&lt;/strong&gt; A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data to be presented via POST, or using PUT on a read-only resource.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;406 Not Acceptable:&lt;/strong&gt; The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;407 Proxy Authentication Required&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;408 Request Timeout:&lt;/strong&gt; The server timed out waiting for the request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;409 Conflict:&lt;/strong&gt; Indicates that the request could not be processed because of conflict in the request, such as an edit conflict.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;410 Gone:&lt;/strong&gt; Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally removed; however, it is not necessary to return this code and a 404 Not Found can be issued instead. Upon receiving a 410 status code, the client should not request the resource again in the future. Clients such as search engines should remove the resource from their indexes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;411 Length Required:&lt;/strong&gt; The request did not specify the length of its content, which is required by the requested resource.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;412 Precondition Failed:&lt;/strong&gt; The server does not meet one of the preconditions that the requestor put on the request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;413 Request Entity Too Large:&lt;/strong&gt; The resource that was requested is too large to transmit using the current protocol.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;414 Request-URI Too Long:&lt;/strong&gt; The URI provided was too long for the server to process.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;415 Unsupported Media Type: &lt;/strong&gt;The request did not specify any media types that the server or resource supports. For example the client specified that an image resource should be served as image/svg+xml, but the server cannot find a matching version of the image.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;416 Requested Range Not Satisfiable:&lt;/strong&gt; The client has asked for a portion of the file, but the server cannot supply that portion (for example, if the client asked for a part of the file that lies beyond the end of the file).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;417 Expectation Failed:&lt;/strong&gt; The server cannot meet the requirements of the Expect request-header field.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;422 Unprocessable Entity:&lt;/strong&gt; The request was well-formed but was unable to be followed due to semantic errors.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;423 Locked:&lt;/strong&gt; The resource that is being accessed is locked&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;424 Failed Dependency:&lt;/strong&gt; The request failed due to failure of a previous request&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;425 Unordered Collection&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;426 Upgrade Required:&lt;/strong&gt; The client should switch to TLS/1.0.449 Retry With&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4867523464477101226?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4867523464477101226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4867523464477101226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4867523464477101226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4867523464477101226'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/05/http-status-codes-4xx-client-error.html' title='HTTP Status Codes: 4xx Client Error'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7096158855049320353</id><published>2009-05-28T04:37:00.000-07:00</published><updated>2009-05-28T04:45:41.262-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-information'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-health'/><title type='text'>HTTP Status Codes : 5xx Server Error</title><content type='html'>&lt;p&gt;As you must be aware that HTTP calls over the internet get different responses. Most common is 404 when you are not connected to Internet of your proxy has blocked a particular host.   &lt;/p&gt;&lt;p class="MsoNormal"&gt;The first digit of the status code specifies one of five classes of response; the bare minimum for an HTTP client is that it recognizes these five classes.&lt;/p&gt;  1xx: Informational&lt;br /&gt;2xx: Success&lt;br /&gt;3xx: Redirection&lt;br /&gt;4xx: Client Errors&lt;br /&gt;5xx: Server Errors&lt;br /&gt;&lt;br /&gt;Here we are going to talk about 5xx (Server Errors).&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The server failed to fulfill an apparently valid request.&lt;/p&gt;  &lt;p&gt;Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server &lt;i&gt;should&lt;/i&gt; include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents &lt;i&gt;should&lt;/i&gt; display any included entity to the user. These response codes are applicable to any request method.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;So if you are a tester and get 5xx http code, you need to assign the bug to Server Team :)&lt;br /&gt;&lt;p style="font-weight: bold;" class="MsoNormal"&gt;500 &lt;span style="font-style: italic;"&gt;Internal Server Error&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;A generic error message, given when no more specific message is suitable.&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;501 &lt;span style="font-style: italic;"&gt;Not Implemented&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;The server either does not recognize the request method, or it lacks the ability to fulfil the request.&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;502 &lt;span style="font-style: italic;"&gt;Bad Gateway&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;The server was acting as a gateway or proxy and received an invalid response from the upstream server.&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;503 &lt;span style="font-style: italic;"&gt;Service Unavailable&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;504 &lt;span style="font-style: italic;"&gt;Gateway Timeout&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;The server was acting as a gateway or proxy and did not receive a timely request from the upstream server.&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;505 &lt;span style="font-style: italic;"&gt;HTTP Version Not Supported&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;The server does not support the HTTP protocol version used in the request.&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p style="font-weight: bold;" class="MsoNormal"&gt;506 &lt;span style="font-style: italic;"&gt;Variant Also Negotiates&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;        &lt;p style="font-weight: bold;" class="MsoNormal"&gt;507 &lt;span style="font-style: italic;"&gt;Insufficient Storage&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;509 &lt;span style="font-style: italic;"&gt;Bandwidth Limit Exceeded&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;510 &lt;span style="font-style: italic;"&gt;Not Extended&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;Further extensions to the request are required for the server to fulfill it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7096158855049320353?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7096158855049320353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7096158855049320353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7096158855049320353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7096158855049320353'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/05/http-status-codes-5xx-server-error.html' title='HTTP Status Codes : 5xx Server Error'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5610964602865642096</id><published>2009-05-20T23:02:00.000-07:00</published><updated>2009-05-20T23:14:36.212-07:00</updated><title type='text'>Tips for an Ergonomic Computer Workstation:</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Xs4dzGEFgnk/ShTxOmalwZI/AAAAAAAAD2Y/oOEPPdvBUzk/s1600-h/WorkstationGraphic.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 321px;" src="http://2.bp.blogspot.com/_Xs4dzGEFgnk/ShTxOmalwZI/AAAAAAAAD2Y/oOEPPdvBUzk/s400/WorkstationGraphic.gif" alt="" id="BLOGGER_PHOTO_ID_5338156691473416594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;For last few weeks I have been going through severe back pain and its creating lot of problems in my work and personal life-style. So I was going to through some tips about the sitting posture while working.  Here are few tips I found and I will also share my personal experience...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Tips for an Ergonomic Computer Workstation:  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;  Use a good chair with a dynamic chair back and sit back in this  &lt;/li&gt;&lt;li&gt;  Top of monitor casing 2-3" (5-8 cm) above eye level   &lt;/li&gt;&lt;li&gt;  No glare on screen, use an optical glass anti-glare filter where needed  &lt;/li&gt;&lt;li&gt;  Sit at arms length from monitor  &lt;/li&gt;&lt;li&gt;  Feet on floor or stable footrest   &lt;/li&gt;&lt;li&gt;  Use a document holder, preferably in-line with the computer screen  &lt;/li&gt;&lt;li&gt;  Wrists flat and straight in relation to forearms to use keyboard/mouse/input device  &lt;/li&gt;&lt;li&gt;  Arms and elbows relaxed close to body   &lt;/li&gt;&lt;li&gt;  Center monitor and keyboard in front of you   &lt;/li&gt;&lt;li&gt;  Use a negative tilt keyboard tray  with an upper mouse platform or downward tiltable platform adjacent to keyboard  &lt;/li&gt;&lt;li&gt;  Use a stable work surface and stable (no bounce) keyboard tray  &lt;/li&gt;&lt;li&gt;  Take frequent short breaks (microbreaks)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Apart from above I also want to share following things:&lt;br /&gt;&lt;br /&gt;- While working don't sit for a very long time. Take breaks after every 15-20 minutes.&lt;br /&gt;- Walk around your workspace for some time but make sure you are not disturbing others.&lt;br /&gt;- Make a routine of doing some body excercises daily.&lt;br /&gt;- Good rest is also important. &lt;limit hours="" to="" balance="" your="" work="" body="" requirements=""&gt;&lt;br /&gt;&lt;/limit&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5610964602865642096?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5610964602865642096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5610964602865642096' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5610964602865642096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5610964602865642096'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/05/tips-for-ergonomic-computer-workstation.html' title='Tips for an Ergonomic Computer Workstation:'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Xs4dzGEFgnk/ShTxOmalwZI/AAAAAAAAD2Y/oOEPPdvBUzk/s72-c/WorkstationGraphic.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-6564733350519819991</id><published>2009-04-24T06:01:00.000-07:00</published><updated>2009-04-24T06:27:05.037-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Request-Response'/><category scheme='http://www.blogger.com/atom/ns#' term='Denial of Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='URL'/><title type='text'>DoSHTTP for doing Denial of Service Testing for a website</title><content type='html'>DoSHTTP is an easy to use and powerful HTTP Flood Denial of Service (DoS) Testing Tool for Windows. DoSHTTP includes URL Verification, HTTP Redirection and performance monitoring. DoSHTTP uses multiple asynchronous sockets to perform an effective HTTP Flood. DoSHTTP can be used simultaneously on multiple clients to emulate a Distributed Denial of Service (DDoS) attack. DoSHTTP can help IT Professionals test web server performance and evaluate protection software. DoS-HTTP was developed by certified IT Security and Software Development professionals.&lt;br /&gt;&lt;br /&gt;Free download from Shareware Connection - DoSHTTP is an easy to use and powerful HTTP Flood Denial of Service (DoS) Testing Tool. DoSHTTP uses multiple asynchronous sockets to perform an effective HTTP Flood and includes URL Verification, HTTP Redirection and performance monitoring.&lt;br /&gt;&lt;br /&gt;I was looking for a tool which could help me in testing Service denial cases for an exe which interacts with different web-servers but this tools is only for a particular URL which does not solve my purpose...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Xs4dzGEFgnk/SfG3SLw-r4I/AAAAAAAAD1w/tAI8tkBgV2Y/s1600-h/DoSHTTP.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 241px;" src="http://2.bp.blogspot.com/_Xs4dzGEFgnk/SfG3SLw-r4I/AAAAAAAAD1w/tAI8tkBgV2Y/s400/DoSHTTP.JPG" alt="" id="BLOGGER_PHOTO_ID_5328241357179760514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Xs4dzGEFgnk/SfG3SNut8aI/AAAAAAAAD14/j8VyCEaICjk/s1600-h/DoSHTTP+report.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_Xs4dzGEFgnk/SfG3SNut8aI/AAAAAAAAD14/j8VyCEaICjk/s400/DoSHTTP+report.JPG" alt="" id="BLOGGER_PHOTO_ID_5328241357707145634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I did a basic thing using this tool. I provided www.Google.com as URL and asked to run the test using Mozilla4. I liked one thing about the tool that you need not to install different versions of Browsers to test this. Tool has implicit capability of simulating different browser behavior.&lt;br /&gt;&lt;br /&gt;Second image shows the results where is says that 34% requests per second are responded by server when 4950 requests are made using Mozailla4.&lt;br /&gt;&lt;br /&gt;I don't have much knowledge about this tool so explore more about this....&lt;br /&gt;&lt;br /&gt;Here are few features of DoSHTTP but I don't have much details about these:&lt;br /&gt;&lt;br /&gt;Features:&lt;br /&gt;&lt;br /&gt;* Easy to use and powerful HTTP Flood Denial of Service (DoS) Testing Tool&lt;br /&gt;* Uses multiple asynchronous sockets to perform an effective HTTP Flood&lt;br /&gt;* Allows multiple clients to emulate a Distributed Denial of Service (DDoS) Attack&lt;br /&gt;* Allows target port designation within the URL [http://host:port/]&lt;br /&gt;* Supports HTTP Redirection for automatic page redirection (optional)&lt;br /&gt;* Includes URL Verification that displays the response header and document&lt;br /&gt;* Includes Performance Monitoring and Enhanced Reporting&lt;br /&gt;* Allows customized User Agent header fields&lt;br /&gt;* Allows user defined Socket and Request settings&lt;br /&gt;* Supports numeric addressing for Target URLs&lt;br /&gt;* Includes a comprehensive User Guide&lt;br /&gt;* Clear Target URLs and Reset All options&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-6564733350519819991?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/6564733350519819991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=6564733350519819991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6564733350519819991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6564733350519819991'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/04/doshttp-for-doing-denial-of-service.html' title='DoSHTTP for doing Denial of Service Testing for a website'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Xs4dzGEFgnk/SfG3SLw-r4I/AAAAAAAAD1w/tAI8tkBgV2Y/s72-c/DoSHTTP.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1745583463145231593</id><published>2009-04-09T06:00:00.000-07:00</published><updated>2009-04-09T22:42:42.966-07:00</updated><title type='text'>What is Cloud Computing</title><content type='html'>Cloud computing is a style of computing in which dynamically scalable and often virtualised resources are provided as a service over the Internet.Users need not have knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them.&lt;br /&gt;&lt;br /&gt;The concept incorporates infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) as well as Web 2.0 and other recent technology trends that have the common theme of reliance on the Internet for satisfying the computing needs of the users. Examples of SaaS vendors include Salesforce.com and Google Apps which provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers.&lt;br /&gt;&lt;br /&gt;Cloud computing is a computing paradigm in which tasks are assigned to a combination of connections, software and services accessed over a network. This network of servers and connections is collectively known as "the cloud." Computing at the scale of the cloud allows users to access supercomputer-level power. Users can access resources as they need them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1745583463145231593?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1745583463145231593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1745583463145231593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1745583463145231593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1745583463145231593'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/04/what-is-cloud-computing.html' title='What is Cloud Computing'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8622015034664889234</id><published>2009-04-06T07:51:00.000-07:00</published><updated>2009-04-06T08:09:28.381-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='Revrse Proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Remote Monitoring'/><category scheme='http://www.blogger.com/atom/ns#' term='https'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><title type='text'>How to Monitor online traffic on remotes machines on a Network?</title><content type='html'>Hi All,&lt;br /&gt;&lt;br /&gt;For last 2-3 weeks I have been working on configuring Reverse proxy using Tomcat. I spent a lot of time and stuck at a point where my application stops working when it encounters an HTTPS request for logging in. HTTP traffic is working fine.&lt;br /&gt;&lt;br /&gt;When checked I found that my proxy is not even getting the request.&lt;br /&gt;&lt;br /&gt;Then I started exploring other methods through which I could monitor online traffic on different machines in my Network. I came across this solution. I have been using fiddler for debugging thing on my local machine.&lt;br /&gt;&lt;br /&gt;Here are few basic steps:&lt;br /&gt;&lt;br /&gt;NOTE : I have Master machine where I want to monitor the traffic.&lt;br /&gt;&lt;br /&gt;1. Install &lt;span style="font-weight: bold;"&gt;Fiddler 2.x&lt;/span&gt; version on your machine. (Lower versions do not support this.)&lt;br /&gt;2. Launch Fiddler on master machine&lt;br /&gt;3. Go to &lt;span style="font-weight: bold;"&gt;Tools &gt; Fiddler Options&lt;/span&gt;&lt;br /&gt;4. Under &lt;span style="font-weight: bold;"&gt;General Tab&lt;/span&gt;, select the option &lt;span style="font-weight: bold;"&gt;"Allow Remote Computers to Connect"&lt;br /&gt;5. &lt;/span&gt;Go to &lt;span style="font-weight: bold;"&gt;Start&gt;Run&lt;br /&gt;6. &lt;/span&gt;Type cmd : It will launch command prompt&lt;br /&gt;7. Type ipconfig &amp;amp; Note IP address of your master machine&lt;br /&gt;&lt;br /&gt;Now go to the machine which you want to monitor for web traffic.&lt;br /&gt;&lt;br /&gt;1. Launch Internet Explorer&lt;br /&gt;2. Go to Tools&gt;Internet Options&lt;br /&gt;3. Go to Connections Tab&lt;br /&gt;4. Click "Lan Settings" button&lt;br /&gt;5. Uncheck "Automatically Detect Settings"&lt;br /&gt;6. Check the option "Use a Proxy Server...."&lt;br /&gt;7. Click Advanced button&lt;br /&gt;8. Add IP address of your master machine under 'Proxy Address to use' and port as 8888&lt;br /&gt;9. Add this for HTTP &amp;amp; Secure&lt;br /&gt;10. Click OK&lt;br /&gt;11. Again click OK&lt;br /&gt;12. Again click OK&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now restart Fiddler on Master machine.&lt;br /&gt;&lt;br /&gt;On other machine enter www.google.com in internet explorer. Check what happens in Fiddler on Master machine.&lt;br /&gt;&lt;br /&gt;YOU WILL SEE AN ENTRY FOR WWW.GOOGLE.COM&lt;br /&gt;&lt;br /&gt;Similarly you can see other calls which are actually made on other machine. Similarly you can monitor traffic from more than one machine. Just enter IP with 8888 port in IE and you are done.&lt;br /&gt;&lt;br /&gt;But still I am facing the same problem for HTTPS call for Log-in. I will share more details as I will get the solution.&lt;br /&gt;&lt;br /&gt;+ VJ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8622015034664889234?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8622015034664889234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8622015034664889234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8622015034664889234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8622015034664889234'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/04/how-to-monitor-online-traffic-on.html' title='How to Monitor online traffic on remotes machines on a Network?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-2968622511574721982</id><published>2009-03-23T07:50:00.000-07:00</published><updated>2009-03-23T07:54:00.783-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='web proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><title type='text'>Apache Tomcat</title><content type='html'>Apache Tomcat is a servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run.&lt;br /&gt;&lt;br /&gt;Tomcat should not be confused with the Apache web server, which is a C implementation of an HTTP web server; these two web servers are not bundled together. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML configuration files.&lt;br /&gt;&lt;h2&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="mw-headline"&gt;Components&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span style="font-weight: bold;"&gt;Catalina&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Catalina is Tomcat's servlet container. Catalina implements Sun Microsystems' specifications for servlet and JavaServer Pages (JSP).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Coyote&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1 protocol for the web server or application container. Coyote listens for incoming connections on a specific TCP port on the server and forwards the request to the Tomcat Engine to process the request and send back a response to the requesting client.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jasper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jasper is Tomcat's JSP Engine. Tomcat 5.x uses Jasper 2, which is an implementation of the Sun Microsystems's JavaServer Pages 2.0 specification. Jasper parses JSP files to compile them into Java code as servlets (that can be handled by Catalina). At runtime, Jasper is able to automatically detect JSP file changes and recompile them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jasper 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;From Jasper to Jasper 2, important features were added :&lt;br /&gt;&lt;br /&gt;    * JSP Tag library Pooling - Each tag markup in JSP file is handled by a tag handler class. Tag handler class objects can be pooled and reused in the whole JSP servlet.&lt;br /&gt;    * Background JSP compilation - While recompiling modified JSP Java code, the older version is still available for server requests. The older JSP servlet is deleted once the new JSP servlet has been recompiled.&lt;br /&gt;    * Recompile JSP when included page changes - Pages can be inserted and included into a JSP at compile time. The JSP will not only be automatically recompiled with JSP file changes but also with included page changes.&lt;br /&gt;    * JDT Java compiler - Jasper 2 can use the Eclipse JDT Java compiler instead of Ant and javac.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-2968622511574721982?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/2968622511574721982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=2968622511574721982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2968622511574721982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/2968622511574721982'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/03/apache-tomcat.html' title='Apache Tomcat'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5688796714355493129</id><published>2009-03-18T21:38:00.001-07:00</published><updated>2009-03-18T21:38:51.820-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-server'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>How to install Apache on Win-Vista</title><content type='html'>&lt;a href="http://www.thesitewizard.com/apache/install-apache-on-vista.shtml"&gt;http://www.thesitewizard.com/apache/install-apache-on-vista.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5688796714355493129?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5688796714355493129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5688796714355493129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5688796714355493129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5688796714355493129'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/03/how-to-install-apache-on-win-vista.html' title='How to install Apache on Win-Vista'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-6884595317704573259</id><published>2009-03-10T06:22:00.000-07:00</published><updated>2009-03-10T06:23:56.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy server'/><category scheme='http://www.blogger.com/atom/ns#' term='Revrse Proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Forward Proxy'/><title type='text'>What is the difference between Forward Proxy and Reverse Proxy?</title><content type='html'>First let’s review what a forward proxy or proxy is and how it works. A forward proxy acts a gateway for a client’s browser, sending HTTP requests on the client’s behalf to the Internet. The proxy protects your inside network by hiding the actual client’s IP address and using its own instead. When an outside HTTP server receives the request, it sees the requestor’s address as originating from the proxy server, not&lt;br /&gt;from the actual client.&lt;br /&gt;&lt;br /&gt;A Reverse Proxy proxies on behalf of the backend HTTP server not on behalf the&lt;br /&gt;outside client’s request, hence the term reverse. It is an application proxy for servers using the HTTP protocol. It acts as a gateway to an HTTP server or HTTP server farm by acting as the final IP address for requests from the outside. The firewall works tightly with the Reverse Proxy to help ensure that only the Reverse Proxy can access the HTTP servers hidden behind it. From the outside client’s point of view, the Reverse Proxy is the actual HTTP server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-6884595317704573259?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/6884595317704573259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=6884595317704573259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6884595317704573259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/6884595317704573259'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/03/what-is-difference-between-forward.html' title='What is the difference between Forward Proxy and Reverse Proxy?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-958244192017770155</id><published>2009-03-10T02:33:00.000-07:00</published><updated>2009-03-10T03:46:37.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='web proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='Proxy server'/><category scheme='http://www.blogger.com/atom/ns#' term='Revrse Proxy'/><title type='text'>What is Reverse Proxy???</title><content type='html'>&lt;div style="text-align: left;"&gt;A reverse proxy or surrogate is a proxy server that is installed within the neighborhood of one or more servers. Typically, reverse proxies are used in front of Web servers. All connections coming from the Internet addressed to one of the Web servers are routed through the proxy server, which may either deal with the request itself or pass the request wholly or partially to the main web servers.&lt;br /&gt;&lt;br /&gt;There are several reasons for installing reverse proxy servers:&lt;br /&gt;&lt;br /&gt;1. Security: the proxy server may provide an additional layer of defense by separating or masquerading the type of server that is behind the reverse proxy. This configuration may protect the servers further up the chain.&lt;br /&gt;&lt;br /&gt;2. Encryption / SSL acceleration: when secure websites are created, the SSL encryption is sometimes not done by the Web server itself, but by a reverse proxy that is equipped with SSL acceleration hardware.&lt;br /&gt;&lt;br /&gt;3. Load distribution: the reverse proxy can distribute the load to several servers, each server serving its own application area.&lt;br /&gt;&lt;br /&gt;4. Caching: A reverse proxy can offload the Web servers by caching static content, such as images, as well as dynamic content, such as a HTML-page rendered by a content management system.&lt;br /&gt;&lt;br /&gt;5. Compression: the proxy server can optimize and compress the content to speed up the load time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TERMS USED:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PROXY SERVER:  a proxy server is a server (a computer system or an application program) that acts as a go-between for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server evaluates the request according to its filtering rules. For example, it may filter traffic by IP address or protocol. If the request is validated by the filter, the proxy provides the resource by connecting to the relevant server and requesting the service on behalf of the client. A proxy server may optionally alter the client's request or the server's response, and sometimes it may serve the request without contacting the specified server. In this case, it 'caches' responses from the remote server, and returns subsequent requests for the same content directly.&lt;br /&gt;&lt;br /&gt;SSL ACCERLERATION: SSL acceleration is a method of offloading the processor-intensive public key encryption algorithms involved in SSL transactions to a hardware accelerator. Typically, this is a separate card that plugs into a PCI slot in a computer that contains one or more co-processors able to handle much of the SSL processing.&lt;br /&gt;&lt;br /&gt;Read more :&lt;br /&gt;&lt;br /&gt;http://www.sans.org/reading_room/whitepapers/webservers/a_reverse_proxy_is_a_proxy_by_any_other_name_302?show=302.php&amp;amp;cat=webservers&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-958244192017770155?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/958244192017770155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=958244192017770155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/958244192017770155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/958244192017770155'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/03/what-is-reverse-proxy.html' title='What is Reverse Proxy???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1231161259379020948</id><published>2009-02-17T04:10:00.000-08:00</published><updated>2009-02-17T04:15:39.782-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-information'/><category scheme='http://www.blogger.com/atom/ns#' term='Log-management'/><category scheme='http://www.blogger.com/atom/ns#' term='Server-health'/><title type='text'>What is Splunk</title><content type='html'>Splunk is an IT information search solution that indexes data and enables users to analyze, alert and report on all their IT data from every application, server and device; all in one place. It enables you to fi nd and fi x problems, investigate security incidents before attackers cover their tracks and generate compliance reports quickly and easily.&lt;br /&gt;&lt;br /&gt;Splunk continuously indexes all your IT data by time so you can see change in action. And it dynamically interprets the data when you perform a search, eliminating the need to keep up&lt;br /&gt;with ever changing data formats. It doesn’t require special agents, adapters or parsers for specifi c data formats and you get the correlation you need without writing lots of elaborate rules.&lt;br /&gt;&lt;br /&gt;Splunk can integrate with your existing enterprise management, security and compliance tools right out of the box. The Splunk toolbar makes it simple to launch searches from any webbased&lt;br /&gt;application and Splunk alerts can be sent to any of your existing consoles. It can even index the data already collected by your existing management tools to extend the life of your investments.&lt;br /&gt;&lt;br /&gt;In my words : "A smart tool to know the health of your servers"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1231161259379020948?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1231161259379020948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1231161259379020948' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1231161259379020948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1231161259379020948'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/02/what-is-splunk.html' title='What is Splunk'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-397023528392452375</id><published>2009-01-08T21:08:00.000-08:00</published><updated>2009-01-08T23:43:09.078-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>What is the Difference between Desktop, WEB and Client-Server Apllication Testing</title><content type='html'>Each one differs in the environment in which they are tested and you will lose control over the environment in which application you are testing, while you move from desktop to web applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Desktop application&lt;/span&gt; runs on personal computers and work stations, so when you test the desktop application you are focusing on a specific environment. You will test complete application broadly in categories like GUI, functionality, Load, and backend i.e DB.&lt;br /&gt;&lt;br /&gt;In &lt;span style="font-weight: bold;"&gt;Client-Server Application&lt;/span&gt; you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Application&lt;/span&gt; is a bit different and complex to test as tester don’t have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, backend testing and load testing.&lt;br /&gt;&lt;br /&gt;Keep in mind that even the difference exist in these three environment, the basic quality assurance and testing principles remains same and applies to all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-397023528392452375?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/397023528392452375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=397023528392452375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/397023528392452375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/397023528392452375'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/01/what-is-difference-between-desktop-web.html' title='What is the Difference between Desktop, WEB and Client-Server Apllication Testing'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-1882900852263221728</id><published>2009-01-05T02:31:00.000-08:00</published><updated>2009-01-05T06:42:07.644-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>Charles Web debugging Proxy</title><content type='html'>Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).&lt;br /&gt;Charles can act as a man-in-the-middle for HTTP/SSL communication, enabling you to debug the content of your HTTPS sessions.&lt;br /&gt;Charles simulates modem speeds by effectively throttling your bandwidth and introducing latency, so that you can experience an entire website as a modem user might (bandwidth simulator).&lt;br /&gt;&lt;br /&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-1882900852263221728?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/1882900852263221728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=1882900852263221728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1882900852263221728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/1882900852263221728'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2009/01/charles-web-debugging-proxy.html' title='Charles Web debugging Proxy'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8602734914088135833</id><published>2008-12-19T03:39:00.000-08:00</published><updated>2008-12-19T04:02:45.888-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>How to intentionally fail a particular call to get 404 in Fidller ???</title><content type='html'>See earlier post and adds "   *bpafter" as action for auto-responder rule. It will return 404 for any call.&lt;br /&gt;&lt;br /&gt;This allows the request to hit    the server, but break on the response... So finally we get 404 :-)&lt;br /&gt;&lt;br /&gt;*bpu : Break on request before hitting server : This could also be used...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8602734914088135833?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8602734914088135833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8602734914088135833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8602734914088135833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8602734914088135833'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/12/how-to-intentionally-fail-particular.html' title='How to intentionally fail a particular call to get 404 in Fidller ???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3399581569830424648</id><published>2008-12-17T02:56:00.000-08:00</published><updated>2008-12-17T07:55:51.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>How to fail a particular HTTP call through Fiddler?</title><content type='html'>I am a Quality Engineer who test a lot of things in softwares. Currently I am working on a hybrid application where a desktop software make some internet calls. &lt;br /&gt;&lt;br /&gt;Recently I came across a scenario where I wanted to fail a particular call in middle of a set of HTTP calls. Fiddler helped me to do so.&lt;br /&gt;&lt;br /&gt;Here are the steps to make this happen:&lt;br /&gt;&lt;br /&gt;I am taking an example for explaining this. Lets take a case where one thread make 5 calls Call-1, Call-2....Call-5 and I want to fail Call-3. Here are the steps I need to follow:&lt;br /&gt;&lt;br /&gt;- Run this thread after starting fiddler.&lt;br /&gt;- It will list all five calls.&lt;br /&gt;- Select Call-3 and select AutoResponder Tab on the right side&lt;br /&gt;- Check the option for "Enable Automatic Responses"&lt;br /&gt;- Click Add Button&lt;br /&gt;- Call-1 URL will be listed in Rule Editor in Right-Bottom&lt;br /&gt;- Enter any random value in other text-box on the right side of Rule-Editor.&lt;br /&gt;-  Save this.&lt;br /&gt;&lt;br /&gt;In future whenever you will run this thread, Call-3 will always fail.&lt;br /&gt;&lt;br /&gt;All the Best!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3399581569830424648?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3399581569830424648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3399581569830424648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3399581569830424648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3399581569830424648'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/12/how-to-fail-particular-http-call.html' title='How to fail a particular HTTP call through Fiddler?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4360772461014842065</id><published>2008-11-16T12:15:00.000-08:00</published><updated>2008-11-15T22:56:17.744-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='memory management'/><title type='text'>Fundas of Contiguous Memory Allocation - Part I</title><content type='html'>Through Contiguous Memory Allocation, the memory manager strictly allocates contiguous memory locations to an object loaded in the memory. The Contiguous Memory Allocation can be done in two ways, static and dynamic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the Static Memory Allocation, the memory is divided into equal sized partitions and objects are loaded into these partitions as the processes ask for them. With this type of memory allocation, we see a fragmentation that is known as&lt;em&gt; internal fragmentation &lt;/em&gt;that occurs when a small object is loaded into a partition of a larger size. The space that is not occupied by the object cannot be allocated to another object and hence is wasted.&lt;br /&gt;&lt;br /&gt;In case of Dynamic Memory Allocation, the internal fragmentation is eliminated by making each partition only as large as necessary for a particular object. When an object is removed from memory, the space occupied by it is returned to the pool of available memory spaces. However, in this case, a fragmentation known as &lt;em&gt;External Fragmentation &lt;/em&gt;is observed because over the time, dynamic partitioning 0f memory has a tendency to fragment memory into interspersed areas of allocated and unused memory. As these areas are not contiguous, allocation may fail to find a free region to honor a request, even when the combined size of the free memory exceeds the need of the object by a wide margin.&lt;br /&gt;&lt;br /&gt;Another type of fragmentation that can be seen in case of contiguous memoy allocation is the &lt;em&gt;table fragmentation. &lt;/em&gt;This is attributed to the space occupied by the data structures needed for operation of the memory manager.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4360772461014842065?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4360772461014842065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4360772461014842065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4360772461014842065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4360772461014842065'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/09/fundas-of-contiguous-memory-allocation.html' title='Fundas of Contiguous Memory Allocation - Part I'/><author><name>Vibha</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/-793afVp6EP0/Tc49DDCdfpI/AAAAAAAAAr0/OnsxYnuCgI4/s220/Vibha.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4535553235412593022</id><published>2008-11-13T02:38:00.000-08:00</published><updated>2008-11-13T05:46:58.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operating Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Windows 7</title><content type='html'>1. Why 7 ?&lt;br /&gt;&gt;&gt; Its 7th OS from Microsoft. Seventh release of Windows.&lt;br /&gt;&lt;br /&gt;Other 6 Windows Operating Systems:&lt;br /&gt;&lt;br /&gt;Windows XP    &lt;br /&gt;Windows Vista    &lt;br /&gt;Windows 2000    &lt;br /&gt;Windows 98    &lt;br /&gt;Windows ME    &lt;br /&gt;Windows 95    &lt;br /&gt;&lt;br /&gt;Main Features:&lt;br /&gt;&lt;br /&gt;Windows 7 includes a number of new features, such as advancements in touch, speech, and handwriting recognition, support for virtual hard disks, improved performance on multi-core processors, improved boot performance, and kernel improvements.&lt;br /&gt;&lt;br /&gt;- Improved Wordpad&lt;br /&gt;- Improved Calculator Functionalities&lt;br /&gt;- New look to Media Centre&lt;br /&gt;&lt;br /&gt;Many new items have been added to the Control Panel including: Accelerators, ClearType Text Tuner, Display Color Calibration Wizard, Gadgets, Infrared, Recovery, Troubleshooting, Workspaces Center, Location and Other Sensors, Credential Manager, Biometric Devices, System Icons, Windows Solution Center, and Display.&lt;br /&gt;&lt;br /&gt; -- Some applications that have been included with prior releases of Microsoft Windows, most notably Windows Mail, Windows Movie Maker and Windows Photo Gallery, are no longer included with the operating system; they are instead offered separately as part of the Windows Live Essentials suite. --&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;For more details &lt;a href="http://en.wikipedia.org/wiki/Windows_7"&gt;CLICK HERE&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4535553235412593022?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4535553235412593022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4535553235412593022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4535553235412593022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4535553235412593022'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/11/windows-7.html' title='Windows 7'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-314691920504991766</id><published>2008-11-12T05:56:00.000-08:00</published><updated>2008-11-12T06:12:14.624-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>Result Codes in Fiddler</title><content type='html'>In Fiddler UI you can see two sections, on the right side and other on Left. Left section list all web sessions. In Web Sessions section you can see different Results for different web calls.&lt;br /&gt;&lt;br /&gt;The following Result codes quickly discuss each HTTP status that you can get back, what it means, and what to do about it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;301 — Moved Permanently&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This HTTP status means that a redirect was used – and that the redirect told the browser that the redirect would remain in effect indefinitely. The URL that the web browser asked for has permanently moved to a new location. This may mean that your application is referring to a directory on the web site without a final slash. So if the reference is &lt;a href="http://ripple4photography.blogspot.com/search/label/My%20Favorites"&gt;http://ripple4photography.blogspot.com/search/label/Light&lt;/a&gt; the reference should be &lt;a href="http://ripple4photography.blogspot.com/search/label/My%20Favorites"&gt;http://ripple4photography.blogspot.com/search/label/Light/&lt;/a&gt; because blog isn't a file it's a directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;302 — Object Moved&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This type of status is a temporary redirect. This is the kind of redirect that most developers are familiar with. It tells the web browser that the object has temporarily moved to a new location. These are normal for applications that post back to the same page, validate the input, perform the operation, and then redirect the user to another page. These generally don't represent a problem unless there are a lot of them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;304 — Not Modified&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This type of status indicates that the web browser asked the server if the image had been modified since the browser had cached it. The browser sent a request for the file but indicated in the request that it had a cached copy and that the web server shouldn't bother sending it back unless it changed. This typically indicates that the cache control headers aren't present in the responses the browser is receiving. As a result it caches the response but has to check with the web server to see if its cache is still valid. This can be a performance problem. Since not a lot of data is transmitted it doesn't have a huge impact on overall bandwidth, however, because there can be many of these requests the latency of each call to check whether an image has changed or not can add up to a significant wait time for the user. By setting caching headers in the response that the browser receives these 304 statuses can all be eliminated.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;400 — Bad Request&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This status code means that the web server didn't understand the request from the client. Although this occurs rarely it can be a problem if it's occurring frequently. This typically points to components integrated into the web server, such as ISAPI filters, which are mangling the request but can sometimes point to poorly encoded data in the request.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;404 — Not Found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This status message is the most infamous status on the Internet. It means that the web server couldn't find the content that was requested. If this is the main page that the user has requested this will be obvious as they get a 404 page. However, if it's for a JavaScript file, a CSS file, or other supporting files for the page, the user may not know anything is wrong. The best solution here is to track down the references and update them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;500 — Server Error&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This status message is a bit more ominous than the others here. It's more ominous because it means that the server wasn't able to complete the processing of the request. This can indicate a greater server problem or at the very least instability that should be addressed. As with other errors it may be hidden in an embedded object and can be easily missed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;502 — Connection Issue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This status message indicates that a connection message couldn't be made to the server. This could mean that the name wasn't translated or that there are problems in the underlying transport of packets to the server. Either case indicates a broader networking issue. You'll need to make sure that you have thoroughly tested the underlying network before continuing to debug the issue.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;200 - &lt;/span&gt;&lt;span style="font-weight: bold;font-family:Verdana,Arial,Helvetica;" &gt;Successful web requests :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-314691920504991766?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/314691920504991766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=314691920504991766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/314691920504991766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/314691920504991766'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/11/result-codes-in-fiddler.html' title='Result Codes in Fiddler'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4957325934214086473</id><published>2008-11-12T02:13:00.000-08:00</published><updated>2008-11-12T06:10:19.160-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web-Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging Tool'/><title type='text'>What is Fiddler?</title><content type='html'>For last few months I have using Fiddler for my testing. Actually I used to test some hybrid application where a desktop application interact with multiple online servers for different purposes. So Fiddler helped me to track different http calls between desktop and online servers.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet.  Fiddler allows you to    inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data.     Fiddler includes a powerful event-based    scripting subsystem, and can be extended using any .NET language.&lt;/p&gt;  &lt;p&gt;Fiddler is freeware and can debug traffic from virtually any application,   including Internet Explorer, Mozilla Firefox, Opera, and thousands more.&lt;/p&gt;Fiddler is the electronic equivalent of an X-Ray that can get into the traffic going between your web application and the web server to make sure that everything is OK. Fiddler can tell you what was wrong in a specific interaction and can show you at a glance what problems there are with the overall conversation. It's an invaluable tool for anyone who develops web applications — no matter whether that development is in .NET, Java, Cold Fusion, or some other language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4957325934214086473?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4957325934214086473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4957325934214086473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4957325934214086473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4957325934214086473'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/11/what-is-fiddler.html' title='What is Fiddler?'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5271070701620892476</id><published>2008-10-30T06:32:00.000-07:00</published><updated>2008-11-06T01:47:00.982-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PERL'/><category scheme='http://www.blogger.com/atom/ns#' term='Read File'/><category scheme='http://www.blogger.com/atom/ns#' term='FILE-Handling'/><title type='text'>How to read a file in PERL</title><content type='html'>&lt;b&gt;The &lt;tt&gt;open()&lt;/tt&gt; function&lt;br /&gt;&lt;/b&gt;&lt;p style="text-align: center;"&gt;Data files are opened in Perl using the &lt;tt&gt;open()&lt;/tt&gt; function. When you open a data file, all you have to do is specify (a) a &lt;em&gt;file handle&lt;/em&gt; and (b) the name of the file you want to read from.&lt;/p&gt;&lt;div style="text-align: center;"&gt;  &lt;/div&gt;&lt;p style="text-align: center;"&gt;As an example, suppose you need to read some data from a file named "&lt;tt&gt;checkbook.txt&lt;/tt&gt;". Here's a simple open statement that opens the checkbook file for read access:&lt;/p&gt;&lt;div style="text-align: center;"&gt;  &lt;blockquote&gt;     &lt;p&gt;&lt;tt&gt;open (CHECKBOOK, "checkbook.txt");&lt;span style="font-family: Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;*** Use complete filepath. Generally its a good practice. Replace single slash with double slashes in file-path&lt;/span&gt;&lt;br /&gt;&lt;tt&gt;&lt;span style="font-family: Georgia,serif;"&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;          &lt;/div&gt;&lt;p style="text-align: center;"&gt;In this example, the name "&lt;tt&gt;CHECKBOOK&lt;/tt&gt;"         is the file handle that you'll use later when reading         from the &lt;tt&gt;checkbook.txt&lt;/tt&gt; data file. Any time you         want to read data from the checkbook file, just use the         file handle named "CHECKBOOK".&lt;/p&gt;&lt;br /&gt;&lt;b&gt;Example - opening a data file and reading from it&lt;/b&gt;         &lt;p style="text-align: center;"&gt;Now that we've opened the checkbook file, we'd like to         be able to read what's in it. Here's how to read one line         of data from the checkbook file:&lt;/p&gt;&lt;div style="text-align: center;"&gt;         &lt;blockquote&gt;             &lt;p&gt;&lt;tt&gt;$record = &lt;checkbook&gt;;&lt;/checkbook&gt;&lt;/tt&gt;&lt;/p&gt;         &lt;/blockquote&gt;         &lt;/div&gt;&lt;p style="text-align: center;"&gt;Pretty simple, eh? After this statement is executed,         the variable &lt;tt&gt;$record&lt;/tt&gt; contains the contents of         the first line of the checkbook file. The "&lt;tt&gt;&lt;&gt;&lt;/tt&gt;"         symbol is called the &lt;em&gt;line reading operator&lt;/em&gt;, and         in this example we've put the checkbook file handle in         the line reading operator, indicating that we'd like to         read a line from the checkbook file.&lt;/p&gt;&lt;div style="text-align: center;"&gt;         &lt;/div&gt;&lt;p style="text-align: center;"&gt;Of course, instead of reading just one line of data,         you may want to operate on many lines of data in the         checkbook file. Suppose, for example, you wanted to print         every record of information from the checkbook file.         Here's the code to (a) open the checkbook file, (b) print         each record from the file, and (c) close the file when         you're finished working with it:&lt;/p&gt;&lt;div style="text-align: center;"&gt;  &lt;pre&gt;   open (CHECKBOOK, "checkbook.txt");&lt;br /&gt;&lt;br /&gt; while ($record = &lt;checkbook&gt;) {&lt;br /&gt;    print $record;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; close(CHECKBOOK);&lt;br /&gt;&lt;/checkbook&gt;&lt;/pre&gt;         &lt;/div&gt;&lt;p style="text-align: center;"&gt;Notice the use of the &lt;tt&gt;close()&lt;/tt&gt; statement         in this example. You always want to close a file when         you're finished reading from it, and since the while loop         reads through the entire file, there's not much else to         do when you're finished except close it.&lt;/p&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5271070701620892476?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5271070701620892476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5271070701620892476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5271070701620892476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5271070701620892476'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/10/how-to-read-file-in-perl.html' title='How to read a file in PERL'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-7915361878077594716</id><published>2008-10-29T05:50:00.001-07:00</published><updated>2008-10-29T06:43:53.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Operators'/><category scheme='http://www.blogger.com/atom/ns#' term='PERL'/><title type='text'>Operators in PERL</title><content type='html'>&lt;div style="text-align: center;"&gt;I assume that examples used will explain about the usage of operators here.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;1. Equality Operators : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Strings:&lt;/span&gt;&lt;br /&gt;if ($Name eq "Ripple") { print "My Name is $Name" }&lt;br /&gt;if ($Name ne "Ripple") { print "My Name is not $Name" }&lt;br /&gt;&lt;br /&gt;Of course it would make more sense to use else here, but for the sake of examples be happy with this solution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Numbers:&lt;/span&gt;&lt;br /&gt;To compare numbers, use &lt;, &lt;=, &gt;, &gt;=, &lt;&gt; and ==.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;2. If...then...else...elsif&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;$MyAge = 24&lt;br /&gt;&lt;br /&gt;if ($MyAge &lt; 18)&lt;br /&gt;         { print "My age is less than 18" }&lt;br /&gt;elsif ($number &lt; 25)&lt;br /&gt;         { print "My age is less than 25" }&lt;br /&gt;else { print "My age is greater than 25" }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;OUTPUT:&lt;/span&gt;&lt;br /&gt;         My age is less than 25&lt;br /&gt;&lt;br /&gt;Simpler way to right If statement:&lt;br /&gt;&lt;br /&gt;$Name = "Ripple";&lt;br /&gt;print "My Name is Ripple" if $Name eq "Ripple";&lt;br /&gt;&lt;br /&gt;Another way to use if-else:&lt;br /&gt;&lt;br /&gt;$Size  eq "Big" ? $output="BIG" : $output="small";&lt;br /&gt;print $output;&lt;br /&gt;&lt;br /&gt;if it is true, the code after the question marked will be executed. If not, the code ofter the colon will be executed. So if your if block only needs to do one statement, use "? :"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. FOR loop...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;for ($counter = 0; $counter &lt;= 10; $counter++)&lt;br /&gt;                { print $counter."," }&lt;br /&gt;Output:&lt;br /&gt;0,1,2,3,4,5,6,7,8,9,10,&lt;br /&gt;&lt;br /&gt;$counter++ means, that $counter will be increased one by one and is short for $counter = $counter + 1. You can also use it with a minus, making it $counter- - . But you can do a little bit more while you are in a loop.&lt;br /&gt;&lt;br /&gt;Place any of the commands into the loop and you con do this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;last &lt;/span&gt;Exit the loop immediately&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;redo&lt;/span&gt; Repeat the last run in the loop&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;next&lt;/span&gt; Proceed to the next run, don't run any command after this in the loop&lt;br /&gt;&lt;br /&gt;The main use for those is, if you have to change the standard loop behaviour under special circumstances or rules, when you want to abort the loop and so on.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-7915361878077594716?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/7915361878077594716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=7915361878077594716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7915361878077594716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/7915361878077594716'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/10/operators-in-perl.html' title='Operators in PERL'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-3604162254854931205</id><published>2008-10-29T05:21:00.000-07:00</published><updated>2008-10-29T05:46:55.121-07:00</updated><title type='text'>Some Basic things about PERL</title><content type='html'>1. PERL is Case sesitive...&lt;br /&gt;&lt;br /&gt;2. What can I use Perl for?&lt;br /&gt;Most people use PERL for either automating administrative tasks (write a .pl file and launch it with PERL.EXE) or in combination with a webserver to create dynamice web pages. Most UNIX based webservers have PERL support already integrated (like APACHE) whereas you have to install PERL on WIN32 platforms like Windows NT (IIS 4).&lt;br /&gt;&lt;br /&gt;3.  Variables are declared with a $&lt;br /&gt;&lt;br /&gt;4. &lt;stdin&gt;  prompts for input and stores the value in the according variable&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;print "Your age please $firstname $lastname: ";&lt;br /&gt;$myage = &lt;stdin&gt;;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;5. How to define an array in Perl?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;@myarray = ("red","green","black");&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;@myarray = qw(red green black);&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;$myarray[0] = "red";&lt;br /&gt;$myarray[1] = "green";&lt;br /&gt;$myarray[2] = "black";&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;6. Hashes in Perl:A Hash consists not only of onebut two values each - a KEY and a VALUE.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;To initialize a hash write:&lt;br /&gt;&lt;/div&gt;%myhash = ( "Name" =&gt; "Vijay Kumar Sharma",&lt;br /&gt;"Hobby" =&gt; "Photography",&lt;br /&gt;"Age" =&gt; 24&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;$myhash{'Name'} = "Vijay Kumar Sharma";&lt;br /&gt;$myhash{'Hobby'} = "Photography";&lt;br /&gt;$myhash{'shoe size'} = 24;&lt;br /&gt;&lt;br /&gt;*** Note Curly braces for hash keys...&lt;br /&gt;&lt;br /&gt;foreach $key (keys %myhash)  { print $key.": ".$myhash{$key}."\n"; } ==&gt;&gt; Ignore if not able to understand at this moment... I have to separately see how for loop works in PERL&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-3604162254854931205?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/3604162254854931205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=3604162254854931205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3604162254854931205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/3604162254854931205'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/10/some-basic-things-about-perl.html' title='Some Basic things about PERL'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-5370336548805996514</id><published>2008-09-22T05:34:00.000-07:00</published><updated>2008-09-22T05:35:20.074-07:00</updated><title type='text'>C++ Questions ???</title><content type='html'>&lt;span style="font-weight: bold;"&gt;1. &lt;/span&gt;&lt;span class="tdvamseel"&gt;&lt;span style="font-weight: bold;"&gt;What are the four functions that compiler automatically provides? How can you prevent compiler to provide automatically?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&gt;&gt;&lt;br /&gt;&lt;br /&gt;- &lt;/span&gt;&lt;/span&gt;&lt;span class="tdvamseel"&gt;default constructor&lt;br /&gt;- copy contructor&lt;br /&gt;- assignment operator&lt;br /&gt;- destructor&lt;/span&gt;&lt;span class="tdvamseel"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-5370336548805996514?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/5370336548805996514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=5370336548805996514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5370336548805996514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/5370336548805996514'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/09/c-questions.html' title='C++ Questions ???'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-4451711532849432691</id><published>2008-09-19T01:07:00.000-07:00</published><updated>2009-01-20T05:28:38.082-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>Friend in C++</title><content type='html'>In some circumstances, it is more convenient to grant member-level access to functions that are not members of a class or to all functions in a separate class.  You can declare friend functions or friend classes to access not only public members but also protected and private class members.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;The friend keyword allows a function or class to gain access to the private and protected members of a class.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-4451711532849432691?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/4451711532849432691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=4451711532849432691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4451711532849432691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/4451711532849432691'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/09/friend-in-c.html' title='Friend in C++'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1103223638913807802.post-8510719175004295815</id><published>2008-09-17T06:28:00.001-07:00</published><updated>2008-09-18T06:53:55.101-07:00</updated><title type='text'>Access Specifiers in C++</title><content type='html'>&lt;span&gt;With C++, you can specify the level of access to member data and functions. There are three levels of access: public, protected, and private.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Access Specifiers:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Public :&lt;/span&gt; Available to everyone&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Private :&lt;/span&gt; Class members declared as &lt;b&gt;private&lt;/b&gt; can be used only by member functions and friends (classes or functions) of the class.&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;If someone &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;tries to access a private member, they’ll get a compile-time error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Protected :&lt;/span&gt; Class members declared as &lt;b&gt;protected&lt;/b&gt; can be used by member functions and friends (classes or functions) of the class. Additionally, they can be used by classes derived from the class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1103223638913807802-8510719175004295815?l=computersfundamental.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://computersfundamental.blogspot.com/feeds/8510719175004295815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1103223638913807802&amp;postID=8510719175004295815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8510719175004295815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1103223638913807802/posts/default/8510719175004295815'/><link rel='alternate' type='text/html' href='http://computersfundamental.blogspot.com/2008/09/access-specifiers-in-c.html' title='Access Specifiers in C++'/><author><name>VJ Sharma</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Xs4dzGEFgnk/TS6wITxBU4I/AAAAAAAAIDI/LJbxhSVXg9Y/S220/73810_1593439790753_1078674435_31628604_172605_n_edited-1.jpg'/></author><thr:total>0</thr:total></entry></feed>
