Glossary of Terms beginning Alphabet-S
Safety is the capability of the software product to achieve acceptable levels of risk of harm to people, business, software, property or the environment in a specified context of use.
Safety Testing is the process of testing to determine the safety of a software product.
Safety Test Analysis:
Safety Test Analysis is an analysis demonstrating that safety requirements have been correctly implemented and that the software functions safely within its specified environment. Tests may include; unit level tests, interface tests, software configuration item testing, system level testing, stress testing, and regression testing.
Sanity Testing is a brief test & typically involves an initial testing effort to find out if the new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing the systems every 5 minutes, bogging down the systems to a crawl, or destroying the databases, then it can be concluded that the software may not be in a ‘sane’ enough condition to warrant further testing in its current state.
Scatter Plot Diagram:
Scatter Plot Diagram is a graph designed to indicate as to whether any relationship between two changing variables exist or not.
Scalability refers to the capability of the software product to be upgraded to accommodate increased loads.
Scalability testing is the testing performed to determine the scalability of the software product. It is a performance testing involving tests designed to prove that both the functionality and the performance of a system shall be capable to scale up to meet specified requirements of future. It is a part of series of non-functional tests. It is the testing of a software application for measuring its capability to scale up or scale out in terms of any of its non-functional capability – be it the user load supported, the number of transactions, the data volume etc. Scalability testing can be performed as a series of load tests with different hardware or software configurations keeping other settings of testing environment unchanged.
Scribe refers to a person who has to record each defect mentioned and any suggestions for improvement during a review meeting, on a logging form. The scribe has to make ensure that the logging form is readable and understandable.
Scripting Language is a programming language in which executable test scripts are written, used by a test execution tool (e.g. a capture/replay tool).
Security refers to the attributes of software products that bear on its ability to prevent unauthorized access, whether accidental or deliberate, to programs and data.
Security Testing is used to determine how well the system protects against unauthorized internal or external access, willful damage, etc; & may require sophisticated testing techniques. The six basic security concepts that need to be covered by security testing are: confidentiality, integrity, authentication, authorization, availability and non-repudiation.
Severity refers to the degree of impact that a defect has on the development or operation of a component or system.
Simulation is the representation of selected behavioral characteristics of one physical or abstract system by another system.
Simulator is a device, computer program or system used during testing, which behaves or operates like a given system when provided with a set of controlled inputs.
Six Sigma stands for Six Standard Deviations from the mean. Initially it had been defined as a metric for measuring defects and improving quality. It is a methodology aimed to reduce defect levels below 3.4 Defects Per one Million Opportunities. Six Sigma approach improves the process performance, decreases variation and maintains consistent quality of the process output. This leads to defect reduction and improvement in profits, product quality and customer satisfaction.
Smoke Testing is a quick-and-dirty non-exhaustive software testing, ascertaining that the most crucial functions of the program work well, without getting bothered about finer details of it. Smoke Testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire. The general term of smoke testing has come from leakage testing of sewers & drain lines involving blowing smoke into various parts of the sewer and drain lines to detect sources of unwanted leaks and sources of sewer odors.
Soak Testing involves running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed.
Software Metric is a measure to quantify some property of a piece of software or its specifications may be status or results etc.. Since quantitative methods have proved so powerful in the other sciences, computer science practitioners and theoreticians have brought similar approaches to software development. Common software metrics are : Source lines of code, Cyclomatic complexity, Function point analysis, Bugs per line of code, Code coverage, Number of lines of customer requirements, Number of classes and interfaces, Cohesion, Coupling
Software Development Life Cycle or SDLC:
“Software Development Life Cycle” or “System Development Life Cycle” or SDLC is a software development process, used by a systems analyst to develop an information system. It starts with activities like: 1) Project Initiation 2) Requirement Gathering and Documenting 3) Designing 4) Coding and Unit Testing 5) Integration Testing 6) System Testing 7) Installation and Acceptance Testing 8) Support or Maintenance
Software Quality refers to the totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.
Software Requirements Specification:
Software Requirements Specification is a deliverable which describes all data, functional and behavioral requirements, all constraints, and all validation requirements for the software.
Software Testing is a set of activities conducted with the intent of finding errors in software.
Software Testing Life Cycle or STLC:
“Software Testing Life Cycle” or STLC identifies what test activities to carry out and when (what is the best time) to accomplish those test activities. Main components of STLC are like: 1) Preparation of Requirements Document 2) Preparation of Test Plan 3) Preparation of Test Cases 4) Execution of Test Cases 5) Analysis of Bugs 6) Reporting of Bugs 7) Tracking of Bugs till closure
Software Usability Measurement Inventory or SUMI:
Software Usability Measurement Inventory or SUMI is a questionnaire based usability test technique to evaluate the usability, e.g. user-satisfaction, of a component or system.
Special Case Testing:
Special Case Testing is a testing technique using input values that seem likely to cause program errors; e.g., “0”, “1”, NULL, empty string.
Specification are feasible or implementable requirements derived from various statements given by the customer. Customer describes his requirements stating as to what needs to be achieved by the software system. These requirements are then converted into specifications, which become the starting point for the product development team. Specification refers to a document, which specifies, ideally in a complete, precise and verifiable manner, the requirements, design, behavior, or other characteristics of a component or system, and, often, the procedures for determining whether these provisions have been satisfied.
Spiral Model is a model of the software development process in which the constituent activities, typically requirements analysis, preliminary and detailed design, coding, integration, and testing, are performed iteratively until the software is complete.
Standard refers to the measure used to evaluate products and identify nonconformance. The basis upon which adherence to policies is measured.
Stability is the capability of the software product to avoid unexpected effects from modifications in the software.
State Diagram is a diagram that depicts the states that a component or system can assume, and shows the events or circumstances that cause and/or result from a change from one state to another.
State Table refers to a grid showing the resulting transitions for each state combined with each possible event, showing both valid and invalid transitions.
State Transition refers to a transition between two states of a component or system.
State Transition Testing:
State Transition Testing is a black box test design technique in which test cases are designed to execute valid and invalid state transitions.
Statement refers to an entity in a programming language, which is typically the smallest indivisible unit of execution.
Statement of Requirements:
Statement of Requirements is the exhaustive list of requirements that define a product.
Statement Coverage is a type of “White-Box Testing” technique, involving execution of all statements at least once. Statement coverage is a simple metric to calculate & measure the number of statements in a method or class, which have been executed. Its key benefit is its ability to identify which blocks of code have not been executed. The chief advantage of this metric is that it can be applied directly to object code and does not require processing source code. Performance profilers generally use this metric. The main disadvantage of statement coverage is that it is not sensitive to some of the control structures.
Statement Testing is a white box test method which executes each statement in a program at least once during the process of program testing.
Static Analysis or Static Testing:
Static Analysis or Static Testing refers to the analysis / testing of a program performed without actually running the software. It includes Document review, code inspections, walkthroughs and desk checks etc.
Static Analyzer is a tool which carries out the static analysis.
Static Code Analysis:
Static Code Analysis refers to an analysis of program source code carried out without execution of that software.
Static Code Analyzer:
Static Code Analyzer is a tool that carries out static code analysis. The tool checks source code, for certain properties such as conformance to coding standards, quality metrics or data flow anomalies.
Statistical Testing is a test design technique in which a model of the statistical distribution of the input is used to construct representative test cases. See also operational profile testing.
Status Accounting is an element of configuration management, consisting of the recording and reporting of information needed to manage a configuration effectively. This information includes a listing of the approved configuration identification, the status of proposed changes to the configuration, and the implementation status of the approved changes.
Storage Testing verifies the program under test stores data files in the correct directories and that it reserves sufficient space to prevent unexpected termination resulting from lack of space. This is external storage as opposed to internal storage.
Stress Testing is a test, which subjects a system, or components of a system, to varying environmental conditions that defy normal expectations. It involves subjecting the system to an unreasonable load while denying it the adequate resources needed to process that load. The load can be high transaction volume, large database size or restart / recovery circumstances etc. etc.. The resources can be RAM, disc space, mips & interrupts etc. etc. The idea is to stress a system to the breaking point in order to find bugs, which will make the break potentially harmful. The system is not expected to process the overload without adequate resources, but to fail in a decent manner (e.g., failure without corrupting or losing data). In stress testing the load (incoming transaction stream) is often deliberately distorted so as to force the system into resource depletion.
Structural Testing is a method of testing in which the test data is derived solely from the program structure. Structural testing compares test program behavior against the apparent intention of the source code. Structural testing examines how the program works, taking into account possible pitfalls in the structure and logic. Structural testing is also called path testing since you choose test cases that cause paths to be taken through the structure of the program. Structural testing cannot find errors of omission.
Stub is a special code segment which when invoked by a code segment under testing, simulate the behavior of the designed and specified modules which have not been constructed yet. Stub is a skeletal or special-purpose implementation of a software component, used to develop or test a component that calls or is otherwise dependent on it. It replaces a called component.
Subpath is a sequence of executable statements within a component.
Suspension Criteria refers to the criteria used to (temporarily) stop all or a portion of the testing activities on the test items.
Suitability is the capability of the software product to provide an appropriate set of functions for specified tasks and user objectives.
Syntax Testing is a black box test design technique in which test cases are designed based upon the definition of the input domain and/or output domain.
System is a collection of components organized to accomplish a specific function or set of functions.
System Integration Testing:
System Integration Testing means testing the integration of systems and packages; testing interfaces to external organizations (e.g. Electronic Data Interchange, Internet).
System Testing is a type of testing which attempts to discover defects which are the properties of the entire system rather than of its individual components. It is conducted on a complete, integrated system to verify that all-functional, information, structural and quality requirements have been met. It falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. System testing is a more limiting type of testing; it seeks to detect defects both within the “inter-assemblages” and also within the system as a whole.