Article Content King

You are viewing: The Fundamentals of Software Testing
By Simon Buehring

The Fundamentals of Software Testing

Articles - Computers - Software - View Article



Publish this article

"The Fundamentals of Software Testing" is the first module of the ISEB Software Testing Foundation course and examination syllabus. ISEB recommend that Software Testing Foundation students spend 20% of their study time on the Software Testing 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 software testing is clearly crucial to achieving proficiency according to the ISEB software testing professional standards. But what, precisely, are these "fundamentals" of software testing, and what do you need to know in order to pass the ISEB Software Testing Foundation examination?

Why is testing necessary?
According to Peter Morgan (freelance testing practitioner and member of the ISEB Software Testing Accreditation and Examination panel), an unnecessarily high proportion of IT systems fail to fulfil expectations - or fail to work at all - because of insufficient software testing prior to release.

Software testing cannot guarantee against software problems or even failure, but it can minimise the risk of faults developing once the software is in use. In order to understand why software testing 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 Software Testing Foundation training-courses focus on five learning requirements:

• The potential impact of an IT systems failure;
• Causes/effects of software failure;
• Why testing is necessary;
• Testing versus Quality Assurance;
• Basic industry terminology.

What is testing?
Software Testing 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:

• Know the basic objectives of testing;
• Understand how these testing 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 testing principles
The ISEB Software Testing courses introduce students to 7 software testing principles:
• Testing can show that problems exist, but not that problems do not exist.
• Testing covers a limited range of sample situations, and is not comprehensive.
• The earlier a problem is found, the less it costs to fix.
• Defects will tend to cluster around specific areas (e.g. system complexity, or staff inexperience). These areas can be particularly targeted by testers.
• A set of tests, run repeatedly, will have diminishing effect.
• The type, design and focus of testing will vary according to the software tested.
• 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 recognise 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 analysing 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
• Ensure that all documentation has been correctly completed
• Close down and archive the test environment, infrastructure and testware
• Hand over testware to maintenance team
• 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 Software Testing 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:

• The authors of the code
• Members of the same development team as the authors of the code
• A different group within the same organization
• 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:

• Focus on delivering quality, rather than pointing out mistakes;
• Test reports are not directed towards people but towards products;
• Discuss problems openly, and attempt mutual understanding;
• At the end of a discussion, confirm that both parties understand what has been agreed.

Summary
Understanding the fundamentals of software testing is crucial to passing the ISEB Software Testing Foundation examination. During an accredited ISEB Software Testing 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.

See All articles From Author

Simon Buehring is a project manager, consultant and trainer. He works for KnowledgeTrain which offers ISEB software testing in the UK and overseas. He can be contacted via the ISEB business analysis website.

Article Source : http://www.articlecontentking.com

Tags: iseb software testing

Word Count Appx. : 912 | Article Views 1449 Published 22-06-2009


Related articles
Hire iPhone Game Developer from Weblineindia to complete gaming solutions
By: Dave Sprint | 20-08-2011

Mobile gaming has always been popular with the users and especially iPhone allows best development platform to highly robust and attractive mobile games. With every update and the enhanced version of the iPhone is becoming a good platform to play games (read entire article)

Logistics Solutions to Save Time & Money
By: Robin Happe | 10-02-2009
Logistics operations have a vast amount of documents that are processed every day such as Proof of Delivery documents, human resources documents, incident reports, good received papers, invoices, customer records, MOT tests, and vehicle tax certificate (read entire article)
Which Camera Are You Using For Claymation ?
By: Mark Peterson | 06-08-2009
Claymation is one of the oldest method of making stop motion animation, in this article you can see that its not require any highly professional equipment you just need digital camera or webcam that it. So lets try it by own or your child (read entire article)
Keyboard Commands for Moving and Scrolling in an Excel Worksheet
By: Clive Haman | 07-03-2010

Keyboard commands for moving and scrolling in an Excel worksheet

(read entire article)
How Can I do Usability Tests Online
By: Alex Luna | 27-06-2009
One of the great advantages of using JustInMind Prototyper is doing collaborative work online. (read entire article)
Features of Knowledgebase Software
By: Michael Moody | 09-08-2011

Knowledge bases are one of the main requirements for any business.

(read entire article)
Too Much Paperwork making you work late nights?
By: Robin Happe | 10-02-2009
Are you staying late at work practically every night going through the mounds of paperwork that is created by your company on a daily basis. Are you taking paperwork home with you to finish up after dinner? (read entire article)
Create Your Own MYOB Manual For Your Workplace
By: Annette Liotta | 22-06-2009
Are you thinking of creating your own MYOB manual for your office? There are heaps of things that you should know before jumping in the deep end. (read entire article)
Project Management Tools Help to Maintain Resource Management System
By: Lisa Pavel | 11-07-2011

Project management tools are needed to handle any type of change in organization and help maint

(read entire article)