Over the last few decades several TCP congestion control algorithms were developed in order to optimise TCP’s behaviour in certain situations. While TCP was traditionally used mainly for file transfers, more recently it is also becoming the protocol of choice for streaming applications, for example YouTube or Netflix , . Now there is even an ISO standard called Dynamic Adaptive Streaming over HTTP (DASH) . However, the impact of different TCP congestion control algorithms on TCPbased streaming flows (within a mix of other typical traffic) is not well understood. Experiments in a controlled testbed allow us to shed more light on this issue. This report describes TEACUP (TCP Experiment Automation Controlled Using Python) version 0.4 – a software tool for running automated TCP experiments in a testbed. Based on a configuration file TEACUP can perform a series of experiments with different traffic mixes, different bottleneck configurations (such as bandwidths, queue mechanisms), different emulated network delay or loss, and different host settings (e.g. used TCP congestion control algorithm). For each experiment TEACUP automatically collects relevant information that allows analysing TCP behaviour, such as tcpdump files, SIFTR  and Web10G  logs.