Types of Software Testing


Acceptance Testing

Tests designed to test the product according to customer requirements. Usually used after it is ready for release. User Acceptance Testing is often the final step before deploying applications and running in a real environment, the real-world scenarios, is directly related to end-users. This type of testing gives the end user confidence that the used product meets their requirements. User Acceptance Testing also helps find errors associated with the convenience of application.

Black Box Testing

Testing software without any knowledge about the inner workings, structure or programming language, study a module / application. Testing by the black box, like most other kinds of testing should be determined according to the definition of documentary sources, whether the specification or application requirements.

Compatibility Testing

Interoperability testing to determine whether other system software components such as browsers, utilities, and competing software, in conflict with the application under test. Thus, Sompatibility testing ensures compatibility of the application or Web site with different browsers, OSs, platforms and so on. Interoperability testing can be performed manually, using automated or regression tests.

Configuration Testing

Designed to determine how well the product works with a wide range of hardware configurations, as well as narazlichnyh operating systems and with different software.

Conformance Testing

Demonstration of compliance with the implementation of industry standards. The main challenge for Conformance testing is to verify the behavior of the product to ensure mobility, interoperability and / or compatibility with generally accepted standards.

Functional Testing

- A software testing to verify the feasibility of functional requirements, ie the ability of software to certain conditions, to solve the problem, users need. Functional requirements define what makes software, what problems it solves. In other words, functional testing is responsible for verifying application or Web site in accordance with specifications and correctly perform all necessary functions. As a result, it entails a series of tests that perform one action after another, in order to verify the behavior, using a wide range of normal and erroneous data. This may include testing the user interface, API, database management, security, product installation, etc. Functional testing can be performed using automated and / or manual testing, using the methods of black or white box.

Installation Testing

Responsible for determining the possibility of installing (deploying) application on different platforms, and how easy it is installed.

Integration Testing

Testing two or more modules or functions together in order to find defects in the interface between the modules and functions. Integration testing can be part of a unit or functional test, but sometimes it is a separate step in testing the software. Integration testing follows unit testing and precedes the system testing.

Load Testing

The purpose of load testing is to determine how well the product will compete for system resources. In terms of resources can act as network traffic, CPU or memory platform. Additionally, load testing determines the performance characteristics (response time, number of transactions, etc.). If the load on the system was set up above the normal usage patterns, to test the system response to unusually high or peak loads, this type of testing is called stress testing (stress testing). Although a clear boundary between a load and stress testing does not exist, load stress testing is so great that the occurrence of errors are not uncommon and often they are not considered critical.

Performance Testing

Testing to determine how quickly the product performs a variety of events. Performance testing can be applied to both the application and the Web, or to compare performance among third-party manufacturers, such as servers and middleware for the identification and purchase of optimal choices. This type of testing is especially useful for identifying bottlenecks in the operation system performance and inconsistency with the stated requirements. If performance testing is usually used an automated test suite, since it makes it easy to simulate normal and peak load conditions or exceptional.

Regression Testing

Testing to determine whether there was a bug / error is successfully corrected (a), and was not created new problems. In addition, this type of testing is conducted to ensure that the regressions did not happen with the basic functionality. Similar in scope to the functional tests, regression tests can consistently check the new version produkta.Takoe testing must verify that the product defect had been corrected in the new version and that new problems have not appeared in time to fix the defects. That reduce the time and resources to conduct the necessary tests, use test automation, while regression testing can be performed manually.

Smoke Testing

Quick and dirty kind of testing, the main purpose is to verify that the main function of software work, not with an emphasis on detail. Smoke tests are usually carried out by the programmer, the application version does not pass this kind of testing does not make sense to give a more in-depth testing.

Stress Testing

Testing conducted to evaluate system or component at or beyond its specified requirements. Stress testing is a form of testing, which ispolzuetsya to determine the stability of the system or component, and includes testing of limiting opportunities, often with a critical point.

System Testing

System testing – a testing of the software that runs on a complete, integrated system, to verify conformity with the original system requirements. System testing refers to methods of testing a black box, and thus does not require knowledge about the internal structure of the system.

Unit Testing

Unit testing or unit testing – the process of programming, allowing you to test the correctness otdelnyemoduli source code. The purpose of unit testing – to isolate certain parts of the program and show that, individually, these pieces are functional. Thus, unit testing helps to quickly check to see if another has a code change to the regression, as well as to guarantee the correct behavior of components to system integration.

White Box Testing

When testing white-box test developer has access to the source code and can write code that is associated sbibliotekami test PO.Eto typical unit test, which tested only parts of the system. Onoobespechivaet that the components of the system – functional and stable. When testing a white box using the metric of code coverage.

See Also

    Advertising

    Archives