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
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.
Top
Understandability
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.
Top
Unit
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.
Top
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)
Top
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.
Top
Unreachable Code
Code that cannot be
reached and therefore is impossible to execute.
Top
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.
Top
Usability
Usability is the capability of the software to be understood,
learned, used and attractive to the user when used under specified
conditions.
Top
Usability Requirements
A specification of the required usability for the system/software.
Top
Usability Testing
Testing to determine whether the system/software meets the specified
usability requirements.
Top
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.
Top
Use Case Testing
A black box test design technique in which test cases are designed
to execute user scenarios.
Top
User
See End User.
Top
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.
Top
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.
Top
| Contact us for more info
|
|