<?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 Testing</title> <atom:link href="http://www.softwaretestingnow.com/feed" rel="self" type="application/rss+xml" /><link>http://www.softwaretestingnow.com</link> <description>The Tips, The Tools, The Life Cycle</description> <lastBuildDate>Tue, 29 Nov 2011 23:09:51 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>The Software Development Life Cycle</title><link>http://www.softwaretestingnow.com/software-development-life-cycle</link> <comments>http://www.softwaretestingnow.com/software-development-life-cycle#comments</comments> <pubDate>Wed, 22 Dec 2010 10:28:09 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[software development life cycle]]></category> <category><![CDATA[software development lifecycle]]></category> <category><![CDATA[software testing life cycle]]></category> <category><![CDATA[software testing life cycle diagram]]></category> <category><![CDATA[software testing life cycle pdf]]></category> <category><![CDATA[software testing life cycle ppt]]></category> <category><![CDATA[the software development life cycle]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=30</guid> <description><![CDATA[We discuss the Software Development Life Cycle and show you where to use the right tools to test your software applications (and web apps) and where to get help at the right time in the cycle.  There are many different development life style philosophies, and we go over all of them.  These include Code and Fix, the Waterfall method, the Modified Waterfall, Prototyping, the Spiral Model, and more.<p/>For instance, within the Waterfall method, we discuss System/Information Engineering and Modeling, Software Requirement Analysis, System Analysis and Design, Code Generation, Testing, and Maintenance.  But no matter what method you use, we have a great, low-cost, testing solution for you.]]></description> <content:encoded><![CDATA[<h2>SOFTWARE TESTING LIFE CYCLE</h2><p>No matter which software development methodology you use, <a
href="http://www.softwaretestingnow.com/pay4bugs" title="Pay4Bugs for QA Outsourcing" target="_blank">Pay4Bugs</a> can be an essential part of your testing processes.  Once your product, website, or application is nearing the beta phase, and it&#8217;s time to get hands-on feedback from <em>real</em> users at a low price, Pay4Bugs is the way to go.</p><h3>Software Development Life Cycle &#8211; CODE AND FIX</h3><p>This methodology is probably used more often than any other. It is unique in that the application&#8217;s feature set is designed at the same time the application logic is written.</p><p>Development starts immediately, with little (or, often, no) planning involved. Problems are dealt with, and defects are fixed, as they occur.</p><p>Although this process allows development to proceed quickly, the project will encounter serious delays if major architectural problems are found. Major architectural problems, especially those discovered late in the process, will require a rewrite of much of your code.</p><p>The Code And Fix methodology is characerized by Wikipedia as &#8220;not so much a deliberate strategy as an artifact of naiveté and schedule pressure on software developers.&#8221;</p><p>Code and Fix is popular in small companies, but its use should be discouraged. Some things that can be done to discourage its use:</p><ul><li>Create teams with a mix of developers, marketing people and management, and empower them to make decisions about your application&#8217;s features.</li><li>Include management in the software development process; many 	delays are created due to management not consulting with the product development team, and, therefore, setting launch dates that are not attainable.</li><li>After the product launches, arrange a meeting of the product team to discuss what went right, and what went wrong.</li></ul><h3>Software Development Life Cycle &#8211; WATERFALL</h3><p><div
class="wp-caption alignright" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/5/51/Waterfall_model.png"><img
alt="Software Development Life Cycle" src="http://upload.wikimedia.org/wikipedia/commons/5/51/Waterfall_model.png" title="Software Development Life Cycle" width="250" /></a><p
class="wp-caption-text">Software Development Life Cycle - Waterfall Model</p></div>The waterfall model is a sequential design process comprised of several steps, each of which must be completed before the next starts.</p><ol><li><strong>System/Information Engineering and Modeling </strong><br
/> Requirements are established for each component in the system, and the team decides which requirements will be fullfilled by the software. This 	is necessary when the application must interact with other resources. Once the ideal system is designed according to the requirements, work proceeds to the next step.</li><li><strong>Software Requirement Analysis</strong><br
/> Software Requirement 	Analysis is also known as a feasibility study. The development team analyzes the customers&#8217; requirements, looking at the need for possible software automation.Then, the development team creates a 	document that holds specific recommendations for the customer&#8217;s system. This document includes details like personnel assignments, costs of the system, project schedule and target dates.</li><li><strong>System Analysis and Design</strong><br
/> Here, the process and 	the application&#8217;s structure are defined. If client/server technology is to be used, this step will specify elements like number of tiers 	required for the package architecture, and the database design. 	Then, the development team will create a software development model. This is a crucial step; any fault in the design phase could be very expensive to fix later.</li><li><strong>Code Generation</strong><br
/> In this phase, the actual application code is created. using high level programming languages 	like C, C++, Pascal and Java. The programming language is chosen according to the type of application, as well as the application requirements.</li><li><strong>Testing</strong><br
/> Several different testing methods are available to reveal errors and defects that were created during the previous phases.</li><li><strong>Maintenance</strong><br
/> Maintenance is performed after the application is delivered to the customer. Changes can occur due to changing customer requirements or new, unexpected input into the system. The application should be designed to accommodate changes 	that could be happen after development is complete.</li></ol><p>It is very important to gather all requirements during the first phase of the Waterfall Model, in order to ensure proper system design. If the customer adds requirements later, the development process will be impacted in a very negative way.</p><h3>Software Development Life Cycle &#8211; MODIFIED WATERFALL</h3><p>Many engineers recommend modified versions of the waterfall model. In the traditional waterfall model, the different stages of development are not allowed to overlap. One common type of modification allows some of the stages to overlap, which results in reduced documentation requirements and a reduced cost of returning to earlier stages to make changes. Another common modification is to incorporate prototyping into the requirements phases.</p><p>Overlapping stages, such as the requirements stage and the design stage, allow the development team to integrate feedback from the design phase into the requirements; but overlapping stages can make it difficult to know when you are finished with a given stage, as the line between stages becomes blurred. This makes progress harder track. Without distinct stages, problems can cause you to defer important decisions until later in the process when they are more expensive to correct.</p><h3>Software Development Life Cycle &#8211; PROTOTYPING</h3><p>One of the main problems with the waterfall model is that the requirements often are not completely understood in the early development stages. When you reach the future stages, you may discover that you need to adjust the requirements.</p><p>Prototyping can be useful in determining how a design meets a set of requirements. You can build a prototype, adjust the requirements, and revise the prototype several times, gaining an understanding of the project&#8217;s overall goals. In addition to clarifying the requirements, a prototype also defines many areas of the design at the same time.</p><p>The pure waterfall model allows for prototyping in later stages, but not in the early requirements stages.</p><p>Some drawbacks of prototyping:</p><ul><li>Because it appears that you have a working system, customers might expect a complete system sooner than is possible. In most 	cases, a prototype is built on compromises that allow it to come together quickly; those compromises may prevent prototypes from becoming effective building blocks for future development. You need 	to decide early if you want to use the prototype as a basis for future development, and everyone needs to agree with this decision before development begins.</li><li>Prototyping can easily turn into a Code and Fix development cycle. Before you begin prototyping, gather clear requirements and create a design plan. Limit the amount of time you spend prototyping before you begin. Time limits help to avoid overdoing the 	prototyping phase. As you incorporate changes, update the requirements and the current design. After you finish prototyping, 	consider returning to one of the other development models. For example, consider prototyping as part of the requirements or design phases of the waterfall model.</li></ul><p>Types of prototyping include:</p><p><strong>Patch Up Prototype: </strong>This type of Prototype Model has each developer working on a specific part of the program.. After everyone has done their part, the pieces program will be integrated with each other. This type of prototype encourages cooperation between members of the development team.</p><p><strong>Non-Operational Prototype:</strong> Used when only a certain part of the program should be updated. The main application is not affected, because the code being tested is tested as part of dummy program is applied with the application. This prototype is usually used to solve problems in a specific part of the program.</p><p><strong>First of a Series Prototype:</strong> This type of prototype is also known as a beta version. The software is fully functional; the goal of a beta is to elicit feedback and suggestions; to determine usability; and to resolve defects that may pop up as a result of real-world usage.</p><p><strong>Selected Features Prototype:</strong> This is another form beta, but the beta testers have access only to selected features and tools. This type of prototype is used with applications that are part of a larger suite of programs. This is usually done to test the independent features of the application in question.</p><h3>Software Development Life Cycle &#8211; SPIRAL</h3><p>The spiral model is an iterative model that attempts to combine advantages of the top-down and bottom-up models of software design. The goal is to reduce, as much as possible, an application&#8217;s time-to-market; in the traditional waterfall model, since each step must be completed before the next one starts, the time-to-market can be much longer.</p><p>The system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.</p><ul><li>A preliminary design is created for the new system. This phase is the most important part of the Spiral Model.</li></ul><ul><li>A first prototype of the new system is constructed from the preliminary design.</li></ul><ul><li>A second prototype is evolved by a fourfold procedure:</li></ul><ol><li>evaluating the first prototype in terms of its strengths, weaknesses, and risks;</li><li>defining the requirements of the second prototype;</li><li>planning and designing the second prototype;</li><li>constructing and testing the second prototype.</li></ol><p>The spiral model is designed to minimize risks and allow you to find major problems earlier in the development cycle. A project is broen up the into a set of risks that you need to deal with. You then begin a series of iterations in which you analyze the most important risk, evaluate options for resolving the risk, deal with the risk, assess the results, and plan for the next iteration.</p><p>For each risk, you must consider</p><ul><li><strong>Probability: </strong>how likely it is that the risk will occur</li><li><strong>Loss: </strong>the severity of the effect of the risk on the project</li></ul><p>You can use a scale of 1 to 10 for each of these items, where 1 represents the lowest probability or loss and 10 represents the highest. Risk exposure is the product of these two rankings.</p><p>The risks that have the highest risk exposure should be resolved first.</p><h3><a
href="http://www.softwaretestingnow.com/pay4bugs" target="_blank">PAY4BUGS</a></h3><p><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Pay4Bugs for QA Outsourcing" target="_blank">Pay4Bugs</a> can be an essential part of your testing processes, no matter which methodology you use.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-development-life-cycle/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Software Testing: An Introduction</title><link>http://www.softwaretestingnow.com/introduction</link> <comments>http://www.softwaretestingnow.com/introduction#comments</comments> <pubDate>Wed, 22 Dec 2010 10:08:35 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Featured]]></category> <category><![CDATA[about software testing]]></category> <category><![CDATA[intro to software testing]]></category> <category><![CDATA[introduction to software testing]]></category> <category><![CDATA[software testing]]></category> <category><![CDATA[software testing info]]></category> <category><![CDATA[software testing introduction]]></category> <category><![CDATA[software testing overview]]></category> <category><![CDATA[software testing practice]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=20</guid> <description><![CDATA[A general background and introduction to <strong>Software Testing</strong>. We go over the software development life cycle, tools to test your applications and software, methodologies, and more.  New to application development and not sure where to begin with the ever-important testing phase?  Had a few fiascoes due to a lack of test and now you're ready to fix everything up?  Then start Here!<p/>In this article we'll delve into why it's important to test, how you can use <strong><a
href="http://www.softwaretestingnow.com/pay4bugs">Pay4Bugs</a></strong> to save money on testing, goal-setting, testing methodologies, different types of testing such as white-box vs. black-box testing and manual vs. automated testing, milestones, regression testing, acceptance tests, and finally, goal testing.<p/>This introduction is just the beginning - the rest of the articles on this site also go into more detail when you decide what you'd like to know!]]></description> <content:encoded><![CDATA[<h2>Intro to Software Testing</h2><p>Testing is an essential part of the lifecycle of any computer program.</p><h3>Why is it Important to Test?</h3><p>Some people see the cost of testing as an expense that affects their product&#8217;s profitability. It is wise to instead, think of testing as an investment &#8211; one that will result in more secure software with fewer bugs; one that will result in happier end-users. Some pitfalls of not properly testing include:</p><ul><li>Monetary penalties. Lost customers, lawsuits, fines and penalties due to non-compliance with laws and industry regulations all fall into this category.</li><li>Loss of time can be caused by transactions taking a long time to process, but can also include downtime and loss of productivity if people are not able to complete their jobs due to a failure of your software.</li><li>Damage to business reputation occurs when your software does not work properly, and an organization is unable to provide service to their customers as a result. This often results in lost business and, therefore, lost revenue.</li></ul><p>We understand that a lot of managers see software testing as an expense and not an investment.  The best way to combat this is to save money on your testing while still providing high-quality tests, performed by real humans who have incentives to try their best to &#8220;break&#8221; your application.</p><p>To do this, we use <strong><a
href="http://www.softwaretestingnow.com/pay4bugs">Pay4Bugs</a></strong>, which is an online software testing marketplace where you set your own prices and see who will work for you across the world at incredibly inexpensive rates!</p><p>The failure of safety-critical systems may result in injury or death.</p><h3>What are Your Goals?</h3><ul><li><strong>Quality Assurance</strong><br
/> You know what your program requires as input. You can usually predict (based on that input) how the program should behave, and what its output should be.</li><li><strong>Verification</strong> that the program matches the specification laid out by the client(s) and project managers.</li><li><strong>Security</strong><br
/> There are many ways a program or Web site can be attacked. Many of these attacks can be mitigated or completely avoided; for example, SQL injections in a web application, or<br
/> buffer overflows in a C or C++ desktop application. Both types of vulnerability are common and can result in disaster if not found and corrected &#8212; but both types of vulnerability are also<br
/> very easy to correct (or prevent).</li><li><strong>Usability</strong><br
/> Testing isn&#8217;t just about making sure your program does not crash. Testing is also about making sure the program behaves the way users expect it to behave. Your users will want<br
/> a program that is easy to use. “Easy,” in this context, means intuitive to the user (not you).</li><li><strong>Tracebility</strong><br
/> A reasonably complex project may have hundreds or thousands of requirements, and you need to have some way to know that you have implemented all of them. You also need<br
/> to track the progress of each requirement and prove that it has been satisﬁed.</li></ul><h3>Test Early, Test Often</h3><p>Although traditionally, testing has occurred at the end of the software development cycle, it is unwise to do so on any except the smallest projects.Testing should be performed on small, manageable chunks of code, and should be started as early as possible.</p><h3>White-Box vs. Black-Box Testing</h3><p>These two terms describe techniques used to test software. White-box testing is performed by people who are familiar with the code and have access to the code and the developers who wrote it. Testers doing white-box testing need to either be familiar with software development, or be given ample time to interview the developers themselves.</p><p>Black box testing is used by people who never look at the code. The emphasis and purpose of black-box testing is to judge whether all of the requirements and specifications have been met. A combination of both techniques is essential for a fully-rounded testing program.</p><h3>Types of Software Testing</h3><p>Software testing consists of several subcategories, each of which is done for different purposes, and often using different techniques. Software testing categories include:</p><ul><li>Functionality testing to verify the proper functionality of the software, including validation of system and business requirements, validation of formulas and calculations, as well as testing of user interface functionality.</li><li>Forced error testing, or attempting to break and fix the software during testing so that customers do not break it in production.</li><li>Compatibility testing to ensure that software is compatible with various hardware platforms, operating systems, other software packages, and even previous releases of the same software.</li><li>Performance testing to see how well software performs in terms of the speed of computations and responsiveness to the end-user.</li><li>Scalability testing to ensure that the software will function well as the number of users and size of databases increase.</li><li>Stress testing to see how the system performs under extreme conditions, such as a very large number of simultaneous users.</li><li>Usability testing.</li><li>Application security testing to make sure that valuable and sensitive data cannot be accessed inappropriately or compromised under concerted attack.</li></ul><h3>Manual Software Testing vs. Automated Software Testing</h3><p>Certain types of testing can be done without human intervention. Other types can&#8217;t effectively be done in an automated manner and should use <strong>manual testing</strong>:</p><ul><li>Usability testing &#8211; Ease-of-use is subjective; measuring it with an automated process is difficult at best.</li><li>Exploratory/ad hoc testing (where testers do not follow a &#8216;script&#8217;, but rather testers &#8216;explore&#8217; the application and use their instincts to find bugs) &#8211; because ou are not doing the test exactly the same way each time.</li><li>Testing areas of the application which experience a lot of change.</li></ul><p><strong>Automated testing</strong> is best used for tests which are explicit and repetitive:</p><ul><li>General QA and functionality tests (i.e. does each module do what the requirements say it should? How does the application respond to incorrect inputs?)</li><li>&#8216;End to end&#8217; scenario tests (simulating a &#8216;real world&#8217; use of the software in a production environment)</li><li>Performance, load, and stress testing</li></ul><p>Most tests are automated, like unit tests. Mathematically-oriented folks might suspect that unit tests refer to unit conversions (like centimeters to inches), and business-oriented people might think of inventory; but the term describes a technique that involves building small, individual tests for each little piece of functionality. For example, a unit test might be as simple as checking to see that, when the configuration is saved to a file, it really was saved to a file of the proper format that can be properly opened by the program. (In fact, this scenario is complex enough that some might actually break this into multiple unit tests.)</p><p>Acceptance testing is completely different. Acceptance tests may be written by the end user or customer. Even when they&#8217;re not programmed by the customer, they are actually designed by the customer, typically by having a test engineer sit down with the customer and work them through the process of how to test to ensure that the program does everything it is required to do. After working with the customer to create an incredibly detailed walk-through, the test engineers can then turn around and design automated tests around these functions, and make sure that everything the customer will try to do is possible in the software, and works.</p><h3>Software Testing Milestones</h3><p>A program that has hit its Alpha milestone is complete enough that the first round of end-to-end system testing can start. The program is not “ready for prime time,” since, often, the UI is not complete and many bugs may still exist.</p><p>By contrast, a program that has hit its Beta milestone has a completed UI; remaining work focuses on continuing to fix bugs, improving performance and enhancing usability.</p><p>Typically, end-users start testing the program when it hits beta, although some programmers release alpha versions of their programs, witih the caveat that since the programs are alpha, they will contain bugs and may not be usable in a production environment.</p><h3>Regression Software Testing</h3><p>This fancy-sounding phrase has a very simple description. Say you&#8217;ve already found Bug A, Bug B and Bug C. You&#8217;ve fixed them. Now you&#8217;re working on Bugs D and E. Regression testing simply ensures that the fixes for D and E don&#8217;t cause any of the earlier bugs to reappear.</p><p>Regression tests are performed as a group; the new tests are performed together with the older tests.</p><h3>Acceptance Testing</h3><p>Acceptance testing is all about giving the project to the client so the client&#8217;s users can test it.</p><p>In theory, Acceptance Testing should also be quick and relatively painless; plenty of testing should already have been done. Earlier tests should have eliminated bugs and usability issues, making<br
/> acceptance testing a simple formality.</p><p>Acceptance testing encompasses other artefacts too, not just the software. This phase of software development may include updating manuals and documentation; updating processes and operational procedures; training end-users and measuring operational performance against Service-Level Agreements.</p><h3>Goal Testing</h3><p>Goal testing ensures that code executes in less time than any specified Service Level Agreement. Goal testing is performed in both single-user and multiple-user environments. When committing to an SLA, the management team needs to commit to only those sections of the system they control.</p><p>A good SLA includes lots of detail: &#8220;Transaction X will complete within Y milliseconds with Z number of simultaneous users.&#8221; A bad SLA includes little detail: &#8220;Screen X will complete within Y seconds.&#8221; The user seeing screen X could be sitting next to the server, on the same LAN, in which case the SLA will probably be met; or the user could be sitting out in the middle of nowhere on a dialup connection, in which case the SLA is not likely to be met.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/introduction/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Software Testing Interview Questions and Answers</title><link>http://www.softwaretestingnow.com/software-testing-interview-questions-and-answers</link> <comments>http://www.softwaretestingnow.com/software-testing-interview-questions-and-answers#comments</comments> <pubDate>Wed, 22 Dec 2010 06:42:29 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[software testing interview questions]]></category> <category><![CDATA[software testing interview questions and answers]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=37</guid> <description><![CDATA[Interview Questions and Answers for those looking for test jobs in the software field - Need to interview someone and don't know where to start?  Prepping for a software test interview? Read this.<p/>Some example questions that we'll help you out with:  What is a Traceability Matrix?  If there are many bugs to be fixed, which should you resolve first?  What's the difference between re-testing and regression testing?  What are the flaws in waterfall model and how to overcome it?  What is the difference between Functional Testing and System Testing?  What is the V-Model Development Method?  What are the pre-requisites for white-box testing?  What is the agile manifesto?<p/>If you can't answer all of these questions, then jump on in and get ready!  Have more? Feel free to submit them!  We also can get you a testing job that does NOT require any interview questions though!]]></description> <content:encoded><![CDATA[<p>Here are some <strong>software testing interview questions and answers</strong>.  You can add more to the comments field at the bottom to help the community out!</p><p>Note that <strong><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Pay4Bugs for QA Outsourcing" target="_blank">Pay4Bugs</a></strong> does not require interviews &#8211; You can get paid for testing software and finding bugs without any interviews, tests, or certifications.  However, the software developer customers can also block users who do not post good bugs, so it is almost like a constant interview situation!</p><p>Once your product, website, or application is nearing the beta phase, and it&#8217;s time to get hands-on feedback from <em>real</em> users at a low price, <strong><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Pay4Bugs for QA Outsourcing" target="_blank">Pay4Bugs</a></strong> is the way to go.</p><h2>Software Testing Interview Questions and Answers</h2><h3>Software Testing Interview Question 1 &#8211; What is a Traceability Matrix?</h3><p>A Traceability Matrix documents the relationship between two baseline documents to determine the completeness of the relationship. A requirements traceability matrix may be used to check to see if the current project requirements are being met. This matrix is usually in the form of a table.</p><p>The identifier for each of the items of one document are usually placed in the left column, and the identifiers for the other document are placed across the top row. When an item in the left column is related to an item across the top, a mark is placed in the intersecting cell. The number of relationships are added up for each row and each column, with a higher number indicating a higher correlation between the two documents. Zero values indicate that no relationship exists; large values indicate that the relationship is too complex.</p><h3>Software Testing Interview Question 2 &#8211; If there are many bugs to be fixed, which should you resolve first?</h3><p>Fix the highest-priority bugs first. The severity of a software defect may not correlate directly with the priority placed on fixing it. Severity and priority should be tracked separately, although in a small organization or on a small project, there may not be a large number of defects and you will not need to track both.</p><p>It may also be helpful to track the &#8220;urgency&#8221; of a bug fix (as determined by the client).</p><p>In larger projects, you may have a Triage team.</p><p>Triage is a medical term; it is the assessment of which patients need to be dealt with first. Some patients will die regardless of what you do; some patients will heal by themselves. The third group, the patients that will only heal with your help, are the highest-priority patients. You can assign software defects to a similar type of “triage” list, based on the defects&#8217; priority and severity.</p><h3>Software Testing Interview Question 3 &#8211; What&#8217;s the difference between re-testing and regression testing?</h3><p>Regression testing is the process of testing new bugfixes to ensure that they don&#8217;t cause problems to occur involving problems fixed earlier. This process involves running a suite of tests.</p><p>Re-testing is the process of testing a single defect that was just fixed. Only one test is performed, and the goal is to make sure that the defect that was just fixed was, in fact, fixed properly.</p><h3>Software Testing Interview Question 4 &#8211; What are the flaws in waterfall model and how to overcome it?</h3><p>The major drawback that you do not test the application logic until very late in the development cycle. Although a very detailed system specification should result in a less error-prone application, a single serious error spotted late in the development cycle may be very expensive to fix. Also, the waterfall model does not adapt well to rapidly changing technology.</p><h3>Software Testing Interview Question 5 &#8211; What is the difference between Functional Testing and System Testing?</h3><p>Functionality testing is based on functional requirements of the application. By contrast, system testing is end-to-end testing that covers all of an application&#8217;s functionality including usability, security and performance.</p><p>Functional testing is a subset of system testing.</p><h3>Software Testing Interview Question 6 &#8211; What is the V-Model Development Method?</h3><p><div
class="wp-caption alignright" style="width: 430px"><img
alt="Software Testing Interview Questions and Answers - V-Model" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Systems_Engineering_Process_II.svg/420px-Systems_Engineering_Process_II.svg.png" title="Software Testing Interview Questions and Answers - V-Model" width="420" height="233" /><p
class="wp-caption-text">The V-Model</p></div><p/>The V-model is a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.</p><p>To see a graphical representation of the V-Model, see the image to the right.</p><h3>Software Testing Interview Question 7 &#8211; What are the pre-requisites for white-box testing?</h3><p>They are the same as for black-box testing, with one major exception: during white-box testing, the testers have access to the application logic. The tester should ask for access to detailed functional specs and requirements, design documents (both high-level and detailed), and source code. The tester analyzes the source code and prepares functional tests to ensure that the application behaves in compliance with both the requirements and the specs.</p><h3>Software Testing Interview Question 8 &#8211; What is the agile manifesto?</h3><p>The Agile Manifesto is a statement of the principles that underpin agile software development:</p><ul><li>Individuals and interactions are take priority over processes and tools</li><li>Working software takes priority over comprehensive documentation</li><li>Customer collaboration takes priority over contract negotiation</li><li>Response to change takes priority over following a plan</li></ul><p>The QA team may want to add one more principle:</p><ul><li>Craftsmanship takes priority over execution</li></ul><p>The idea is to prioritize the creation of good code over the creation of code that barely works.</p><p>Have more Software Testing Interview Questions and Answers? Add them to the comments field below!</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-testing-interview-questions-and-answers/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Software Testing Tools and Automated Software Testing Tools</title><link>http://www.softwaretestingnow.com/software-testing-tools</link> <comments>http://www.softwaretestingnow.com/software-testing-tools#comments</comments> <pubDate>Tue, 21 Dec 2010 13:50:01 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[automated software testing tool]]></category> <category><![CDATA[automated software testing tools]]></category> <category><![CDATA[free software testing tools]]></category> <category><![CDATA[software testing automation tools]]></category> <category><![CDATA[software testing tools]]></category> <category><![CDATA[software testing tools free download]]></category> <category><![CDATA[software testing tools list]]></category> <category><![CDATA[software testing tools pdf]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=46</guid> <description><![CDATA[This is a summary of our favorite test tools that have saved us a LOT of time and money in software development via automation and outsourcing.  Our favorite tool is <a
href="http://www.softwaretestingnow.com/pay4bugs" target="_blank">Pay4Bugs</a>, which is incredible once you've reached an alpha/beta state.<p/>This article also discusses some automated tools such as Canoo Webtest, Selenium, Watir, and Watin.  Programmers should also have unit level testing to test subfunctions.  You can use a Unit Test Framework (UTF) for this.]]></description> <content:encoded><![CDATA[<h2>Software Testing Tools</h2><p>This is a summary of our favorite software testing tools that have saved us a LOT of time and money in outsourcing and development.</p><h3>Pay4Bugs &#8211; The Best Software Testing Tool</h3><h4><a
href="http://www.softwaretestingnow.com/pay4bugs" target="_blank">pay4bugs.com</a></h4><div
class="wp-caption alignright" style="width: 480px"><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Software Testing Tools - Pay4Bugs"><img
alt="Software Testing Tools - Pay4Bugs" src="http://www.softwaretestingnow.com/images/software-testing-p4b470.png" title="Software Testing Tools - Pay4Bugs" width="470" /></a><p
class="wp-caption-text">Pay4Bugs - Software Testing Marketplace</p></div><p/>Pay4bugs is an online marketplace that brings software developers and testers together. Pay4bugs allows developers to hire real people to perform their tests (the rest of the tools listed here deal with automated testing).</p><p>The developer sets up a project, which may consist of one or more assignments. (An assignment is a set of instructions relating to a single test or group of tests.)</p><p>The developer then sets a price (a “bounty”). Testers only get paid if they find bugs and the bugs are marked “valid” by the developer. Once a bug is reported, the developer has seven days to review it and decide whether it is valid.</p><p>Pay4Bugs works so incredibly well because it is at the heart of the free market.  You only pay as much as you are willing to pay for each quality bug found, but there&#8217;s a catch &#8211; if you bid too low, nobody will want to test for you.  Due to the web being international, prices end up being orders of magnitudes cheaper than anywhere else, especially for Americans looking to outsource.</p><h3>Software Testing Tools &#8211; CANOO WEBTEST</h3><p>Canoo WebTest provides an automated way to test web applications. Using either an XML file or a program written in Groovy, you tell WebTest which URL to visit, which form fields to “fill out” and which links or buttons to “click.” You also specify what the results should be. WebTest performs the test and outputs a report describing what each part of the test did, and whether it failed or succeeded.</p><p>WebTest has an easy syntax with steps having meaningful names that can be understood even when you don&#8217;t know WebTest. Additionally, the recorder allows you to quickly generate a first draft of your tests that you can adapt and refactor to build robust tests suites. Don&#8217;t forget: capture/replay is the least cost-effective way of automating test cases!</p><p>WebTest&#8217;s reporting capabilities are perhaps its most important feature. JUnit-style reports are not enough to understand why a test fails; WebTest reports provide all information allowing you to quickly understand the failure cause.</p><h3>Software Testing Tools &#8211; SELENIUM</h3><p>Selenium records your keypresses, clicks and other actions and allows them to be played back later for testing purposes. The Selenium Remote Control server can automatically start and kill web browsers and acts as an HTTP proxy for those browsers. It works with IE, Firefox, Opera and Safari, and is compatible with Windows, OS X, Linux and Solaris. To use Selenium IDE, which lets you record your browser activities for later playback, you&#8217;ll need Firefox on Windows, OS X, Linux or Solaris.</p><p>Selenium also has an API that works with C#, Java. Perl. PHP, Python and Ruby.</p><p>Here&#8217;s how you create tests with Selenium&#8217;s software testing tools:</p><ul><li>Record and play back your test in Firefox</li><li>Use the Selenium IDE to export your test to one of several 	programming languages, including C#, Java, Ruby, PHP and Python. 	This allows you to integrate your tests with an existing testing 	framework</li><li>The tests are made up of a series of Selenium commands, which 	are sent to the Selenium Remote Control server or the Selenium Grid 	server</li></ul><h3>Software Testing Tools &#8211; WATIR</h3><p>Watir is a set of Ruby libraries designed to automate web browsers. Although Watir was written in Ruby, it supports web apps no matter what technology they use. It also supports a wide range of web browsers, including IE on Windows, and Firefox Windows, Mac and Linux.</p><p>Watir will drive web applications that are served up as HTML pages in a web browser. Watir will not work with ActiveX plugin components, Java Applets, Macromedia Flash, or other plugin applications. To determine whether Watir can be used to automate a part of a web application, right click on the object and see if the <em>View Source</em> menu option is available. If you can view the HTML source, that object can be automated using Watir.</p><p>Work is proceeding on Watir drivers for WebKit (Safari and Chrome) and Opera. The website states that the OS X Safari driver and the Chrome driver are usable, but are still considered “experimental.”</p><h3>Software Testing Tools &#8211; WATIN</h3><p>Inspired by Watir, WatiN is a web application testing framework that runs on the .NET platform.</p><p>The WatiN home page says that the framework supports frames, AJAX, and JavaScript popups, all essential to testing today&#8217;s advanced Web applications.</p><p>WatiN supports IE 6, 7 and 8, and Firefox 2.x and 3.x.</p><p>At the moment, WatiN supports Windows 2000, Windows XP, Windows 2003 and Windows 2008.</p><p>Using WatiN on Vista, Windows 7 and Windows 2008 needs a little extra work due to the Protected Mode. You need to add the domain of the website under test to the trusted sites list. This will turn Protected mode off for your site; then your WatiN tests will run properly.</p><p>There are several other software testing tools, but this is a great place to start.  We love Pay4Bugs for testing beta products and &#8220;crowdsourcing&#8221; them before going to the final masses.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-testing-tools/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Software Testing Books</title><link>http://www.softwaretestingnow.com/software-testing-books</link> <comments>http://www.softwaretestingnow.com/software-testing-books#comments</comments> <pubDate>Mon, 20 Dec 2010 13:53:25 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[best software testing books]]></category> <category><![CDATA[software testing books]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=154</guid> <description><![CDATA[There is quite a number of books that aim to provide quality information on testing, or at the very least enlighten consumers about the real needs. Inside are some of the best-rated and highest-reviewed books.  Our goal is to show you books that don't pertain to specific technologies, but give you general information that can be applied to <em>all</em> technologies and languages.]]></description> <content:encoded><![CDATA[<p>Oh, software. Most of us are familiar with the routine lapses and disrepairs into which software falls, forcing us to delay our most urgent professional tasks and requiring a lump-sum payment on services to repair whatever&#8217;s wrong.</p><p>But why waste valuable time, potentially lose revenue, and needlessly chip away at your reputation when it comes to computer programs – when you could easily, effortlessly, and regularly test your software before something devastates it?</p><p>Software Testing, available by way of the address www.softwaretestingnow.com, offers to meet all your software testing needs – quickly, affordably, and with due care for your most important programs.</p><p>Software Testing aims to provide optimal user benefit by first understanding your priorities and needs with software.</p><p>And after reading that sentence, you probably think that Software Testing sends a technician to review your equipment.</p><p>To the contrary – you can do it online, with the assistance of <a
href="http://www.softwaretestingnow.com/pay4bugs" title="Outsource Bug Testing">Pay4Bugs</a>, partners of <a
href="http://www.softwaretestingnow.com" title="Software Testing">Software Testing</a>. A monthly or annual subscription, plus the time and attention a program like Pay4Bugs.com deserves, and voila – you’re able to comfortably and routinely check, test, and maintain your software.</p><h2>Software Testing Books</h2><p>When using a service like <a
href="http://www.softwaretestingnow.com/pay4bugs" title="Outsource Bug Testing">Pay4Bugs</a> mentioned above, you really don&#8217;t need to learn as much about software testing.  You can have it done for you!</p><p>But there are still a number of software testing books aim to provide quality information, or at the very least enlighten consumers about the real need for routine software testing. Here’s a sample of these books, the highest-rated and best-reviewed:</p><ul><li><a
href="http://www.amazon.com/gp/product/0672327988/ref=as_li_ss_tl?ie=UTF8&#038;tag=softwaretestingnow-20&#038;linkCode=as2&#038;camp=217153&#038;creative=399349&#038;creativeASIN=0672327988" target="_blank" rel="nofollow">Software Testing, Second Edition</a></li><li><a
href="http://www.amazon.com/gp/product/0471081124/ref=as_li_ss_tl?ie=UTF8&#038;tag=softwaretestingnow-20&#038;linkCode=as2&#038;camp=217153&#038;creative=399349&#038;creativeASIN=0471081124" target="_blank" rel="nofollow">Lessons Learned in Software Testing</a></li><li><a
href="http://www.amazon.com/gp/product/0735619670/ref=as_li_ss_tl?ie=UTF8&#038;tag=softwaretestingnow-20&#038;linkCode=as2&#038;camp=217153&#038;creative=399349&#038;creativeASIN=0735619670" target="_blank" rel="nofollow">Code Complete: A Practical Handbook of Software Construction</a></li><li><a
href="http://www.amazon.com/gp/product/1118031962/ref=as_li_ss_tl?ie=UTF8&#038;tag=softwaretestingnow-20&#038;linkCode=as2&#038;camp=217153&#038;creative=399701&#038;creativeASIN=1118031962" target="_blank" rel="nofollow">The Art of Software Testing</a></li></ul><h2>How Pay4Bugs.com Works</h2><p> Pay4Bugs.com is an online software program administered by so-called &#8220;testers&#8221; the world over. These testers are real computer programmers and professionals familiar with all the needs, frustrations, and other pressing concerns about software. If anyone will know how to test, maintain, and optimally safeguard your computer programs and software, a Pay4Bugs.com tester will know.</p><p>Pay4Bugs thus serves as an online portal which, through preventive and proactive methods, holds the power of life-and-death over your software. If you choose the service, it’ll ultimately better prepare you and your software; if you don’t, you leave yourself &#8220;open to the elements,&#8221; as it were, and potentially prey to malware, adware, and viruses of all manner.  With that in mind, why not read on about Pay4Bugs.com?</p><h3>You Assign the Test</h3><p>When you hire a tester through Pay4Bugs.com, you’re tasked with the need to assign a software problem or testing requirement to a tester – and not the other way around. This puts the power securely in your hands, enabling you to test, maintain, and ultimately better prepare your software.</p><h3>Who Benefits from Pay4Bugs.com?</h3><p>Well, apart from the obvious answer – namely, you – a number of IT professionals, companies, firms, and bloggers pay tribute to the quality of <a
href="http://www.softwaretestingnow.com/pay4bugs" title="Outsource Bug Testing">Pay4Bugs</a>&#8216; services with their continued stay as clients. Pay4Bugs.com&#8217;s testers ensure fast, reliable service with a measure of quality that surpasses any other rivals on the market – should they even exist.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-testing-books/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Quality Assurance</title><link>http://www.softwaretestingnow.com/quality-assurance</link> <comments>http://www.softwaretestingnow.com/quality-assurance#comments</comments> <pubDate>Mon, 20 Dec 2010 13:53:00 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[code]]></category> <category><![CDATA[pay4bugs]]></category> <category><![CDATA[qa]]></category> <category><![CDATA[quality assurance]]></category> <category><![CDATA[quality assurance enginer]]></category> <category><![CDATA[quality assurance jobs]]></category> <category><![CDATA[quality assurance plan]]></category> <category><![CDATA[quality assurance testing]]></category> <category><![CDATA[quality management]]></category> <category><![CDATA[standards]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=140</guid> <description><![CDATA[Quality Assurance, or QA, is another word the evaluation of different portions of the software development life cycle and is used to minimize downtime, bugs, and mistakes, while keeping the bottom line - profitability - ate the forefront of any process.  In this article, we discuss how we keep QA costs down while productivity stays high.<p/>With the rise of modernity and the global expansion of computer software, you no longer need to work in the IT field to understand the grave danger that viruses, malware, and other malicious software poses to your computer program.  On the other hand, who hasn’t experienced a computer crash, in which the stored data is destroyed or corrupted?<p/>The rub of it is that most of us don’t see it coming, but we are left to deal with the consequences.  Thankfully, we pledge to meet all your software maintenance and testing needs, serving as a one-stop shop for preventive and proactive measures for quality assurance.]]></description> <content:encoded><![CDATA[<p><strong>Quality Assurance</strong>, or <strong>QA</strong>, is another word the evaluation of different portions of the <a
href="http://www.softwaretestingnow.com/software-development-life-cycle">software development life cycle</a> and is used to minimize downtime, bugs, and mistakes, while keeping the bottom line &#8211; profitability &#8211; ate the forefront of any process.  In this article, we discuss how we keep QA costs down while productivity stays high.</p><p>With the rise of modernity and the global expansion of computer software, you no longer need to work in the IT field to understand the grave danger that viruses, malware, and other malicious software poses to your computer program.</p><p>On the other hand, who hasn’t experienced a computer crash, in which the stored data is destroyed or corrupted?</p><p>The rub of it is that most of us don’t see it coming, but we are left to deal with the consequences.</p><p>Thankfully, The <a
href="http://www.softwaretestingnow.com">Software Testing</a> guys at softwaretestingnow.com pledge to meet all your software maintenance and testing needs, serving as a one-stop shop for preventive and proactive measures for quality assurance.</p><h2>Software Testing and Quality Assurance</h2><p>Software Testing understands that the well-being and ability of your computer programs are at stake – and that quality assurance is a must.</p><p>Through its affiliate, <strong><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Quality Assurance Outsourcing">Pay4Bugs</a></strong>, the company relies on quality assurance engineers to supply the best in quality assurance testing and software programs. These engineers, sometimes also called “testers,” perform functions that such titles would precisely suggest, grading, probing, and bettering your software.</p><p>P4B thus models itself as a quality assurance portal for professionals with IT needs and the desire to preventively and proactively secure their software and computer programs.</p><h3>How the Quality Assurance Outsourcing Works</h3><p>Run by so-called &#8220;testers,&#8221; Pay4Bugs is an interactive online software marketplace that aims to holistically address the needs, frustrations, and other concerns that clients have about software.  If anyone will know how to test, maintain, and optimally safeguard your computer programs and software, a Pay4Bugs.com tester will know.</p><p>This serves as a premiere quality assurance outsourcing portal for IT needs. In some ways, the testers who administer Pay4Bugs.com make the most important decisions regarding the security of your software. By paying for the service, you opt to reign in unanswered questions about your software’s security and bolster your quality assurance requirements.</p><h2>The Ins and Outs of QA</h2><p>Testers supply a measure of automated testing that provides &#8220;end-of-service,&#8221; usability, and exploratory and ad hoc tests. These tests serve to grade the overall quality of your software, which extends to its:</p><ul><li>Application security</li><li>Scalability ratings</li><li>Stress and performance requirements</li><li>And more!</li></ul><p>By probing, testing, and grading your software, testers ultimately determine whether it can stand on its own feet against the advances of spyware, malware, adware – you name it.</p><h3>You Assign the QA Tests</h3><p>When you hire a tester, you’re tasked with the need to assign a software problem or testing requirement to a tester – and not the other way around. This puts the power securely in your hands, enabling you to test, maintain, and ultimately better prepare your software.</p><h4>Who Benefits from this Quality Assurance Program?</h4><p>The short answer: anyone who regularly requires software operability or needs quality assurance guarantees for their clients. Apart from you, a number of IT professionals, firms, bloggers, and larger companies continue to stay with Pay4Bugs.com because of the reliability of its testers and the supremacy of its tests.</p><p>Contact Pay4Bugs.com</p><p>For more information, <strong><a
href="http://www.softwaretestingnow.com/pay4bugs" title="Quality Assurance Outsourcing">You can visit Pay4Bugs here</a></strong></p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/quality-assurance/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Regression Testing</title><link>http://www.softwaretestingnow.com/regression-testing</link> <comments>http://www.softwaretestingnow.com/regression-testing#comments</comments> <pubDate>Mon, 20 Dec 2010 13:52:12 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[functional testing]]></category> <category><![CDATA[integration testing]]></category> <category><![CDATA[regression analysis]]></category> <category><![CDATA[regression test]]></category> <category><![CDATA[regression testing]]></category> <category><![CDATA[regression testing best practices]]></category> <category><![CDATA[regression testing tools]]></category> <category><![CDATA[regression tests]]></category> <category><![CDATA[smoke testing]]></category> <category><![CDATA[user acceptance testing]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=143</guid> <description><![CDATA[Managers, especially those who control the money, don't like to admit it, but new code needs to be thoroughly tested at <em>every</em> release.  Regression testing is what you need to do before every new release.  Sometimes, new code breaks the old code, and you don't realize it until it's too late.<p/>Many beginning programmers don't do this type of testing because they think that everything remains static.  Unfortunately, it does not.  Subroutines and functions change.  Input and output parameters change and get moved (they shouldn't... but they do).  And entire programs can come falling to their knees when new software breaks the old.<p/>So you have to constantly test, and that can be... constantly expensive.  So we provide our solutions to regression testing.]]></description> <content:encoded><![CDATA[<p><strong>Regression testing</strong> and analysis are tools of the trade for &#8220;testers&#8221; – software engineers who work around the clock for Software Testing’s clients. Through regression testing, testers resolve viruses in an expedient and sequential manner – without forgetting to delete the previous bugs.</p><p>These days, who hasn&#8217;t encountered a nasty virus or &#8220;bug&#8221; that infects software, delays professional services, and renders impossible any attempt to run a business smoothly?</p><p>The truth is that malicious adware, malware, and spyware lurk around every corner. Some hacker devises a new Trojan virus, or secures entry to your private server, threatening to turn over valuable information at some present or future date.</p><h2>What&#8217;s Regression Testing?</h2><p>The concept is easy to understand. Think about a classic television set with cords from various devices in endless knots. The job of a regression analyst is to disentangle the cords without forming a new knot.</p><p>Through its affiliate, <a
href="http://www.softwaretestingnow.com/pay4bugs" title="QA Outsourcing">Pay4Bugs</a>, <a
href="http://www.softwaretestingnow.com">Software Testing</a> relies on quality assurance engineers to supply the best in regression analysis and testing. By employing experienced software testers, the one-stop shop portal aims to resolve viruses and other IT problems without creating new ones or restoring old ones.</p><p>Here are a few other analysis and services that Software Testing provides through its capable employees:</p><ul><li>Smoke testing – a precursor to actual testing that aims to ensure that the software in question will not crash outright if tested</li><li>Functional testing – a form of testing that feeds input and examines output, allowing testers to better identify what, exactly, might be causing problems</li><li>User acceptance testing – a simple way to gauge consumer confidence and satisfaction</li><li>Integration testing – a process whereby testers group software together to perform a critical test</li></ul><p>Regression testing is what you need to do before every new software release.  Sometimes, new code breaks the old code, and you don&#8217;t realize it until it&#8217;s too late.  Many beginning programmers don&#8217;t do this type of testing because they think that everything remains static.  Unfortunately, it does not.  Subroutines and functions change.  Input and output parameters change and get moved (they shouldn&#8217;t&#8230; but they do).  And entire programs can come falling to their knees when new software breaks the old.</p><p>The solution?  Constant testing on every release.  But this is expensive!  That&#8217;s why it&#8217;s important to have a series of unit level tests and functional tests that <em>grow</em> with each new release &#8211; they must all get USED during each software release!  To save money, <a
href="http://www.softwaretestingnow.com/pay4bugs" title="QA Outsourcing">Pay4Bugs</a>, the software testing marketplace, can do a lot of this for you.</p><h3>How to Solve Common Regression Testing Problems</h3><p>Pay4Bugs, as such, strives to eliminate software problems and provide the quality satisfaction you deserve as a potential client.</p><h2>How Pay4Bugs Works</h2><p>Pay4Bugs.com is an online software program administered by so-called “testers” the world over. These testers are real computer programmers and professionals familiar with all the needs, frustrations, and other pressing concerns about software. If anyone will know how to test, maintain, and optimally safeguard your computer programs and software, a Pay4Bugs.com tester will know.</p><p>Pay4Bugs.com thus serves as an online portal which, through preventive and proactive methods, holds the power of life-and-death over your software. If you choose the service, it’ll ultimately better prepare you and your software; if you don’t, you leave yourself “open to the elements,” as it were, and potentially prey to malware, adware, and viruses of all manner.</p><h3>You Assign the Test</h3><p>When you hire a tester through P4B, you’re tasked with the need to assign a software problem or testing requirement to a tester – and not the other way around. This puts the power securely in your hands, enabling you to test, maintain, and ultimately better prepare your software.</p><h4>Who Benefits from Pay4Bugs.com?</h4><p>A number of IT professionals, companies, firms, and bloggers pay tribute to the quality of Pay4Bugs&#8217; services with their continued stay as clients. The testers ensure fast, reliable service with a measure of quality that surpasses any other rivals on the market – should they even exist.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/regression-testing/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Software Testing Certification</title><link>http://www.softwaretestingnow.com/software-testing-certification</link> <comments>http://www.softwaretestingnow.com/software-testing-certification#comments</comments> <pubDate>Mon, 20 Dec 2010 13:51:17 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[software testing certification]]></category> <category><![CDATA[software testing certification exam]]></category> <category><![CDATA[software testing certifications list]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=48</guid> <description><![CDATA[This page contains a list of places to get certified for software testing, which is a requirement for some jobs / careers.  Such places discussed are the ASTQB (an American branch of the ISTQB) and the International Institute for Testing (IIST).  We, of course, have a place where you can find work without getting certification!]]></description> <content:encoded><![CDATA[<p>Software Testing Certification &#8211; This page contains a list of places to get certified for software testing.</p><p>Note &#8211; You do not need any certification to begin testing software and making money on <strong><a
href="http://www.softwaretestingnow.com/pay4bugs" title="QA Outsourcing" target="_blank">Pay4Bugs</a></strong>, the software bug-testing marketplace where customers can set your their own prices and bug testers can choose what projects to work with.</p><h2>American Software Testing Qualifications Board</h2><h3><a
href="http://www.astqb.org/">http://www.astqb.org/</a></h3><p>This organization is the American branch of the International Software Testing Qualification Board (ISTQB).</p><p>ASTQB was founded in 2003 as the American Testing Board. In April 2005, the name was changed to the American Software Testing Qualifications Board.</p><p>Through the involvement of the world&#8217;s foremost experts in software testing, the program was developed for software professionals who want to prepare today&#8217;s professionals by anticipating tomorrow&#8217;s software testing demands.</p><p>The International Software Testing Qualifications Board (ISTQB), organized has introduced an  international standard for software testers. The ISTQB&#8217;s Certified Tester programs are meant to bridge the gap between research, standard training and industry practice.</p><p>Members of the ASTQB are software testing experts who volunteer to maintain and promote the ISTQB Certified Tester program in the U.S. They also sit on the ISTQB&#8217;s U.S. national board. The ASTQB is a non-profit organization; fees cover administrative costs, the costs of exhibiting at major conventions, and other costs.</p><p>Some advantages of obtaining certification through ASTQB/ISTQB:</p><ul><li>ISTQB 	software testing certification is practical:  Theory is important, but you work in the real world, and ISTQB certification is meant to solve real-world issues.</li><li>ISTQB 	software testing certification is global: The certification programs were developed by more than 100 global software testing experts, are offered in nearly 50 countries, and have more than 145,000 certified software testers worldwide.</li><li>Take the course the way you want to; enroll in a course from an accredited provider, in-house study groups or software testing seminars, or even self-study.</li><li>ISTQB is the world’s only not-for-profit organization dedicated solely to providing practical, globally-accepted software testing certification.</li></ul><h2>INTERNATIONAL INSTITUTE FOR SOFTWARE TESTING</h2><h3><a
href="http://www.testinginstitute.com/certification.php">http://www.testinginstitute.com/certification.php</a></h3><p>IIST stresses the need to actually learn the material on which you&#8217;re being certified, instead of just studying for an exam and receiving a piece of paper. IIST promotes professionalism through education, consulting, publications, industry conferences, and certification.</p><p>IIST focuses on Developing a Body of Knowledge (BOK), an essential first step to establishing software testing as a profession. Anyone doing software testing should have a firm grasp of all of the concepts embodied by the BOK. IIST believes that education is the only way to establish testing as a discipline.</p><p>The complexity of software systems and the demand of customers and users are constantly increasing. IIST&#8217;s training programs enable testers to perform adequate testing of software systems that control different aspects of our lives. Formal academic programs rarely cover even the basics of software testing; this is a void the Institute means to fill.</p><p>In 1999, IIST formed an Advisory Board of industry experts and practitioners, with the goal of developing education-based certifications. The IIST Advisory Board strongly believes that the value of any certification program lies in its ability to meet individuals&#8217; diverse needs and interests for both breadth and depth of content so that it helps them improve the way they perform their job on a day to day basis.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-testing-certification/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Software Testing Methodologies and Techniques You Should Know</title><link>http://www.softwaretestingnow.com/software-testing-methodologies</link> <comments>http://www.softwaretestingnow.com/software-testing-methodologies#comments</comments> <pubDate>Sun, 19 Dec 2010 13:53:50 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[software testing best practices]]></category> <category><![CDATA[software testing methodologies]]></category> <category><![CDATA[software testing methodologies notes]]></category> <category><![CDATA[software testing methodologies pdf]]></category> <category><![CDATA[software testing methodology]]></category> <category><![CDATA[software testing methods]]></category> <category><![CDATA[software testing techniques]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=50</guid> <description><![CDATA[This page lists and explains the most popular software development and testing methodologies and techniques that are important to know when beginning to develop and test software.<p/>Such methodologies and techniques are the Agile Software Development, highlighted under the Agile Manifesto; cleanroom software engineering; Iterative Software Development; Rapid Application Development (RAD); Rational Unified Process (RUP); Spiral Software Development; Waterfall Software Development; XP (not the operating system); Scrum; V-Model; TDD; and <a
href="http://www.softwaretestingnow.com/pay4bugs">Pay4Bugs</a>.]]></description> <content:encoded><![CDATA[<h2>SOFTWARE TESTING METHODOLOGIES</h2><p>This page lists and explains the most popular software testing methodologies and techniques that are important to know for all software testing.</p><h3>AGILE SOFTWARE DEVELOPMENT</h3><div
class="wp-caption alignright" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Agile-Software-Development-Poster-En.pdf/page1-450px-Agile-Software-Development-Poster-En.pdf.jpg"><img
alt="Software Testing Methodologies - Agile Software Development" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Agile-Software-Development-Poster-En.pdf/page1-450px-Agile-Software-Development-Poster-En.pdf.jpg" title="Software Testing Methodologies - Agile Software Development" width="250" /></a><p
class="wp-caption-text">Agile Software Development</p></div><p/>Agile development methods tend to promote teamwork and collaboration. The agile development process isn&#8217;t sequential (code, test, debug, release), like traditional development processes; nor is it iterative; it combines concepts of both.</p><p>Twelve principles underlie the Agile Manifesto, including:</p><ul><li>Customer satisfaction by rapid delivery of useful software</li><li>Welcome changing requirements, even late in development.</li><li>Working software is delivered frequently (weeks rather than months)</li><li>Working software is the principal measure of progress</li><li>Sustainable development, able to maintain a constant pace</li><li>Close, daily cooperation between businesspeople and developers</li><li>Face-to-face conversation is the best form of communication (co-location)</li><li>Projects are built around motivated individuals, who should be trusted</li><li>Continuous attention to technical excellence and good design</li><li>Simplicity</li><li>Self-organizing teams</li><li>Regular adaptation to changing circumstances</li></ul><h3>CLEANROOM SOFTWARE ENGINEERING</h3><p>The Cleanroom Software Engineering process is a software development process intended to produce software with a certifiable level of reliability:</p><ul><li>Cleanroom development uses on formal methods in the design and specification of a software product. A team verifies that the 	design correctly implements the spec.</li><li>Development and testing is done using an iterative approach, where functionality is added to the product incrementally (as opposed to creating all of the functionality first, THEN testing it).</li><li>Software testing is performed as a statistical experiment.</li></ul><h3>ITERATIVE SOFTWARE DEVELOPMENT</h3><p><div
class="wp-caption alignleft" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/a/ac/Iterative_development_model_V2.jpg"><img
alt="Software Testing Methodologies - Iterative Software Development" src="http://upload.wikimedia.org/wikipedia/commons/a/ac/Iterative_development_model_V2.jpg" title="Software Testing Methodologies - Iterative Software Development" width="250" /></a><p
class="wp-caption-text">Iterative Software Development</p></div><p/>Iterative development is at the heart of a cyclic software development process; it starts with an initial planning and ends with deployment with the cyclic interactions in between.</p><p>Iterative development is NOT the same thing as incremental development, although the two methodologies do complement each other.</p><p>Two steps are involved in iterative development:</p><ul><li>Initialization: Creates a base version of the system.</li><li>Iteration: The current version of the system is analyzed, and is redesigned and implemented based on the Project Control list.</li></ul><h3>RAPID APPLICATION DEVELOPMENT (RAD)</h3><p>In place of extensive planning, RAD makes heavy use of prototyping.</p><p>In Rapid Application Development, structured techniques and prototyping are especially used to define users&#8217; requirements and to design the final system. The development process starts with the development of preliminary data models and business process models using structured techniques. In the next stage, requirements are verified using prototyping, eventually to refine the data and process models. These stages are repeated iteratively.</p><h3>RATIONAL UNIFIED PROCESS (RUP)</h3><p>The Rational Unified Process is a framework intended to be customized by software development teams, for their individual needs. It was created by Rational Software (which is now part of IBM).</p><p>RUP emphasises six best practices for modern software engineering:</p><ol><li>Develop iteratively, with risk as the primary iteration driver</li><li>Manage requirements</li><li>Employ a component-based architecture</li><li>Model software visually</li><li>Continuously verify quality</li><li>Control changes</li></ol><p><div
class="wp-caption aligncenter" style="width: 677px"><a
href="http://upload.wikimedia.org/wikipedia/commons/2/2c/Openup-basic_lifecycle.jpg"><img
alt="Software Testing Methodologies - Rational Unified Processing" src="http://upload.wikimedia.org/wikipedia/commons/2/2c/Openup-basic_lifecycle.jpg" title="Software Testing Methodologies - Rational Unified Processing" width="667" height="192" /></a><p
class="wp-caption-text">Rational Unified Processing</p></div><h3>SPIRAL SOFTWARE DEVELOPMENT</h3><p>The Spiral Model is an iterative model that attempts to combine advantages of the top-down and bottom-up models of software design.<br
/><div
class="wp-caption alignright" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Software_Development_Spiral.svg/280px-Software_Development_Spiral.svg.png"><img
alt="Software Testing Methodologies - Spiral Software Development" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Software_Development_Spiral.svg/280px-Software_Development_Spiral.svg.png" title="Software Testing Methodologies - Spiral Software Development" width="250" /></a><p
class="wp-caption-text">Spiral Software Development</p></div><p/>The system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.</p><ul><li>A preliminary design is created for the new system. This phase is the most important part of the Spiral Model.</li></ul><ul><li>A first prototype of the new system is constructed from the preliminary design.</li></ul><ul><li>A second prototype is evolved by a fourfold procedure:</li></ul><ol><li>evaluating the first prototype in terms of its strengths, weaknesses, and risks;</li><li>defining the requirements of the second prototype;</li><li>planning and designing the second prototype;</li><li>constructing and testing the second prototype.</li></ol><h3>WATERFALL SOFTWARE DEVELOPMENT</h3><p><div
class="wp-caption alignleft" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/5/51/Waterfall_model.png"><img
alt="Software Testing Methodologies - Waterfall Software Development" src="http://upload.wikimedia.org/wikipedia/commons/5/51/Waterfall_model.png" title="Software Testing Methodologies - Waterfall Software Development" width="250" /></a><p
class="wp-caption-text">Waterfall Software Development</p></div><p/>The waterfall model is a sequential design process comprised of the following steps, each of which must be completed before the next starts:</p><ol><li>Design</li><li>Construction/implementation</li><li>Integration</li><li>Testing/debugging/validation)</li><li>Installation</li><li>Maintenance</li></ol><h3>XP</h3><p><div
class="wp-caption alignright" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/4/44/XP-feedback.gif"><img
alt="Software Testing Methodologies - Extreme Programming" src="http://upload.wikimedia.org/wikipedia/commons/4/44/XP-feedback.gif" title="Software Testing Methodologies - Extreme Programming" width="250" /></a><p
class="wp-caption-text">Extreme Programming</p></div><p/>Extreme Programming (XP) is intended to improve software quality and responsiveness to changing customer requirements. by advocating frequent &#8220;releases&#8221; in short development cycles, which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted. Features are not added until they are actually needed. Extreme Programming also encourages programming in pairs, along with frequent communication between members of the development team, and between the developers and clients.</p><h4>Lean</h4><p>Lean development could be summarized by seven principles, very close in concept to lean manufacturing principles.</p><p>Everything not adding value to the customer is considered to be waste, including:</p><ul><li>unnecessary code and functionality</li><li>delay in the software development process</li><li>unclear requirements</li><li>bureaucracy</li><li>slow internal communication</li></ul><p>In order to be able to eliminate waste, one should be able to recognize and see it. If some activity could be bypassed or the result could be achieved without it, it is waste. Partially done coding eventually abandoned during the development process is waste. Extra processes and features not often used by customers are waste. Waiting for other activities, teams, processes is waste. Defects and lower quality are waste. Managerial overhead not producing real value is waste.</p><h3>Scrum</h3><p>Scrum is an iterative methodology used in agile software development.</p><p>During each “sprint”, typically a two to four week period (with the length being decided by the team), the team creates a potentially shippable product increment (for example, working and tested software). The set of features that go into a sprint come from the product “backlog”, which is a prioritized set of high level requirements of work to be done.  Development is timeboxed such that the sprint must end on time; if requirements are not completed for any reason they are left out and returned to the product backlog. After a sprint is completed, the team demonstrates how to use the software.</p><h3>V-Model</h3><p><div
class="wp-caption alignleft" style="width: 260px"><a
href="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Systems_Engineering_Process_II.svg/599px-Systems_Engineering_Process_II.svg.png"><img
alt="Software Testing Methodologies - V-Model" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Systems_Engineering_Process_II.svg/599px-Systems_Engineering_Process_II.svg.png" title="Software Testing Methodologies - V-Model" width="250" /></a><p
class="wp-caption-text">V-Model</p></div>The V-model is a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.</p><h3>TDD</h3><p>Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.</p><h2>PAY4BUGS</h2><p><strong><a
href="http://www.softwaretestingnow.com/pay4bugs">Pay4Bugs</a></strong> can be an essential part of your testing processes, no matter which methodology you use.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/software-testing-methodologies/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Types of Software Testing</title><link>http://www.softwaretestingnow.com/types-of-software-testing</link> <comments>http://www.softwaretestingnow.com/types-of-software-testing#comments</comments> <pubDate>Sat, 18 Dec 2010 13:55:27 +0000</pubDate> <dc:creator>Berto</dc:creator> <category><![CDATA[Software Testing]]></category> <category><![CDATA[different types of software testing]]></category> <category><![CDATA[software testing types]]></category> <category><![CDATA[types of software testing]]></category> <guid
isPermaLink="false">http://www.softwaretestingnow.com/?p=52</guid> <description><![CDATA[This is a list of different types of software testing.  What do the words black box, white box / glass box, unit, incremental integration, integration, functional, system, end-to-end, sanity, regression, acceptance, load, stress, performance, usability, install/uninstall, compatibility, comparison, alpha, and beta all have in common?  They are all types of testing - quite a few - but we explain each one here.<p/>Furthermore, once you are at the point of alpha testing or beta testing your product or website, we highly recommend you use <a
href="http://www.softwaretestingnow.com/pay4bugs" title="QA Outsourcing">Pay4Bugs</a> to get a crowd of software testers to find bugs in your product at the prices you choose!]]></description> <content:encoded><![CDATA[<p>This is a list of different types of software testing.  Once you are at the point of alpha testing or beta testing your product or website, we highly recommend you use <a
href="http://www.softwaretestingnow.com/pay4bugs" title="QA Outsourcing">Pay4Bugs</a> to get a crowd of software testers to find bugs in your product at the prices you choose!</p><h2><strong>BLACK BOX TESTING</strong></h2><p>Testers do not have access to, or knowledge of, the inner workings of the system being tested.Tests are based on requirements and functionality.</p><h2><strong>WHITE BOX/GLASS BOX TESTING</strong></h2><p>Testers have knowledge of the system&#8217;s internal logic, and in this type of testing, the application logic is what is being tested. When defects are discovered, the tester must examine the code to see exactly where the defect occurred.</p><h2><strong>UNIT TESTING</strong></h2><p>Testing of individual software components or modules. Since a detailed, in-depth knowledge of the internal application logic is required, unit testing is normally performed by the developers who are working on the system. Unit testing may require the development of test driver modules or test harnesses.</p><h2><strong>INCREMENTAL INTEGRATION TESTING</strong></h2><p>Continuous testing of an application as new functionality or modules are added. This requires the modules to be independent enough to test separately. Incremental integration is done by programmers or by testers.</p><h2><strong>INTEGRATION TESTING</strong></h2><p>Testing of integrated modules to verify that they work together properly. Modules can include, but are not limited to, code modules, individual applications, and client and server applications on a network. This type of testing is especially relevant to client/server and distributed systems.</p><h2><strong>FUNCTIONAL TESTING</strong></h2><p>Functional testing focuses on the output, and whether it performs as the requirements and specs say it should perform. Functional testing is a type of black-box testing.</p><h2><strong>SYSTEM TESTING</strong></h2><p>The entire system is tested to make sure it performs as the requirements and specs say it should perform. System testing is a type of black-box type testing that is based on overall requirements and  specifications, and, covers all combined parts of a system.</p><h2><strong>END-TO-END TESTING</strong></h2><p>Similar to system testing. End-to-end testing involves testing of a complete application environment in a situation that mimics real-world use. This includes using production components like databases, using network communications, or interacting with other hardware, applications, or systems.</p><h2><strong>SANITY TESTING</strong></h2><p>Sanity tests determine if a new software version is performing well enough to accept it for a major testing effort. These tests test the stability of an application. If the application crashes too often for initial use, the system is deemed to be too unstable for further testing.</p><h2><strong>REGRESSION TESTING</strong></h2><p>Regression testing ensures that fixes correcting newer defects do not re-introduce problems with older defects. Often, regression testing is automated because it is difficult to cover the entire system with manual tests.</p><h2><strong>ACCEPTANCE TESTING</strong></h2><p>This type of testing is performed by the customer to ensure that the system meets their specifications and requirements. Typically one of the last procedures before the user or customer accepts the application for production use.</p><h2><strong>LOAD TESTING</strong></h2><p>Load testing checks system behavior under heavy load (e.g. heavy network traffic or database load).  Example: testing of a web site under a range of loads to determine at what point the system’s response time degrades or fails.</p><h2><strong>STRESS TESTING</strong></h2><p>System is stressed beyond its specifications to check how and when it fails. Examples of components that are stress-tested are: mass-storage capacity, complex database queries, and  database load.</p><h2><strong>PERFORMANCE TESTING</strong></h2><p>This term is often used interchangeably with ‘stress’ and ‘load’ testing. Performance testing checks whether system meets performance requirements, using different performance and load tools.</p><h2><strong>USABILITY TESTING</strong></h2><p>Usability testing checks for “User-friendliness” &#8211; in other words, whether or not the application behaves the way the user expects it to behave. Application flow and UI are tested to determine whether a typical user will have any problems using the system, and whether or not the system is properly documented.</p><h2><strong>INSTALL/UNINSTALL TESTING</strong></h2><p>Full, partial, and upgrade install/uninstall processes are tested on different operating systems and under different hardware/software environments.</p><h2>RECOVERY TESTING</h2><p>Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.</p><h2><strong>SECURITY TESTING</strong></h2><p>How secure is the system? Can the system be breached in any way? How well does the system protect against unauthorized internal or external access? Are the system and database safe from external attacks?</p><h2><strong>COMPATIBILITY TESTING</strong></h2><p>Compatibility testing measures how well software performs in different combinations of  hardware/software/operating system/network environments.</p><h2><strong>COMPARISON TESTING</strong></h2><p>The system is compared against previous versions or other similar products, to determine its strengths and weaknesses.</p><h2><strong>ALPHA TESTING</strong></h2><p>Alpha testing is done in an in-house virtual user environment. Alpha testing is done at the end of development. Minor design changes may be made as a result of such testing.</p><h2><strong>BETA TESTING</strong></h2><p>Beta testing is typically done by end-users or others. This is the final stage before an application goes into commercial release. An application can be in a “closed beta”, tested only by people who have been invited to do the testing, or a “public beta” where anyone can obtain, test and provide feedback on the application.</p><h2>PAY4BUGS</h2><p>Pay4Bugs is a great tool that can be used in many different types of testing environments.</p> ]]></content:encoded> <wfw:commentRss>http://www.softwaretestingnow.com/types-of-software-testing/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 987/1185 objects using disk: basic

Served from: www.softwaretestingnow.com @ 2011-11-29 15:28:51 -->
