Test automation: Difference between revisions

Content deleted Content added
m Reverted edits by 223.181.13.240 (talk) (HG) (3.4.10)
 
(5 intermediate revisions by 4 users not shown)
Line 25:
 
===Continuous testing===
[[Continuous testing]] is the process of executing automated tests as part of the software delivery pipeline to assesassess the business risk of releasing the SUT.<ref name="essential">[https://www.techwell.com/techwell-insights/2015/08/part-pipeline-why-continuous-testing-essential Part of the Pipeline: Why Continuous Testing Is Essential], by Adam Auerbach, TechWell Insights August 2015</ref><ref name="stickym">[http://www.stickyminds.com/interview/relationship-between-risk-and-continuous-testing-interview-wayne-ariola The Relationship between Risk and Continuous Testing: An Interview with Wayne Ariola], by Cameron Philipp-Edmonds, Stickyminds December 2015</ref> The scope of testing extends from validating bottom-up requirements or user stories to assessing the system requirements associated with overarching business goals.<ref name="pnsqc">[http://uploads.pnsqc.org/2015/papers/t-007_Ariola_paper.pdf DevOps: Are You Pushing Bugs to Clients Faster], by Wayne Ariola and Cynthia Dunlop, PNSQC October 2015</ref>
 
===Model-based testing===
Line 32:
===Test-driven development===
[[Test-driven development]] (TDD) inherently includes the generation of automation test code. [[Unit test]] code is written while the SUT code is written. When the code is complete, the tests are complete as well.<ref name="Learning TDD">{{cite journal|doi=10.1109/ms.2007.80|title=Learning Test-Driven Development by Counting Lines|year=2007|last1=Vodde|first1=Bas|last2=Koskela|first2=Lasse|journal=IEEE Software|volume=24|issue=3|pages=74–79|s2cid=30671391}}</ref>
 
===Other===
TestOther test automation techniques include:
 
* [[Data-driven testing]]
* [[Modularity-driven testing]]
* [[Keyword-driven testing]]
* [[Hybrid testing]]
* [[Behavior driven development]]
 
==Considerations==
Line 58 ⟶ 67:
 
==Framework==
A test automation [[Software framework |framework]] provides a programming environment that integrates test logic, test data, and other resources. The framework provides the basis of test automation and simplifies the automation effort. Using a [[Software framework |framework]] can lower the cost of test development and [[Software maintenance |maintenance]]. If there is change to any [[Test case (software)|test case]] then only the test case file needs to be updated and the driver script and startup script will remain the same.
 
A framework is responsible for defining the format in which to express expectations, providing a mechanism to hook into or drive the SUT, executing the tests, and reporting results.<ref>{{cite web
Line 95 ⟶ 104:
 
; Object repository: Collection of UI/Application object data recorded by the testing tool while exploring the SUT.<ref name="Interface" />
 
==Techniques==
Test automation techniques include
 
* [[Data-driven testing]]
* [[Modularity-driven testing]]
* Keyword-driven testing]]
* [[Hybrid testing]]
* [[Model-based testing]]
* Code-driven testing
* [[Behavior driven development]]
 
== See also ==
Line 111 ⟶ 109:
* {{Annotated link |List of web testing tools}}
* {{Annotated link |Fuzzing}}
* {{Annotated link |Headless browser}}
* {{Annotated link |Software testing}}
* {{Annotated link |System testing}}
* {{Annotated link |Unit test}}
 
==References==