<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software design and embedded system tools. &#187; Software Engineering</title>
	<atom:link href="http://embedsoftdev.com/category/software-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://embedsoftdev.com</link>
	<description>Good information for software design</description>
	<lastBuildDate>Tue, 17 Jan 2012 19:13:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Stubs and Drivers testing</title>
		<link>http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/</link>
		<comments>http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 07:39:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[At last, the artificial process would be accomplished with the correct logic of a program. All the same, developing the stub permits the developer for calling a method in source code that is developed]]></category>
		<category><![CDATA[driver testing]]></category>
		<category><![CDATA[drivers testing]]></category>
		<category><![CDATA[software testing driver]]></category>
		<category><![CDATA[stub and driver]]></category>
		<category><![CDATA[stub and driver testing]]></category>
		<category><![CDATA[stub testing]]></category>
		<category><![CDATA[stubs and driver]]></category>
		<category><![CDATA[stubs and drivers]]></category>
		<category><![CDATA[stubs and drivers testing]]></category>
		<category><![CDATA[stubs testing]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=678</guid>
		<description><![CDATA[It is all of the time a good thought, to design and check software programs in &#8220;bits&#8221;. However, it might appear impractical, as it is difficult to envisage how you are able to test only one &#8220;piece&#8221; when other &#8220;pieces&#8221;, which it utilizes, have not even developed. To figure out these types of problems developers [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/' rel='bookmark' title='Performance Testing and Regression Testing'>Performance Testing and Regression Testing</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It is all of the time a good thought, to design and check software programs in &#8220;bits&#8221;. However, it might appear impractical, as it is difficult to envisage how you are able to test only one &#8220;piece&#8221; when other &#8220;pieces&#8221;, which it utilizes, have not even developed. To figure out these types of problems developers utilize stubs and drivers testing method.</p>
<p>In the process of white-box testing, you should run the source code with planned input and verify to make certain that the source code gives preset outputs. For white-box testing oftentimes software testers write down stubs and drivers testing.</p>
<p><strong>Driver for Software Testing</strong></p>
<p>In software testing driver is the part of source code, which clear test cases into other part of code. A test driver or test Harness is supporting source data and code utilized to test software that provides an environment. It might also be called as a module of software, that is utilized to raise a module on test and render test inputs, execution, control, monitor and report results of test or most plainly a row of code, which calls a process and authorizes that process a value.</p>
<p>As for instance, if you desired to give motility to a player on game software, then the driver code will be moveplayer(player, LocationX, LocationY). The driver code will probably will be called from main method. A case of white-box test would run this line of code driver and verify &#8221; player.getPosition()&#8221; to assure that the player is at present on the anticipated cell.</p>
<p><strong>Stubs for Software Testing:</strong></p>
<p>Stub is artificial process, unit or module, which denotes for an incomplete part of a system.</p>
<p><strong>Four common types of Stubs are:</strong></p>
<p>1. show a trace message<br />
2. show parameter value(s)<br />
3. Return a value from a table<br />
4. Return table value selected by parameter</p>
<p>Stub is a program that is utilized as an alternate for the module’s body of the software which is or would be defined in a different place or an object or dummy component utilized to imitate the conduct of an actual component until that component is developed.</p>
<p>At last, the artificial process would be accomplished with the correct logic of a program. All the same, developing the stub permits the developer for calling a method in source code that is developed, yet the method do not have the desirable performance.</p>
<p>Stubs and drivers testing are frequently regarded as throwaway code. Nevertheless, they are not been cast away: Stubs might be filled to build the real method.</p>
<p>Thanks.</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="stubs and drivers">stubs and drivers</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="stubs and drivers in software testing">stubs and drivers in software testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="Describe the use of stubs and drivers in the different phases of the system development life cycle">Describe the use of stubs and drivers in the different phases of the system development life cycle</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="stub testing">stub testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="software engineering test driver">software engineering test driver</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="what is a driver and stub in testing">what is a driver and stub in testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="stub and driver in testing">stub and driver in testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="drivers software testing tools">drivers software testing tools</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="drivers and stubs in testing">drivers and stubs in testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="driver in software testing">driver in software testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="stubs in testing">stubs in testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/" title="what are test drivers software">what are test drivers software</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/' rel='bookmark' title='Performance Testing and Regression Testing'>Performance Testing and Regression Testing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test driven development (test first)</title>
		<link>http://embedsoftdev.com/software-engineering/test-driven-development-test-first/</link>
		<comments>http://embedsoftdev.com/software-engineering/test-driven-development-test-first/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 01:45:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[test first]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=670</guid>
		<description><![CDATA[Test driven development Test Driven Development is one of test method that specializes in the test repetition. The reason for doing this is to test codes repeatedly with hopes of making a given software better and more effective. The Test-Driven Design has several steps that must be followed before the test is successfully completed. The [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-ii/' rel='bookmark' title='Agile software development model II.'>Agile software development model II.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Test driven development </strong></p>
<p><a href="http://embedsoftdev.com/wp-content/uploads/2010/08/SCHEMA-Client-IT-Services-Provider-01.jpg"><img src="http://embedsoftdev.com/wp-content/uploads/2010/08/SCHEMA-Client-IT-Services-Provider-01-300x274.jpg" alt="software engineering Test driven development (test first)" title="SCHEMA Client IT Services Provider 01" width="300" height="274" class="aligncenter size-medium wp-image-691" /></a></p>
<p>Test Driven Development is one of test method that specializes in the test repetition.<br />
The reason for doing this is to test codes repeatedly with hopes of making a given software better and more effective.<br />
 The Test-Driven Design has several steps that must be followed before the test is successfully completed.<br />
The first step requires writing a test (so it&#8217;s also called <strong>test first</strong>). There has to be a sample diagram or flowchart before any other actions can be taken.<br />
However, when written test finish , it&#8217;s not mean to success the TDD process because it is written before the physical test (real test) is performed.<br />
The person writing the test must know precise specification of  the features being created as well as everything required for creating test suite.<br />
In most cases the writer obtains the information about the feature required to create the test by using use cases or user stories of the software that will be run the test on.<br />
After gather all useful information then source code is written. Next, every test must be ran to written code to determine that the written code is fail in the test suite<br />
or not.<br />
At this point, it should pass and if all the tests pass then it’s time to proceed to the final step. The final step is all about cleaning up the code.<br />
This is done by re-running the test cases in search for defects and so on . There has to be certainty that there is no damage being found to any other software functionality<br />
as a result of the new software can be released.</p>
<p><strong>Advantages of test first</strong></p>
<p>1. When you continue to do the test first then you will get a lot of test cases. After that when you want to restructure the system, you can do it easily<br />
and don&#8217;t have to fear about the bugs that may happen because when you finish restructure the system , your new system may not pass some written<br />
test cases, so at this point you can retrace to modify the written test cases and then try to validate the new system to pass to modified test cases.<br />
(If you don&#8217;t have test cases , after complete restructure your system for 2 or 3 months , the unknown bugs may occur because the restructured system<br />
was not tested. At this time you have to fix bugs but it&#8217;s so difficult to fix them due to you may forget about wherever in the function or files that you used<br />
to modified source code. In my opinion, if your system is very complex , your certainly have to write intensive test cases )</p>
<p>2.With test first you have to write test documents before write the code , this way will help the programmer or developer to plan before they begin to write<br />
code (they have to write the code to pass the test documents). As a result your entire code will look better and you will get the software that have a good<br />
structure. It also help you to reduce runtime error or unexpected bugs (so cost to fix the bugs is also reduced too).</p>
<p>Test first is differ from unit test as follow<br />
                1. Test first is done before writing source code but Unit test is done after finish writing the code.<br />
                2. In test first , you don&#8217;t need to look at source code to write the tests but in unit test , you must use the written code to do unit test.<br />
                3. Unit test help you to ensure that your written function or piece of code is work or not but test first help you to ensure that<br />
entire code in the project work well or not.</p>
<p>Thank you,<br />
       Jitkasem</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/test-driven-development-test-first/" title="test driven development">test driven development</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-ii/' rel='bookmark' title='Agile software development model II.'>Agile software development model II.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/test-driven-development-test-first/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Is Load Testing Useful</title>
		<link>http://embedsoftdev.com/software-engineering/load-testing/</link>
		<comments>http://embedsoftdev.com/software-engineering/load-testing/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 15:50:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[load test]]></category>
		<category><![CDATA[load testing]]></category>
		<category><![CDATA[software load test]]></category>
		<category><![CDATA[web load testing]]></category>
		<category><![CDATA[web testing]]></category>
		<category><![CDATA[why is load]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=571</guid>
		<description><![CDATA[Load testing is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react.  One example of the need for this [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/' rel='bookmark' title='Performance Testing and Regression Testing'>Performance Testing and Regression Testing</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Load testing</strong> is the process of putting increasing demand on a system or software until the system or software breaks or fails to function. The purpose of load testing is to test the system against unusually high usage patterns to determine how the system or software will react. </p>
<p>One example of the need for this type of testing is a web server hosting a web site that is seasonal or receives peak levels of web traffic during highly publicized special events. Another example would be a link to a small web site from a very popular site, that then doubles or triples the number of concurrent visitors to the smaller web site. Load testing in each example could determine ahead of time whether each site could handle the increased traffic without the hosting server failing to serve web pages to visitors during the peak load. </p>
<p><span id="more-571"></span></p>
<p><strong>Software load testing </strong></p>
<p>Software programs can be load tested and can be particularly useful if they are network capable as most modern software packages are today. Testing is usually performed by the software company itself, rather than individual users or business users unless determining maximum capacity is critical to the enterprise. Ordinarily however, software will come with a set of benchmarks, stated maximum concurrent users and other statistics that are useful in determining suitability to purpose, often removing the need for individual testing. </p>
<p>With common software packages, like a word processor application or graphics editor application, these can be tested by repeated attempts to load a very large document. Will the document load successfully? Or will a suitable error message be displayed to confirm that the document is beyond the capacity of the application to handle it? Will the application simply crash with or without warning? In the case of other applications like a database that is setup to only handle 100 concurrent users, like some versions of Microsoft Access database application, what happens when the 101st user is attempting to connect to the database? Different software makers will handle the software limits in various ways and it can be helpful to be aware of these. In addition, web applications need to be written to display appropriate messages to the web user if maximum capacity has been reached. </p>
<p><strong>Web server and web application load testing </strong></p>
<p>The World Wide Web (the Internet) is run by networks, and web servers are utilized to offer web site functionality to web users. A lot of the software used on these networks and servers today was designed for the Internet, but quite a few have been inherited and was not specifically designed for it. </p>
<p>Early versions of Microsoft Access are a case in point. The 100 concurrent user limit was fine for most enterprises using a network version of the package. As long as each user quickly accessed the database, ran their database query, saved the results and then disconnected from the relational database management system (RDBMS), hitting the concurrent user limit could be avoided in many cases. Depending on the uses for the database, 1,000 users across an enterprise could have access to the RDBMS as long as no more than 100 employees did so during the same few seconds a database query was being ran.  </p>
<p>Some web hosting companies still offer earlier versions of Access for free with their hosting packages and this can create problems for web developers that create a web application, utilizing Access as the primary RDBMS, never anticipating the web site becoming anything but modest success. The concurrent user limit could be quickly reached if traffic grew beyond expected levels and the web site would become inaccessible for many users. </p>
<p><strong>Load testing in the real world </strong></p>
<p>Load testing is useful to determine the maximum usable load for an application, be it standalone, networked or web-based. This can help when attempting to predict outcomes should demand exceed estimates by the wide margin. Software packages will usually come with some internally tested load suggestions but it is useful to conduct your own tests when the application is critical to business operations.</p>
<p>Thank you,<br />
         Jitkasem Pintaya</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/load-testing/" title="why is application is useful">why is application is useful</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/' rel='bookmark' title='Performance Testing and Regression Testing'>Performance Testing and Regression Testing</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/load-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum and Extreme Programming</title>
		<link>http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/</link>
		<comments>http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 13:39:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile methodology]]></category>
		<category><![CDATA[agile process]]></category>
		<category><![CDATA[extreme programming]]></category>
		<category><![CDATA[eXtreme Programming teams]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrum and extreme]]></category>
		<category><![CDATA[sprint]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/</guid>
		<description><![CDATA[Agile Process (Scrum and Extreme Programming) The Agile Process or software development refers to a set of software development methods which are based on iterative development. In this process, the solutions and requirements both evolve mutual collaboration between cross functional teams. These teams are self-organizing in nature. The Agile software development approach usually promotes a [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-ii/' rel='bookmark' title='Agile software development model II.'>Agile software development model II.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-process-and-software-development-model/' rel='bookmark' title='Software Process and Software Development model.'>Software Process and Software Development model.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-i/' rel='bookmark' title='Agile software development model I.'>Agile software development model I.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Agile Process (Scrum and Extreme Programming)</strong><br />
The Agile Process or software development refers to a set of software development methods which are based on iterative development. In this process, the solutions and requirements both evolve mutual collaboration between cross functional teams. These teams are self-organizing in nature.<br />
	The Agile software development approach usually promotes a regimented kind of project management process which encourages:<br />
* Frequent adaptation and inspection<br />
* Self-organization and accountability<br />
* A leadership philosophy which promotes teamwork<br />
* A business approach which bring into line the development with customer needs and company goals<br />
* And a group of best engineering practices having an intention to allow for rapid delivery of good-quality software.<br />
<strong>Extreme Programming (EP)</strong><br />
        It is a software development methodology with an intention to enhance software responsiveness and quality to the volatile requirements of customers. Being a type of Agile process, it promotes frequent releases in small development cycles. This introduces checkpoints and improves the productivity in a way that the new requirements from customers can be adopted.<br />
<strong>The advantages of Extreme Programming are:</strong><br />
* Unit testing of all code<br />
* Avoiding programming of features until needed<br />
* Programming in pairs or carrying out extensive code review<br />
* Clarity and simplicity in code<br />
* Volatile customer requirements better understood<br />
* A flag management structure<br />
* Frequent communication between the programmers and even with the customer<br />
<strong>It has been noted however that there are certain drawbacks with Extreme programming. They are:</strong><br />
* No documented compromises of user conflicts<br />
* Unstable requirements<br />
* Lack of overall design document or specification<br />
* Incorporates inadequate software design<br />
* Necessitates meetings at recurrent intervals at huge expense to customers<br />
* Can enlarge the risk of scope creep due to the lack of thorough requirements documentation<br />
* Requires excess of cultural change to adopt</p>
<p><strong>Scrum </strong><br />
	Scrum  is an incremental, iterative framework for agile software development and project management. The word “Scrum” is not really an acronym. However, many companies using this methodology spell it with capital letters. Initially Scrum methodology was focused for management of software development projects, but in recent times it can be used to run general program/project management approach or software maintenance teams.<br />
Scrum, which contains sets of predefined roles and practices, is a process skeleton. Main roles in this method are:<br />
1. Product Owner – Represents Stakeholders<br />
2. Scrum Master – The one responsible for maintaining the processes<br />
3. Team – A cross functional group of about 6-8 people who do actual design, testing, implementation, etc.<br />
	Each of the iteration is called a “sprint”, typical time frame for which is normally about two to four weeks. The length of each sprint is decided by the team. The product “backlog” pushes the set of features into a spring. These features are prioritized set of higher level requirements for the task to be carried out. Based on this product “backlog”, the team determines how many of the items can be completed in the next sprint. Once the sprint begins, nobody is allowed to alter the sprint backlog, which means that the set of requirements are frozen. On successful completion of a sprint, the team demonstrates the usage of that particular software.<br />
	This methodology should be encouraged in organizations since the major advantage of using the Scrum is that it enables the creation of teams which are highly self-organizing in nature. This is achieved by encouraging verbal communication amongst the team members, co-location of all the team members and disciplines which are involved for the project.</p>
<p><strong>Differences between Scrum and Extreme Programming(EP) :</strong><br />
1. The time span for iterative sprints is different in both approaches.<br />
2. Changes are not allowed by the Scrum teams during their sprints. Whereas Extreme Programming teams have to be much more agreeable to changes.<br />
3. Work is done by EP teams in strict priority order. Whereas in case of Scrum, the product owner prioritizes the set of activities.<br />
4. EP does prescribe some engineering practices; Scrum does not.</p>
<p>Thank you</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="xp programming sprint">xp programming sprint</a></li><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="scrum and extreme programming">scrum and extreme programming</a></li><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="scrum programming is a type of extreme programming">scrum programming is a type of extreme programming</a></li><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="agile extreme programming sprints">agile extreme programming sprints</a></li><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="scrum embedded system">scrum embedded system</a></li><li><a href="http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/" title="what is difference between scrum and extreme programming documentation">what is difference between scrum and extreme programming documentation</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-ii/' rel='bookmark' title='Agile software development model II.'>Agile software development model II.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-process-and-software-development-model/' rel='bookmark' title='Software Process and Software Development model.'>Software Process and Software Development model.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/agile-software-development-model-i/' rel='bookmark' title='Agile software development model I.'>Agile software development model I.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/scrum-and-extreme-programming/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>Performance Testing and Regression Testing</title>
		<link>http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/</link>
		<comments>http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 13:29:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[ad hoc]]></category>
		<category><![CDATA[ad hoc testing]]></category>
		<category><![CDATA[performance testing]]></category>
		<category><![CDATA[performance testing and regression testing]]></category>
		<category><![CDATA[performing regression testing]]></category>
		<category><![CDATA[regression]]></category>
		<category><![CDATA[regression testing]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/uncategorized/409/</guid>
		<description><![CDATA[Performance Testing and Regression Testing Software testing or Testing is an examination conducted to present the stakeholders with data regarding the quality of the service or product under test. This type of software testing as well provides in insight on the independent views and objectives of the software to permit the business to understand all [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/user-acceptance-test/' rel='bookmark' title='User Acceptance Testing.'>User Acceptance Testing.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><center><strong>Performance Testing and Regression Testing</strong></center></p>
<p>Software testing or Testing is an examination conducted to present the stakeholders with data regarding the quality of the service or product under test. This type of software testing as well provides in insight on the independent views and objectives of the software to permit the business to understand all the risks involved during the implementation of the software.<br />
Based on the testing method employed, Software testing can be put into practice at any point of time in the development process. Although, most of the efforts for testing occur after the requirements are defined and the process for coding has been completed.</p>
<p>This article describes two types of testing methodologies.</p>
<p><strong>1. Performance Testing</strong><br />
Performance testing is performed to determine how quick a system or sub-system executes under a particular amount of workload. It can also provide to verify and validate other quality traits of the system, such as reliability, scalability and resource usage.</p>
<p>In the field of Software Engineering, performance testing comes under the testing category which is carried out to how fast a particular aspect of the system under observation performs, given a fixed amount of workload. This sort of testing is a subset of Performance Engineering (up-and-coming computer science practices build to get performance into the architecture and design of a system, prior to the actual effort of coding). There are various purposes which performance testing can serve:<br />
It can compare given two systems and finds out which one is performing better<br />
It can demonstrate whether or not the system meets the required performance criteria.<br />
It can calculate which parts of the system under observation cause the system to perform badly.</p>
<p><strong>2. Regression Testing</strong><br />
This type of testing is any software testing which seeks to find out software errors by partly re-testing a modified program. The intention of this type of testing is to provide a kind of assurance that no additional errors were added during the process of fixing the existing problems. Regression testing is generally used to proficiently examine the system by systematically choosing the appropriate suite of tests which are required to sufficiently cove all of the affected changes.<br />
Widespread methods of regression testing comprise of rerunning earlier run tests and scrutinizing whether previously fixed faults have re-emerged. One of the chief reasons for performing regression testing is that it&#8217;s often tremendously difficult for a programmer to outline out how a change in one part of the software will reverberate in other parts of the software.</p>
<p><strong>Ad hoc testing</strong><br />
This term is commonly used to represent software testing without any documentation or planning. The tests are made to run only once, unless a defect is discovered. This type of testing is more of a part of exploratory testing. Here, the tester seeks to find errors by any means that seems appropriate to him/her.</p>
<p><strong>Unit Testing</strong><br />
This type of testing is a software verification and validation method where a programmer tests if individual units of system are fit for utilization. A unit is the least testable part of an application. In procedural programming, a unit might be an individual procedure or function.</p>
<p><strong>Advantages</strong></p>
<p>The advantage of performing Performance and Regression testing are:<br />
<em>Reusable:</em> Can reuse tests on diverse versions of an application, even if the user interface alters<br />
<em>Repeatable:</em> Can check how the software responds under repeated execution of the identical operations.<br />
<em>Programmable:</em> Can program complicated tests that bring out concealed information from the application.<br />
<em>Cost Reduction:</em> Cost is reduced since the amounts of resources for regression test are reduced.<br />
<em>Reliable: </em>Tests carry out precisely the equivalent operations each time they are run, thereby eradicating human error.<br />
<em>Comprehensive:</em> Can build a suite of tests that wraps every feature in the application.<br />
<em>Better Quality Software:</em> Can run additional tests in fewer time with less resources<br />
<em>Fast: </em>Automated Tools run tests considerably faster as compared to the human users.</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/" title="performance testing in embedded systems">performance testing in embedded systems</a></li><li><a href="http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/" title="performance engineering blogspot">performance engineering blogspot</a></li><li><a href="http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/" title="software development system testing and regression testing">software development system testing and regression testing</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/user-acceptance-test/' rel='bookmark' title='User Acceptance Testing.'>User Acceptance Testing.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/performance-testing-and-regression-testing/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>GIT vs Perforce vs Clearcase vs CVS</title>
		<link>http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/</link>
		<comments>http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 14:38:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[clearcase]]></category>
		<category><![CDATA[clearcase vs cvs]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git vs]]></category>
		<category><![CDATA[perforce]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=403</guid>
		<description><![CDATA[GIT This distributed revision control system has an emphasis on speed. It was originally designed and developed by Linus Torvalds for the development of Linux kernel. Every working directory of Git is a full-fledged repository with full revision tracking capabilities and complete history, not dependent on a central server or network access. GIT is a [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/types-of-revision-control-software/' rel='bookmark' title='Types of Revision Control Software'>Types of Revision Control Software</a></li>
<li><a href='http://embedsoftdev.com/software-tools/software-revision-control/' rel='bookmark' title='Software revision control.'>Software revision control.</a></li>
<li><a href='http://embedsoftdev.com/software-tools/software-to-manage-subversion/' rel='bookmark' title='Software to manage subversion.'>Software to manage subversion.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>GIT</strong></p>
<p>This distributed revision control system has an emphasis on speed. It was originally designed and developed by Linus Torvalds for the development of Linux kernel. Every working directory of Git is a full-fledged repository with full revision tracking capabilities and complete history, not dependent on a central server or network access. GIT is a free software which is distributed under the terms of version 2 of the GNU General Public License.</p>
<p><strong>Perforce</strong></p>
<p>This is a proprietary and commercial revision control system developed by Perforce Software Inc. Perforce follows a client/server system. Here the server has the responsibility of managing a central database and a main repository of file versions. Developers can work on files in their local client workspace. After altering the changes, they can submit the changes to the main server. Client and server communicate via TCP/IP.</p>
<p><strong>Clearcase</strong></p>
<p>Rational ClearCase is a tool for configuration management of source code and other software assets. This tool is developed by IBM (Rational Software Division). ClearCase is the basis of version control for many mid size businesses, and has the potential to handle projects with thousands of developers.</p>
<p><strong>CVS</strong></p>
<p>This is a free revision control system. This system was developed by Dick Grune as a series of shell scripts during July 1986. CVS turned out to be popular in the open source software space and is released under General Public License of GNU. CVS also uses Client/Server architecture. Here, the clients connect to the server and can “check out” a version of file onto their local disk. Later after modifying the contents, they can “check in” the changes.</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git vs clearcase">git vs clearcase</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="clearcase vs git">clearcase vs git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="perforce vs git">perforce vs git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git vs perforce">git vs perforce</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git versus cvs">git versus cvs</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git vs cvs">git vs cvs</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="clearcase git">clearcase git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="cvs vs git">cvs vs git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git clearcase">git clearcase</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="perforce vs clearcase">perforce vs clearcase</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="cvs vs svn">cvs vs svn</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="subversion vs cvs">subversion vs cvs</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="perforce git">perforce git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git versus clearcase">git versus clearcase</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="Perforce vs cvs">Perforce vs cvs</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="svn vs cvs">svn vs cvs</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="perforce versus git">perforce versus git</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="subversion vs cvs 2010">subversion vs cvs 2010</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="git vs rational clearcase">git vs rational clearcase</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="rational clearcase vs perforce">rational clearcase vs perforce</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="clearcase vs perforce">clearcase vs perforce</a></li><li><a href="http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/" title="why git is better than clearcase">why git is better than clearcase</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/types-of-revision-control-software/' rel='bookmark' title='Types of Revision Control Software'>Types of Revision Control Software</a></li>
<li><a href='http://embedsoftdev.com/software-tools/software-revision-control/' rel='bookmark' title='Software revision control.'>Software revision control.</a></li>
<li><a href='http://embedsoftdev.com/software-tools/software-to-manage-subversion/' rel='bookmark' title='Software to manage subversion.'>Software to manage subversion.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Types of Revision Control Software</title>
		<link>http://embedsoftdev.com/software-engineering/types-of-revision-control-software/</link>
		<comments>http://embedsoftdev.com/software-engineering/types-of-revision-control-software/#comments</comments>
		<pubDate>Mon, 31 May 2010 13:00:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[implement revision control]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[revision control software]]></category>
		<category><![CDATA[revision management]]></category>
		<category><![CDATA[types of revision]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=400</guid>
		<description><![CDATA[Revision Control Software Revision Control software are used implement Revision Control on single or multiple sites by organizations. Revision Control, also known as Software Configuration Management (SCM) or Source Control or Version Control, is the management or control of changes to programs, documents and other sorts of information data. This type of setup or mechanism [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-tools/software-revision-control/' rel='bookmark' title='Software revision control.'>Software revision control.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/' rel='bookmark' title='GIT vs Perforce vs Clearcase vs CVS'>GIT vs Perforce vs Clearcase vs CVS</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Revision Control Software</strong><br />
Revision Control software are used implement Revision Control on single or multiple sites by organizations. Revision Control, also known as Software Configuration Management (SCM) or Source Control or Version Control, is the management or control of changes to programs, documents and other sorts of information data. This type of setup or mechanism is more often used in software development where a set of people may alter the contents of the same file. The changes made are generally identified by a letter code or number which is called as a revision number or simply revision. For instance, an initial revision for a file is “revision 1”. If this file is altered by any developer, its revision becomes “revision 2”, and so on. A developer can perform many operations on these revisions. These revisions of files or directories can be merged, restored or compared. Software tools for revision management are crucial for the organization where development is simultaneously in progress on multi-developer sites.</p>
<p><strong>Types of Revision Control Software</strong><br />
The various possible approaches for revision control software are:<br />
<strong>Local Only:</strong> In this approach, it is necessary for all the developers to use the same computer system. Examples:<br />
a.	Revision Control System (RCS)<br />
b.	Source Code Control System (SCCS)</p>
<p><strong>Distributed Model:</strong> In this approach, each of the developer has his/her own setup or local repository. And at some predefined time, all of the changes from various developers are shared or synced between repositories as a different step. Examples:<br />
<strong>c.	Open Source:</strong><br />
i.	Aegis<br />
ii.	Codeville<br />
iii.	DCVS<br />
iv.	GIT<br />
<strong>d.	Proprietary:</strong><br />
i.	Sun WorkShop Team Ware<br />
ii.	BitKeeper</p>
<p><strong>Client-Server Model:</strong> In this approach, all the developers have to share a single repository. Examples:<br />
<strong>e.	Open Source:</strong><br />
i.	Concurrent Versions System (CVS)<br />
ii.	CVSNT<br />
iii.	OpenCVS<br />
<strong>f.	Proprietary:</strong><br />
i.	Perforce<br />
ii.	Clearcase<br />
iii.	Visual SourceSafe</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/types-of-revision-control-software/" title="TYPES OF SYSTEM SOFTWARE ENGINEERING">TYPES OF SYSTEM SOFTWARE ENGINEERING</a></li><li><a href="http://embedsoftdev.com/software-engineering/types-of-revision-control-software/" title="types of management control design">types of management control design</a></li><li><a href="http://embedsoftdev.com/software-engineering/types-of-revision-control-software/" title="types of revision control system">types of revision control system</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-tools/software-revision-control/' rel='bookmark' title='Software revision control.'>Software revision control.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/git-vs-perforce-vs-clearcase-vs-cvs/' rel='bookmark' title='GIT vs Perforce vs Clearcase vs CVS'>GIT vs Perforce vs Clearcase vs CVS</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/types-of-revision-control-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>User Acceptance Testing.</title>
		<link>http://embedsoftdev.com/software-engineering/user-acceptance-test/</link>
		<comments>http://embedsoftdev.com/software-engineering/user-acceptance-test/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 13:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[acceptance testing]]></category>
		<category><![CDATA[doing uat]]></category>
		<category><![CDATA[uat]]></category>
		<category><![CDATA[user acceptance test]]></category>
		<category><![CDATA[user acceptance testing]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=271</guid>
		<description><![CDATA[UAT (User Acceptance Testing) UAT is a sort of testing that usually done at the last step of software development process (before release the software to the market).UAT is done by user (the person who will use this software or person who possess requirement of software).It is the way to increase reliance and ensure that [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/' rel='bookmark' title='How to do white box testing'>How to do white box testing</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>UAT (User Acceptance Testing)</strong></p>
<p>    UAT is a sort of testing that usually done at the last step of software development process (before release the software to the market).UAT is done by user (the person who will use this software or person who possess requirement of software).It is the way to increase reliance and ensure that the software was designed correctly based on requirements.</p>
<p>    Before doing UAT your software need to pass Unit Testing,Integration Testing,System testing and must solved the defects found in each of these testing phases (in practical, the defects relate to technical or logic of software should be fixed before sending to UAT).The defects concern with appearance or color of software are acceptable during doing UAT.</p>
<p>     Test Case is also need in UAT because it help doing UAT more effective. Otherwise the test case should be designed on the perspective of Bunsiness Flow and Business Logic that based on requirement. The tester will emphasize on testing the software like they are real user.</p>
<p><strong>Procedure for doing UAT.</strong><br />
     One important factor you must focus on while you doing UAT is Test Environment.The test environment should be similar to Production Enviroment as much as possible.</p>
<p><strong>Basic step of doing UAT are as follow&#8230;</strong></p>
<p>-Make the testing plan for UAT.<br />
-Design the test cases for UAT.<br />
-Set up testing team for operate UAT in accordance with test cases.<br />
-Operate UAT.<br />
-Record Bug or Defect found during operate UAT and hold a meeting in order to summarize anything we have to modify.<br />
-Fix bug or defect found in previous step and then do <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Regression_testing" rel="nofollow">Regression Testing</a>.<br />
-Finish UAT, sign off.</p>
<p><center><br />
<object width="445" height="364"><param name="movie" value="http://www.youtube.com/v/aFf2tLzLrDU&#038;hl=en&#038;fs=1&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/aFf2tLzLrDU&#038;hl=en&#038;fs=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed></object><br />
</center></p>
<p>UAT is classified as Black box testing.The test cases for UAT normally designed according<br />
to requirements of user (after finish requirements definition phase). Business Analysis<br />
team or System Analysis team are also provide the inputs used for creating the test cases<br />
and it should be described using simple language which easy to understand because the<br />
tester may be the person other than programmer or tester and they don&#8217;t know the<br />
technical phrase.</p>
<p>Visit these site for more information about UAT (User Acceptance Testing)<br />
-<a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Acceptance_testing">Wikipedia</a><br />
-<a rel="nofollow" target="_blank" href="http://www.ehow.com/how_5224184_perform-user-acceptance-test.html">eHow</a><br />
-<a rel="nofollow" target="_blank" href="http://www.exforsys.com/tutorials/testing/what-is-user-acceptance-testing.html">Exforsys INC</a></p>
<p>Reference for this article:<br />
-<a rel="nofollow" target="_blank" href="http://www.welovebug.com/user-acceptance-testing/what-is-uat/#more-1503">http://www.welovebug.com/user-acceptance-testing/what-is-uat/#more-1503</a></p>
<p>Thank you,<br />
      Jitkasem Pintaya.</p>
<p><img src="http://embedsoftdev.com/wp-content/uploads/2009/11/mas_ta-300x122.jpg" alt="software engineering User Acceptance Testing." title="mas_ta" width="300" height="122" class="aligncenter size-medium wp-image-274" /></p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/user-acceptance-test/" title="acceptance testing in embedded systems">acceptance testing in embedded systems</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/' rel='bookmark' title='How to do white box testing'>How to do white box testing</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/user-acceptance-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to do white box testing</title>
		<link>http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/</link>
		<comments>http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:27:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[advantage of branch coverage]]></category>
		<category><![CDATA[branch coverage]]></category>
		<category><![CDATA[code coverage]]></category>
		<category><![CDATA[condition coverage]]></category>
		<category><![CDATA[statement coverage]]></category>
		<category><![CDATA[white box]]></category>
		<category><![CDATA[white box testing]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=202</guid>
		<description><![CDATA[The article for today is about white box testing.I had written article about white box testing in this blog but that time it was only introduction of white box testing.This article concern with how to do white box testing. The procedure of White box testing is normally saparated into 3 topic as follow 1.Statement Coverage [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/' rel='bookmark' title='Stubs and Drivers testing'>Stubs and Drivers testing</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The article for today is about white box testing.I had written article about white box testing in this blog but that time it was only introduction of white box testing.This article concern with how to do white box testing.</p>
<p>   The procedure of White box testing is normally saparated into 3 topic as follow</p>
<p>1.<strong>Statement Coverage</strong><br />
   It is the testing to verify that all instructions or code must be executed at least one time.We can specify one or more than one test case for doing statement coverage testing (there may be a chance that one test case is not cover all the code we need to test).Below is an example demonstate how to do statement coverage testing.</p>
<p>Suppose you have a piece of code to test like this</p>
<div id="attachment_203" class="wp-caption aligncenter" style="width: 310px"><img src="http://embedsoftdev.com/wp-content/uploads/2009/10/untitled-300x258.jpg" alt="software engineering How to do white box testing" title="Code1" width="300" height="258" class="size-medium wp-image-203" /><p class="wp-caption-text">Code1</p></div>
<p>If you determin &#8216;C&#8217; as the test case then the coverage reach 100% (pass through all line of code) and only one test case is sufficient for doing Statement Coverage for this code.</p>
<p><strong>Advantage of Statement Coverage.</strong><br />
1.To ensure that all source code can be reached at least for one time.<br />
2.It is suitable for making Performance profiling because it can be applied directly to object code without processing source code.</p>
<p><strong>Disadvantage of Statement Coverage.</strong><br />
1.It is insensitive to logical operators such as OR (||),AND (&#038;&#038;) etc.<br />
2.If your source code have a lot of IF-ELSEIF-ELSE statements or contain consecutive switch labels then the test case used for doing Statement Coverage will be increased respectively.</p>
<p>2. <strong>Branch Coverage (Condition judgment Coverage)</strong><br />
   It is the testing to verify that all branches and instructions must be executed at least one time (Concentrate on testing to cover every branches or decision points in the code).It is the easiest way to perform testing of path or workflow of program.</p>
<p>Please consider the code below and its explanation to understand the operation of Branch Coverage testing.</p>
<div id="attachment_204" class="wp-caption aligncenter" style="width: 310px"><img src="http://embedsoftdev.com/wp-content/uploads/2009/10/untitled123-300x210.jpg" alt="software engineering How to do white box testing" title="code2" width="300" height="210" class="size-medium wp-image-204" /><p class="wp-caption-text">code2</p></div>
<p>In the above code we need only two test case to cover all the branches (also all instructions too), they are&#8230;<br />
Test case #1 : Input n1 = 1 , n2 = 1<br />
Test case #2 : Input n1 = 2 , n2 = 0</p>
<p><strong>Advantage of Branch Coverage.</strong><br />
1.To validate all branches in the code can be reached and ensure that no branches lead to abnormal of the program&#8217;s operation.<br />
2.It eliminate problems that occur with Statement Coverage testing.</p>
<p><strong>Disadvantage of Branch Coverage.</strong><br />
1.There may be other condition that can be used for decision making.For the example, statement &#8220;if((b == TRUE) || functionA())&#8221;, in this statement we can define only test case with &#8220;B = TRUE&#8221; and this test case is cover this branch but functionA() isn&#8217;t tested.</p>
<p>3.<strong>Condition Coverage/Multiple Condition Coverage</strong></p>
<p>   It is the testing to verify that all condition expression within each branch will be tested (the true and the false condition of each sub-expression within the decision branch must be tested at least one time ).<br />
It is more intensive testing than Branch Coverage and Statement Coverage.Multiple Condition Coverage has detail of testing more than Condition Coverage.Its test cases are larger than test case of Condition<br />
Coverage because it ensures that all possible combination of conditions of sub-expression within each branch must be tested.</p>
<p>Please consider the code below for Condition Coverage testing.</p>
<div id="attachment_205" class="wp-caption aligncenter" style="width: 310px"><img src="http://embedsoftdev.com/wp-content/uploads/2009/10/untitled456-300x234.jpg" alt="software engineering How to do white box testing" title="code3" width="300" height="234" class="size-medium wp-image-205" /><p class="wp-caption-text">code3</p></div>
<p>If you want to test above code by using Condition Coverage you must specify two test<br />
cases to cover all sub-expressions in this branch.The test cases are as follow…</p>
<p>Test case #1: Input n1 = 60 , n2 = 70<br />
Test case #2: Input n1 = 40 , n2 = 110</p>
<p>If you want to test above code with Multiple Condition Coverage you must specify four<br />
test cases to cover all combination of possible condition of sub-expressions in this branch and the test cases look like these</p>
<p>Test case #1: Input n1 = 60 , n2 = 70<br />
Test case #2: Input n1 = 60 , n2 = 110<br />
Test case #3: Input n1 = 40 , n2 = 70<br />
Test case #4: Input n1 = 40 , n2 = 110</p>
<p><strong>Advantage of Condition/Multiple Condition coverage.</strong><br />
1.It is very thorough testing and the bugs are normally found by this kind of testing.</p>
<p><strong>Disadvantage.. </strong><br />
1.If the decision branch contain lots of sub-expressions or has very complex boolean expressions , the tester will have to define a large number of test cases.</p>
<p>Thank you,<br />
      jitkasem pintaya.</p>
<p>Reference site:<br />
1.<a rel="nofollow" target="_blank" href="http://blog.mindblazetech.com/tag/statement-coverage/">MindBlaze Blog</a><br />
2.<a rel="nofollow" target="_blank" href="http://www.bullseye.com/coverage.html#basic_decision">Bullseye</a><br />
3.<a rel="nofollow" target="_blank" href="http://www.google.co.th/url?sa=t&#038;source=web&#038;ct=res&#038;cd=7&#038;ved=0CCcQFjAG&#038;url=http%3A%2F%2Freferaat.cs.utwente.nl%2Fnew%2Fpaper.php%3FpaperID%3D58&#038;ei=MJvUSu6xNYmE6QOs4dDWCw&#038;usg=AFQjCNF5o0Df22EvxrWGrvBtN252Q90Cfw&#038;sig2=sN8v_rOLdc_F9PC-oo9-Dg">The paper from utwente.nl by Arnold Zanderink</a></p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="white box testing example">white box testing example</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="how to do white box testing">how to do white box testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="how to do whitebox testing">how to do whitebox testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="whitebox testing example">whitebox testing example</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="how to perform white box testing">how to perform white box testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="what is white box testing with example">what is white box testing with example</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="white box testing examples">white box testing examples</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="WHITE BOX TESTING sample">WHITE BOX TESTING sample</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="white box testing sample program">white box testing sample program</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="white box testing and how we do it">white box testing and how we do it</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="white box testing all instructions all branches">white box testing all instructions all branches</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="what white box testers will do">what white box testers will do</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="what is the white box testing with example">what is the white box testing with example</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="samples of white box testing">samples of white box testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="reason in conducting a white box testing">reason in conducting a white box testing</a></li><li><a href="http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/" title="disain test case white box testing">disain test case white box testing</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-ii-white-box-and-black-box-testing/' rel='bookmark' title='Software testing part II (White Box and Black Box testing)'>Software testing part II (White Box and Black Box testing)</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/software-testing-part-i/' rel='bookmark' title='Software testing part I.'>Software testing part I.</a></li>
<li><a href='http://embedsoftdev.com/software-engineering/stubs-and-drivers-testing/' rel='bookmark' title='Stubs and Drivers testing'>Stubs and Drivers testing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/how-to-do-white-box-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CASE tool overview.</title>
		<link>http://embedsoftdev.com/software-engineering/case-tool-overview/</link>
		<comments>http://embedsoftdev.com/software-engineering/case-tool-overview/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 14:34:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[case tool]]></category>
		<category><![CDATA[case tools]]></category>
		<category><![CDATA[case tools software]]></category>
		<category><![CDATA[commercial case tool]]></category>
		<category><![CDATA[computer aided software engineering]]></category>
		<category><![CDATA[example of case tool]]></category>
		<category><![CDATA[lower CASE Tool]]></category>
		<category><![CDATA[open source case tools software]]></category>

		<guid isPermaLink="false">http://embedsoftdev.com/?p=132</guid>
		<description><![CDATA[CASE tool (Computer-Aided Software Engineering) CASE tool is the software that support system development or facilitate in system development.It has an ability in building various kinds of document during analysis and design the system.For the example such as building the UML diagram,the screen interface (Graphical User Interface),form and report etc&#8230; Furthermore some CASE tool can [...]
Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-tools/how-to-choose-uml-tools/' rel='bookmark' title='How to choose UML tools.'>How to choose UML tools.</a></li>
<li><a href='http://embedsoftdev.com/software-tools/tool-for-convert-the-picture-file-to-c-source-code/' rel='bookmark' title='Tool for convert the picture file to C source code.'>Tool for convert the picture file to C source code.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>CASE tool (Computer-Aided Software Engineering)</strong></p>
<p>     CASE tool is the software that  support system development or   facilitate in system development.It<br />
has an ability in building various kinds  of document during analysis and design  the system.For the example such as  building the UML diagram,the screen interface (Graphical User Interface),form and report etc&#8230;<br />
Furthermore some CASE tool can  automatically generate source code too.In system maintenance can use CASE tool  to make the operation smoothly,quickly  and correctly.CASE tool also help you to decrease the time in  document improvement or source code  improvement.So at the present time CASE  tools have an important role in system  development and system maintenance.</p>
<p>Formerly CASE tool was separated into  two groups as follow&#8230;<br />
1.<strong>Upper CASE tool </strong>is the software that  used in the step of analysis and design the system.This CASE tool make various  diagram such as DFD (Data flow diagram) . DFD is used for design the component of  the system such as the input of system ,  the mechanism of system , the result of  the system etc.Other diagrams such as ER diagram  (Entity-relationship diagram),layout  (the screen that used for bring the data  into the system or screen of the  report). The example of CASE tool in  this group are <a rel="nofollow" target="_blank" href="http://www.ca.com/us/data-modeling.aspx">ERwin</a> and <a rel="nofollow" target="_blank" href="http://www.visualuml.com/">Visual UML</a>.</p>
<p>2.<strong>Lower CASE tool </strong>is the software that can build the source code or program  automatically from condition or  determinate procedure such as we can  write the program for manage the  vacation of our employee from the  specific workflow or we can write the   database structure command by select  from the menu.The example of CASE tool  in the group are <a rel="nofollow" target="_blank" href="http://www.soyatec.com/euml2/features/eEMF%20Modeler/classdiagrameditor/">Ecore Diagram Editor  </a>and <a rel="nofollow" target="_blank" href="http://samparkh.com/dzine/index.html">dzine</a>.</p>
<p>3.<strong>Integrated CASE tool </strong>is software that  fulfill the usability from system  analysis,system design to the system  implementation (writing the source code)  and system testing.It is the software  that combine Upper CASE tool and Lower  CASE tool into one software.The example  of CASE tool in this group is <a rel="nofollow" target="_blank" href="http://www.ibm.com/software/rational/">Rational  Rose </a>from IBM.</p>
<p>The story of CASE tool is not finish by this article.In the next article I will write about the review of CASE tools that are well-known nowadays such as <a rel="nofollow" target="_blank" href="http://www.magicdraw.com/">MagicDraw</a>, <a rel="nofollow" target="_blank" href="www.visual-paradigm.com/">Visual Paradigm</a>,<a rel="nofollow" target="_blank" href="http://www.gentleware.com">Poseidon UML </a>and the suggestion about Commercial CASE tools and Open Source CASE tools software list.</p>
<p>for more information please visit these sites<br />
1.<a rel="nofollow" target="_blank" href="http://www.objectsbydesign.com/tools/umltools_byPlatform.html">UML Modeling Tools</a><br />
2.<a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Computer-aided_software_engineering">Wikipedia</a><br />
3.<a rel="nofollow" target="_blank" href="http://www.unl.csi.cuny.edu/faqs/software-enginering/tools.html">CASE tool index</a></p>
<p>Thank you,<br />
     Admin</p>
<h4>Incoming search terms for the article:</h4><ul><li><a href="http://embedsoftdev.com/software-engineering/case-tool-overview/" title="lower CASE tools">lower CASE tools</a></li><li><a href="http://embedsoftdev.com/software-engineering/case-tool-overview/" title="An Overview of CASE Tools">An Overview of CASE Tools</a></li><li><a href="http://embedsoftdev.com/software-engineering/case-tool-overview/" title="an overview of CASE tool">an overview of CASE tool</a></li></ul><p>Related posts:<ol>
<li><a href='http://embedsoftdev.com/software-tools/how-to-choose-uml-tools/' rel='bookmark' title='How to choose UML tools.'>How to choose UML tools.</a></li>
<li><a href='http://embedsoftdev.com/software-tools/tool-for-convert-the-picture-file-to-c-source-code/' rel='bookmark' title='Tool for convert the picture file to C source code.'>Tool for convert the picture file to C source code.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://embedsoftdev.com/software-engineering/case-tool-overview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

