diff --git a/test/box_big/lua.result b/test/box_big/lua.result
index 7824c223facbbab8a642fb92e964a64334222bac..f42e59f83b6602b689e6c7ebec3c6d5ec35ba69f 100644
--- a/test/box_big/lua.result
+++ b/test/box_big/lua.result
@@ -70,6 +70,10 @@ call box.select_range(5, 1, 2, 'of')
 Found 2 tuples:
 ['00000001', 'of', 'might', 'and', 'magic']
 ['00000000', 'of', 'puppets']
+call box.select_reverse_range(5, 1, 2, 'of')
+Found 2 tuples:
+['00000000', 'of', 'puppets']
+['00000001', 'of', 'might', 'and', 'magic']
 lua box.space[5]:truncate()
 ---
 ...
@@ -110,3 +114,76 @@ lua num2 == tonumber64('18446744073709551615')
 ---
  - true
 ...
+lua box.insert('9', 0, 0)
+---
+ - 0: {0}
+...
+lua box.insert('9', 1, 0)
+---
+ - 1: {0}
+...
+lua box.insert('9', 2, 0)
+---
+ - 2: {0}
+...
+lua box.insert('9', 3, 0)
+---
+ - 3: {0}
+...
+lua box.insert('9', 4, 0)
+---
+ - 4: {0}
+...
+lua box.insert('9', 5, 0)
+---
+ - 5: {0}
+...
+lua box.insert('9', 6, 0)
+---
+ - 6: {0}
+...
+lua box.insert('9', 7, 0)
+---
+ - 7: {0}
+...
+lua box.insert('9', 8, 0)
+---
+ - 8: {0}
+...
+lua box.insert('9', 9, 0)
+---
+ - 9: {0}
+...
+lua box.select_range(9, 1, 10)
+---
+ - 0: {0}
+ - 1: {0}
+ - 2: {0}
+ - 3: {0}
+ - 4: {0}
+ - 5: {0}
+ - 6: {0}
+ - 7: {0}
+ - 8: {0}
+ - 9: {0}
+...
+lua box.select_reverse_range(9, 1, 10)
+---
+ - 9: {0}
+ - 8: {0}
+ - 7: {0}
+ - 6: {0}
+ - 5: {0}
+ - 4: {0}
+ - 3: {0}
+ - 2: {0}
+ - 1: {0}
+ - 0: {0}
+...
+lua box.select_reverse_range(9, 1, 4)
+---
+ - 9: {0}
+ - 8: {0}
+ - 7: {0}
+ - 6: {0}
+...
diff --git a/test/box_big/lua.test b/test/box_big/lua.test
index 557f85498b9b7acc86008536441694908eeed1fb..3484b4163ce145dff4e730815b17076aed4e9823 100644
--- a/test/box_big/lua.test
+++ b/test/box_big/lua.test
@@ -36,6 +36,7 @@ exec sql "insert into t5 values ('01234567', 'new', 'world')"
 exec sql "insert into t5 values ('00000000', 'of', 'puppets')"
 exec sql "insert into t5 values ('00000001', 'of', 'might', 'and', 'magic')"
 exec sql "call box.select_range(5, 1, 2, 'of')"
+exec sql "call box.select_reverse_range(5, 1, 2, 'of')"
 exec admin "lua box.space[5]:truncate()"
 
 #
@@ -51,3 +52,20 @@ exec admin "lua num,num1,num2 = box.unpack('lll', tu[0], tu[0], tu[0])"
 exec admin "lua num == tonumber64('18446744073709551615')"
 exec admin "lua num1 == tonumber64('18446744073709551615')"
 exec admin "lua num2 == tonumber64('18446744073709551615')"
+
+#
+# Lua select_reverse_range
+#
+exec admin "lua box.insert('9', 0, 0)"
+exec admin "lua box.insert('9', 1, 0)"
+exec admin "lua box.insert('9', 2, 0)"
+exec admin "lua box.insert('9', 3, 0)"
+exec admin "lua box.insert('9', 4, 0)"
+exec admin "lua box.insert('9', 5, 0)"
+exec admin "lua box.insert('9', 6, 0)"
+exec admin "lua box.insert('9', 7, 0)"
+exec admin "lua box.insert('9', 8, 0)"
+exec admin "lua box.insert('9', 9, 0)"
+exec admin "lua box.select_range(9, 1, 10)"
+exec admin "lua box.select_reverse_range(9, 1, 10)"
+exec admin "lua box.select_reverse_range(9, 1, 4)"
diff --git a/test/box_big/tarantool.cfg b/test/box_big/tarantool.cfg
index ff574b31e74268e76ebb80fad58b3750ceebfa1b..97c4840d02e5f9550aadc677c5089d212c2850d5 100644
--- a/test/box_big/tarantool.cfg
+++ b/test/box_big/tarantool.cfg
@@ -143,3 +143,17 @@ space[8].index[0].type = "TREE"
 space[8].index[0].unique = 1
 space[8].index[0].key_field[0].fieldno = 0
 space[8].index[0].key_field[0].type = "NUM64"
+
+# lua select_reverse_range() testing
+# https://blueprints.launchpad.net/tarantool/+spec/backward-tree-index-iterator
+space[9].enabled = true
+space[9].index[0].type = "TREE"
+space[9].index[0].unique = 1
+space[9].index[0].key_field[0].fieldno = 0
+space[9].index[0].key_field[0].type = "NUM"
+space[9].index[1].type = "TREE"
+space[9].index[1].unique = 1
+space[9].index[1].key_field[0].fieldno = 1
+space[9].index[1].key_field[0].type = "NUM"
+space[9].index[1].key_field[1].fieldno = 0
+space[9].index[1].key_field[1].type = "NUM"