PriorIT website and software testing specialists

PriorIT software testing glossary

PriorIT prides itself on being a specialist in all types of software testing, from website testing to testing general software applications. Here are some of the most important terms used in the website and software testing world.


Functional Verification

Functional verification is the core of software testing. It is validating if the basic functionality of the software is correct. This is testing whether the software does what it is supposed to do. This type of testing can usually be done in a single environment. Contrast this with system testing. In functional verification the hardware configuration, operating system and so forth would often stay the same. For example, we could perform all our functional verification for a new spreadsheet program under the Windows NT 4.0 operating system, always using the same computer.

This functional verification forms a much larger part of website testing than testing traditional software programs, because the hardware and the operating system have very little effect on a website.

This functional verification type of testing forms the heart of most of the testing which PriorIT provides. This is because the largest majority of website errors (e.g. broken links) will be found in this group.

System Testing

System testing is the partner of functional verification. In system testing we are trying to test software in all the different environments where a program may operate. For example, if we were performing a system test on a spreadsheet program, we would run tests under each of the target operating systems (e.g. Windows 95/98/2000/NT, Unix, Linux, etc.), testing with a range of different display sizes and types (e.g. Palm, notebook active and passive matrix, desktop 14"/15"/17", GSM WAP) and so forth. With system testing we would have a matrix of different systems with which we wish to test. The system configurations which we need to test depend on the type of program we are testing.

One of the system tests for web sites is checking the website with the different browsers. For example:

  • Microsoft Internet Explorer 5.5 / 5.01 / 5.0 / 4.01 / 3.0
  • Netscape Navigator 4.71 / 4.61 / 4.5 / 4.05 / 3.01
  • Lycos_Spider_(T-Rex)
  • Googlebot
  • Scooter
  • Mercator
  • WebFountain

Black box testing

Black box testing is testing that is focused on what the software is supposed to do. Thus, in black box testing we are checking to see if the functionality is correct, without concerning ourselves with how the software achieves this. Contrast this with white box testing. Black box testing is called this because the tester cannot look inside the module or component being tested.

These type of tests can be manual or supported by tools that execute the software for us. Automation of GUI testing has progressed significantly in recent years.

At PriorIT the large majority of our testing will be black box testing

White box testing

White (or rather clear) box testing is when the tester uses his knowledge of how the software module or component is implemented. Contrast this with black box testing. Automation of white box testing is more difficult than automation of black box testing. This type of testing is most commonly done from the developer perspective during unit testing where one of the test resources is the source code. We need to know how the software has been written so that we can test its possible failure points.

One of the types of white box testing which we do at PriorIT (where possible) is to look inside the HTML of web pages. Here we can often find errors, for example, in the title of a page, usually caused by the developer doing a cut-and-paste and forgetting to change it; the incorrect title will be displayed when printing, or worse still can cause a "Save as..." to overwrite a previously saved page.

Regression testing

It is an unfortunate fact of life in software development that when you change one part of the code, other parts, for one reason or another, stop working properly. In regression testing we are simply redoing old tests to ensure that nothing that was working has now for some reason stopped working.

In his book on Software Project Management, Bennaton defines this as:
"Part of the test phase of software development where, as new modules are integrated into the system and the added functionality is tested, previously tested functionality is re-tested to assure that no new module has corrupted the system"



© Copyright PriorIT. All rights reserved.


Website created by PriorWebsites.

Click here to go to www.PriorWebsites.com  .