diff --git a/pytest.ini b/pytest.ini
index 723735a..1aeb23f 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,2 +1,6 @@
 [pytest]
 addopts = -r s
+markers =
+    hmac: this test requires a backend providing HMACBackend
+    cipher: this test requires a backend providing CipherBackend
+    hash: this test requires a backend providing HashBackend
diff --git a/tests/conftest.py b/tests/conftest.py
index 7166280..91ba988 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,5 +1,21 @@
+import pytest
+
+from cryptography.hazmat.backends.interfaces import (
+    HMACBackend, CipherBackend, HashBackend
+)
+
+from .skip_check import skip_check
+
+
 def pytest_generate_tests(metafunc):
     from cryptography.hazmat.backends import _ALL_BACKENDS
 
     if "backend" in metafunc.fixturenames:
         metafunc.parametrize("backend", _ALL_BACKENDS)
+
+
+@pytest.mark.trylast
+def pytest_runtest_setup(item):
+    skip_check('hmac', HMACBackend, item)
+    skip_check('cipher', CipherBackend, item)
+    skip_check('hash', HashBackend, item)
diff --git a/tests/skip_check.py b/tests/skip_check.py
new file mode 100644
index 0000000..4d454d7
--- /dev/null
+++ b/tests/skip_check.py
@@ -0,0 +1,22 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import, division, print_function
+
+import pytest
+
+
+def skip_check(name, iface, item):
+    if name in item.keywords and item.funcargs.get('backend') is not None:
+        if not isinstance(item.funcargs['backend'], iface):
+            pytest.skip("Backend does not support {}".format(name))
diff --git a/tests/test_skip_check.py b/tests/test_skip_check.py
new file mode 100644
index 0000000..3b303ac
--- /dev/null
+++ b/tests/test_skip_check.py
@@ -0,0 +1,31 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import, division, print_function
+
+import pretend
+
+import pytest
+
+from .skip_check import skip_check
+
+
+class FakeInterface(object):
+    pass
+
+
+def test_skip_check():
+    item = pretend.stub(keywords=["fake_name"], funcargs={"backend": True})
+    with pytest.raises(pytest.skip.Exception) as exc_info:
+        skip_check("fake_name", FakeInterface, item)
+    assert exc_info.value.args[0] == "Backend does not support fake_name"
