Glossary of Software Testing Terms Provided by Testing Realms

Glossary of Software Testing Terms: U

This glossary of software testing terms and conditions is a compilation of knowledge, gathered over time, from many different sources. It is provided “as-is” in good faith, without any warranty as to the accuracy or currency of any definition or other information contained herein. If you have any questions or queries about the contents of this glossary, please contact Project Realms directly.

UAT Summary/Signoff Unreachable Code Use Case
Understandability Unstructured Decisions Use Case Testing
Unit Usability User
Unit Integration Testing Usability Requirements User Acceptance Testing (UAT)
Unit Testing Usability Testing User Interface (UI) Testing

UAT Summary/Signoff
The UAT summary is a suite of test cases (or scenarios) developed by the customers to verify the required business functions and flow of the system. This document will also serve as a final signoff that the project was completed successfully.


The capability of the software product to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use.

Unit is synonymous with component and module. It is the smallest component of code used to implement a specification item. The Institute of Electrical and Electronics Engineers' (IEEE) standard for unit size is no more than 200 lines of source code, excluding data declarations and comments.

Unit Integration Testing
Unit Integration Testing addresses individual modules of code functioning together. It verifies that a collection of code units are implemented according to specification. .

System Integration Testing evaluates the integration of various related systems. Unit Integration Testing is similar, but it only addresses the units that make up one system. This activity is typically performed by Developers. However, the Developers may request help from the system testers as they may have more knowledge of how the integrated system should behave. Typically this effort validates the following:
  • Whether code modules can communicate with each other
  • Whether data flows from module to module accurately
  • Once all the units are assembled in the complete system configuration, whether it all functions properly (Smoke Tests are best for validating this goal)

Unit Testing
Unit testing is a procedure used to validate that individual units of source code are working properly and implemented according to specification. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method; which may belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others; mock objects and test harnesses can be used to assist testing a module in isolation. Unit testing is typically planned, managed, executed, and documented by developers and not by end-users.

Unreachable Code
Code that cannot be reached and therefore is impossible to execute.

Unstructured Decisions
This type of decision situation is complex and no standard solutions exist for resolving the situation. Some or all of the structural elements of the decision situation are undefined, ill-defined or unknown.

Usability is the capability of the software to be understood, learned, used and attractive to the user when used under specified conditions.

Usability Requirements
A specification of the required usability for the system/software.

Usability Testing
Testing to determine whether the system/software meets the specified usability requirements.

Use Case
A Use Case is a technique for capturing the potential functional requirements of a new system or software change. Each Use Case provides one or more scenarios that convey how the system should interact with the end-user or another system to achieve a specific business goal. Use Cases employ textual descriptions and diagrams to represent system behavior from a business perspective. A Use Case diagram includes three basic elements - actors, Use Cases, and interfaces - to express the behavior of a system.

Use cases tend to focus on operating software as an end-user would conduct their day-to-day activities.

Use Case Testing
A black box test design technique in which test cases are designed to execute user scenarios.

See End User.

User Acceptance Testing (UAT)
User Acceptance Testing (UAT) should focus on the customer and the customer's expectations of the application. Users execute real world scenarios to ensure the application behaves as expected and as per their requirements. The results of these tests will give confidence to both the customers and the project team of how the system will perform in production.

If performed in conjunction with System Testing, UAT will focus on business process validation. This assumes that the customer or customer representative was included in the review of Test Cases. By inclusion in this review, the customer has agreed at some point that requirements are adequately covered by the System Testing effort. Therefore they can limit their UAT effort to determining that the system under test meets their business needs.

If System Testing was not performed, then the definition of UAT expands to include System Testing. This is only true because the UAT effort will verify each and every requirement has been met.

User Interface (UI) Testing
User Interface (UI) Testing verifies a user's interaction with the software. The goal of UI Testing is to ensure that the UI provides the user with the appropriate access and navigation through the functions. In addition, UI Testing ensures that the objects within the UI function as expected and conform to corporate or industry standards. Both positive and negative tests are performed as part of UI Testing. This type of testing is also known as Graphical User Interface (GUI) testing.

UI Testing focuses on the following areas:
  • Screen Navigation - This is a verification of expectations with user navigation in a screen. Multiple screen navigation is part of Functional Testing. Screen Navigation testing will focus on such areas as:
    • Tab Order - the order the screen cursor moves from field to field when the users press the <TAB> key
      • Enabled vs. Disabled fields - part of Tab Order testing verifies how the cursor behaves when a field or button is disabled or not visible. It is not desirable to tab to a disabled or invisible field
      • Buttons - Verification should include tabbing to pertinent buttons
    • Keyboard Shortcuts - Verification of available keyboard shortcuts such as using the <ALT> or <CTRL> keys with other keyboard keys to execute application functionality
    • Mouse Right Click Behaviors - Verifying available commands when selecting the right click button of the mouse is important. Programmers can enable and disable features in the mouse right click. They can also assign context driven commands to the mouse right click menu. Many users favor this feature
  • Screen Layout - There are a number of factors related to screen layout that can be verified. They all relate to the user experience and perception of the application
    • Field Location & Alignment - Be sure to look for uniformity of field layout. This includes ensuring fields and labels align vertically and horizontally. Asking for developer standards helps to determine the expectation to measure against
    • Button/Menu/Toolbar Layout - Look for consistency from screen to screen for these screen elements
    • Screen/Window Resizing Behavior - Testing in this UI area will address what happens at different screen resolutions. It will also focus on behaviors when windows are resized. It will determine if critical information, fields or buttons are unavailable when the window is resized. It will also consider whether appropriate horizontal and vertical scrolling bars are available when appropriate
    • Consistence in structure and alignment for all similar screens - This testing effort evaluates the consistency from screen to screen. If navigation menus change location or structure as screens change, the user experiences tends to be diminished. This testing looks to ensure structurally, like objects are located in the same screen location, and the locations are consistent from screen to screen
  • Text/Label Characteristics - Examining text for content is important. However there are a number of other qualities that should also be tested such as Font Type, Size, Color, Alignment and Spelling
  • Field Validations - Functional Testing addresses the verification of rules related to fields on a screen. Some additional field tests that should be considered are:
    • Field Type - Verifying that a field can only support the designated type of input is important. Some typical types are; Alpha Numeric, Numeric Only, Text Only, Dates, Social Security Numbers and Currency
    • Boundary Values - Testing the boundaries of a field are also important. Verifying the correct error message is displayed if a boundary is violated is one type of Boundary Test. Verifying the size of a field is another Boundary Test. Determining behavior with negative numbers and decimal places is also another example of Boundary Testing
    • Defaults - Ensuring the default value under various conditions is a good Field Test. Some example conditions are verifying default values upon screen load or on screen reset
    • Enabled/Disabled/Visible - Some fields are enabled, disabled or even rendered invisible based on system rules. Be sure to verify these conditions are behaving as expected
    • Error Behavior - Be sure to test fields with the wrong data types. Verifying the correct error message or intuitive user experience related to errant data entry is an important component of the User Interface
  • Web Specific - Along with many of the testing techniques described in this section, there are some specific to web applications. Here are a few samples:
    • Browser Compatibility - Web applications available on the public internet can be viewed with a variety of browsers. Even with industry standards, each browser may render a web page differently. It is important to verify web applications under a variety of popular web browsers such as Internet Explorer, Netscape Navigator, AOL, Fire fox and Opera. Even within a particular brands of browser there may be a need to test various versions to ensure compatibility
    • Bandwidth Compatibility - Strange things can occur over a dial-up connection that are not visible on broadband or a corporate LAN. Be sure to examine web applications on a dial-up connection if the user community uses dial-up. Look for slow pages and graphics or java script not loading correctly
    • Back & Forward Button Behaviors - Browsers have Back and Forward buttons built in. These buttons can sometime wreak havoc on data integrity. Be sure to verify the behavior of these buttons as they relate to the web application
    • URLs - For security reasons, some companies decide to obscure URLs in the Browser. Be sure to test for this behavior if it is specified as a requirement
    • Bookmarking - Users will use Bookmarks to save web pages in their list of favorites. Be sure to understand how this is stored and displayed in the browser. You may be storing gibberish or cryptic bookmarks. Some web system will not allow bookmarking as they have implemented secure sessions
  • Usability - Usability is in the eye of the beholder. Just because one user finds an application difficult to use doesn't mean that all users will think the same. Testing a User Interface for usability should be performed. However, to do it right requires an understanding of the discipline of Usability Testing. It is recommended that anyone interested in this discipline research it and consider attending classes on the subject
    • Usability Testing - Usability testing is the process of observing the actions of a user under controlled conditions. Its focus is more on the presentation and the users' interactions with the application rather then on the actual functionality of the application.
| Contact us for more info