TY - GEN
T1 - TSTL
T2 - 24th International Symposium on Software Testing and Analysis, ISSTA 2015
AU - Groce, Alex
AU - Pinto, Jervis
AU - Azimi, Pooria
AU - Mittal, Pranjal
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/7/13
Y1 - 2015/7/13
N2 - Writing a test harness is a difficult and repetitive programming task, and the lack of tool support for customized automated testing is an obstacle to the adoption of more sophisticated testing in industry. This paper presents TSTL, the Template Scripting Testing Language, which allows users to specify the general form of valid tests for a system in a simple but expressive language, and tools to support testing based on a TSTL definition. TSTL is a minimalist template- based domain-specific language, using the source language of the Software Under Test (SUT) to support most operations, but adding declarative idioms for testing. TSTL compiles to a common testing interface that hides the details of the SUT and provides support for logging, code coverage, delta debugging, and other core testing functionality, making it easy to write universal testing tools such as random testers or model checkers that apply to all TSTL-defined harnesses. TSTL is currently available for Python, but easily adapted to other languages as well.
AB - Writing a test harness is a difficult and repetitive programming task, and the lack of tool support for customized automated testing is an obstacle to the adoption of more sophisticated testing in industry. This paper presents TSTL, the Template Scripting Testing Language, which allows users to specify the general form of valid tests for a system in a simple but expressive language, and tools to support testing based on a TSTL definition. TSTL is a minimalist template- based domain-specific language, using the source language of the Software Under Test (SUT) to support most operations, but adding declarative idioms for testing. TSTL compiles to a common testing interface that hides the details of the SUT and provides support for logging, code coverage, delta debugging, and other core testing functionality, making it easy to write universal testing tools such as random testers or model checkers that apply to all TSTL-defined harnesses. TSTL is currently available for Python, but easily adapted to other languages as well.
KW - Domain-specific languages
KW - Python
KW - Testing tools
UR - http://www.scopus.com/inward/record.url?scp=84975764117&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84975764117&partnerID=8YFLogxK
U2 - 10.1145/2771783.2784769
DO - 10.1145/2771783.2784769
M3 - Conference contribution
AN - SCOPUS:84975764117
T3 - 2015 International Symposium on Software Testing and Analysis, ISSTA 2015 - Proceedings
SP - 414
EP - 417
BT - 2015 International Symposium on Software Testing and Analysis, ISSTA 2015 - Proceedings
PB - Association for Computing Machinery, Inc
Y2 - 13 July 2015 through 17 July 2015
ER -