Support unavailable
Please try again later

Functional testing with Python

by Kay Schluehr for

Functional or black box testing of embedded devices at their communication endpoints hasn’t caught much attention in the agile or open source communities, despite its prevalence in large parts of modern industries ranging from automotive to smartcards. When you have the opportunity to work in one of those industries you’ll easily get sucked into a confusing realm where large fractions of the R&D staff writes thousands of little test scripts using proprietary programming languages or in-house frameworks and tools which will never see the daylight. Archaic, committee designed programming languages like TTCN-3 which cannot deny their heritage from the Pascal era occasionally bubble up. Academic papers and PhD theses which cover functional testing are moving straight into model checking with UML and propose system architectures which can easily compete with Java Enterprise solutions. In short, it is a total mess and therefore very stimulating. Unlike the web programming Favela chic it has an old industry, Gothic high tech flavor of slowly disintegrating sites of the digital age.

In my talk I’ll approach functional testing (FT) from a Python angle using little more than a data structure that allows for data binding and continuous updates, a close relative of the venerable amb operator which goes back to Lisp inventor John McCarthy and a few Python decorators. I’ll show how to put them together to control variation of data consistently. I do not suggest to throw out test scripts, on the contrary, just write them with techniques better suited for covering large numbers of test cases. In the last part of my talk I’ll briefly introduce T3, a domain specific functional programming language, which I designed for FT. While T3 has been strongly influenced by Python and my explorative Python programming experiments it allows me to take a more radical stance and an independent synthesis. There will be hopefully some cross-fertilization between T3 and Python in the future.

in on Tuesday 2 July at 12:15 See schedule


  1. Gravatar
    is the python supports for test an application in functional testing?
  2. Gravatar
    Not sure I understand your question but if you ask for an FT suite which comes out of the box in Python, then the answer is no. Problem is the communication layer at the bottom of the application stack. You might get specific ones, say one for Smartcards ( my primary domain ), one for socket communication etc. Then one builds a FT suites on top which are little more than command abstraction + assertion handling and reporting. The variance in the quality of those application stacks varies wildly and it usually doesn't benefit from competition, vivid communities etc. we experience in the Web area, where experience is also reflected. T3 suggests a couple of data types, methods and analysis/synthesis techniques which can be used in the building domain specific FT frameworks.

New comment

45 minutes (inc Q&A)

Tagged as

testing automation
Our Sponsors
Python Experts
SSL Matrix
Wanna sponsor?