class_docstr: Test the TensorFlow interface execute function
  integrates well for both forward and backward execution
class_docstr_tok: ["Test","the","TensorFlow","interface","execute","function","integrates","well","for","both","forward","and","backward","execution"]
docstr: Test execution
docstr_tok: ["Test","execution"]
code: def test_execution(self, execute_kwargs):
      """Test execution"""
      dev = qml.device("default.qubit.legacy", wires=1)
      a = tf.Variable(0.1)
      b = tf.Variable(0.2)
  
      with tf.GradientTape():
          with qml.queuing.AnnotatedQueue() as q1:
              qml.RY(a, wires=0)
              qml.RX(b, wires=0)
              qml.expval(qml.PauliZ(0))
  
          tape1 = qml.tape.QuantumScript.from_queue(q1)
          with qml.queuing.AnnotatedQueue() as q2:
              qml.RY(a, wires=0)
              qml.RX(b, wires=0)
              qml.expval(qml.PauliZ(0))
  
          tape2 = qml.tape.QuantumScript.from_queue(q2)
          res = execute([tape1, tape2], dev, **execute_kwargs)
  
      assert len(res) == 2
      assert res[0].shape == ()
      assert res[1].shape == ()
      assert isinstance(res[0], tf.Tensor)
      assert isinstance(res[1], tf.Tensor)
  
imports: import numpy
  import pytest
  import pennylane
  from pennylane.gradients import finite_diff, param_shift
  from pennylane import execute
label_desc: Use image node_id 1 for calling the TestTensorFlowExecuteIntegration obj's underlying member method code with example usage: obj.test_execution(execute_kwargs) without return types