Software testing

From WikiMD.org
Jump to navigation Jump to search

Software Testing

Software testing (/ˈsɒftˌwɛər ˈtɛstɪŋ/) is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. The etymology of the term "software testing" is derived from the words "software", which refers to the programs and other operating procedures used by a computer, and "testing", which means to take measures to check the quality, performance, or reliability of (something), especially before putting it into widespread use or practice.

Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use.

Types of Software Testing

There are several types of software testing, each with its own purpose and use case. Some of these include:

  • Unit Testing: This is the first level of software testing where individual components of a software are tested. The purpose is to validate that each unit of the software performs as designed.
  • Integration Testing: Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before system testing.
  • System Testing: In this phase, a complete and integrated software is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements.
  • Acceptance Testing: This is the last phase of software testing performed after System Testing, and before making the system available for actual use. The aim is to evaluate the system's compliance with the business requirements and assess whether it is acceptable for delivery.

Related Terms

  • Software Bug: A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
  • Quality Assurance: Quality Assurance (QA) is a way of preventing mistakes and defects in manufactured products and avoiding problems when delivering solutions or services to customers.
  • Regression Testing: Regression testing is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change.
  • Test Case: A test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly.
Esculaap.svg

This WikiMD.org article is a stub. You can help make it a full article.