Global Information Lookup Global Information

Software testability information


Software testability is the degree to which a software artifact (i.e. a software system, software module, requirements- or design document) supports testing in a given test context. If the testability of the software artifact is high, then finding faults in the system (if it has any) by means of testing is easier.

Formally, some systems are testable, and some are not. This classification can be achieved by noticing that, to be testable, for a functionality of the system under test "S", which takes input "I", a computable functional predicate "V" must exists such that is true when S, given input I, produce a valid output, false otherwise. This function "V" is known as the verification function for the system with input I.

Many software systems are untestable, or not immediately testable. For example, Google's ReCAPTCHA, without having any metadata about the images is not a testable system. Recaptcha, however, can be immediately tested if for each image shown, there is a tag stored elsewhere. Given this meta information, one can test the system.

Therefore, testability is often thought of as an extrinsic property which results from interdependency of the software to be tested and the test goals, test methods used, and test resources (i.e., the test context). Even though testability can not be measured directly (such as software size) it should be considered an intrinsic property of a software artifact because it is highly correlated with other key software qualities such as encapsulation, coupling, cohesion, and redundancy.

The correlation of 'testability' to good design can be observed by seeing that code that has weak cohesion, tight coupling, redundancy and lack of encapsulation is difficult to test.[1]

A lower degree of testability results in increased test effort. In extreme cases a lack of testability may hinder testing parts of the software or software requirements at all.

  1. ^ Shalloway, Alan; Trott, Jim (2004). Design Patterns Explained, 2nd Ed. p. 133. ISBN 978-0321247148.

and 22 Related for: Software testability information

Request time (Page generated in 0.819 seconds.)

Software testability

Last Update:

diverse test methods and tools in parallel. The testability of software components can be improved by: Test-driven development Design for testability (similar...

Word Count : 874

Software testing

Last Update:

requirements such as testability, scalability, maintainability, performance, and security. A fundamental limitation of software testing is that testing under all...

Word Count : 9853

Software release life cycle

Last Update:

The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists...

Word Count : 2871

Test automation

Last Update:

In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison...

Word Count : 3598

Unit testing

Last Update:

Unit testing, a.k.a. component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior....

Word Count : 3838

Destructive testing

Last Update:

lethal dose Metallographic test Nondestructive testing Reproducibility Show and Display Stress tests Testability Bridges, Andrew. "Video imaging puts high-speed...

Word Count : 558

Software performance testing

Last Update:

In software quality assurance, performance testing is in general a testing practice performed to determine how a system performs in terms of responsiveness...

Word Count : 2979

Software test documentation

Last Update:

29119-3:2013. IEEE 829-2008, also known as the 829 Standard for Software and System Test Documentation, was an IEEE standard that specified the form of...

Word Count : 765

Software reliability testing

Last Update:

Software reliability testing is a field of software-testing that relates to testing a software's ability to function, given environmental conditions, for...

Word Count : 2112

Software

Last Update:

Software is a collection of programs and data that tell a computer how to perform specific tasks. Software often includes associated software documentation...

Word Count : 3975

Software load testing

Last Update:

The term load testing is used in different ways in the professional software testing community. Load testing generally refers to the practice of modeling...

Word Count : 1131

Software testing tactics

Last Update:

discusses a set of tactics useful in software testing. It is intended as a comprehensive list of tactical approaches to Software Quality Assurance (more widely...

Word Count : 4797

Software engineering

Last Update:

engineer workload. A software engineer applies a software development process, which involves the definition, implementation, testing, management and maintenance...

Word Count : 6107

Software verification and validation

Last Update:

software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software...

Word Count : 2581

Integration testing

Last Update:

testing, also called integration and testing, abbreviated I&T, is a form of software testing in which multiple parts of a software system are tested as...

Word Count : 491

Software testing certification board

Last Update:

A software testing certification board is an organization that provides professional certification for software testing and software quality assurance...

Word Count : 198

Test stub

Last Update:

test stub is a test double that provides static values to the software under test. A test stub provides canned answers to calls made during the test,...

Word Count : 80

API testing

Last Update:

API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to...

Word Count : 1259

Exploratory testing

Last Update:

Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner...

Word Count : 1445

Agile software development

Last Update:

Agile software development is the mindset for developing software that derives from values agreed upon by The Agile Alliance, a group of 17 software practitioners...

Word Count : 10136

Acceptance testing

Last Update:

or performance tests. In systems engineering, it may involve black-box testing performed on a system (for example: a piece of software, lots of manufactured...

Word Count : 2414

Test fixture

Last Update:

A test fixture is a device used to consistently test some item, device, or piece of software. Test fixtures are used in the testing of electronics, software...

Word Count : 1127

PDF Search Engine © AllGlobal.net