diff --git a/test/py/tests/test_bind.py b/test/py/tests/test_bind.py
index 16c63ae..850fe11 100644
--- a/test/py/tests/test_bind.py
+++ b/test/py/tests/test_bind.py
@@ -7,6 +7,7 @@
 import pytest
 
 def in_tree(response, name, uclass, drv, depth, last_child):
+    """A helper function to confirm contents of the device tree """
     lines = [x.strip() for x in response.splitlines()]
     leaf = ''
     if depth != 0:
@@ -28,7 +29,12 @@
 @pytest.mark.boardspec('sandbox')
 @pytest.mark.buildconfigspec('cmd_bind')
 def test_bind_unbind_with_node(ubman):
+    """Test the bind and unbind commands of a node
 
+    Verify that the dm tree output contains some expected nodes, and then bind
+    and unbind a USB via node device while verifying that the dm tree output
+    matches the expected values at each step.
+    """
     tree = ubman.run_command('dm tree')
     assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
     assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, False)
@@ -106,6 +112,7 @@
     assert response == ''
 
 def get_next_line(tree, name):
+    """A helper function to strip content out of dm tree output"""
     treelines = [x.strip() for x in tree.splitlines() if x.strip()]
     child_line = ''
     for idx, line in enumerate(treelines):
@@ -121,6 +128,11 @@
 @pytest.mark.buildconfigspec('cmd_bind')
 @pytest.mark.singlethread
 def test_bind_unbind_with_uclass(ubman):
+    """Test the bind and unbind commands of a class
+
+    Bind and unbind the simple_bus class while verifying that the dm tree
+    output matches the expected values at each step.
+    """
     #bind /bind-test
     response = ubman.run_command('bind  /bind-test simple_bus')
     assert response == ''
