diff --git a/openedx/tests/completion_integration/test_models.py b/openedx/tests/completion_integration/test_models.py
index f6e1624d664c9b3df52ad30d55917de286a6b022..66c3843070090be16e382e742ddb9f7902c95279 100644
--- a/openedx/tests/completion_integration/test_models.py
+++ b/openedx/tests/completion_integration/test_models.py
@@ -13,6 +13,11 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
 
+SELECT = 1
+UPDATE = 1
+SAVEPOINT = 1
+OTHER = 1
+
 
 @skip_unless_lms
 class PercentValidatorTestCase(TestCase):
@@ -56,7 +61,8 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
         self.set_up_completion()
 
     def test_changed_value(self):
-        with self.assertNumQueries(4):  # Get, update, 2 * savepoints
+        with self.assertNumQueries(SELECT + UPDATE + 2 * SAVEPOINT + 2 * OTHER):
+            # OTHER = user exists, completion exists
             completion, isnew = models.BlockCompletion.objects.submit_completion(
                 user=self.user,
                 course_key=self.block_key.course_key,
@@ -69,7 +75,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
         self.assertEqual(models.BlockCompletion.objects.count(), 1)
 
     def test_unchanged_value(self):
-        with self.assertNumQueries(1):  # Get
+        with self.assertNumQueries(SELECT + 2 * SAVEPOINT):
             completion, isnew = models.BlockCompletion.objects.submit_completion(
                 user=self.user,
                 course_key=self.block_key.course_key,
@@ -83,7 +89,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
 
     def test_new_user(self):
         newuser = UserFactory()
-        with self.assertNumQueries(4):  # Get, update, 2 * savepoints
+        with self.assertNumQueries(SELECT + UPDATE + 4 * SAVEPOINT):
             _, isnew = models.BlockCompletion.objects.submit_completion(
                 user=newuser,
                 course_key=self.block_key.course_key,
@@ -95,7 +101,7 @@ class SubmitCompletionTestCase(CompletionSetUpMixin, TestCase):
 
     def test_new_block(self):
         newblock = UsageKey.from_string(u'block-v1:edx+test+run+type@video+block@puppers')
-        with self.assertNumQueries(4):  # Get, update, 2 * savepoints
+        with self.assertNumQueries(SELECT + UPDATE + 4 * SAVEPOINT):
             _, isnew = models.BlockCompletion.objects.submit_completion(
                 user=self.user,
                 course_key=newblock.course_key,
diff --git a/requirements/edx-sandbox/base.txt b/requirements/edx-sandbox/base.txt
index d9a59dfe8a400e37e3c0d3a384c125bebb824554..21cf2f7ad7266600b7b7ca8a7a7038c460070b5f 100644
--- a/requirements/edx-sandbox/base.txt
+++ b/requirements/edx-sandbox/base.txt
@@ -30,4 +30,4 @@ scipy==0.14.0
 singledispatch==3.4.0.3   # via tornado
 six==1.11.0
 sympy==0.7.1
-tornado==5.1              # via matplotlib
+tornado==5.1.1            # via matplotlib
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index d21d2677f052548ab9ed23b134c4337697eeda00..d71443ee584ca1228665d6b4fd371fac4187e2a9 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -112,7 +112,7 @@ edx-ace==0.1.9
 edx-analytics-data-api-client==0.14.4
 edx-ccx-keys==0.2.1
 edx-celeryutils==0.2.7
-edx-completion==0.1.9
+edx-completion==0.1.10
 edx-django-oauth2-provider==1.3.4
 edx-django-release-util==0.3.1
 edx-django-sites-extensions==2.3.1
@@ -169,7 +169,7 @@ mock==1.0.1
 mongoengine==0.10.0
 mysql-python==1.2.5
 networkx==1.7
-newrelic==4.2.0.100
+newrelic==4.4.0.103
 nltk==3.3.0
 nodeenv==1.1.1
 numpy==1.6.2
@@ -242,5 +242,5 @@ webob==1.8.2              # via xblock
 wrapt==1.10.5
 xblock-review==1.1.5
 xblock-utils==1.2.0
-xblock==1.2.1
+xblock==1.2.2
 zendesk==1.1.1
diff --git a/requirements/edx/coverage.in b/requirements/edx/coverage.in
index d7076b450b0bd5f9fc6c3daa0345326beb4907d0..5c137479db60280ca4a3ea4bc43520db07c16357 100644
--- a/requirements/edx/coverage.in
+++ b/requirements/edx/coverage.in
@@ -9,5 +9,5 @@
 #   * confirm that it has no system requirements beyond what we already install
 #   * run "make upgrade" to update the detailed requirements files
 #
-coverage==4.2                       # Code coverage testing for Python
+coverage==4.4                       # Code coverage testing for Python
 diff-cover==0.9.8                   # Automatically find diff lines that need test coverage
diff --git a/requirements/edx/coverage.txt b/requirements/edx/coverage.txt
index 60617f127c590eee6426c35960ff964e8faf79c7..a5fd3c85deed46b3ee40e92dba5b27c39e1c8598 100644
--- a/requirements/edx/coverage.txt
+++ b/requirements/edx/coverage.txt
@@ -4,7 +4,7 @@
 #
 #    make upgrade
 #
-coverage==4.2
+coverage==4.4
 diff-cover==0.9.8
 inflect==1.0.0            # via jinja2-pluralize
 jinja2-pluralize==0.3.0   # via diff-cover
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index 1c811873af28f79a5ac6f508aa095589f77be065..9ee28646e5b10865267ce88e931a00c9d0967537 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -77,7 +77,7 @@ configparser==3.5.0
 constantly==15.1.0
 coreapi==2.3.3
 coreschema==0.0.4
-coverage==4.2
+coverage==4.4
 cryptography==2.3.1
 cssselect==1.0.3
 cssutils==1.0.2
@@ -131,7 +131,7 @@ edx-ace==0.1.9
 edx-analytics-data-api-client==0.14.4
 edx-ccx-keys==0.2.1
 edx-celeryutils==0.2.7
-edx-completion==0.1.9
+edx-completion==0.1.10
 edx-django-oauth2-provider==1.3.4
 edx-django-release-util==0.3.1
 edx-django-sites-extensions==2.3.1
@@ -157,7 +157,7 @@ event-tracking==0.2.4
 execnet==1.5.0
 extras==1.0.0
 factory_boy==2.8.1
-faker==0.9.0
+faker==0.9.1
 feedparser==5.1.3
 firebase-token-generator==1.3.2
 first==2.0.1
@@ -217,7 +217,7 @@ more-itertools==4.3.0
 moto==0.3.1
 mysql-python==1.2.5
 networkx==1.7
-newrelic==4.2.0.100
+newrelic==4.4.0.103
 nltk==3.3.0
 nodeenv==1.1.1
 numpy==1.6.2
@@ -312,7 +312,7 @@ social-auth-app-django==2.1.0
 social-auth-core==1.7.0
 sorl-thumbnail==12.3
 sortedcontainers==0.9.2
-sphinx==1.7.9
+sphinx==1.8.0
 sphinxcontrib-websupport==1.1.0  # via sphinx
 splinter==0.9.0
 sqlparse==0.2.4
@@ -323,8 +323,9 @@ testfixtures==6.3.0
 testtools==2.3.0
 text-unidecode==1.2
 tincan==0.0.5
+toml==0.9.6
 tox-battery==0.5.1
-tox==3.2.1
+tox==3.3.0
 traceback2==1.4.0
 transifex-client==0.13.4
 twisted==16.6.0
@@ -347,7 +348,7 @@ werkzeug==0.14.1
 wrapt==1.10.5
 xblock-review==1.1.5
 xblock-utils==1.2.0
-xblock==1.2.1
+xblock==1.2.2
 xmltodict==0.11.0
 zendesk==1.1.1
 zope.interface==4.5.0
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index 75196fa695e2ec1f982effffd04d878cef05e0f5..5f081a4a9852a20d619cf943dab9ca9041bc8cba 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -74,7 +74,7 @@ configparser==3.5.0       # via flake8, pylint
 constantly==15.1.0        # via twisted
 coreapi==2.3.3
 coreschema==0.0.4
-coverage==4.2
+coverage==4.4
 cryptography==2.3.1
 cssselect==1.0.3
 cssutils==1.0.2
@@ -126,7 +126,7 @@ edx-ace==0.1.9
 edx-analytics-data-api-client==0.14.4
 edx-ccx-keys==0.2.1
 edx-celeryutils==0.2.7
-edx-completion==0.1.9
+edx-completion==0.1.10
 edx-django-oauth2-provider==1.3.4
 edx-django-release-util==0.3.1
 edx-django-sites-extensions==2.3.1
@@ -151,7 +151,7 @@ event-tracking==0.2.4
 execnet==1.5.0            # via pytest-xdist
 extras==1.0.0             # via python-subunit, testtools
 factory_boy==2.8.1
-faker==0.9.0              # via factory-boy
+faker==0.9.1              # via factory-boy
 feedparser==5.1.3
 firebase-token-generator==1.3.2
 fixtures==3.0.0           # via testtools
@@ -208,7 +208,7 @@ more-itertools==4.3.0     # via pytest
 moto==0.3.1
 mysql-python==1.2.5
 networkx==1.7
-newrelic==4.2.0.100
+newrelic==4.4.0.103
 nltk==3.3.0
 nodeenv==1.1.1
 numpy==1.6.2
@@ -307,8 +307,9 @@ testfixtures==6.3.0
 testtools==2.3.0          # via fixtures, python-subunit
 text-unidecode==1.2       # via faker
 tincan==0.0.5
+toml==0.9.6               # via tox
 tox-battery==0.5.1
-tox==3.2.1
+tox==3.3.0
 traceback2==1.4.0         # via testtools, unittest2
 transifex-client==0.13.4
 twisted==16.6.0           # via pa11ycrawler, scrapy
@@ -329,7 +330,7 @@ werkzeug==0.14.1          # via flask
 wrapt==1.10.5
 xblock-review==1.1.5
 xblock-utils==1.2.0
-xblock==1.2.1
+xblock==1.2.2
 xmltodict==0.11.0         # via moto
 zendesk==1.1.1
 zope.interface==4.5.0     # via twisted