Glossary

 

Term

Meaning

Ad hoc testing

Informal software testing that is outside a formal test plan. It can be used for the purpose of learning the system. A common use is for functional subject matter experts to “beat” on the system with odd scenarios that may hit in the real world (such as user errors and exceptional conditions) with the intent to try to “break the system.”

Black box testing

Testing based on business requirements and functionality without regard to internal design or code.

Boundary testing

Testing to determine if the system handles values that are outside set boundaries, for example:

  - Maximum negative, maximum positive, and “0” inputs or outputs

  - Input or output strings at size limits or one character beyond size limits

  - Empty input files and files with only one character in them

Capacity testing

Testing to determine capacity of hardware, servers

Defect

A fault or error.  See software bug.

Dynamic testing

Testing involving execution of code

End-to-end testing

Testing a complete application environment from beginning to end with all programming, interfaces, network communications, hardware and applications operating to mimic a real world environment.

Function point

A measure for estimating software size

Functional testing

Black box type testing based on business requirements and functionality, without regard to internal design or code.

Integration testing

Testing integrated software where multiple units or modules are aggregated to create a larger component

Load testing

Testing the system by feeding it large tasks, such as: executing code that would cause generation of a large volume of forms; feeding an unusually large document to a word processor; sending empty tasks through (i.e. a report creation when no data can be found to populate it); executing a search that would require the system to read a high number of records.

Performance testing

Testing to eliminate bottlenecks and establish a baseline for future regression testing, such as testing for acceptable response times and ability to handle concurrent users

Recovery or Failover testing

Testing how well the system recovers from crashes, hardware failures or other catastrophic events.

Regression testing

Retesting the system after programming modifications to ensure that no new “bugs” have been introduced.

Requirements traceability

A proven engineering technique that links system requirements:

Backward to their sources (e.g., stakeholders, federal and State laws and regulations)

Forward to the resulting system development work products

 

Requirements traceability matrix (RTM)

A tool to implement requirements traceability during the SDLC.  Can be manual or automated.

Risk

The possibility of suffering harm or loss.  Risks have three elements: 

1.      Chance:  What are the chances of risk happening?

2.      Choice:  What choices do you have to avoid or reduce risk?

3.      Consequence:  What are the consequences of risk happening?

Sanity or Smoke testing

Initial testing to determine whether a new software version is performing well enough to accept for a major testing effort.

Scalability testing

Testing whether the application can be scaled easily for increases or reductions in workload.

Security testing

Testing how well the system protects against unauthorized internal or external access and attempts made to compromise data, software or hardware.

Software bug

An error or mistake in a computer program that prevents it from working correctly or causes it to produce the wrong result. It may be a defect in the source code or the design.

 

Static testing

Walkthroughs and Inspections.  Manual examination of project documentation such as requirements, use cases, design documents, program specifications, dataflow diagrams, architectural diagrams, etc. Most effective if completed by independent reviewer who was not involved in creation of deliverable.

Stress testing

Testing to check system performance in response to a failure – does it fail and recover gracefully? Test conditions could include: doubling the baseline number for concurrent users/HTTP connections; randomly shutting down and restarting ports on the network switches/routers that connect the servers; taking the database offline, then restarting it.

Structured testing

An approach to software testing with several characteristics:

1.      Integrated into overall SACWIS Project Plan

2.      Supported with strong organizational structures, defined processes, and appropriate resources, including budget, staff, and tools

3.      Implemented throughout the SACWIS System Development Lifecycle (SDLC)

4.      Is a proven strategy to manage risks to the quality of State SACWIS systems

 

System Development Lifecycle (SDLC)

A framework for system development with defined phases.  A typical SACWIS SDLC has seven phases:  Requirements, Analysis, Design, Code, Test, Implementation, and Maintenance.

System testing

 

Testing the whole system in its actual hardware environment with full integration

Test case

 

Describes the input, action, or event to be executed in a system and the expected system response. Is developed to test application features to verify that a system works as expected, based on the requirements. Is sometimes used interchangeably with “test script.”

Test scenario

A set of test cases that ensure that the business process flows are tested from end to end. They may be independent tests or a series of tests that follow each other, each dependent on the output of the previous one.

Test script

Describes (scripts out) the step-by-step process for executing a test case.

Describes the expected system response to each individual step. Contains a place to log and explain the Pass/Fail status of the executed test.

Is sometimes used interchangeably with “test case.”

Test strategy

 

The organization’s overall approach to testing.  Includes the organization’s defined test methods, techniques, and tools.

Unit testing

Testing the smallest testable piece of software

Usability testing

Testing to determine if the system is user friendly and easy to navigate. Should be completed by functional staff.

Use case

Captures who (actor) does what (interaction) with the system, for what purpose (goal), without dealing with internal system information

User Acceptance testing

 

Testing by the functional subject matter experts (the customer) to ensure that the system (software and hardware) meets all user requirements and is ready for acceptance and deployment

White box testing

Testing based on knowledge of the internal logic of the application code. Also called structural testing or glass box testing.