diff --git a/tests/integrated/encoding-benchmark.cpp b/tests/benchmarks/encoding-bench.cpp
similarity index 95%
rename from tests/integrated/encoding-benchmark.cpp
rename to tests/benchmarks/encoding-bench.cpp
index 8f503a0..3ab246d 100644
--- a/tests/integrated/encoding-benchmark.cpp
+++ b/tests/benchmarks/encoding-bench.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -23,7 +23,7 @@
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/encoding/tlv.hpp"
-#include "tests/integrated/timed-execute.hpp"
+#include "tests/benchmarks/timed-execute.hpp"
 
 #include <boost/mpl/vector.hpp>
 #include <boost/mpl/vector_c.hpp>
@@ -98,8 +98,6 @@
 >;
 
 // Benchmark of ndn::tlv::readVarNumber with different number lengths and alignments.
-// Run this benchmark with:
-//    ./encoding-benchmark -t 'ReadVarNumber*'
 // For accurate results, it is required to compile ndn-cxx in release mode.
 // It is recommended to run the benchmark multiple times and take the average.
 BOOST_AUTO_TEST_CASE_TEMPLATE(ReadVarNumber, Test, ReadVarNumberTests)
diff --git a/tests/integrated/scheduler-benchmark.cpp b/tests/benchmarks/scheduler-bench.cpp
similarity index 95%
rename from tests/integrated/scheduler-benchmark.cpp
rename to tests/benchmarks/scheduler-bench.cpp
index 51192ee..8897920 100644
--- a/tests/integrated/scheduler-benchmark.cpp
+++ b/tests/benchmarks/scheduler-bench.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -23,7 +23,7 @@
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/util/scheduler.hpp"
-#include "tests/integrated/timed-execute.hpp"
+#include "tests/benchmarks/timed-execute.hpp"
 
 #include <boost/asio/io_service.hpp>
 #include <iostream>
diff --git a/tests/integrated/timed-execute.hpp b/tests/benchmarks/timed-execute.hpp
similarity index 85%
rename from tests/integrated/timed-execute.hpp
rename to tests/benchmarks/timed-execute.hpp
index 83767a1..c0759e3 100644
--- a/tests/integrated/timed-execute.hpp
+++ b/tests/benchmarks/timed-execute.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,8 +19,8 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_INTEGRATED_TIMED_EXECUTE_HPP
-#define NDN_TESTS_INTEGRATED_TIMED_EXECUTE_HPP
+#ifndef NDN_TESTS_BENCHMARKS_TIMED_EXECUTE_HPP
+#define NDN_TESTS_BENCHMARKS_TIMED_EXECUTE_HPP
 
 #include "ndn-cxx/util/time.hpp"
 
@@ -40,4 +40,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_INTEGRATED_TIMED_EXECUTE_HPP
+#endif // NDN_TESTS_BENCHMARKS_TIMED_EXECUTE_HPP
diff --git a/tests/integrated/wscript b/tests/benchmarks/wscript
similarity index 100%
copy from tests/integrated/wscript
copy to tests/benchmarks/wscript
diff --git a/tests/integrated/default-can-be-prefix-0.cpp b/tests/integration/default-can-be-prefix-0.cpp
similarity index 84%
rename from tests/integrated/default-can-be-prefix-0.cpp
rename to tests/integration/default-can-be-prefix-0.cpp
index 77a3042..102e274 100644
--- a/tests/integrated/default-can-be-prefix-0.cpp
+++ b/tests/integration/default-can-be-prefix-0.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Integrated Tests (DefaultCanBePrefix=0)
+#define BOOST_TEST_MODULE ndn-cxx Integration (DefaultCanBePrefix)
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/interest.hpp"
@@ -27,17 +27,13 @@
 namespace ndn {
 namespace tests {
 
-BOOST_AUTO_TEST_SUITE(TestInterest)
-
 BOOST_AUTO_TEST_CASE(DefaultCanBePrefix0)
 {
   Interest::setDefaultCanBePrefix(false);
-  Interest interest1;
+  Interest interest1("/I");
   Interest interest2(interest1.wireEncode());
   BOOST_CHECK_EQUAL(interest2.getCanBePrefix(), false);
 }
 
-BOOST_AUTO_TEST_SUITE_END() // TestInterest
-
 } // namespace tests
 } // namespace ndn
diff --git a/tests/integrated/default-can-be-prefix-1.cpp b/tests/integration/default-can-be-prefix-1.cpp
similarity index 84%
rename from tests/integrated/default-can-be-prefix-1.cpp
rename to tests/integration/default-can-be-prefix-1.cpp
index f2f6a52..d5659a3 100644
--- a/tests/integrated/default-can-be-prefix-1.cpp
+++ b/tests/integration/default-can-be-prefix-1.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Integrated Tests (DefaultCanBePrefix=1)
+#define BOOST_TEST_MODULE ndn-cxx Integration (DefaultCanBePrefix)
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/interest.hpp"
@@ -27,17 +27,13 @@
 namespace ndn {
 namespace tests {
 
-BOOST_AUTO_TEST_SUITE(TestInterest)
-
 BOOST_AUTO_TEST_CASE(DefaultCanBePrefix1)
 {
   Interest::setDefaultCanBePrefix(true);
-  Interest interest1;
+  Interest interest1("/I");
   Interest interest2(interest1.wireEncode());
   BOOST_CHECK_EQUAL(interest2.getCanBePrefix(), true);
 }
 
-BOOST_AUTO_TEST_SUITE_END() // TestInterest
-
 } // namespace tests
 } // namespace ndn
diff --git a/tests/integrated/default-can-be-prefix-unset.cpp b/tests/integration/default-can-be-prefix-unset.cpp
similarity index 84%
rename from tests/integrated/default-can-be-prefix-unset.cpp
rename to tests/integration/default-can-be-prefix-unset.cpp
index 0498eae..6c97feb 100644
--- a/tests/integrated/default-can-be-prefix-unset.cpp
+++ b/tests/integration/default-can-be-prefix-unset.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Integrated Tests (DefaultCanBePrefix=unset)
+#define BOOST_TEST_MODULE ndn-cxx Integration (DefaultCanBePrefix)
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/interest.hpp"
@@ -27,18 +27,14 @@
 namespace ndn {
 namespace tests {
 
-BOOST_AUTO_TEST_SUITE(TestInterest)
-
 BOOST_AUTO_TEST_CASE(DefaultCanBePrefixUnset)
 {
-  Interest interest1;
+  Interest interest1("/I");
   BOOST_CHECK_THROW(interest1.wireEncode(), std::logic_error);
   Interest::s_errorIfCanBePrefixUnset = false;
   Interest interest2(interest1.wireEncode());
   BOOST_CHECK_EQUAL(interest2.getCanBePrefix(), true);
 }
 
-BOOST_AUTO_TEST_SUITE_END() // TestInterest
-
 } // namespace tests
 } // namespace ndn
diff --git a/tests/integrated/default-can-be-prefix.README.md b/tests/integration/default-can-be-prefix.README.md
similarity index 100%
rename from tests/integrated/default-can-be-prefix.README.md
rename to tests/integration/default-can-be-prefix.README.md
diff --git a/tests/integrated/face.cpp b/tests/integration/face.cpp
similarity index 97%
rename from tests/integrated/face.cpp
rename to tests/integration/face.cpp
index a263382..1f5fc53 100644
--- a/tests/integrated/face.cpp
+++ b/tests/integration/face.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Integrated Tests (Face)
+#define BOOST_TEST_MODULE ndn-cxx Integration (Face)
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/face.hpp"
@@ -119,8 +119,6 @@
 
 using Transports = boost::mpl::vector<UnixTransport, TcpTransport>;
 
-BOOST_FIXTURE_TEST_SUITE(TestFace, FaceFixture<UnixTransport>)
-
 BOOST_AUTO_TEST_SUITE(Consumer)
 
 BOOST_FIXTURE_TEST_CASE_TEMPLATE(ExpressInterestData, TransportType, Transports, FaceFixture<TransportType>)
@@ -329,7 +327,7 @@
 
 BOOST_AUTO_TEST_SUITE_END() // Producer
 
-BOOST_AUTO_TEST_SUITE(IoRoutine)
+BOOST_FIXTURE_TEST_SUITE(IoRoutine, FaceFixture<UnixTransport>)
 
 BOOST_AUTO_TEST_CASE(ShutdownWhileSendInProgress) // Bug #3136
 {
@@ -380,7 +378,5 @@
 
 BOOST_AUTO_TEST_SUITE_END() // IoRoutine
 
-BOOST_AUTO_TEST_SUITE_END() // TestFace
-
 } // namespace tests
 } // namespace ndn
diff --git a/tests/integrated/network-monitor.README.md b/tests/integration/network-monitor.README.md
similarity index 96%
rename from tests/integrated/network-monitor.README.md
rename to tests/integration/network-monitor.README.md
index a9a9af1..7b339c0 100644
--- a/tests/integrated/network-monitor.README.md
+++ b/tests/integration/network-monitor.README.md
@@ -2,9 +2,9 @@
 
 These instructions are only for Linux and macOS.
 
-Run the network-monitor integrated test binary, e.g.:
+Run the network-monitor integration test binary, e.g.:
 ```
-./build/tests/integrated/network-monitor
+./build/tests/integration/network-monitor
 ```
 Note: sudo is not required.
 
diff --git a/tests/integrated/network-monitor.cpp b/tests/integration/network-monitor.cpp
similarity index 93%
rename from tests/integrated/network-monitor.cpp
rename to tests/integration/network-monitor.cpp
index 57cea97..0e7be10 100644
--- a/tests/integrated/network-monitor.cpp
+++ b/tests/integration/network-monitor.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2020 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Integrated Tests (Network Monitor)
+#define BOOST_TEST_MODULE ndn-cxx Integration (NetworkMonitor)
 #include "tests/boost-test.hpp"
 
 #include "ndn-cxx/net/network-monitor.hpp"
@@ -37,8 +37,6 @@
 namespace net {
 namespace tests {
 
-BOOST_AUTO_TEST_SUITE(TestNetworkMonitor)
-
 static std::ostream&
 logEvent(const shared_ptr<const NetworkInterface>& ni = nullptr, std::ostream& os = std::cout)
 {
@@ -95,8 +93,6 @@
   io.run();
 }
 
-BOOST_AUTO_TEST_SUITE_END() // TestNetworkMonitor
-
 } // namespace tests
 } // namespace net
 } // namespace ndn
diff --git a/tests/integrated/wscript b/tests/integration/wscript
similarity index 100%
rename from tests/integrated/wscript
rename to tests/integration/wscript
diff --git a/tests/unit/main.cpp b/tests/unit/main.cpp
index 51edc79..04c223d 100644
--- a/tests/unit/main.cpp
+++ b/tests/unit/main.cpp
@@ -19,5 +19,5 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#define BOOST_TEST_MODULE ndn-cxx Unit Tests
+#define BOOST_TEST_MODULE ndn-cxx
 #include "tests/boost-test.hpp"
diff --git a/tests/wscript b/tests/wscript
index 8e269f0..d343b1a 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -3,12 +3,13 @@
 top = '..'
 
 def build(bld):
-    # common objects that can be shared between unit and integrated tests
+    # common objects that can be shared among all tests
     bld.objects(target='tests-common',
                 features='pch',
                 source=bld.path.ant_glob('*.cpp'),
                 headers=['../ndn-cxx/impl/common-pch.hpp', 'boost-test.hpp'],
                 use='ndn-cxx BOOST')
 
-    bld.recurse('integrated')
+    bld.recurse('benchmarks')
+    bld.recurse('integration')
     bld.recurse('unit')
