API testing: Difference between revisions

Content deleted Content added
m Clean up spacing around commas and other punctuation fixes, replaced: , → ,
FrescoBot (talk | contribs)
 
(9 intermediate revisions by 8 users not shown)
Line 1:
{{Short description|Automated software testing of programmable application interfaces (APIs)}}
{{Software development process}}'''API testing''' is a type of [[software testing]] that involves testing [[application programming interface]]s (APIs) directly and as part of [[integration testing]] to determine if they meet expectations for functionality, reliability, performance, and [[Computer security|security]].<ref name="reichart1">[http://searchsoftwarequality.techtarget.com/tip/Testing-APIs-protects-applications-and-reputations Testing APIs protects applications and reputations], by Amy Reichert, SearchSoftwareQuality March 2015</ref> Since APIs lack a [[Graphical user interface|GUI]], API testing is performed at the [[Communications protocol#Layering|message layer]].<ref name="stickyminds">[http://www.stickyminds.com/interview/all-about-api-testing-interview-jonathan-cooper All About API Testing: An Interview with Jonathan Cooper], by Cameron Philipp-Edmonds, Stickyminds August 19, 2014</ref> API testing is now considered critical for automating testing because APIs serve as the primary interface to [[application logic]] and because [[Graphical user interface testing|GUI tests]] are difficult to maintain with the short release cycles and frequent changes commonly used with [[Agile software development]] and [[DevOps]].<ref name="forrblog">[http://blogs.forrester.com/diego_lo_giudice/15-04-23-the_forrester_wave_evaluation_of_functional_test_automation_fta_is_out_and_its_all_about_going_be?cm_mmc=RSS-_-BT-_-63-_-blog_1769 The Forrester Wave Evaluation Of Functional Test Automation (FTA) Is Out And It's All About Going Beyond GUI Testing] {{Webarchive|url=https://web.archive.org/web/20150528225452/http://blogs.forrester.com/diego_lo_giudice/15-04-23-the_forrester_wave_evaluation_of_functional_test_automation_fta_is_out_and_its_all_about_going_be?cm_mmc=RSS-_-BT-_-63-_-blog_1769 |date=2015-05-28 }}, by Diego Lo Giudice, [[Forrester Research|Forrester]] April 23, 2015</ref><ref name="layers">[httphttps://www.gartner.com/documenten/documents/2645817?ref=QuickSearch Produce Better Software by Using a Layered Testing Strategy]{{dead link|date=December 2021|bot=medic}}{{cbignore|bot=medic}}, by SEAN Kenefick, [[Gartner]] January 7, 2014</ref>
 
==API testing overview==
Line 11:
 
==API testing, GUI testing, and test automation==
API Testing is recognised as being more suitable for [[Automated_testing|test automation]] and [[continuous testing]] (especially the automation used with [[Agile software development]] and [[DevOps]]) than GUI testing.<ref name="forrblog"/><ref name="layers"/> Reasons cited include:
 
* '''System complexity:''' GUI tests can't sufficiently verify functional paths and back-end APIs/services associated with multitier architectures. APIs are considered the most stable interface to the system under test.
Line 21:
 
There are several types of tests that can be performed on APIs. Some of these include smoke testing, functional testing, security testing, penetration testing, and validation testing.
* [[Artificial intelligence]] (AI) used in API testing improves the efficiency and accuracy of the testing process. It can automatically generate test cases, identify potential issues, and analyze test results through machine learning to identify patterns and anomalies.<ref>{{cite book |last1=J. Gao, C. Tao, D. Jie ĺ, S. Lu |title=What is AI Software Testing? and Why |date=2019 |pages=27–2709 |publisher=IEEE |doi=10.1109/SOSE.2019.00015 |url=https://ieeexplore.ieee.org/document/8705808/authors#authors}}</ref>
*
*[[Smoke testing (software)|Smoke test]] - This is a preliminary test that checks if the most crucial functions of an API are working correctly and identifies any major issues before further testing.
Line 61:
|[[Katalon Studio]]
|Katalon
|-
|vStellar
|vStellar
|-
|-
|Step CI