Functional testing
This article needs additional citations for verification. (December 2010) |
| Part of a series on |
| Software development |
|---|
In software development, functional testing is a form of software testing that verifies whether a system meets its functional requirements.[1][2]
Generally, functional testing is black-box, meaning the internal program structure is ignored (unlike for white-box testing).[3]
Sometimes, functional testing is a quality assurance (QA) process.[4]
As a form of system testing, functional testing tests slices of functionality of the whole system. Despite similar naming, functional testing is not testing the code of a single function.
The concept of incorporating testing earlier in the delivery cycle is not restricted to functional testing.[5]
Types
[edit | edit source]Functional testing includes but is not limited to:[3]
Sanity testing
[edit | edit source]Smoke testing
[edit | edit source]Regression testing
[edit | edit source]Usability testing
[edit | edit source]Six steps
[edit | edit source]Functional testing typically involves six steps[citation needed]
- The identification of functions that the software is expected to perform
- The creation of input data based on the function's specifications
- The determination of output based on the function's specifications
- The execution of the test case
- The comparison of actual and expected outputs
- To check whether the application works as per the customer need
See also
[edit | edit source]- Non-functional testing – Testing the qualities as opposed to the correctness of software
- Acceptance testing – Test to determine if the requirements of a specification or contract are met
- Regression testing – Checking whether changes to software have broken functionality that used to work
- System testing – Testing conducted on a complete software system
- Software testing – Checking software against a standard
- Integration testing – Type of software testing
- Unit testing – Validating the behavior of isolated source code
- Database testing – Testing of database software systems
- Security testing – The process of finding flaws in the security of information systems
- Load testing – Process of putting demand on a system and measuring its response
- Test automation – Use of purpose-built software to control test execution
References
[edit | edit source]- ^ ISO/IEC/IEEE 24765:2017, "Systems and software engineering — Vocabulary", International Organization for Standardization, Geneva, Switzerland, 2017.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)., p. vi
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c ISTQB® Glossary for the International Software Testing Qualification Board® software testing qualification scheme, ISTQB Glossary International Software Testing Qualification Board.
- ^ a b Dustin, Rashka, Paul. "Automated Software Testing -Introduction, Management, and Performance". Addison-Wesley 1999, p. 43-44. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ 2013-03-20 ISTQB Terminologi for test av programvare, versjon 2.2 Glossary Working Party, International Software Testing Qualifications Board, Erik van Veenendaal (engelsk), Ernst von Düring (norsk) "intake test: A special instance of a smoke test to decide if the component or system is ready for detailed and further testing. An intake test is typically carried out at the start of the test execution phase. See also smoke test."
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ PowerShell Magazine, DevOps, Infrastructure as Code, and PowerShell DSC: The Introduction, by Ravikanth C, January 5, 2016
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Nielsen, J. (1994). Usability Engineering, Academic Press Inc, p 165
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).