diff --git a/tests/blockforest/BlockDataIOTest.cpp b/tests/blockforest/BlockDataIOTest.cpp
index b72a9dded44f10062ab290fe758dd93199df53c3..a62edefd12e4c826aed5c4903fa685efd955cfea 100644
--- a/tests/blockforest/BlockDataIOTest.cpp
+++ b/tests/blockforest/BlockDataIOTest.cpp
@@ -42,24 +42,24 @@ const Set< SUID > None(Set< SUID >::emptySet());
 
 static void refinementSelectionFunction(SetupBlockForest& forest)
 {
-   for (auto block = forest.begin(); block != forest.end(); ++block)
-      if (block->getAABB().contains(Vector3< real_t >(real_t(75))))
-         if (!block->hasFather()) block->setMarker(true);
+   for (auto & block : forest)
+      if (block.getAABB().contains(Vector3< real_t >(real_t(75))))
+         if (!block.hasFather()) block.setMarker(true);
 }
 
 static void workloadMemorySUIDAssignmentFunction(SetupBlockForest& forest)
 {
-   for (auto block = forest.begin(); block != forest.end(); ++block)
+   for (auto & block : forest)
    {
-      block->setMemory(memory_t(1));
-      block->setWorkload(workload_t(1));
-      if (block->getAABB().contains(Vector3< real_t >(real_t(25)))) block->addState(Empty);
+      block.setMemory(memory_t(1));
+      block.setWorkload(workload_t(1));
+      if (block.getAABB().contains(Vector3< real_t >(real_t(25)))) block.addState(Empty);
    }
 }
 
 void test()
 {
-   typedef field::GhostLayerField< double, 2 > FieldType;
+   using FieldType = field::GhostLayerField<double, 2>;
 
    SetupBlockForest sforest;
 
diff --git a/tests/blockforest/BlockForestTest.cpp b/tests/blockforest/BlockForestTest.cpp
index 6c18b2fa0d5f8130b5bb45789fa29675e579070b..e9a007d8b2f7bc3f56ab04df3015281d3dada79c 100644
--- a/tests/blockforest/BlockForestTest.cpp
+++ b/tests/blockforest/BlockForestTest.cpp
@@ -89,8 +89,7 @@ static void workloadMemorySUIDAssignmentFunction( SetupBlockForest& forest ) {
       suids.emplace_back( oss.str(), false );
    }
 
-   for( uint_t i = 0; i != blocks.size(); ++i ) {
-      SetupBlock* block = blocks[i];
+   for(auto block : blocks) {
       block->setMemory( numeric_cast< memory_t >( 1.0 ) );
       block->setWorkload( numeric_cast< workload_t >( std::pow( 2.0, numeric_cast<double>(block->getLevel()) ) ) );
       if( block->getLevel() > 0 )
@@ -102,11 +101,11 @@ static void workloadMemorySUIDAssignmentFunction( SetupBlockForest& forest ) {
 
 static memory_t communicationCalculationFunction( const SetupBlock* const a, const SetupBlock* const b ) {
 
-   uint_t faces[] = { 4, 10, 12, 13, 15, 21 };
+   std::array< uint_t, 6 > faces = { 4, 10, 12, 13, 15, 21 };
 
-   for( uint_t i = 0; i != 6; ++i ) {
-      for( uint_t j = 0; j != a->getNeighborhoodSectionSize(faces[i]); ++j )
-         if( a->getNeighbor(faces[i],j) == b )
+   for(uint_t face : faces) {
+      for( uint_t j = 0; j != a->getNeighborhoodSectionSize(face); ++j )
+         if( a->getNeighbor(face,j) == b )
             return 1000.0;
    }
 
@@ -457,8 +456,8 @@ static void test() {
       setupBlockSet.insert( block->getId() );
    }
 
-   for( auto blockId = blockIds.begin(); blockId != blockIds.end(); ++blockId ) {
-      const BlockID id = *dynamic_cast< BlockID* >( blockId->get() );
+   for(auto & blockId : blockIds) {
+      const BlockID id = *dynamic_cast< BlockID* >( blockId.get() );
       WALBERLA_CHECK_EQUAL( forestBlockSet.find( id ), forestBlockSet.end() )
       forestBlockSet.insert( id );
    }
diff --git a/tests/blockforest/SetupBlockForestTest.cpp b/tests/blockforest/SetupBlockForestTest.cpp
index 527a41776b4f14dc341a36988aad0f21c19dfffc..990561bc6fbfd227b4ceed11b3794899ef2201e8 100644
--- a/tests/blockforest/SetupBlockForestTest.cpp
+++ b/tests/blockforest/SetupBlockForestTest.cpp
@@ -39,8 +39,8 @@ static void refinementSelectionFunctionAll( SetupBlockForest& forest ) {
    std::vector< SetupBlock* > blocks;
    forest.getBlocks( blocks );
 
-   for( uint_t i = 0; i != blocks.size(); ++i )
-      if( blocks[i]->getLevel() < 2 ) blocks[i]->setMarker( true );
+   for(auto & block : blocks)
+      if( block->getLevel() < 2 ) block->setMarker( true );
 }
 
 
@@ -83,8 +83,8 @@ static void checkCollectorConsistency( SetupBlockForest& forest ) {
       WALBERLA_CHECK( blocks[i] == itBlocks[i] )
 
    std::set< SetupBlock* > baseSet;
-   for( uint_t i = 0; i != blocks.size(); ++i )
-      baseSet.insert( blocks[i] );
+   for(auto block : blocks)
+      baseSet.insert( block );
    WALBERLA_CHECK_EQUAL( baseSet.size(), blocks.size() )
 
    std::vector< SetupBlock* > hilbertBlocks;
@@ -92,8 +92,8 @@ static void checkCollectorConsistency( SetupBlockForest& forest ) {
    WALBERLA_CHECK_EQUAL( hilbertBlocks.size(), blocks.size() )
 
    std::set< SetupBlock* > hilbertSet;
-   for( uint_t i = 0; i != hilbertBlocks.size(); ++i )
-      hilbertSet.insert( hilbertBlocks[i] );
+   for(auto hilbertBlock : hilbertBlocks)
+      hilbertSet.insert( hilbertBlock );
    WALBERLA_CHECK_EQUAL( hilbertSet.size(), hilbertBlocks.size() )
 
    std::set< SetupBlock* >::iterator baseIterator    = baseSet.begin();
@@ -110,8 +110,8 @@ static void checkCollectorConsistency( SetupBlockForest& forest ) {
    WALBERLA_CHECK_EQUAL( aabbBlocks.size(), blocks.size() )
 
    std::set< SetupBlock* > aabbSet;
-   for( uint_t i = 0; i != aabbBlocks.size(); ++i )
-      aabbSet.insert( aabbBlocks[i] );
+   for(auto aabbBlock : aabbBlocks)
+      aabbSet.insert( aabbBlock );
    WALBERLA_CHECK_EQUAL( aabbSet.size(), aabbBlocks.size() )
 
                                      baseIterator = baseSet.begin();
diff --git a/tests/blockforest/StructuredBlockForestTest.cpp b/tests/blockforest/StructuredBlockForestTest.cpp
index 8b0bf5b940c93fcfa8c3249e47a66b8c4cf441e6..ba69ede4ad9fd4e747e1b0e3f9a21522f4c4101b 100644
--- a/tests/blockforest/StructuredBlockForestTest.cpp
+++ b/tests/blockforest/StructuredBlockForestTest.cpp
@@ -59,9 +59,9 @@ static void workloadMemorySUIDAssignmentFunction( SetupBlockForest& forest ) {
    std::vector< SetupBlock* > blocks;
    forest.getBlocks( blocks );
 
-   for( uint_t i = 0; i != blocks.size(); ++i ) {
-      blocks[i]->setMemory( 1.0 );
-      blocks[i]->setWorkload( 1.0 );
+   for(auto & block : blocks) {
+      block->setMemory( 1.0 );
+      block->setWorkload( 1.0 );
    }
 }
 
diff --git a/tests/blockforest/communication/DirectionBasedReduceCommTest.cpp b/tests/blockforest/communication/DirectionBasedReduceCommTest.cpp
index 9382547824e4b3b307033a7e7e9fb1607e08a773..143f3c7316f93c28fe24cf93b836fb22aae5477f 100644
--- a/tests/blockforest/communication/DirectionBasedReduceCommTest.cpp
+++ b/tests/blockforest/communication/DirectionBasedReduceCommTest.cpp
@@ -39,7 +39,7 @@
 
 namespace walberla {
 
-typedef GhostLayerField<real_t,1> ScalarField;
+using ScalarField = GhostLayerField<real_t, 1>;
 
 template<bool init_>
 class SumSweep
@@ -88,7 +88,7 @@ class CompareSweep
          WALBERLA_ASSERT_NOT_NULLPTR( bf )
 
          const AABB & bb = block->getAABB();
-         const cell_idx_t offset [3] = { cell_idx_c(bb.min(uint_t(0u))),
+         const std::array< cell_idx_t, 3 > offset = { cell_idx_c(bb.min(uint_t(0u))),
                                          cell_idx_c(bb.min(uint_t(1u))),
                                          cell_idx_c(bb.min(uint_t(2u))) };
 
@@ -113,8 +113,8 @@ int main(int argc, char **argv)
    debug::enterTestMode();
    mpi::Environment env( argc, argv );
 
-   const uint_t cells [] = { uint_t(5u), uint_t(2u), uint_t(7u) };
-   const uint_t blockCount [] = { uint_t(1u), uint_t(1u), uint_c( MPIManager::instance()->numProcesses() ) };
+   const std::array< uint_t, 3 > cells = { uint_t(5u), uint_t(2u), uint_t(7u) };
+   const std::array< uint_t, 3 > blockCount = { uint_t(1u), uint_t(1u), uint_c( MPIManager::instance()->numProcesses() ) };
    const uint_t nrOfTimeSteps = uint_t(3u);
    bool periodic = false;
    const field::Layout layout = field::fzyx;
diff --git a/tests/blockforest/communication/GhostLayerCommTest.cpp b/tests/blockforest/communication/GhostLayerCommTest.cpp
index 932ec08768f2d3154186b96667ae34d4b9ff1a11..05538594b8cced382c2001052e83d51698806571 100644
--- a/tests/blockforest/communication/GhostLayerCommTest.cpp
+++ b/tests/blockforest/communication/GhostLayerCommTest.cpp
@@ -43,7 +43,7 @@
 namespace walberla {
 namespace wlb = walberla;
 
-typedef GhostLayerField<real_t,19> PdfField;
+using PdfField = GhostLayerField<real_t, 19>;
 
 
 template<typename Sten>
@@ -131,7 +131,7 @@ class CompareSweep
          PdfField * bf = block->getData<PdfField>(bigField_);
 
          const AABB & bb = block->getAABB();
-         const cell_idx_t offset [3] = { wlb::cell_idx_c(bb.min(0)),
+         const std::array< cell_idx_t, 3 > offset = { wlb::cell_idx_c(bb.min(0)),
                                          wlb::cell_idx_c(bb.min(1)),
                                          wlb::cell_idx_c(bb.min(2)) };
 
@@ -187,8 +187,8 @@ int main(int argc, char **argv)
    auto mpiManager = MPIManager::instance();
    mpiManager->initializeMPI(&argc,&argv);
 
-   const uint_t cells [] = { 5,2,7 };
-   const uint_t blockCount [] = { uint_c( mpiManager->numProcesses() ), 1, 1 };
+   const std::array< uint_t, 3 > cells = { 5,2,7 };
+   const std::array< uint_t, 3 > blockCount = { uint_c( mpiManager->numProcesses() ), 1, 1 };
    const uint_t nrOfTimeSteps = 30;
    bool periodic = true;
    const field::Layout layout = field::fzyx;