The Fundamentals of Software Testing

“The Fundamentals of Software Testing” is the first module of the ISEB Foundation course and examination syllabus. ISEB recommend that Foundation students spend 20% of their study time on the Fundamentals course section. “The Fundamentals of Software Testing” is also the title of the opening chapter in the official ISEB Software Testing manual.

Understanding the fundamentals of ST is clearly crucial to achieving proficiency according to the ISEB professional standards. But what, precisely, are these “fundamentals”, and what do you need to know in order to pass the ISEB Foundation examination?

Why is is necessary?

According to Peter Morgan (freelance testing practitioner and member of the ISEB Accreditation and Examination panel), an unnecessarily high proportion of IT systems fail to fulfill expectations – or fail to work at all – because of insufficient ST prior to release.

Software testing cannot guarantee against software problems or even failure, but it can minimize the risk of faults developing once the software is in use. In order to understand why ST is necessary, it is important to consider the causes and impact of IT systems failure, and the crucial role that testing plays in Quality Assurance.

The ISEB Foundation training-courses focus on five learning requirements:

o The potential impact of an IT systems failure;

o Causes/effects of software failure;

o Why testing is necessary;

o Testing versus Quality Assurance;

o Basic industry terminology.

What is it?

ST is a method of identifying faults in the product before it is released; this includes defects in the software code and its execution, as well as any potential gap between what the code is supposed to do and what it actually does.

The ISEB Software Testing Foundation exam requires students to:

o Know the basic objectives of testing;

o Understand how these objectives apply in the context of creating, using and supporting software (including the difference between testing and ‘debugging’, and the different uses of static testing and dynamic testing).

General principles

The ISEB courses introduce students to 7 software testing principles:

O Testing can show that problems exist, but not that problems do not exist.

O Testing covers a limited range of sample situations, and is not comprehensive.

O The earlier a problem is found, the less it costs to fix.

O Defects will tend to cluster around specific areas (e.g. system complexity, or staff inexperience). These areas can be particularly targeted by testers.

O A set of tests, run repeatedly, will have diminishing effect.

O The type, design and focus of testing will vary according to the software tested.

O A test that does not reveal errors does not prove that the software is error-free.

Fundamental test process

Software testing is not simply a case of reviewing documentation or running a software program to check for bugs. To ensure that the appropriate tests are operated effectively and return value on the invested resources, it is crucial that software testers carry out five basic activities, which the ISEB Software Testing guidance links to form a software testing process:

1. Test planning and control

a. Test planning defines what will be tested, how it will be tested, and who we will know when the testing is complete.

b. Test control is an iterative activity that compares the progress against the plan, and adjusts the plan as required.

2. Test analysis and design

a. Test analysis considers the specific conditions to be tested, and how these test conditions are to be combined into test cases.

b. Test design describes the expected outcome of the test, so that testers can easily recognize when a fault has occurred.

3. Test implementation and execution

Execution represents the most visible testing activity, and encompasses setting up the tests, generating test data, logging test activities and analyzing the test results.

4. Evaluating exit criteria and reporting

The test “exit criteria” (established during “Test planning and control”) indicate that testing is complete.

5. Test closure activities

o Ensure that all documentation has been correctly completed

o Close down and archive the test environment, infrastructure and test ware

o Hand over test ware to maintenance team

o Log lessons learned

The psychology of testing

Selecting the appropriate individual(s) to perform the tests, and communicating the results of the tests to the developers, requires a basic understanding of the psychology of testers and developers.

The ISEB guidance provides a hierarchy of ‘independence’ – that is, a list of individuals who could potentially test the software, gradated according to their perceived level of detachment from the development process:

o The authors of the code

o Members of the same development team as the authors of the code

o A different group within the same organization

o A different organization

There are varying advantages and disadvantages to individuals at different levels in the hierarchy performing the software tests. For example, the developer might be able to resolve a difficulty more quickly, but might be also be less likely to spot the difficulties in the first place.

In addition to the independence/detachment of the testers from the software development process, it is important to consider how testers can communicate the results of the test to the developers. The ISEB Software Testing Foundation exam requires students to explain strategies for providing courteous feedback on defects, for example:

o Focus on delivering quality, rather than pointing out mistakes;

o Test reports are not directed towards people but towards products;

o Discuss problems openly, and attempt mutual understanding;

o At the end of a discussion, confirm that both parties understand what has been agreed.

Summary

Understanding the fundamental is crucial to passing the ISEB Software Testing Foundation examination. During an accredited ISEB Foundation course, approximately two and a half hours should be devoted to studying what testing is, why it is necessary, and the fundamentals principles and processes behind a successful test performance.

Free Mac Laptop

Everybody loves a Mac. Apple makes some of the hottest products out there. So I bet you are wondering how do I get myself a free Mac Laptop? Well it is not as difficult as you might think.

Some people may think that this sounds like some kind of scam, but it is not. Organizations are willing to give away free products like a Mac Laptop to get you to check out other products, services, and free trial offers. These promotions give these organizations a lot of buzzes and attention which helps them grow their businesses by gaining you as a new customer and helping get the word out about their new products and services.

All you have to do is register with valid information including your e-mail address, shipping address, and phone number and complete their surveys. The free Mac Laptop is not the only products they give away, but in my opinion it is one of the best because of the high quality of these Apple products. The free Mac Laptop giveaway will not last forever, so you better catch this offer before they run out of free Apple Laptops.

There are a couple of other websites where you will find these types of giveaways, just make sure you do not sign up for the websites that try scam you. If a website tries to make you pay a service fee upfront for a free giveaway, then do not pay it because it is most likely a scam. However, …

If you jump on this free giveaway right now, you will have yourself a new Apple Laptop in no time at all… Thanks to these companies!

Top 10 SEO Tips for 2011 Rank Higher on Google With These Easy SEO Tips

 

Here are ten top tips which are obvious but left out for SEO (search engine optimization) to boost your website/blog ranking on search engines. These SEO tips provided should help any website improve their ranking significantly.

Social Bookmarking

It is very important that you allow your visitors to social bookmark your website or the page that they are on. For example, at the top of each page and post can have a Facebook ‘Like’ button, and below each post have another Facebook, Google Buzz and Twitter share button. When your visitor social bookmarks your website/blog, this helps create important links that search engines value.

Top 10 SEO Tips for 2011 Rank Higher on Google With These Easy SEO Tips
Top 10 SEO Tips for 2011 Rank Higher on Google With These Easy SEO Tips

Using Bold

It is the best practice to use the HTML tag around some keywords that are relevant to the page and that are listed in that page Meta keyword list. DO NOT use them everywhere and on every keyword as this will cause an overuse of the tags. Using it once or twice in a page or post is plenty. I recommend using the tag around a keyword that appears the most. DO NOT bold every single word i.e. if your keyword was ‘SEO’ and on the page you have SEO appearing 10 times, just make one bold which is enough.

Anchor Text

It is best to have different anchor text for your inbound links to your website pages. Having the same anchor text will make it look like automation on some search engines, for example Google frowns upon having the same anchor text. Use anchor texts which best describe your website and make it short and snappy, straight to the point. You can use your website URL sometimes as anchor text, your website or company name. For example, some of the anchor texts can say ‘Top Ten List’, ‘Best SEO Tips’ and many others etc.

Title for Links

When you use links you can add titles to those links. Not only does this help the visually impaired but it is read by some search engines and stored as their relevancy for a page.

Site Map

Every website requires a site map even if it is big or small (contains 5 pages). The site map should be linked to from each page within your website as this helps the search engine to find all the pages within your website. It is best to link the site map at the footer of each page within your website.

Building Backlinks

Building back links for your website is necessary. Backlinks are links on other websites that link to your website and building them can be done via link exchanging or buying links on others websites. You can have back links on any websites, however it’s best to have back links on websites that relate to your website. Further, try to get links back to your website from sites within your niche that have a high PR (Google Page Rank).

Deep Linking

When building back links make sure that the links are linked to as many pages as possible. Don’t just build links which are linking back to your home page the reason is this will tell search engines that you have a shallow website with little value and less content. Further, it may tell search engines that the links were generated by automation. Having back links to many pages of your website will tell search engines that you have valuable content which is worthwhile for the visitor thus helping you to rank higher on search engines.

Use of H1 Tags

When your META title for example states “Top Ten Internet Entrepreneurs” make sure that the heading of the post also states “Top Ten Internet Entrepreneurs” and wrap the heading with H1 tag. This will help search engines recognize the page via the META title and the heading and will also rank your page higher for those keywords in the title.

Article Exchanging

You have heard link exchanging, well article exchanging is similar to link exchanging but are more useful. You can publish someone else’s article on your website/blog i.e. writing a new post about ‘Top Ten Ways To Make Money Online’ and including partial parts of someone else’s article in “ “ and linking back to their article via a link on your post. They then do the same and link back to your article i.e. about ‘Top Ten Tips about SEO’.

Get Listed on Directories

If you’re a business then country such as UK and Canada provide business directories which you can submit your business information and get listed. Other ways to get listed is Google Maps. You can list your business address and website on Google Maps. If you own a Blog, then you can get your blog listed on Technorati which has the biggest blog directory. Get verified by Technorati, and they will syndicate each new post you put on your blog. This will get you good exposer to targeted audience, build back links and increase visitors.