22 Jun 2018.

Version 29 of the stb-tester core Python API is now available. This is a significant release with major new APIs for testing audio.

You can now test the following scenarios related to audio:

  • Is audio playing at all?
  • How long does it take for the audio content to start playing?
  • Does the mute button work?
  • Do the volume buttons work?
  • Do you hear clicks/bloops when you press the keys to navigate around your UI?
  • Is the loudness of advertisements within the permitted levels defined by EBU R128 / ITU-R BS.1770?
  • Measure A/V synchronisation (detailed example coming soon).

Furthermore, the video-recording of each test-run now includes the audio track.

We have also added APIs for pressing-and-holding a button on the remote control. For example, you can now test these scenarios:

  • Powering off set-top boxes that require you to hold the power button for several seconds.
  • How fast does the volume bar change as you hold “Volume Up”?
  • How soon does the actual volume change as you hold “Volume Up”?
  • Does channel zapping continue to occur while you hold the “Channel Down” button, and does it stop as soon as you release the button?
  • Quickly scroll to the end of a carousel or menu.

Another new API is stbt.press_and_wait, which makes it really easy to detect and measure transitions: For example, has the selection finished moving after you press up/down/left/right; or transitions to a new screen, such as going from live TV to the programme guide. This helps with scenarios such as these:

  • Frame-accurate performance measurement of animations, for example a menu selection that slides from one entry to the next. Measure the time for the animation to start after the keypress, and then time for the animation to complete.
  • Measure how long your Guide takes to appear (time to first frame) and then the time to populate fully.
  • Measure the performance of every single keypress when navigating through your UI.
  • Faster, more robust navigation.

This release also contains many other improvements and bug-fixes. For full details see the v29 release notes.