diff --git a/tests/README.md b/tests/README.md
index ca34f42..11f51f4 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -8,15 +8,19 @@
 
 For example:
 
-    bld(features='cxx',
-        name='tool-subtool-objects',
+```python
+def build(bld):
+    bld.objects(
+        target='tool-subtool-objects',
         source=bld.path.ant_glob('subtool/*.cpp', excl='subtool/main.cpp'),
         use='core-objects')
 
-    bld(features='cxx cxxprogram',
+    bld.program(
+        name='subtool',
         target='../../bin/subtool',
         source='subtool/main.cpp',
         use='tool-subtool-objects')
 
     bld(name='tool-objects',
         use='tool-subtool-objects')
+```
diff --git a/tests/io-fixture.hpp b/tests/io-fixture.hpp
index 71b098a..8f7fe27 100644
--- a/tests/io-fixture.hpp
+++ b/tests/io-fixture.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -28,7 +28,7 @@
 
 #include "tests/clock-fixture.hpp"
 
-#include <boost/asio/io_service.hpp>
+#include <boost/asio/io_context.hpp>
 
 namespace ndn::tests {
 
@@ -39,17 +39,13 @@
   afterTick() final
   {
     if (m_io.stopped()) {
-#if BOOST_VERSION >= 106600
       m_io.restart();
-#else
-      m_io.reset();
-#endif
     }
     m_io.poll();
   }
 
 protected:
-  boost::asio::io_service m_io;
+  boost::asio::io_context m_io;
 };
 
 } // namespace ndn::tests
diff --git a/tests/peek/ndnpeek.t.cpp b/tests/peek/ndnpeek.t.cpp
index e7162b0..8a51b8e 100644
--- a/tests/peek/ndnpeek.t.cpp
+++ b/tests/peek/ndnpeek.t.cpp
@@ -24,7 +24,6 @@
 
 #include <ndn-cxx/util/dummy-client-face.hpp>
 
-#include <boost/mpl/vector.hpp>
 #include <boost/test/tools/output_test_stream.hpp>
 
 namespace ndn::peek::tests {
@@ -129,7 +128,7 @@
 BOOST_AUTO_TEST_SUITE(Peek)
 BOOST_FIXTURE_TEST_SUITE(TestNdnPeek, NdnPeekFixture)
 
-using OutputChecks = boost::mpl::vector<OutputFull, OutputPayloadOnly>;
+using OutputChecks = std::tuple<OutputFull, OutputPayloadOnly>;
 
 BOOST_AUTO_TEST_CASE_TEMPLATE(Default, OutputCheck, OutputChecks)
 {
diff --git a/tests/ping/integrated.t.cpp b/tests/ping/integrated.t.cpp
index 6994beb..4a85fda 100644
--- a/tests/ping/integrated.t.cpp
+++ b/tests/ping/integrated.t.cpp
@@ -25,6 +25,7 @@
 #include "tests/key-chain-fixture.hpp"
 
 #include <ndn-cxx/util/dummy-client-face.hpp>
+#include <boost/asio/post.hpp>
 
 namespace ndn::ping::tests {
 
@@ -53,7 +54,7 @@
   void
   receive(DummyClientFace& face, const Packet& pkt)
   {
-    m_io.post([=, &face] {
+    boost::asio::post(m_io, [=, &face] {
       if (!wantLoss) {
         face.receive(pkt);
       }
diff --git a/tests/test-case.t.cpp.sample b/tests/test-case.t.cpp.sample
index a2f74c1..07e4d2b 100644
--- a/tests/test-case.t.cpp.sample
+++ b/tests/test-case.t.cpp.sample
@@ -41,7 +41,7 @@
   int i = 0;
 
   // For reference of available Boost.Test macros, see
-  // https://www.boost.org/doc/libs/1_65_1/libs/test/doc/html/boost_test/testing_tools/summary.html
+  // https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/testing_tools/summary.html
 
   BOOST_REQUIRE_NO_THROW(i = 1);
   BOOST_CHECK_EQUAL(i, 1);
diff --git a/tests/wscript b/tests/wscript
index 5a21139..2f12f81 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -6,5 +6,5 @@
         target=f'{top}/unit-tests',
         name='unit-tests',
         source=bld.path.ant_glob(['*.cpp'] + [f'{tool}/**/*.cpp' for tool in bld.env.BUILD_TOOLS]),
-        use=['core-objects'] + [f'{tool}-objects' for tool in bld.env.BUILD_TOOLS],
+        use=['BOOST_TESTS', 'core-objects'] + [f'{tool}-objects' for tool in bld.env.BUILD_TOOLS],
         install_path=None)
