diff --git a/core/modules/action/src/Tests/ActionListTest.php b/core/modules/action/tests/src/Functional/ActionListTest.php
similarity index 87%
rename from core/modules/action/src/Tests/ActionListTest.php
rename to core/modules/action/tests/src/Functional/ActionListTest.php
index f533cdf..2510e86 100644
--- a/core/modules/action/src/Tests/ActionListTest.php
+++ b/core/modules/action/tests/src/Functional/ActionListTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\action\Tests;
+namespace Drupal\Tests\action\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Test behaviors when visiting the action listing page.
  *
  * @group action
  */
-class ActionListTest extends WebTestBase {
+class ActionListTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/aggregator/src/Tests/AggregatorTestBase.php b/core/modules/aggregator/src/Tests/AggregatorTestBase.php
index 15be144..30184d2 100644
--- a/core/modules/aggregator/src/Tests/AggregatorTestBase.php
+++ b/core/modules/aggregator/src/Tests/AggregatorTestBase.php
@@ -9,6 +9,9 @@
 
 /**
  * Defines a base class for testing the Aggregator module.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\aggregator\Functional\AggregatorTestBase instead.
  */
 abstract class AggregatorTestBase extends WebTestBase {
 
diff --git a/core/modules/aggregator/src/Tests/AggregatorTestBase.php b/core/modules/aggregator/tests/src/Functional/AggregatorTestBase.php
similarity index 98%
copy from core/modules/aggregator/src/Tests/AggregatorTestBase.php
copy to core/modules/aggregator/tests/src/Functional/AggregatorTestBase.php
index 15be144..a6c9c32 100644
--- a/core/modules/aggregator/src/Tests/AggregatorTestBase.php
+++ b/core/modules/aggregator/tests/src/Functional/AggregatorTestBase.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 use Drupal\aggregator\Entity\Feed;
 use Drupal\Component\Utility\Html;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\aggregator\FeedInterface;
 
 /**
  * Defines a base class for testing the Aggregator module.
  */
-abstract class AggregatorTestBase extends WebTestBase {
+abstract class AggregatorTestBase extends BrowserTestBase {
 
   /**
    * A user with permission to administer feeds and create content.
diff --git a/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php b/core/modules/aggregator/tests/src/Functional/DeleteFeedItemTest.php
similarity index 96%
rename from core/modules/aggregator/src/Tests/DeleteFeedItemTest.php
rename to core/modules/aggregator/tests/src/Functional/DeleteFeedItemTest.php
index 0261ed5..95202b8 100644
--- a/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php
+++ b/core/modules/aggregator/tests/src/Functional/DeleteFeedItemTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 /**
  * Delete feed items from a feed.
diff --git a/core/modules/aggregator/src/Tests/DeleteFeedTest.php b/core/modules/aggregator/tests/src/Functional/DeleteFeedTest.php
similarity index 97%
rename from core/modules/aggregator/src/Tests/DeleteFeedTest.php
rename to core/modules/aggregator/tests/src/Functional/DeleteFeedTest.php
index 4cde81a..5bf5bd3 100644
--- a/core/modules/aggregator/src/Tests/DeleteFeedTest.php
+++ b/core/modules/aggregator/tests/src/Functional/DeleteFeedTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 /**
  * Delete feed test.
diff --git a/core/modules/aggregator/src/Tests/FeedCacheTagsTest.php b/core/modules/aggregator/tests/src/Functional/FeedCacheTagsTest.php
similarity index 95%
rename from core/modules/aggregator/src/Tests/FeedCacheTagsTest.php
rename to core/modules/aggregator/tests/src/Functional/FeedCacheTagsTest.php
index 2b85c19..1a30720 100644
--- a/core/modules/aggregator/src/Tests/FeedCacheTagsTest.php
+++ b/core/modules/aggregator/tests/src/Functional/FeedCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 use Drupal\aggregator\Entity\Feed;
 use Drupal\system\Tests\Entity\EntityWithUriCacheTagsTestBase;
diff --git a/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php b/core/modules/aggregator/tests/src/Functional/FeedFetcherPluginTest.php
similarity index 95%
rename from core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php
rename to core/modules/aggregator/tests/src/Functional/FeedFetcherPluginTest.php
index 4aac851..1a03186 100644
--- a/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php
+++ b/core/modules/aggregator/tests/src/Functional/FeedFetcherPluginTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 /**
  * Tests the fetcher plugins functionality and discoverability.
diff --git a/core/modules/aggregator/src/Tests/FeedParserTest.php b/core/modules/aggregator/tests/src/Functional/FeedParserTest.php
similarity index 99%
rename from core/modules/aggregator/src/Tests/FeedParserTest.php
rename to core/modules/aggregator/tests/src/Functional/FeedParserTest.php
index 6c4a04d..00c7b70 100644
--- a/core/modules/aggregator/src/Tests/FeedParserTest.php
+++ b/core/modules/aggregator/tests/src/Functional/FeedParserTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 use Drupal\Core\Url;
 use Drupal\aggregator\Entity\Feed;
diff --git a/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php b/core/modules/aggregator/tests/src/Functional/FeedProcessorPluginTest.php
similarity index 97%
rename from core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php
rename to core/modules/aggregator/tests/src/Functional/FeedProcessorPluginTest.php
index 8a7ade0..5527d95 100644
--- a/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php
+++ b/core/modules/aggregator/tests/src/Functional/FeedProcessorPluginTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 use Drupal\aggregator\Entity\Feed;
 use Drupal\aggregator\Entity\Item;
diff --git a/core/modules/aggregator/src/Tests/ImportOpmlTest.php b/core/modules/aggregator/tests/src/Functional/ImportOpmlTest.php
similarity index 99%
rename from core/modules/aggregator/src/Tests/ImportOpmlTest.php
rename to core/modules/aggregator/tests/src/Functional/ImportOpmlTest.php
index 1f1e90d..8994e3f 100644
--- a/core/modules/aggregator/src/Tests/ImportOpmlTest.php
+++ b/core/modules/aggregator/tests/src/Functional/ImportOpmlTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 /**
  * Tests OPML import.
diff --git a/core/modules/aggregator/src/Tests/ItemCacheTagsTest.php b/core/modules/aggregator/tests/src/Functional/ItemCacheTagsTest.php
similarity index 97%
rename from core/modules/aggregator/src/Tests/ItemCacheTagsTest.php
rename to core/modules/aggregator/tests/src/Functional/ItemCacheTagsTest.php
index 1986cea..46b076c 100644
--- a/core/modules/aggregator/src/Tests/ItemCacheTagsTest.php
+++ b/core/modules/aggregator/tests/src/Functional/ItemCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\aggregator\Tests;
+namespace Drupal\Tests\aggregator\Functional;
 
 use Drupal\aggregator\Entity\Feed;
 use Drupal\aggregator\Entity\Item;
diff --git a/core/modules/block/src/Tests/BlockCacheTest.php b/core/modules/block/tests/src/Functional/BlockCacheTest.php
similarity index 98%
rename from core/modules/block/src/Tests/BlockCacheTest.php
rename to core/modules/block/tests/src/Functional/BlockCacheTest.php
index 8988580..9285c64 100644
--- a/core/modules/block/src/Tests/BlockCacheTest.php
+++ b/core/modules/block/tests/src/Functional/BlockCacheTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
 use Drupal\Core\Cache\Cache;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests block caching.
  *
  * @group block
  */
-class BlockCacheTest extends WebTestBase {
+class BlockCacheTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block/src/Tests/BlockHiddenRegionTest.php b/core/modules/block/tests/src/Functional/BlockHiddenRegionTest.php
similarity index 93%
rename from core/modules/block/src/Tests/BlockHiddenRegionTest.php
rename to core/modules/block/tests/src/Functional/BlockHiddenRegionTest.php
index b7d44ad..e2965dc 100644
--- a/core/modules/block/src/Tests/BlockHiddenRegionTest.php
+++ b/core/modules/block/tests/src/Functional/BlockHiddenRegionTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that a newly installed theme does not inherit blocks to its hidden
@@ -10,7 +10,7 @@
  *
  * @group block
  */
-class BlockHiddenRegionTest extends WebTestBase {
+class BlockHiddenRegionTest extends BrowserTestBase {
 
   /**
    * An administrative user to configure the test environment.
diff --git a/core/modules/block/src/Tests/BlockHookOperationTest.php b/core/modules/block/tests/src/Functional/BlockHookOperationTest.php
similarity index 90%
rename from core/modules/block/src/Tests/BlockHookOperationTest.php
rename to core/modules/block/tests/src/Functional/BlockHookOperationTest.php
index 91ea843..9cb2272 100644
--- a/core/modules/block/src/Tests/BlockHookOperationTest.php
+++ b/core/modules/block/tests/src/Functional/BlockHookOperationTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
 use Drupal\Component\Utility\Unicode;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests for Block module regarding hook_entity_operations_alter().
  *
  * @group block
  */
-class BlockHookOperationTest extends WebTestBase {
+class BlockHookOperationTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block/src/Tests/BlockHtmlTest.php b/core/modules/block/tests/src/Functional/BlockHtmlTest.php
similarity index 92%
rename from core/modules/block/src/Tests/BlockHtmlTest.php
rename to core/modules/block/tests/src/Functional/BlockHtmlTest.php
index baf5d4b..89bbcf9 100644
--- a/core/modules/block/src/Tests/BlockHtmlTest.php
+++ b/core/modules/block/tests/src/Functional/BlockHtmlTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests block HTML ID validity.
  *
  * @group block
  */
-class BlockHtmlTest extends WebTestBase {
+class BlockHtmlTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block/src/Tests/BlockInvalidRegionTest.php b/core/modules/block/tests/src/Functional/BlockInvalidRegionTest.php
similarity index 94%
rename from core/modules/block/src/Tests/BlockInvalidRegionTest.php
rename to core/modules/block/tests/src/Functional/BlockInvalidRegionTest.php
index 99ef06d..b0e08b9 100644
--- a/core/modules/block/src/Tests/BlockInvalidRegionTest.php
+++ b/core/modules/block/tests/src/Functional/BlockInvalidRegionTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\block\Entity\Block;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group block
  */
-class BlockInvalidRegionTest extends WebTestBase {
+class BlockInvalidRegionTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block/src/Tests/BlockLanguageTest.php b/core/modules/block/tests/src/Functional/BlockLanguageTest.php
similarity index 98%
rename from core/modules/block/src/Tests/BlockLanguageTest.php
rename to core/modules/block/tests/src/Functional/BlockLanguageTest.php
index a2bf249..7e0a0e1 100644
--- a/core/modules/block/src/Tests/BlockLanguageTest.php
+++ b/core/modules/block/tests/src/Functional/BlockLanguageTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\block\Entity\Block;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group block
  */
-class BlockLanguageTest extends WebTestBase {
+class BlockLanguageTest extends BrowserTestBase {
 
   /**
    * An administrative user to configure the test environment.
diff --git a/core/modules/block/src/Tests/BlockTemplateSuggestionsTest.php b/core/modules/block/tests/src/Functional/BlockTemplateSuggestionsTest.php
similarity index 91%
rename from core/modules/block/src/Tests/BlockTemplateSuggestionsTest.php
rename to core/modules/block/tests/src/Functional/BlockTemplateSuggestionsTest.php
index d5ce8e6..ca13c58 100644
--- a/core/modules/block/src/Tests/BlockTemplateSuggestionsTest.php
+++ b/core/modules/block/tests/src/Functional/BlockTemplateSuggestionsTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
 use Drupal\block\Entity\Block;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the block_theme_suggestions_block() function.
  *
  * @group block
  */
-class BlockTemplateSuggestionsTest extends WebTestBase {
+class BlockTemplateSuggestionsTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php b/core/modules/block/tests/src/Functional/NewDefaultThemeBlocksTest.php
similarity index 95%
rename from core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php
rename to core/modules/block/tests/src/Functional/NewDefaultThemeBlocksTest.php
index 9442df5..60d132e 100644
--- a/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php
+++ b/core/modules/block/tests/src/Functional/NewDefaultThemeBlocksTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\block\Tests;
+namespace Drupal\Tests\block\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that the new default theme gets blocks.
  *
  * @group block
  */
-class NewDefaultThemeBlocksTest extends WebTestBase {
+class NewDefaultThemeBlocksTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/block_content/src/Tests/BlockContentTestBase.php b/core/modules/block_content/src/Tests/BlockContentTestBase.php
index 16df855..28c6e22 100644
--- a/core/modules/block_content/src/Tests/BlockContentTestBase.php
+++ b/core/modules/block_content/src/Tests/BlockContentTestBase.php
@@ -8,6 +8,9 @@
 
 /**
  * Sets up block content types.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\block_content\Functional\BlockContentTestBase instead.
  */
 abstract class BlockContentTestBase extends WebTestBase {
 
diff --git a/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php b/core/modules/block_content/tests/src/Functional/BlockContentCacheTagsTest.php
similarity index 98%
rename from core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php
rename to core/modules/block_content/tests/src/Functional/BlockContentCacheTagsTest.php
index 7eefdc7..f44a773 100644
--- a/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\block_content\Entity\BlockContentType;
diff --git a/core/modules/block_content/src/Tests/BlockContentPageViewTest.php b/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
similarity index 94%
rename from core/modules/block_content/src/Tests/BlockContentPageViewTest.php
rename to core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
index 46c19cb..8c55da3 100644
--- a/core/modules/block_content/src/Tests/BlockContentPageViewTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 /**
  * Create a block and test block access by attempting to view the block.
diff --git a/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php b/core/modules/block_content/tests/src/Functional/BlockContentRevisionsTest.php
similarity index 98%
rename from core/modules/block_content/src/Tests/BlockContentRevisionsTest.php
rename to core/modules/block_content/tests/src/Functional/BlockContentRevisionsTest.php
index 7c4a8f2..33f75ed 100644
--- a/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentRevisionsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\user\Entity\User;
diff --git a/core/modules/block_content/src/Tests/BlockContentSaveTest.php b/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
similarity index 98%
rename from core/modules/block_content/src/Tests/BlockContentSaveTest.php
rename to core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
index aabf7b6..a68f423 100644
--- a/core/modules/block_content/src/Tests/BlockContentSaveTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 use Drupal\block_content\Entity\BlockContent;
 
diff --git a/core/modules/block_content/src/Tests/BlockContentTestBase.php b/core/modules/block_content/tests/src/Functional/BlockContentTestBase.php
similarity index 94%
copy from core/modules/block_content/src/Tests/BlockContentTestBase.php
copy to core/modules/block_content/tests/src/Functional/BlockContentTestBase.php
index 16df855..e5e7736 100644
--- a/core/modules/block_content/src/Tests/BlockContentTestBase.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentTestBase.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\block_content\Entity\BlockContentType;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Sets up block content types.
  */
-abstract class BlockContentTestBase extends WebTestBase {
+abstract class BlockContentTestBase extends BrowserTestBase {
 
   /**
    * Profile to use.
diff --git a/core/modules/block_content/src/Tests/PageEditTest.php b/core/modules/block_content/tests/src/Functional/PageEditTest.php
similarity index 98%
rename from core/modules/block_content/src/Tests/PageEditTest.php
rename to core/modules/block_content/tests/src/Functional/PageEditTest.php
index 4a3fb90..bab2a29 100644
--- a/core/modules/block_content/src/Tests/PageEditTest.php
+++ b/core/modules/block_content/tests/src/Functional/PageEditTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\block_content\Tests;
+namespace Drupal\Tests\block_content\Functional;
 
 use Drupal\block_content\Entity\BlockContent;
 use Drupal\Component\Utility\Unicode;
diff --git a/core/modules/ckeditor/src/Tests/CKEditorToolbarButtonTest.php b/core/modules/ckeditor/tests/src/Functional/CKEditorToolbarButtonTest.php
similarity index 93%
rename from core/modules/ckeditor/src/Tests/CKEditorToolbarButtonTest.php
rename to core/modules/ckeditor/tests/src/Functional/CKEditorToolbarButtonTest.php
index 22874b7..e8d0e2d 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorToolbarButtonTest.php
+++ b/core/modules/ckeditor/tests/src/Functional/CKEditorToolbarButtonTest.php
@@ -1,11 +1,11 @@
 <?php
 
-namespace Drupal\ckeditor\Tests;
+namespace Drupal\Tests\ckeditor\Functional;
 
 
 use Drupal\filter\Entity\FilterFormat;
 use Drupal\editor\Entity\Editor;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Component\Serialization\Json;
 
 /**
@@ -13,7 +13,7 @@
  *
  * @group ckeditor
  */
-class CKEditorToolbarButtonTest extends WebTestBase {
+class CKEditorToolbarButtonTest extends BrowserTestBase {
 
   /**
    * Modules to enable for this test.
diff --git a/core/modules/config/src/Tests/ConfigDependencyWebTest.php b/core/modules/config/tests/src/Functional/ConfigDependencyWebTest.php
similarity index 97%
rename from core/modules/config/src/Tests/ConfigDependencyWebTest.php
rename to core/modules/config/tests/src/Functional/ConfigDependencyWebTest.php
index 5eb5206..c243e9a 100644
--- a/core/modules/config/src/Tests/ConfigDependencyWebTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigDependencyWebTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
 use Drupal\Core\Config\Entity\ConfigEntityStorage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests configuration entities.
  *
  * @group config
  */
-class ConfigDependencyWebTest extends WebTestBase {
+class ConfigDependencyWebTest extends BrowserTestBase {
 
   /**
    * The maximum length for the entity storage used in this test.
diff --git a/core/modules/config/src/Tests/ConfigEntityListMultilingualTest.php b/core/modules/config/tests/src/Functional/ConfigEntityListMultilingualTest.php
similarity index 92%
rename from core/modules/config/src/Tests/ConfigEntityListMultilingualTest.php
rename to core/modules/config/tests/src/Functional/ConfigEntityListMultilingualTest.php
index f5c12d8..6c40ded 100644
--- a/core/modules/config/src/Tests/ConfigEntityListMultilingualTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigEntityListMultilingualTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\language\Entity\ConfigurableLanguage;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group config
  */
-class ConfigEntityListMultilingualTest extends WebTestBase {
+class ConfigEntityListMultilingualTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php b/core/modules/config/tests/src/Functional/ConfigEntityStatusUITest.php
similarity index 89%
rename from core/modules/config/src/Tests/ConfigEntityStatusUITest.php
rename to core/modules/config/tests/src/Functional/ConfigEntityStatusUITest.php
index 95dd9da..9ae9412 100644
--- a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
+++ b/core/modules/config/tests/src/Functional/ConfigEntityStatusUITest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests configuration entity status UI functionality.
  *
  * @group config
  */
-class ConfigEntityStatusUITest extends WebTestBase {
+class ConfigEntityStatusUITest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php b/core/modules/config/tests/src/Functional/ConfigInstallProfileOverrideTest.php
similarity index 97%
rename from core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php
rename to core/modules/config/tests/src/Functional/ConfigInstallProfileOverrideTest.php
index ec508df..9ed75a4 100644
--- a/core/modules/config/src/Tests/ConfigInstallProfileOverrideTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigInstallProfileOverrideTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Config\InstallStorage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Core\Config\FileStorage;
 use Drupal\system\Entity\Action;
 use Drupal\tour\Entity\Tour;
@@ -15,7 +15,7 @@
  *
  * @group config
  */
-class ConfigInstallProfileOverrideTest extends WebTestBase {
+class ConfigInstallProfileOverrideTest extends BrowserTestBase {
 
   /**
    * The profile to install as a basis for testing.
diff --git a/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php b/core/modules/config/tests/src/Functional/ConfigLanguageOverrideWebTest.php
similarity index 95%
rename from core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php
rename to core/modules/config/tests/src/Functional/ConfigLanguageOverrideWebTest.php
index f966e5f..5aa194e 100644
--- a/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigLanguageOverrideWebTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests language overrides applied through the website.
  *
  * @group config
  */
-class ConfigLanguageOverrideWebTest extends WebTestBase {
+class ConfigLanguageOverrideWebTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/config/src/Tests/ConfigOtherModuleTest.php b/core/modules/config/tests/src/Functional/ConfigOtherModuleTest.php
similarity index 97%
rename from core/modules/config/src/Tests/ConfigOtherModuleTest.php
rename to core/modules/config/tests/src/Functional/ConfigOtherModuleTest.php
index 425c49b..e1d0d8d 100644
--- a/core/modules/config/src/Tests/ConfigOtherModuleTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigOtherModuleTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests default configuration provided by a module that does not own it.
  *
  * @group config
  */
-class ConfigOtherModuleTest extends WebTestBase {
+class ConfigOtherModuleTest extends BrowserTestBase {
 
   /**
    * Tests enabling the provider of the default configuration first.
diff --git a/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php b/core/modules/config/tests/src/Functional/SchemaConfigListenerWebTest.php
similarity index 93%
rename from core/modules/config/src/Tests/SchemaConfigListenerWebTest.php
rename to core/modules/config/tests/src/Functional/SchemaConfigListenerWebTest.php
index 42441b1..bab8a3e 100644
--- a/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php
+++ b/core/modules/config/tests/src/Functional/SchemaConfigListenerWebTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\config\Tests;
+namespace Drupal\Tests\config\Functional;
 
 use Drupal\Core\Config\Schema\SchemaIncompleteException;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the functionality of ConfigSchemaChecker in WebTestBase tests.
  *
  * @group config
  */
-class SchemaConfigListenerWebTest extends WebTestBase {
+class SchemaConfigListenerWebTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationDateFormatUiTest.php b/core/modules/config_translation/tests/src/Functional/ConfigTranslationDateFormatUiTest.php
similarity index 91%
rename from core/modules/config_translation/src/Tests/ConfigTranslationDateFormatUiTest.php
rename to core/modules/config_translation/tests/src/Functional/ConfigTranslationDateFormatUiTest.php
index ceb69d0..9ddbdf3 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationDateFormatUiTest.php
+++ b/core/modules/config_translation/tests/src/Functional/ConfigTranslationDateFormatUiTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\config_translation\Tests;
+namespace Drupal\Tests\config_translation\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the content translation behaviours on date formats.
  *
  * @group config_translation
  */
-class ConfigTranslationDateFormatUiTest extends WebTestBase {
+class ConfigTranslationDateFormatUiTest extends BrowserTestBase {
 
   public static $modules = array(
     'language',
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php b/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
similarity index 99%
rename from core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
rename to core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
index 8bd3d71..db4af56 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
+++ b/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\config_translation\Tests;
+namespace Drupal\Tests\config_translation\Functional;
 
 use Drupal\block_content\Entity\BlockContentType;
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\shortcut\Entity\ShortcutSet;
 use Drupal\contact\Entity\ContactForm;
 use Drupal\filter\Entity\FilterFormat;
@@ -19,7 +19,7 @@
  * @group config_translation
  * @see \Drupal\config_translation\Tests\ConfigTranslationViewListUiTest
  */
-class ConfigTranslationListUiTest extends WebTestBase {
+class ConfigTranslationListUiTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php b/core/modules/config_translation/tests/src/Functional/ConfigTranslationViewListUiTest.php
similarity index 96%
rename from core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php
rename to core/modules/config_translation/tests/src/Functional/ConfigTranslationViewListUiTest.php
index bccbd88..9a9aee3 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php
+++ b/core/modules/config_translation/tests/src/Functional/ConfigTranslationViewListUiTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\config_translation\Tests;
+namespace Drupal\Tests\config_translation\Functional;
 
 use Drupal\views_ui\Tests\UITestBase;
 
diff --git a/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php b/core/modules/contact/tests/src/Functional/ContactAuthenticatedUserTest.php
similarity index 84%
rename from core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php
rename to core/modules/contact/tests/src/Functional/ContactAuthenticatedUserTest.php
index eb7c527..4b4a520 100644
--- a/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php
+++ b/core/modules/contact/tests/src/Functional/ContactAuthenticatedUserTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\contact\Tests;
+namespace Drupal\Tests\contact\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests contact form textfields are present if authenticated.
  *
  * @group contact
  */
-class ContactAuthenticatedUserTest extends WebTestBase {
+class ContactAuthenticatedUserTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/contact/src/Tests/ContactLanguageTest.php b/core/modules/contact/tests/src/Functional/ContactLanguageTest.php
similarity index 92%
rename from core/modules/contact/src/Tests/ContactLanguageTest.php
rename to core/modules/contact/tests/src/Functional/ContactLanguageTest.php
index 4623bda..47d1533 100644
--- a/core/modules/contact/src/Tests/ContactLanguageTest.php
+++ b/core/modules/contact/tests/src/Functional/ContactLanguageTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\contact\Tests;
+namespace Drupal\Tests\contact\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests contact messages with language module.
@@ -13,7 +13,7 @@
  *
  * @group contact
  */
-class ContactLanguageTest extends WebTestBase {
+class ContactLanguageTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php b/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php
index 22307df..8574a99 100644
--- a/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php
+++ b/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php
@@ -8,6 +8,9 @@
 
 /**
  * Defines a base class for moderation state tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\content_moderation\Functional\ModerationStateTestBase instead.
  */
 abstract class ModerationStateTestBase extends WebTestBase {
 
diff --git a/core/modules/content_moderation/src/Tests/ModerationLocaleTest.php b/core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php
similarity index 99%
rename from core/modules/content_moderation/src/Tests/ModerationLocaleTest.php
rename to core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php
index a78c104..a9d95f0 100644
--- a/core/modules/content_moderation/src/Tests/ModerationLocaleTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\content_moderation\Tests;
+namespace Drupal\Tests\content_moderation\Functional;
 
 /**
  * Test content_moderation functionality with localization and translation.
diff --git a/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php b/core/modules/content_moderation/tests/src/Functional/ModerationStateTestBase.php
similarity index 96%
copy from core/modules/content_moderation/src/Tests/ModerationStateTestBase.php
copy to core/modules/content_moderation/tests/src/Functional/ModerationStateTestBase.php
index 22307df..1319eca 100644
--- a/core/modules/content_moderation/src/Tests/ModerationStateTestBase.php
+++ b/core/modules/content_moderation/tests/src/Functional/ModerationStateTestBase.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\content_moderation\Tests;
+namespace Drupal\Tests\content_moderation\Functional;
 
 use Drupal\Core\Session\AccountInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\Role;
 
 /**
  * Defines a base class for moderation state tests.
  */
-abstract class ModerationStateTestBase extends WebTestBase {
+abstract class ModerationStateTestBase extends BrowserTestBase {
 
   /**
    * Profile to use.
diff --git a/core/modules/content_moderation/src/Tests/NodeAccessTest.php b/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
similarity index 97%
rename from core/modules/content_moderation/src/Tests/NodeAccessTest.php
rename to core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
index 7392a7e..2d52421 100644
--- a/core/modules/content_moderation/src/Tests/NodeAccessTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/NodeAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\content_moderation\Tests;
+namespace Drupal\Tests\content_moderation\Functional;
 
 /**
  * Tests permission access control around nodes.
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php b/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php
index 5d9a8d0..96921c0 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php
@@ -10,6 +10,9 @@
 
 /**
  * Base class for content translation tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\content_translation\Functional\ContentTranslationTestBase instead.
  */
 abstract class ContentTranslationTestBase extends WebTestBase {
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php b/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
index 21eda6b..e5b14c2 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
@@ -14,6 +14,9 @@
 
 /**
  * Tests the Content Translation UI.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\content_translation\Functional\ContentTranslationUITestBase instead.
  */
 abstract class ContentTranslationUITestBase extends ContentTranslationTestBase {
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationEntityBundleUITest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationEntityBundleUITest.php
similarity index 91%
rename from core/modules/content_translation/src/Tests/ContentTranslationEntityBundleUITest.php
rename to core/modules/content_translation/tests/src/Functional/ContentTranslationEntityBundleUITest.php
index 03f30a1..c735716 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationEntityBundleUITest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationEntityBundleUITest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the content translation behaviours on entity bundle UI.
  *
  * @group content_translation
  */
-class ContentTranslationEntityBundleUITest extends WebTestBase {
+class ContentTranslationEntityBundleUITest extends BrowserTestBase {
 
   public static $modules = array('language', 'content_translation', 'node', 'comment', 'field_ui');
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationMetadataFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
similarity index 99%
rename from core/modules/content_translation/src/Tests/ContentTranslationMetadataFieldsTest.php
rename to core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
index a45fda4..0f13079 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationMetadataFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationMetadataFieldsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
 /**
  * Tests the Content Translation metadata fields handling.
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationOperationsTest.php
similarity index 98%
rename from core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php
rename to core/modules/content_translation/tests/src/Functional/ContentTranslationOperationsTest.php
index 90449da..611d5d9 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationOperationsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationOperationsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\node\Tests\NodeTestBase;
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php
similarity index 93%
rename from core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php
rename to core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php
index 8d2ec13..37178ca 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationStandardFieldsTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the Content translation settings using the standard profile.
  *
  * @group content_translation
  */
-class ContentTranslationStandardFieldsTest extends WebTestBase {
+class ContentTranslationStandardFieldsTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
similarity index 97%
copy from core/modules/content_translation/src/Tests/ContentTranslationTestBase.php
copy to core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
index 5d9a8d0..822cbdd 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationTestBase.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationTestBase.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
 use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
  * Base class for content translation tests.
  */
-abstract class ContentTranslationTestBase extends WebTestBase {
+abstract class ContentTranslationTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationUISkipTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationUISkipTest.php
similarity index 85%
rename from core/modules/content_translation/src/Tests/ContentTranslationUISkipTest.php
rename to core/modules/content_translation/tests/src/Functional/ContentTranslationUISkipTest.php
index 2f8be23..74d5de5 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationUISkipTest.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationUISkipTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the content translation UI check skip.
  *
  * @group content_translation
  */
-class ContentTranslationUISkipTest extends WebTestBase {
+class ContentTranslationUISkipTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationUITestBase.php
similarity index 99%
copy from core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
copy to core/modules/content_translation/tests/src/Functional/ContentTranslationUITestBase.php
index 21eda6b..769006e 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationUITestBase.php
+++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationUITestBase.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\content_translation\Tests;
+namespace Drupal\Tests\content_translation\Functional;
 
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityChangedInterface;
diff --git a/core/modules/dblog/src/Tests/ConnectionFailureTest.php b/core/modules/dblog/tests/src/Functional/ConnectionFailureTest.php
similarity index 91%
rename from core/modules/dblog/src/Tests/ConnectionFailureTest.php
rename to core/modules/dblog/tests/src/Functional/ConnectionFailureTest.php
index d800224..df088a3 100644
--- a/core/modules/dblog/src/Tests/ConnectionFailureTest.php
+++ b/core/modules/dblog/tests/src/Functional/ConnectionFailureTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\dblog\Tests;
+namespace Drupal\Tests\dblog\Functional;
 
 use Drupal\Core\Database\Database;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests logging of connection failures.
  *
  * @group dblog
  */
-class ConnectionFailureTest extends WebTestBase {
+class ConnectionFailureTest extends BrowserTestBase {
 
   public static $modules = array('dblog');
 
diff --git a/core/modules/dynamic_page_cache/src/Tests/DynamicPageCacheIntegrationTest.php b/core/modules/dynamic_page_cache/tests/src/Functional/DynamicPageCacheIntegrationTest.php
similarity index 97%
rename from core/modules/dynamic_page_cache/src/Tests/DynamicPageCacheIntegrationTest.php
rename to core/modules/dynamic_page_cache/tests/src/Functional/DynamicPageCacheIntegrationTest.php
index 067a104..5b8e5d7 100644
--- a/core/modules/dynamic_page_cache/src/Tests/DynamicPageCacheIntegrationTest.php
+++ b/core/modules/dynamic_page_cache/tests/src/Functional/DynamicPageCacheIntegrationTest.php
@@ -1,11 +1,11 @@
 <?php
 
-namespace Drupal\dynamic_page_cache\Tests;
+namespace Drupal\Tests\dynamic_page_cache\Functional;
 
 use Drupal\Core\EventSubscriber\MainContentViewSubscriber;
 use Drupal\Core\Url;
 use Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Enables the Dynamic Page Cache and tests it in various scenarios.
@@ -20,7 +20,7 @@
  *
  * @see \Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber
  */
-class DynamicPageCacheIntegrationTest extends WebTestBase {
+class DynamicPageCacheIntegrationTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/editor/src/Tests/EditorDialogAccessTest.php b/core/modules/editor/tests/src/Functional/EditorDialogAccessTest.php
similarity index 98%
rename from core/modules/editor/src/Tests/EditorDialogAccessTest.php
rename to core/modules/editor/tests/src/Functional/EditorDialogAccessTest.php
index 3221f0f..3a97b35 100644
--- a/core/modules/editor/src/Tests/EditorDialogAccessTest.php
+++ b/core/modules/editor/tests/src/Functional/EditorDialogAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\editor\Tests;
+namespace Drupal\Tests\editor\Functional;
 
 use Drupal\Core\Url;
 use Drupal\editor\Entity\Editor;
diff --git a/core/modules/editor/src/Tests/EditorPrivateFileReferenceFilterTest.php b/core/modules/editor/tests/src/Functional/EditorPrivateFileReferenceFilterTest.php
similarity index 98%
rename from core/modules/editor/src/Tests/EditorPrivateFileReferenceFilterTest.php
rename to core/modules/editor/tests/src/Functional/EditorPrivateFileReferenceFilterTest.php
index 5f689b3..4ca923b 100644
--- a/core/modules/editor/src/Tests/EditorPrivateFileReferenceFilterTest.php
+++ b/core/modules/editor/tests/src/Functional/EditorPrivateFileReferenceFilterTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\editor\Tests;
+namespace Drupal\Tests\editor\Functional;
 
 use Drupal\file\Entity\File;
 use Drupal\Tests\BrowserTestBase;
diff --git a/core/modules/field/src/Tests/FieldTestBase.php b/core/modules/field/src/Tests/FieldTestBase.php
index 4fe944f..30c80df 100644
--- a/core/modules/field/src/Tests/FieldTestBase.php
+++ b/core/modules/field/src/Tests/FieldTestBase.php
@@ -8,6 +8,9 @@
 
 /**
  * Parent class for Field API tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\field\Functional\FieldTestBase instead.
  */
 abstract class FieldTestBase extends WebTestBase {
 
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceAutoCreateTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceAutoCreateTest.php
similarity index 97%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceAutoCreateTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/EntityReferenceAutoCreateTest.php
index 0f35fde..b2a1655 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceAutoCreateTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceAutoCreateTest.php
@@ -1,11 +1,12 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Functional\EntityReference;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait;
 use Drupal\taxonomy\Entity\Vocabulary;
 use Drupal\node\Entity\Node;
 use Drupal\field\Entity\FieldStorageConfig;
@@ -15,7 +16,7 @@
  *
  * @group entity_reference
  */
-class EntityReferenceAutoCreateTest extends WebTestBase {
+class EntityReferenceAutoCreateTest extends BrowserTestBase {
 
   use EntityReferenceTestTrait;
 
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceFieldDefaultValueTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldDefaultValueTest.php
similarity index 97%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceFieldDefaultValueTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldDefaultValueTest.php
index ea37bb7..5af26f1 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceFieldDefaultValueTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldDefaultValueTest.php
@@ -1,20 +1,20 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Functional\EntityReference;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Tests\SchemaCheckTestTrait;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\node\Entity\Node;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests entity reference field default values storage in CMI.
  *
  * @group entity_reference
  */
-class EntityReferenceFieldDefaultValueTest extends WebTestBase {
+class EntityReferenceFieldDefaultValueTest extends BrowserTestBase {
 
   use SchemaCheckTestTrait;
 
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php
similarity index 98%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php
index f0856d3..52dde09 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceFieldTranslatedReferenceViewTest.php
@@ -1,11 +1,11 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Functional\EntityReference;
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
@@ -13,7 +13,7 @@
  *
  * @group entity_reference
  */
-class EntityReferenceFieldTranslatedReferenceViewTest extends WebTestBase {
+class EntityReferenceFieldTranslatedReferenceViewTest extends BrowserTestBase {
 
   /**
    * Flag indicating whether the field is translatable.
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceIntegrationTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceIntegrationTest.php
similarity index 97%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceIntegrationTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/EntityReferenceIntegrationTest.php
index 4c099fe..cb54d15 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceIntegrationTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceIntegrationTest.php
@@ -1,19 +1,20 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Functional\EntityReference;
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\config\Tests\AssertConfigEntityImportTrait;
 use Drupal\entity_test\Entity\EntityTest;
 use Drupal\field\Entity\FieldConfig;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait;
 
 /**
  * Tests various Entity reference UI components.
  *
  * @group entity_reference
  */
-class EntityReferenceIntegrationTest extends WebTestBase {
+class EntityReferenceIntegrationTest extends BrowserTestBase {
 
   use AssertConfigEntityImportTrait;
   use EntityReferenceTestTrait;
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceXSSTest.php b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php
similarity index 91%
rename from core/modules/field/src/Tests/EntityReference/EntityReferenceXSSTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php
index f72312f..46986ec 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceXSSTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/EntityReferenceXSSTest.php
@@ -1,17 +1,18 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference;
+namespace Drupal\Tests\field\Functional\EntityReference;
 
 use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait;
 
 /**
  * Tests possible XSS security issues in entity references.
  *
  * @group entity_reference
  */
-class EntityReferenceXSSTest extends WebTestBase {
+class EntityReferenceXSSTest extends BrowserTestBase {
 
   use EntityReferenceTestTrait;
 
diff --git a/core/modules/field/src/Tests/EntityReference/Views/SelectionTest.php b/core/modules/field/tests/src/Functional/EntityReference/Views/SelectionTest.php
similarity index 96%
rename from core/modules/field/src/Tests/EntityReference/Views/SelectionTest.php
rename to core/modules/field/tests/src/Functional/EntityReference/Views/SelectionTest.php
index e677dbc..4ccf8cf 100644
--- a/core/modules/field/src/Tests/EntityReference/Views/SelectionTest.php
+++ b/core/modules/field/tests/src/Functional/EntityReference/Views/SelectionTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\field\Tests\EntityReference\Views;
+namespace Drupal\Tests\field\Functional\EntityReference\Views;
 
 use Drupal\field\Entity\FieldConfig;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\views\Views;
 use Drupal\field\Entity\FieldStorageConfig;
 
@@ -12,7 +12,7 @@
  *
  * @group entity_reference
  */
-class SelectionTest extends WebTestBase {
+class SelectionTest extends BrowserTestBase {
 
   public static $modules = ['node', 'views', 'entity_reference_test', 'entity_test'];
 
diff --git a/core/modules/field/src/Tests/FieldAccessTest.php b/core/modules/field/tests/src/Functional/FieldAccessTest.php
similarity index 98%
rename from core/modules/field/src/Tests/FieldAccessTest.php
rename to core/modules/field/tests/src/Functional/FieldAccessTest.php
index 0553406..a9af836 100644
--- a/core/modules/field/src/Tests/FieldAccessTest.php
+++ b/core/modules/field/tests/src/Functional/FieldAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Functional;
 
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
diff --git a/core/modules/field/src/Tests/FieldHelpTest.php b/core/modules/field/tests/src/Functional/FieldHelpTest.php
similarity index 93%
rename from core/modules/field/src/Tests/FieldHelpTest.php
rename to core/modules/field/tests/src/Functional/FieldHelpTest.php
index 1103320..76affaa 100644
--- a/core/modules/field/src/Tests/FieldHelpTest.php
+++ b/core/modules/field/tests/src/Functional/FieldHelpTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests help display for the Field module.
  *
  * @group field
  */
-class FieldHelpTest extends WebTestBase {
+class FieldHelpTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/field/src/Tests/FieldTestBase.php b/core/modules/field/tests/src/Functional/FieldTestBase.php
similarity index 94%
copy from core/modules/field/src/Tests/FieldTestBase.php
copy to core/modules/field/tests/src/Functional/FieldTestBase.php
index 4fe944f..40cffac 100644
--- a/core/modules/field/src/Tests/FieldTestBase.php
+++ b/core/modules/field/tests/src/Functional/FieldTestBase.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Functional;
 
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Language\LanguageInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Parent class for Field API tests.
  */
-abstract class FieldTestBase extends WebTestBase {
+abstract class FieldTestBase extends BrowserTestBase {
 
   /**
    * Generate random values for a field_test field.
diff --git a/core/modules/field/src/Tests/TranslationWebTest.php b/core/modules/field/tests/src/Functional/TranslationWebTest.php
similarity index 99%
rename from core/modules/field/src/Tests/TranslationWebTest.php
rename to core/modules/field/tests/src/Functional/TranslationWebTest.php
index eed78a2..3e0f849 100644
--- a/core/modules/field/src/Tests/TranslationWebTest.php
+++ b/core/modules/field/tests/src/Functional/TranslationWebTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\field\Tests;
+namespace Drupal\Tests\field\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldStorageConfig;
diff --git a/core/modules/field_ui/src/Tests/EntityDisplayModeTest.php b/core/modules/field_ui/tests/src/Functional/EntityDisplayModeTest.php
similarity index 97%
rename from core/modules/field_ui/src/Tests/EntityDisplayModeTest.php
rename to core/modules/field_ui/tests/src/Functional/EntityDisplayModeTest.php
index f808a1e..1d2cab0 100644
--- a/core/modules/field_ui/src/Tests/EntityDisplayModeTest.php
+++ b/core/modules/field_ui/tests/src/Functional/EntityDisplayModeTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\field_ui\Tests;
+namespace Drupal\Tests\field_ui\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the entity display modes UI.
  *
  * @group field_ui
  */
-class EntityDisplayModeTest extends WebTestBase {
+class EntityDisplayModeTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/field_ui/src/Tests/FieldUIIndentationTest.php b/core/modules/field_ui/tests/src/Functional/FieldUIIndentationTest.php
similarity index 85%
rename from core/modules/field_ui/src/Tests/FieldUIIndentationTest.php
rename to core/modules/field_ui/tests/src/Functional/FieldUIIndentationTest.php
index 898b417..528f2c4 100644
--- a/core/modules/field_ui/src/Tests/FieldUIIndentationTest.php
+++ b/core/modules/field_ui/tests/src/Functional/FieldUIIndentationTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\field_ui\Tests;
+namespace Drupal\Tests\field_ui\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests indentation on Field UI.
  *
  * @group field_ui
  */
-class FieldUIIndentationTest extends WebTestBase {
+class FieldUIIndentationTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php b/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php
similarity index 96%
rename from core/modules/field_ui/src/Tests/FieldUIRouteTest.php
rename to core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php
index 6533f09..1e954e5 100644
--- a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php
+++ b/core/modules/field_ui/tests/src/Functional/FieldUIRouteTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\field_ui\Tests;
+namespace Drupal\Tests\field_ui\Functional;
 
 use Drupal\Core\Entity\Entity\EntityFormMode;
 use Drupal\Core\Entity\Entity\EntityViewMode;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the functionality of the Field UI route subscriber.
  *
  * @group field_ui
  */
-class FieldUIRouteTest extends WebTestBase {
+class FieldUIRouteTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/file/src/Tests/FileFieldTestBase.php b/core/modules/file/src/Tests/FileFieldTestBase.php
index 307eb4d..9ec9c75 100644
--- a/core/modules/file/src/Tests/FileFieldTestBase.php
+++ b/core/modules/file/src/Tests/FileFieldTestBase.php
@@ -10,6 +10,9 @@
 
 /**
  * Provides methods specifically for testing File module's field handling.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\file\Functional\FileFieldTestBase instead.
  */
 abstract class FileFieldTestBase extends WebTestBase {
 
diff --git a/core/modules/file/src/Tests/FileManagedTestBase.php b/core/modules/file/src/Tests/FileManagedTestBase.php
index a6e94fa..711d8a4 100644
--- a/core/modules/file/src/Tests/FileManagedTestBase.php
+++ b/core/modules/file/src/Tests/FileManagedTestBase.php
@@ -9,6 +9,9 @@
 /**
  * Base class for file tests that use the file_test module to test uploads and
  * hooks.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\file\Functional\FileManagedTestBase instead.
  */
 abstract class FileManagedTestBase extends WebTestBase {
 
diff --git a/core/modules/file/src/Tests/FileFieldTestBase.php b/core/modules/file/tests/src/Functional/FileFieldTestBase.php
similarity index 98%
copy from core/modules/file/src/Tests/FileFieldTestBase.php
copy to core/modules/file/tests/src/Functional/FileFieldTestBase.php
index 307eb4d..d2f3bee 100644
--- a/core/modules/file/src/Tests/FileFieldTestBase.php
+++ b/core/modules/file/tests/src/Functional/FileFieldTestBase.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\file\Tests;
+namespace Drupal\Tests\file\Functional;
 
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\file\FileInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\file\Entity\File;
 
 /**
  * Provides methods specifically for testing File module's field handling.
  */
-abstract class FileFieldTestBase extends WebTestBase {
+abstract class FileFieldTestBase extends BrowserTestBase {
 
   /**
   * Modules to enable.
diff --git a/core/modules/file/src/Tests/FileManagedAccessTest.php b/core/modules/file/tests/src/Functional/FileManagedAccessTest.php
similarity index 98%
rename from core/modules/file/src/Tests/FileManagedAccessTest.php
rename to core/modules/file/tests/src/Functional/FileManagedAccessTest.php
index 391f91a..97f77b6 100644
--- a/core/modules/file/src/Tests/FileManagedAccessTest.php
+++ b/core/modules/file/tests/src/Functional/FileManagedAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\file\Tests;
+namespace Drupal\Tests\file\Functional;
 
 use Drupal\file\Entity\File;
 
diff --git a/core/modules/file/src/Tests/FileManagedTestBase.php b/core/modules/file/tests/src/Functional/FileManagedTestBase.php
similarity index 98%
copy from core/modules/file/src/Tests/FileManagedTestBase.php
copy to core/modules/file/tests/src/Functional/FileManagedTestBase.php
index a6e94fa..6bd57dd 100644
--- a/core/modules/file/src/Tests/FileManagedTestBase.php
+++ b/core/modules/file/tests/src/Functional/FileManagedTestBase.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\file\Tests;
+namespace Drupal\Tests\file\Functional;
 
 use Drupal\file\Entity\File;
 use Drupal\file\FileInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Base class for file tests that use the file_test module to test uploads and
  * hooks.
  */
-abstract class FileManagedTestBase extends WebTestBase {
+abstract class FileManagedTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/filter/src/Tests/FilterCaptionTwigDebugTest.php b/core/modules/filter/tests/src/Functional/FilterCaptionTwigDebugTest.php
similarity index 95%
rename from core/modules/filter/src/Tests/FilterCaptionTwigDebugTest.php
rename to core/modules/filter/tests/src/Functional/FilterCaptionTwigDebugTest.php
index cd5e8e2..ef520c7 100644
--- a/core/modules/filter/src/Tests/FilterCaptionTwigDebugTest.php
+++ b/core/modules/filter/tests/src/Functional/FilterCaptionTwigDebugTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\filter\Tests;
+namespace Drupal\Tests\filter\Functional;
 
 use Drupal\Core\Render\RenderContext;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\filter\FilterPluginCollection;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group filter
  */
-class FilterCaptionTwigDebugTest extends WebTestBase {
+class FilterCaptionTwigDebugTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/filter/src/Tests/FilterDefaultFormatTest.php b/core/modules/filter/tests/src/Functional/FilterDefaultFormatTest.php
similarity index 95%
rename from core/modules/filter/src/Tests/FilterDefaultFormatTest.php
rename to core/modules/filter/tests/src/Functional/FilterDefaultFormatTest.php
index 39a6295..6014c10 100644
--- a/core/modules/filter/src/Tests/FilterDefaultFormatTest.php
+++ b/core/modules/filter/tests/src/Functional/FilterDefaultFormatTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\filter\Tests;
+namespace Drupal\Tests\filter\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\filter\Entity\FilterFormat;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the default text formats for different users.
  *
  * @group filter
  */
-class FilterDefaultFormatTest extends WebTestBase {
+class FilterDefaultFormatTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/filter/src/Tests/FilterHooksTest.php b/core/modules/filter/tests/src/Functional/FilterHooksTest.php
similarity index 95%
rename from core/modules/filter/src/Tests/FilterHooksTest.php
rename to core/modules/filter/tests/src/Functional/FilterHooksTest.php
index 5353ccb..c499f23 100644
--- a/core/modules/filter/src/Tests/FilterHooksTest.php
+++ b/core/modules/filter/tests/src/Functional/FilterHooksTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\filter\Tests;
+namespace Drupal\Tests\filter\Functional;
 
 use Drupal\Component\Utility\Unicode;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\RoleInterface;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group filter
  */
-class FilterHooksTest extends WebTestBase {
+class FilterHooksTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/filter/src/Tests/FilterNoFormatTest.php b/core/modules/filter/tests/src/Functional/FilterNoFormatTest.php
similarity index 88%
rename from core/modules/filter/src/Tests/FilterNoFormatTest.php
rename to core/modules/filter/tests/src/Functional/FilterNoFormatTest.php
index 3dcc9f6..1139947 100644
--- a/core/modules/filter/src/Tests/FilterNoFormatTest.php
+++ b/core/modules/filter/tests/src/Functional/FilterNoFormatTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\filter\Tests;
+namespace Drupal\Tests\filter\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the behavior of check_markup() when it is called without text format.
  *
  * @group filter
  */
-class FilterNoFormatTest extends WebTestBase {
+class FilterNoFormatTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/filter/src/Tests/FilterSecurityTest.php b/core/modules/filter/tests/src/Functional/FilterSecurityTest.php
similarity index 96%
rename from core/modules/filter/src/Tests/FilterSecurityTest.php
rename to core/modules/filter/tests/src/Functional/FilterSecurityTest.php
index 12cd97a..4055159 100644
--- a/core/modules/filter/src/Tests/FilterSecurityTest.php
+++ b/core/modules/filter/tests/src/Functional/FilterSecurityTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\filter\Tests;
+namespace Drupal\Tests\filter\Functional;
 
 use Drupal\filter\Entity\FilterFormat;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\filter\Plugin\FilterInterface;
 use Drupal\user\RoleInterface;
 
@@ -14,7 +14,7 @@
  *
  * @group filter
  */
-class FilterSecurityTest extends WebTestBase {
+class FilterSecurityTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/forum/src/Tests/ForumIndexTest.php b/core/modules/forum/tests/src/Functional/ForumIndexTest.php
similarity index 95%
rename from core/modules/forum/src/Tests/ForumIndexTest.php
rename to core/modules/forum/tests/src/Functional/ForumIndexTest.php
index 8ead34f..8bcb482 100644
--- a/core/modules/forum/src/Tests/ForumIndexTest.php
+++ b/core/modules/forum/tests/src/Functional/ForumIndexTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\forum\Tests;
+namespace Drupal\Tests\forum\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the forum index listing.
  *
  * @group forum
  */
-class ForumIndexTest extends WebTestBase {
+class ForumIndexTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/forum/src/Tests/ForumNodeAccessTest.php b/core/modules/forum/tests/src/Functional/ForumNodeAccessTest.php
similarity index 95%
rename from core/modules/forum/src/Tests/ForumNodeAccessTest.php
rename to core/modules/forum/tests/src/Functional/ForumNodeAccessTest.php
index 8eda252..59a1192 100644
--- a/core/modules/forum/src/Tests/ForumNodeAccessTest.php
+++ b/core/modules/forum/tests/src/Functional/ForumNodeAccessTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\forum\Tests;
+namespace Drupal\Tests\forum\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\node\Entity\NodeType;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group forum
  */
-class ForumNodeAccessTest extends WebTestBase {
+class ForumNodeAccessTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/hal/src/Tests/FileDenormalizeTest.php b/core/modules/hal/tests/src/Functional/FileDenormalizeTest.php
similarity index 95%
rename from core/modules/hal/src/Tests/FileDenormalizeTest.php
rename to core/modules/hal/tests/src/Functional/FileDenormalizeTest.php
index f160634..36f8762 100644
--- a/core/modules/hal/src/Tests/FileDenormalizeTest.php
+++ b/core/modules/hal/tests/src/Functional/FileDenormalizeTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\hal\Tests;
+namespace Drupal\Tests\hal\Functional;
 
 use Drupal\file\Entity\File;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that file entities can be denormalized in HAL.
@@ -11,7 +11,7 @@
  * @group hal
  * @see \Drupal\hal\Normalizer\FileEntityNormalizer
  */
-class FileDenormalizeTest extends WebTestBase {
+class FileDenormalizeTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/image/src/Tests/ImageFieldTestBase.php b/core/modules/image/src/Tests/ImageFieldTestBase.php
index bb976f9..c17f53a 100644
--- a/core/modules/image/src/Tests/ImageFieldTestBase.php
+++ b/core/modules/image/src/Tests/ImageFieldTestBase.php
@@ -20,6 +20,9 @@
 
 /**
  * This class provides methods specifically for testing Image's field handling.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\image\Functional\ImageFieldTestBase instead.
  */
 abstract class ImageFieldTestBase extends WebTestBase {
 
diff --git a/core/modules/image/src/Tests/ImageEffectsTest.php b/core/modules/image/tests/src/Functional/ImageEffectsTest.php
similarity index 99%
rename from core/modules/image/src/Tests/ImageEffectsTest.php
rename to core/modules/image/tests/src/Functional/ImageEffectsTest.php
index 895457f..17c343b 100644
--- a/core/modules/image/src/Tests/ImageEffectsTest.php
+++ b/core/modules/image/tests/src/Functional/ImageEffectsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\image\Tests;
+namespace Drupal\Tests\image\Functional;
 
 use Drupal\image\Entity\ImageStyle;
 use Drupal\system\Tests\Image\ToolkitTestBase;
diff --git a/core/modules/image/src/Tests/ImageFieldTestBase.php b/core/modules/image/tests/src/Functional/ImageFieldTestBase.php
similarity index 96%
copy from core/modules/image/src/Tests/ImageFieldTestBase.php
copy to core/modules/image/tests/src/Functional/ImageFieldTestBase.php
index bb976f9..dfbc76e 100644
--- a/core/modules/image/src/Tests/ImageFieldTestBase.php
+++ b/core/modules/image/tests/src/Functional/ImageFieldTestBase.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\image\Tests;
+namespace Drupal\Tests\image\Functional;
 
 use Drupal\Tests\image\Kernel\ImageFieldCreationTrait;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * TODO: Test the following functions.
@@ -21,7 +21,7 @@
 /**
  * This class provides methods specifically for testing Image's field handling.
  */
-abstract class ImageFieldTestBase extends WebTestBase {
+abstract class ImageFieldTestBase extends BrowserTestBase {
 
   use ImageFieldCreationTrait;
 
diff --git a/core/modules/image/src/Tests/ImageFieldWidgetTest.php b/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
similarity index 96%
rename from core/modules/image/src/Tests/ImageFieldWidgetTest.php
rename to core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
index 85e764b..74743db 100644
--- a/core/modules/image/src/Tests/ImageFieldWidgetTest.php
+++ b/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\image\Tests;
+namespace Drupal\Tests\image\Functional;
 
 /**
  * Tests the image field widget.
diff --git a/core/modules/image/src/Tests/ImageStyleDeleteTest.php b/core/modules/image/tests/src/Functional/ImageStyleDeleteTest.php
similarity index 99%
rename from core/modules/image/src/Tests/ImageStyleDeleteTest.php
rename to core/modules/image/tests/src/Functional/ImageStyleDeleteTest.php
index feb06ce..fff2760 100644
--- a/core/modules/image/src/Tests/ImageStyleDeleteTest.php
+++ b/core/modules/image/tests/src/Functional/ImageStyleDeleteTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\image\Tests;
+namespace Drupal\Tests\image\Functional;
 
 use Drupal\Core\Entity\Entity\EntityFormDisplay;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
diff --git a/core/modules/language/src/Tests/AdminPathEntityConverterLanguageTest.php b/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php
similarity index 89%
rename from core/modules/language/src/Tests/AdminPathEntityConverterLanguageTest.php
rename to core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php
index 3cc00f9..bd46a40 100644
--- a/core/modules/language/src/Tests/AdminPathEntityConverterLanguageTest.php
+++ b/core/modules/language/tests/src/Functional/AdminPathEntityConverterLanguageTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Test administration path based conversion of entities.
  *
  * @group language
  */
-class AdminPathEntityConverterLanguageTest extends WebTestBase {
+class AdminPathEntityConverterLanguageTest extends BrowserTestBase {
 
   public static $modules = array('language', 'language_test');
 
diff --git a/core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php b/core/modules/language/tests/src/Functional/LanguageBlockSettingsVisibilityTest.php
similarity index 89%
rename from core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php
rename to core/modules/language/tests/src/Functional/LanguageBlockSettingsVisibilityTest.php
index ee6912e..3090d5b 100644
--- a/core/modules/language/src/Tests/LanguageBlockSettingsVisibilityTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageBlockSettingsVisibilityTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that the language settings on block config appears correctly.
  *
  * @group language
  */
-class LanguageBlockSettingsVisibilityTest extends WebTestBase {
+class LanguageBlockSettingsVisibilityTest extends BrowserTestBase {
 
   public static $modules = array('block', 'language');
 
diff --git a/core/modules/language/src/Tests/LanguageBrowserDetectionTest.php b/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php
similarity index 96%
rename from core/modules/language/src/Tests/LanguageBrowserDetectionTest.php
rename to core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php
index 3991b2a..1b1382a 100644
--- a/core/modules/language/src/Tests/LanguageBrowserDetectionTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageBrowserDetectionTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests browser language detection.
  *
  * @group language
  */
-class LanguageBrowserDetectionTest extends WebTestBase {
+class LanguageBrowserDetectionTest extends BrowserTestBase {
 
   public static $modules = array('language');
 
diff --git a/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php b/core/modules/language/tests/src/Functional/LanguageConfigOverrideImportTest.php
similarity index 96%
rename from core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
rename to core/modules/language/tests/src/Functional/LanguageConfigOverrideImportTest.php
index 182c3fe..76d97fb 100644
--- a/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageConfigOverrideImportTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Ensures the language config overrides can be synchronized.
  *
  * @group language
  */
-class LanguageConfigOverrideImportTest extends WebTestBase {
+class LanguageConfigOverrideImportTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/language/src/Tests/LanguageConfigSchemaTest.php b/core/modules/language/tests/src/Functional/LanguageConfigSchemaTest.php
similarity index 93%
rename from core/modules/language/src/Tests/LanguageConfigSchemaTest.php
rename to core/modules/language/tests/src/Functional/LanguageConfigSchemaTest.php
index c5b75a1..12a6843 100644
--- a/core/modules/language/src/Tests/LanguageConfigSchemaTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageConfigSchemaTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
 use Drupal\Tests\SchemaCheckTestTrait;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Ensures the language config schema is correct.
  *
  * @group language
  */
-class LanguageConfigSchemaTest extends WebTestBase {
+class LanguageConfigSchemaTest extends BrowserTestBase {
 
   use SchemaCheckTestTrait;
 
diff --git a/core/modules/language/src/Tests/LanguageListModuleInstallTest.php b/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php
similarity index 89%
rename from core/modules/language/src/Tests/LanguageListModuleInstallTest.php
rename to core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php
index 3df9bdc..2b5ad7e 100644
--- a/core/modules/language/src/Tests/LanguageListModuleInstallTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageListModuleInstallTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests enabling Language if a module exists that calls
@@ -10,7 +10,7 @@
  *
  * @group language
  */
-class LanguageListModuleInstallTest extends WebTestBase {
+class LanguageListModuleInstallTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/language/src/Tests/LanguageNegotiationContentEntityTest.php b/core/modules/language/tests/src/Functional/LanguageNegotiationContentEntityTest.php
similarity index 98%
rename from core/modules/language/src/Tests/LanguageNegotiationContentEntityTest.php
rename to core/modules/language/tests/src/Functional/LanguageNegotiationContentEntityTest.php
index ba0a4db..8991437 100644
--- a/core/modules/language/src/Tests/LanguageNegotiationContentEntityTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageNegotiationContentEntityTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
 use Drupal\Component\Render\FormattableMarkup;
 use Drupal\Core\Language\LanguageInterface;
@@ -8,7 +8,7 @@
 use Drupal\language\Entity\ConfigurableLanguage;
 use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationContentEntity;
 use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Route;
@@ -18,7 +18,7 @@
  *
  * @group language
  */
-class LanguageNegotiationContentEntityTest extends WebTestBase {
+class LanguageNegotiationContentEntityTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php b/core/modules/language/tests/src/Functional/LanguageNegotiationInfoTest.php
similarity index 98%
rename from core/modules/language/src/Tests/LanguageNegotiationInfoTest.php
rename to core/modules/language/tests/src/Functional/LanguageNegotiationInfoTest.php
index ee4c6d4..4c274e5 100644
--- a/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageNegotiationInfoTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUI;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests alterations to language types/negotiation info.
  *
  * @group language
  */
-class LanguageNegotiationInfoTest extends WebTestBase {
+class LanguageNegotiationInfoTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/language/src/Tests/LanguagePathMonolingualTest.php b/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php
similarity index 94%
rename from core/modules/language/src/Tests/LanguagePathMonolingualTest.php
rename to core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php
index 510d805..681b378 100644
--- a/core/modules/language/src/Tests/LanguagePathMonolingualTest.php
+++ b/core/modules/language/tests/src/Functional/LanguagePathMonolingualTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\language\Tests;
+namespace Drupal\Tests\language\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Confirm that paths are not changed on monolingual non-English sites.
  *
  * @group language
  */
-class LanguagePathMonolingualTest extends WebTestBase {
+class LanguagePathMonolingualTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/language/src/Tests/Migrate/MigrateLanguageTest.php b/core/modules/language/tests/src/Functional/Migrate/MigrateLanguageTest.php
similarity index 96%
rename from core/modules/language/src/Tests/Migrate/MigrateLanguageTest.php
rename to core/modules/language/tests/src/Functional/Migrate/MigrateLanguageTest.php
index 6bdd1f2..9a2702d 100644
--- a/core/modules/language/src/Tests/Migrate/MigrateLanguageTest.php
+++ b/core/modules/language/tests/src/Functional/Migrate/MigrateLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\language\Tests\Migrate;
+namespace Drupal\Tests\language\Functional\Migrate;
 
 use Drupal\language\ConfigurableLanguageInterface;
 use Drupal\language\Entity\ConfigurableLanguage;
diff --git a/core/modules/link/src/Tests/LinkFieldUITest.php b/core/modules/link/tests/src/Functional/LinkFieldUITest.php
similarity index 96%
rename from core/modules/link/src/Tests/LinkFieldUITest.php
rename to core/modules/link/tests/src/Functional/LinkFieldUITest.php
index 855c10b..eeed78c 100644
--- a/core/modules/link/src/Tests/LinkFieldUITest.php
+++ b/core/modules/link/tests/src/Functional/LinkFieldUITest.php
@@ -1,18 +1,18 @@
 <?php
 
-namespace Drupal\link\Tests;
+namespace Drupal\Tests\link\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\field_ui\Tests\FieldUiTestTrait;
 use Drupal\link\LinkItemInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests link field UI functionality.
  *
  * @group link
  */
-class LinkFieldUITest extends WebTestBase {
+class LinkFieldUITest extends BrowserTestBase {
 
   use FieldUiTestTrait;
 
diff --git a/core/modules/locale/src/Tests/LocaleContentTest.php b/core/modules/locale/tests/src/Functional/LocaleContentTest.php
similarity index 98%
rename from core/modules/locale/src/Tests/LocaleContentTest.php
rename to core/modules/locale/tests/src/Functional/LocaleContentTest.php
index 188b574..2350d9d 100644
--- a/core/modules/locale/src/Tests/LocaleContentTest.php
+++ b/core/modules/locale/tests/src/Functional/LocaleContentTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\locale\Tests;
+namespace Drupal\Tests\locale\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Core\Language\LanguageInterface;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group locale
  */
-class LocaleContentTest extends WebTestBase {
+class LocaleContentTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php b/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php
similarity index 92%
rename from core/modules/locale/src/Tests/LocaleLocaleLookupTest.php
rename to core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php
index ea4f937..33600dd 100644
--- a/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php
+++ b/core/modules/locale/tests/src/Functional/LocaleLocaleLookupTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\locale\Tests;
+namespace Drupal\Tests\locale\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests LocaleLookup.
  *
  * @group locale
  */
-class LocaleLocaleLookupTest extends WebTestBase {
+class LocaleLocaleLookupTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/locale/src/Tests/LocalePathTest.php b/core/modules/locale/tests/src/Functional/LocalePathTest.php
similarity index 97%
rename from core/modules/locale/src/Tests/LocalePathTest.php
rename to core/modules/locale/tests/src/Functional/LocalePathTest.php
index cc4f31a..fd26320 100644
--- a/core/modules/locale/src/Tests/LocalePathTest.php
+++ b/core/modules/locale/tests/src/Functional/LocalePathTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\locale\Tests;
+namespace Drupal\Tests\locale\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests you can configure a language for individual URL aliases.
  *
  * @group locale
  */
-class LocalePathTest extends WebTestBase {
+class LocalePathTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/locale/src/Tests/LocaleStringTest.php b/core/modules/locale/tests/src/Functional/LocaleStringTest.php
similarity index 98%
rename from core/modules/locale/src/Tests/LocaleStringTest.php
rename to core/modules/locale/tests/src/Functional/LocaleStringTest.php
index 2f467e7..082515f 100644
--- a/core/modules/locale/src/Tests/LocaleStringTest.php
+++ b/core/modules/locale/tests/src/Functional/LocaleStringTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\locale\Tests;
+namespace Drupal\Tests\locale\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the locale string storage, string objects and data API.
  *
  * @group locale
  */
-class LocaleStringTest extends WebTestBase {
+class LocaleStringTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/locale/src/Tests/LocaleTranslatedSchemaDefinitionTest.php b/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php
similarity index 95%
rename from core/modules/locale/src/Tests/LocaleTranslatedSchemaDefinitionTest.php
rename to core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php
index b117e2c..4b1eb0a 100644
--- a/core/modules/locale/src/Tests/LocaleTranslatedSchemaDefinitionTest.php
+++ b/core/modules/locale/tests/src/Functional/LocaleTranslatedSchemaDefinitionTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\locale\Tests;
+namespace Drupal\Tests\locale\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Adds and configures languages to check field schema definition.
  *
  * @group locale
  */
-class LocaleTranslatedSchemaDefinitionTest extends WebTestBase {
+class LocaleTranslatedSchemaDefinitionTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/menu_link_content/src/Tests/LinksTest.php b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php
similarity index 98%
rename from core/modules/menu_link_content/src/Tests/LinksTest.php
rename to core/modules/menu_link_content/tests/src/Functional/LinksTest.php
index 84fecde..9047ac8 100644
--- a/core/modules/menu_link_content/src/Tests/LinksTest.php
+++ b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\menu_link_content\Tests;
+namespace Drupal\Tests\menu_link_content\Functional;
 
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\menu_link_content\Entity\MenuLinkContent;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system\Entity\Menu;
 
 /**
@@ -12,7 +12,7 @@
  *
  * @group Menu
  */
-class LinksTest extends WebTestBase {
+class LinksTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php b/core/modules/menu_ui/tests/src/Functional/MenuCacheTagsTest.php
similarity index 98%
rename from core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
rename to core/modules/menu_ui/tests/src/Functional/MenuCacheTagsTest.php
index 3ad4ad1..4e7833d 100644
--- a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
+++ b/core/modules/menu_ui/tests/src/Functional/MenuCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\menu_ui\Tests;
+namespace Drupal\Tests\menu_ui\Functional;
 
 use Drupal\Core\Url;
 use Drupal\menu_link_content\Entity\MenuLinkContent;
diff --git a/core/modules/menu_ui/src/Tests/MenuLinkReorderTest.php b/core/modules/menu_ui/tests/src/Functional/MenuLinkReorderTest.php
similarity index 92%
rename from core/modules/menu_ui/src/Tests/MenuLinkReorderTest.php
rename to core/modules/menu_ui/tests/src/Functional/MenuLinkReorderTest.php
index 0396f17..e0f7cc8 100644
--- a/core/modules/menu_ui/src/Tests/MenuLinkReorderTest.php
+++ b/core/modules/menu_ui/tests/src/Functional/MenuLinkReorderTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\menu_ui\Tests;
+namespace Drupal\Tests\menu_ui\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Reorder menu items.
  *
  * @group menu_ui
  */
-class MenuLinkReorderTest extends WebTestBase {
+class MenuLinkReorderTest extends BrowserTestBase {
 
   /**
    * An administrator user.
diff --git a/core/modules/menu_ui/src/Tests/MenuUninstallTest.php b/core/modules/menu_ui/tests/src/Functional/MenuUninstallTest.php
similarity index 82%
rename from core/modules/menu_ui/src/Tests/MenuUninstallTest.php
rename to core/modules/menu_ui/tests/src/Functional/MenuUninstallTest.php
index b1ea03c..269454e 100644
--- a/core/modules/menu_ui/src/Tests/MenuUninstallTest.php
+++ b/core/modules/menu_ui/tests/src/Functional/MenuUninstallTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\menu_ui\Tests;
+namespace Drupal\Tests\menu_ui\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system\Entity\Menu;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group menu_ui
  */
-class MenuUninstallTest extends WebTestBase {
+class MenuUninstallTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/node/src/Tests/NodeTestBase.php b/core/modules/node/src/Tests/NodeTestBase.php
index d4799d4..a5da2b4 100644
--- a/core/modules/node/src/Tests/NodeTestBase.php
+++ b/core/modules/node/src/Tests/NodeTestBase.php
@@ -8,6 +8,9 @@
 
 /**
  * Sets up page and article content types.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\node\Functional\NodeTestBase instead.
  */
 abstract class NodeTestBase extends WebTestBase {
 
diff --git a/core/modules/node/src/Tests/Migrate/d6/MigrateNodeRevisionTest.php b/core/modules/node/tests/src/Functional/Migrate/d6/MigrateNodeRevisionTest.php
similarity index 97%
rename from core/modules/node/src/Tests/Migrate/d6/MigrateNodeRevisionTest.php
rename to core/modules/node/tests/src/Functional/Migrate/d6/MigrateNodeRevisionTest.php
index a02ef3f..8c9ef63 100644
--- a/core/modules/node/src/Tests/Migrate/d6/MigrateNodeRevisionTest.php
+++ b/core/modules/node/tests/src/Functional/Migrate/d6/MigrateNodeRevisionTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests\Migrate\d6;
+namespace Drupal\Tests\node\Functional\Migrate\d6;
 use Drupal\Tests\node\Kernel\Migrate\d6\MigrateNodeTestBase;
 
 /**
diff --git a/core/modules/node/src/Tests/Migrate/d7/NodeMigrateDeriverTest.php b/core/modules/node/tests/src/Functional/Migrate/d7/NodeMigrateDeriverTest.php
similarity index 96%
rename from core/modules/node/src/Tests/Migrate/d7/NodeMigrateDeriverTest.php
rename to core/modules/node/tests/src/Functional/Migrate/d7/NodeMigrateDeriverTest.php
index e57dcbd..621cdb6 100644
--- a/core/modules/node/src/Tests/Migrate/d7/NodeMigrateDeriverTest.php
+++ b/core/modules/node/tests/src/Functional/Migrate/d7/NodeMigrateDeriverTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests\Migrate\d7;
+namespace Drupal\Tests\node\Functional\Migrate\d7;
 
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 
diff --git a/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php b/core/modules/node/tests/src/Functional/MultiStepNodeFormBasicOptionsTest.php
similarity index 97%
rename from core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php
rename to core/modules/node/tests/src/Functional/MultiStepNodeFormBasicOptionsTest.php
index c23986a..36ac519 100644
--- a/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php
+++ b/core/modules/node/tests/src/Functional/MultiStepNodeFormBasicOptionsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
diff --git a/core/modules/node/src/Tests/NodeAccessFieldTest.php b/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php
similarity index 98%
rename from core/modules/node/src/Tests/NodeAccessFieldTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessFieldTest.php
index dcfa43d..a84b7b6 100644
--- a/core/modules/node/src/Tests/NodeAccessFieldTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessFieldTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
diff --git a/core/modules/node/src/Tests/NodeAccessGrantsCacheContextTest.php b/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeAccessGrantsCacheContextTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
index 5932108..7963e87 100644
--- a/core/modules/node/src/Tests/NodeAccessGrantsCacheContextTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 /**
  * Tests the node access grants cache context service.
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php b/core/modules/node/tests/src/Functional/NodeAccessLanguageAwareCombinationTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessLanguageAwareCombinationTest.php
index 1ee5bc2..860bebe 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessLanguageAwareCombinationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\field\Entity\FieldConfig;
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php b/core/modules/node/tests/src/Functional/NodeAccessLanguageAwareTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessLanguageAwareTest.php
index 0609b7b..90e040b 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessLanguageAwareTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\field\Entity\FieldConfig;
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageTest.php b/core/modules/node/tests/src/Functional/NodeAccessLanguageTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeAccessLanguageTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessLanguageTest.php
index e0393a0..e758676 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\language\Entity\ConfigurableLanguage;
diff --git a/core/modules/node/src/Tests/NodeAccessMenuLinkTest.php b/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php
similarity index 97%
rename from core/modules/node/src/Tests/NodeAccessMenuLinkTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php
index c1bc0eb..9d12098 100644
--- a/core/modules/node/src/Tests/NodeAccessMenuLinkTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessMenuLinkTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\user\RoleInterface;
 
diff --git a/core/modules/node/src/Tests/NodeAccessRecordsTest.php b/core/modules/node/tests/src/Functional/NodeAccessRecordsTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeAccessRecordsTest.php
rename to core/modules/node/tests/src/Functional/NodeAccessRecordsTest.php
index 4126539..ce16bee 100644
--- a/core/modules/node/src/Tests/NodeAccessRecordsTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessRecordsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\Entity\Node;
 
diff --git a/core/modules/node/src/Tests/NodeActionsConfigurationTest.php b/core/modules/node/tests/src/Functional/NodeActionsConfigurationTest.php
similarity index 96%
rename from core/modules/node/src/Tests/NodeActionsConfigurationTest.php
rename to core/modules/node/tests/src/Functional/NodeActionsConfigurationTest.php
index 7a732c6..fbfda8f 100644
--- a/core/modules/node/src/Tests/NodeActionsConfigurationTest.php
+++ b/core/modules/node/tests/src/Functional/NodeActionsConfigurationTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system\Entity\Action;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group node
  */
-class NodeActionsConfigurationTest extends WebTestBase {
+class NodeActionsConfigurationTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/node/src/Tests/NodeCacheTagsTest.php b/core/modules/node/tests/src/Functional/NodeCacheTagsTest.php
similarity index 97%
rename from core/modules/node/src/Tests/NodeCacheTagsTest.php
rename to core/modules/node/tests/src/Functional/NodeCacheTagsTest.php
index 66932cc..d0007a1 100644
--- a/core/modules/node/src/Tests/NodeCacheTagsTest.php
+++ b/core/modules/node/tests/src/Functional/NodeCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\node\Entity\Node;
diff --git a/core/modules/node/src/Tests/NodeCreationTest.php b/core/modules/node/tests/src/Functional/NodeCreationTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeCreationTest.php
rename to core/modules/node/tests/src/Functional/NodeCreationTest.php
index 7c4e142..0dd0bb9 100644
--- a/core/modules/node/src/Tests/NodeCreationTest.php
+++ b/core/modules/node/tests/src/Functional/NodeCreationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Database\Database;
 use Drupal\Core\Language\LanguageInterface;
diff --git a/core/modules/node/src/Tests/NodeFormSaveChangedTimeTest.php b/core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php
similarity index 93%
rename from core/modules/node/src/Tests/NodeFormSaveChangedTimeTest.php
rename to core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php
index 36c1ccc..918a2e7 100644
--- a/core/modules/node/src/Tests/NodeFormSaveChangedTimeTest.php
+++ b/core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests updating the changed time after API and FORM entity save.
  *
  * @group node
  */
-class NodeFormSaveChangedTimeTest extends WebTestBase {
+class NodeFormSaveChangedTimeTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/node/src/Tests/NodeHelpTest.php b/core/modules/node/tests/src/Functional/NodeHelpTest.php
similarity index 92%
rename from core/modules/node/src/Tests/NodeHelpTest.php
rename to core/modules/node/tests/src/Functional/NodeHelpTest.php
index 2946011..ffeee08 100644
--- a/core/modules/node/src/Tests/NodeHelpTest.php
+++ b/core/modules/node/tests/src/Functional/NodeHelpTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests help functionality for nodes.
  *
  * @group node
  */
-class NodeHelpTest extends WebTestBase {
+class NodeHelpTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/node/src/Tests/NodeLinksTest.php b/core/modules/node/tests/src/Functional/NodeLinksTest.php
similarity index 95%
rename from core/modules/node/src/Tests/NodeLinksTest.php
rename to core/modules/node/tests/src/Functional/NodeLinksTest.php
index 72990c0..7eed934 100644
--- a/core/modules/node/src/Tests/NodeLinksTest.php
+++ b/core/modules/node/tests/src/Functional/NodeLinksTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 /**
  * Tests the output of node links (read more, add new comment, etc).
diff --git a/core/modules/node/src/Tests/NodeLoadMultipleTest.php b/core/modules/node/tests/src/Functional/NodeLoadMultipleTest.php
similarity index 98%
rename from core/modules/node/src/Tests/NodeLoadMultipleTest.php
rename to core/modules/node/tests/src/Functional/NodeLoadMultipleTest.php
index 4add3bd..92440ca 100644
--- a/core/modules/node/src/Tests/NodeLoadMultipleTest.php
+++ b/core/modules/node/tests/src/Functional/NodeLoadMultipleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\Entity\Node;
 
diff --git a/core/modules/node/src/Tests/NodePostSettingsTest.php b/core/modules/node/tests/src/Functional/NodePostSettingsTest.php
similarity index 98%
rename from core/modules/node/src/Tests/NodePostSettingsTest.php
rename to core/modules/node/tests/src/Functional/NodePostSettingsTest.php
index bc3dd99..c59c42d 100644
--- a/core/modules/node/src/Tests/NodePostSettingsTest.php
+++ b/core/modules/node/tests/src/Functional/NodePostSettingsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 /**
  * Tests that the post information (submitted by Username on date) text displays
diff --git a/core/modules/node/src/Tests/NodeRSSContentTest.php b/core/modules/node/tests/src/Functional/NodeRSSContentTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeRSSContentTest.php
rename to core/modules/node/tests/src/Functional/NodeRSSContentTest.php
index d1ce240..de77927 100644
--- a/core/modules/node/src/Tests/NodeRSSContentTest.php
+++ b/core/modules/node/tests/src/Functional/NodeRSSContentTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\filter\Entity\FilterFormat;
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsAllTest.php b/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeRevisionsAllTest.php
rename to core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php
index 7963aa0..9f3949e 100644
--- a/core/modules/node/src/Tests/NodeRevisionsAllTest.php
+++ b/core/modules/node/tests/src/Functional/NodeRevisionsAllTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\NodeInterface;
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsUiBypassAccessTest.php b/core/modules/node/tests/src/Functional/NodeRevisionsUiBypassAccessTest.php
similarity index 98%
rename from core/modules/node/src/Tests/NodeRevisionsUiBypassAccessTest.php
rename to core/modules/node/tests/src/Functional/NodeRevisionsUiBypassAccessTest.php
index a6ffb3b..f2c750c 100644
--- a/core/modules/node/src/Tests/NodeRevisionsUiBypassAccessTest.php
+++ b/core/modules/node/tests/src/Functional/NodeRevisionsUiBypassAccessTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\Entity\NodeType;
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsUiTest.php b/core/modules/node/tests/src/Functional/NodeRevisionsUiTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeRevisionsUiTest.php
rename to core/modules/node/tests/src/Functional/NodeRevisionsUiTest.php
index cf609b8..f298af4 100644
--- a/core/modules/node/src/Tests/NodeRevisionsUiTest.php
+++ b/core/modules/node/tests/src/Functional/NodeRevisionsUiTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Url;
 use Drupal\node\Entity\Node;
diff --git a/core/modules/node/src/Tests/NodeSaveTest.php b/core/modules/node/tests/src/Functional/NodeSaveTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeSaveTest.php
rename to core/modules/node/tests/src/Functional/NodeSaveTest.php
index f01724b..2d35ac0 100644
--- a/core/modules/node/src/Tests/NodeSaveTest.php
+++ b/core/modules/node/tests/src/Functional/NodeSaveTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\Entity\Node;
 
diff --git a/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php b/core/modules/node/tests/src/Functional/NodeTemplateSuggestionsTest.php
similarity index 97%
rename from core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php
rename to core/modules/node/tests/src/Functional/NodeTemplateSuggestionsTest.php
index ec768e6..16dee43 100644
--- a/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php
+++ b/core/modules/node/tests/src/Functional/NodeTemplateSuggestionsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 /**
  * Tests node template suggestions.
diff --git a/core/modules/node/src/Tests/NodeTestBase.php b/core/modules/node/tests/src/Functional/NodeTestBase.php
similarity index 96%
copy from core/modules/node/src/Tests/NodeTestBase.php
copy to core/modules/node/tests/src/Functional/NodeTestBase.php
index d4799d4..c3b269e 100644
--- a/core/modules/node/src/Tests/NodeTestBase.php
+++ b/core/modules/node/tests/src/Functional/NodeTestBase.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Session\AccountInterface;
 use Drupal\node\NodeInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Sets up page and article content types.
  */
-abstract class NodeTestBase extends WebTestBase {
+abstract class NodeTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php b/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php
similarity index 99%
rename from core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php
rename to core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php
index fc911e3..c1ef6ae 100644
--- a/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php
+++ b/core/modules/node/tests/src/Functional/NodeTypeInitialLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 
diff --git a/core/modules/node/src/Tests/NodeTypeTranslationTest.php b/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php
similarity index 97%
rename from core/modules/node/src/Tests/NodeTypeTranslationTest.php
rename to core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php
index 1c3a768..067deca 100644
--- a/core/modules/node/src/Tests/NodeTypeTranslationTest.php
+++ b/core/modules/node/tests/src/Functional/NodeTypeTranslationTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Ensures that node types translation work correctly.
@@ -15,7 +15,7 @@
  *
  * @group node
  */
-class NodeTypeTranslationTest extends WebTestBase {
+class NodeTypeTranslationTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/node/src/Tests/NodeViewLanguageTest.php b/core/modules/node/tests/src/Functional/NodeViewLanguageTest.php
similarity index 95%
rename from core/modules/node/src/Tests/NodeViewLanguageTest.php
rename to core/modules/node/tests/src/Functional/NodeViewLanguageTest.php
index 71fe4d1..518d5fb 100644
--- a/core/modules/node/src/Tests/NodeViewLanguageTest.php
+++ b/core/modules/node/tests/src/Functional/NodeViewLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
 
diff --git a/core/modules/node/src/Tests/PageViewTest.php b/core/modules/node/tests/src/Functional/PageViewTest.php
similarity index 96%
rename from core/modules/node/src/Tests/PageViewTest.php
rename to core/modules/node/tests/src/Functional/PageViewTest.php
index 086b3e1..ec6daba 100644
--- a/core/modules/node/src/Tests/PageViewTest.php
+++ b/core/modules/node/tests/src/Functional/PageViewTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\node\Tests;
+namespace Drupal\Tests\node\Functional;
 
 use Drupal\node\Entity\Node;
 
diff --git a/core/modules/path/src/Tests/PathTestBase.php b/core/modules/path/src/Tests/PathTestBase.php
index c4a88af..5349676 100644
--- a/core/modules/path/src/Tests/PathTestBase.php
+++ b/core/modules/path/src/Tests/PathTestBase.php
@@ -6,6 +6,9 @@
 
 /**
  * Provides a base class for testing the Path module.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\path\Functional\PathTestBase instead.
  */
 abstract class PathTestBase extends WebTestBase {
 
diff --git a/core/modules/path/src/Tests/PathAliasTest.php b/core/modules/path/tests/src/Functional/PathAliasTest.php
similarity index 99%
rename from core/modules/path/src/Tests/PathAliasTest.php
rename to core/modules/path/tests/src/Functional/PathAliasTest.php
index 28c582d..5127853 100644
--- a/core/modules/path/src/Tests/PathAliasTest.php
+++ b/core/modules/path/tests/src/Functional/PathAliasTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\path\Tests;
+namespace Drupal\Tests\path\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Cache\Cache;
diff --git a/core/modules/path/src/Tests/PathLanguageTest.php b/core/modules/path/tests/src/Functional/PathLanguageTest.php
similarity index 99%
rename from core/modules/path/src/Tests/PathLanguageTest.php
rename to core/modules/path/tests/src/Functional/PathLanguageTest.php
index 4cb2c99..08fe7a4 100644
--- a/core/modules/path/src/Tests/PathLanguageTest.php
+++ b/core/modules/path/tests/src/Functional/PathLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\path\Tests;
+namespace Drupal\Tests\path\Functional;
 
 /**
  * Confirm that paths work with translated nodes.
diff --git a/core/modules/path/src/Tests/PathLanguageUiTest.php b/core/modules/path/tests/src/Functional/PathLanguageUiTest.php
similarity index 98%
rename from core/modules/path/src/Tests/PathLanguageUiTest.php
rename to core/modules/path/tests/src/Functional/PathLanguageUiTest.php
index 540cc85..f17bb60 100644
--- a/core/modules/path/src/Tests/PathLanguageUiTest.php
+++ b/core/modules/path/tests/src/Functional/PathLanguageUiTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\path\Tests;
+namespace Drupal\Tests\path\Functional;
 
 /**
  * Confirm that the Path module user interface works with languages.
diff --git a/core/modules/path/src/Tests/PathTestBase.php b/core/modules/path/tests/src/Functional/PathTestBase.php
similarity index 79%
copy from core/modules/path/src/Tests/PathTestBase.php
copy to core/modules/path/tests/src/Functional/PathTestBase.php
index c4a88af..ef83396 100644
--- a/core/modules/path/src/Tests/PathTestBase.php
+++ b/core/modules/path/tests/src/Functional/PathTestBase.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\path\Tests;
+namespace Drupal\Tests\path\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Provides a base class for testing the Path module.
  */
-abstract class PathTestBase extends WebTestBase {
+abstract class PathTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/rdf/src/Tests/EntityReferenceFieldAttributesTest.php b/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
similarity index 99%
rename from core/modules/rdf/src/Tests/EntityReferenceFieldAttributesTest.php
rename to core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
index 48653a5..4aaeb7e 100644
--- a/core/modules/rdf/src/Tests/EntityReferenceFieldAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\taxonomy\Tests\TaxonomyTestBase;
diff --git a/core/modules/rdf/src/Tests/FileFieldAttributesTest.php b/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php
similarity index 98%
rename from core/modules/rdf/src/Tests/FileFieldAttributesTest.php
rename to core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php
index 34e76ae..b0be922 100644
--- a/core/modules/rdf/src/Tests/FileFieldAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/FileFieldAttributesTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
 use Drupal\file\Tests\FileFieldTestBase;
 use Drupal\file\Entity\File;
diff --git a/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php b/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php
similarity index 90%
rename from core/modules/rdf/src/Tests/GetRdfNamespacesTest.php
rename to core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php
index 7fde6f0..544b598 100644
--- a/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php
+++ b/core/modules/rdf/tests/src/Functional/GetRdfNamespacesTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests hook_rdf_namespaces().
  *
  * @group rdf
  */
-class GetRdfNamespacesTest extends WebTestBase {
+class GetRdfNamespacesTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/rdf/src/Tests/NodeAttributesTest.php b/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php
similarity index 98%
rename from core/modules/rdf/src/Tests/NodeAttributesTest.php
rename to core/modules/rdf/tests/src/Functional/NodeAttributesTest.php
index 5c6b267..e0b8bdf 100644
--- a/core/modules/rdf/src/Tests/NodeAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/NodeAttributesTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
 use Drupal\node\Tests\NodeTestBase;
 
diff --git a/core/modules/rdf/src/Tests/StandardProfileTest.php b/core/modules/rdf/tests/src/Functional/StandardProfileTest.php
similarity index 99%
rename from core/modules/rdf/src/Tests/StandardProfileTest.php
rename to core/modules/rdf/tests/src/Functional/StandardProfileTest.php
index d8aa1b1..6f04f5c 100644
--- a/core/modules/rdf/src/Tests/StandardProfileTest.php
+++ b/core/modules/rdf/tests/src/Functional/StandardProfileTest.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
 use Drupal\Core\Url;
 use Drupal\file\Entity\File;
 use Drupal\image\Entity\ImageStyle;
 use Drupal\node\Entity\NodeType;
 use Drupal\node\NodeInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\comment\Entity\Comment;
 use Drupal\taxonomy\Entity\Term;
 
@@ -16,7 +16,7 @@
  *
  * @group rdf
  */
-class StandardProfileTest extends WebTestBase {
+class StandardProfileTest extends BrowserTestBase {
 
   /**
    * The profile used during tests.
diff --git a/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php b/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php
similarity index 98%
rename from core/modules/rdf/src/Tests/TaxonomyAttributesTest.php
rename to core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php
index 6be2c5b..799b764 100644
--- a/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/TaxonomyAttributesTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
 use Drupal\taxonomy\Tests\TaxonomyTestBase;
 
diff --git a/core/modules/rdf/src/Tests/UserAttributesTest.php b/core/modules/rdf/tests/src/Functional/UserAttributesTest.php
similarity index 96%
rename from core/modules/rdf/src/Tests/UserAttributesTest.php
rename to core/modules/rdf/tests/src/Functional/UserAttributesTest.php
index 232b5b2..82c70d9 100644
--- a/core/modules/rdf/src/Tests/UserAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/UserAttributesTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\rdf\Tests;
+namespace Drupal\Tests\rdf\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the RDFa markup of Users.
  *
  * @group rdf
  */
-class UserAttributesTest extends WebTestBase {
+class UserAttributesTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/search/src/Tests/SearchTestBase.php b/core/modules/search/src/Tests/SearchTestBase.php
index 83967b3..59f6c45 100644
--- a/core/modules/search/src/Tests/SearchTestBase.php
+++ b/core/modules/search/src/Tests/SearchTestBase.php
@@ -7,6 +7,9 @@
 
 /**
  * Defines the common search test code.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\search\Functional\SearchTestBase instead.
  */
 abstract class SearchTestBase extends WebTestBase {
 
diff --git a/core/modules/search/src/Tests/SearchCommentCountToggleTest.php b/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
similarity index 99%
rename from core/modules/search/src/Tests/SearchCommentCountToggleTest.php
rename to core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
index 48f8bb6..a6bf35e 100644
--- a/core/modules/search/src/Tests/SearchCommentCountToggleTest.php
+++ b/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
 use Drupal\comment\Tests\CommentTestTrait;
diff --git a/core/modules/search/src/Tests/SearchDateIntervalTest.php b/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchDateIntervalTest.php
rename to core/modules/search/tests/src/Functional/SearchDateIntervalTest.php
index 967f1f5..0ca15c0 100644
--- a/core/modules/search/src/Tests/SearchDateIntervalTest.php
+++ b/core/modules/search/tests/src/Functional/SearchDateIntervalTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 use Drupal\language\Entity\ConfigurableLanguage;
 
diff --git a/core/modules/search/src/Tests/SearchExactTest.php b/core/modules/search/tests/src/Functional/SearchExactTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchExactTest.php
rename to core/modules/search/tests/src/Functional/SearchExactTest.php
index d17646b..6280364 100644
--- a/core/modules/search/src/Tests/SearchExactTest.php
+++ b/core/modules/search/tests/src/Functional/SearchExactTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 /**
  * Tests that searching for a phrase gets the correct page count.
diff --git a/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php b/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchKeywordsConditionsTest.php
rename to core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php
index 1625d8d..a75fcb5 100644
--- a/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php
+++ b/core/modules/search/tests/src/Functional/SearchKeywordsConditionsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 use Drupal\Component\Utility\Html;
 
diff --git a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php b/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php
similarity index 99%
rename from core/modules/search/src/Tests/SearchMultilingualEntityTest.php
rename to core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php
index e133101..faaa93f 100644
--- a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
+++ b/core/modules/search/tests/src/Functional/SearchMultilingualEntityTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\language\Entity\ConfigurableLanguage;
diff --git a/core/modules/search/src/Tests/SearchNodeDiacriticsTest.php b/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchNodeDiacriticsTest.php
rename to core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php
index a8b45a5..27baa4b 100644
--- a/core/modules/search/src/Tests/SearchNodeDiacriticsTest.php
+++ b/core/modules/search/tests/src/Functional/SearchNodeDiacriticsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 /**
  * Tests search functionality with diacritics.
diff --git a/core/modules/search/src/Tests/SearchNodePunctuationTest.php b/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchNodePunctuationTest.php
rename to core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php
index c185aea..0d0a129 100644
--- a/core/modules/search/src/Tests/SearchNodePunctuationTest.php
+++ b/core/modules/search/tests/src/Functional/SearchNodePunctuationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 /**
  * Tests search functionality with punctuation and HTML entities.
diff --git a/core/modules/search/src/Tests/SearchPageOverrideTest.php b/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php
similarity index 96%
rename from core/modules/search/src/Tests/SearchPageOverrideTest.php
rename to core/modules/search/tests/src/Functional/SearchPageOverrideTest.php
index 9768904..88edab1 100644
--- a/core/modules/search/src/Tests/SearchPageOverrideTest.php
+++ b/core/modules/search/tests/src/Functional/SearchPageOverrideTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 /**
  * Tests if the result page can be overridden.
diff --git a/core/modules/search/src/Tests/SearchSetLocaleTest.php b/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php
similarity index 96%
rename from core/modules/search/src/Tests/SearchSetLocaleTest.php
rename to core/modules/search/tests/src/Functional/SearchSetLocaleTest.php
index 0ec4137..4291598 100644
--- a/core/modules/search/src/Tests/SearchSetLocaleTest.php
+++ b/core/modules/search/tests/src/Functional/SearchSetLocaleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
 /**
  * Tests that search works with numeric locale settings.
diff --git a/core/modules/search/src/Tests/SearchSimplifyTest.php b/core/modules/search/tests/src/Functional/SearchSimplifyTest.php
similarity index 98%
rename from core/modules/search/src/Tests/SearchSimplifyTest.php
rename to core/modules/search/tests/src/Functional/SearchSimplifyTest.php
index bdb96c9..6e7bb84 100644
--- a/core/modules/search/src/Tests/SearchSimplifyTest.php
+++ b/core/modules/search/tests/src/Functional/SearchSimplifyTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 use Drupal\Component\Utility\Unicode;
 
 /**
diff --git a/core/modules/search/src/Tests/SearchTestBase.php b/core/modules/search/tests/src/Functional/SearchTestBase.php
similarity index 95%
copy from core/modules/search/src/Tests/SearchTestBase.php
copy to core/modules/search/tests/src/Functional/SearchTestBase.php
index 83967b3..93e0ee2 100644
--- a/core/modules/search/src/Tests/SearchTestBase.php
+++ b/core/modules/search/tests/src/Functional/SearchTestBase.php
@@ -1,14 +1,14 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Component\Utility\SafeMarkup;
 
 /**
  * Defines the common search test code.
  */
-abstract class SearchTestBase extends WebTestBase {
+abstract class SearchTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/search/src/Tests/SearchTokenizerTest.php b/core/modules/search/tests/src/Functional/SearchTokenizerTest.php
similarity index 99%
rename from core/modules/search/src/Tests/SearchTokenizerTest.php
rename to core/modules/search/tests/src/Functional/SearchTokenizerTest.php
index f8b3ccb..e25bfc4 100644
--- a/core/modules/search/src/Tests/SearchTokenizerTest.php
+++ b/core/modules/search/tests/src/Functional/SearchTokenizerTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\search\Tests;
+namespace Drupal\Tests\search\Functional;
 use Drupal\Component\Utility\Unicode;
 
 /**
diff --git a/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php b/core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php
similarity index 97%
rename from core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php
rename to core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php
index a437ffb..23f0145 100644
--- a/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php
+++ b/core/modules/shortcut/tests/src/Functional/ShortcutCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\shortcut\Tests;
+namespace Drupal\Tests\shortcut\Functional;
 
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\shortcut\Entity\Shortcut;
diff --git a/core/modules/simpletest/src/Tests/FolderTest.php b/core/modules/simpletest/tests/src/Functional/FolderTest.php
similarity index 77%
rename from core/modules/simpletest/src/Tests/FolderTest.php
rename to core/modules/simpletest/tests/src/Functional/FolderTest.php
index d43c638..4055976 100644
--- a/core/modules/simpletest/src/Tests/FolderTest.php
+++ b/core/modules/simpletest/tests/src/Functional/FolderTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\simpletest\Tests;
+namespace Drupal\Tests\simpletest\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * This test will check SimpleTest's treatment of hook_install during setUp.
@@ -10,7 +10,7 @@
  *
  * @group simpletest
  */
-class FolderTest extends WebTestBase {
+class FolderTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/simpletest/src/Tests/MailCaptureTest.php b/core/modules/simpletest/tests/src/Functional/MailCaptureTest.php
similarity index 93%
rename from core/modules/simpletest/src/Tests/MailCaptureTest.php
rename to core/modules/simpletest/tests/src/Functional/MailCaptureTest.php
index 700c757..b79db8d 100644
--- a/core/modules/simpletest/src/Tests/MailCaptureTest.php
+++ b/core/modules/simpletest/tests/src/Functional/MailCaptureTest.php
@@ -1,8 +1,9 @@
 <?php
 
-namespace Drupal\simpletest\Tests;
+namespace Drupal\Tests\simpletest\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\Core\Test\AssertMailTrait;
 
 /**
  * Tests the SimpleTest email capturing logic, the assertMail assertion and the
@@ -10,7 +11,10 @@
  *
  * @group simpletest
  */
-class MailCaptureTest extends WebTestBase {
+class MailCaptureTest extends BrowserTestBase {
+  use AssertMailTrait {
+    getMails as drupalGetMails;
+  }
   /**
    * Test to see if the wrapper function is executed correctly.
    */
diff --git a/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php b/core/modules/simpletest/tests/src/Functional/MissingDependentModuleUnitTest.php
similarity index 70%
rename from core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php
rename to core/modules/simpletest/tests/src/Functional/MissingDependentModuleUnitTest.php
index 9c707b8..885a44c 100644
--- a/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php
+++ b/core/modules/simpletest/tests/src/Functional/MissingDependentModuleUnitTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\simpletest\Tests;
+namespace Drupal\Tests\simpletest\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * This test should not load since it requires a module that is not found.
@@ -10,7 +10,7 @@
  * @group simpletest
  * @dependencies simpletest_missing_module
  */
-class MissingDependentModuleUnitTest extends WebTestBase {
+class MissingDependentModuleUnitTest extends BrowserTestBase {
 
   /**
    * Ensure that this test will not be loaded despite its dependency.
diff --git a/core/modules/simpletest/src/Tests/OtherInstallationProfileTestsTest.php b/core/modules/simpletest/tests/src/Functional/OtherInstallationProfileTestsTest.php
similarity index 91%
rename from core/modules/simpletest/src/Tests/OtherInstallationProfileTestsTest.php
rename to core/modules/simpletest/tests/src/Functional/OtherInstallationProfileTestsTest.php
index b4263f1..71601e2 100644
--- a/core/modules/simpletest/src/Tests/OtherInstallationProfileTestsTest.php
+++ b/core/modules/simpletest/tests/src/Functional/OtherInstallationProfileTestsTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\simpletest\Tests;
+namespace Drupal\Tests\simpletest\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Verifies that tests in other installation profiles are found.
@@ -10,7 +10,7 @@
  * @group simpletest
  * @see SimpleTestInstallationProfileModuleTestsTestCase
  */
-class OtherInstallationProfileTestsTest extends WebTestBase {
+class OtherInstallationProfileTestsTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/simpletest/src/Tests/UserHelpersTest.php b/core/modules/simpletest/tests/src/Functional/UserHelpersTest.php
similarity index 92%
rename from core/modules/simpletest/src/Tests/UserHelpersTest.php
rename to core/modules/simpletest/tests/src/Functional/UserHelpersTest.php
index c3fb00b..ace0e49 100644
--- a/core/modules/simpletest/src/Tests/UserHelpersTest.php
+++ b/core/modules/simpletest/tests/src/Functional/UserHelpersTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\simpletest\Tests;
+namespace Drupal\Tests\simpletest\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests User related helper methods of WebTestBase.
  *
  * @group simpletest
  */
-class UserHelpersTest extends WebTestBase {
+class UserHelpersTest extends BrowserTestBase {
 
   /**
    * Tests WebTestBase::drupalUserIsLoggedIn().
diff --git a/core/modules/statistics/src/Tests/StatisticsTestBase.php b/core/modules/statistics/src/Tests/StatisticsTestBase.php
index b18b0ac..27fe836 100644
--- a/core/modules/statistics/src/Tests/StatisticsTestBase.php
+++ b/core/modules/statistics/src/Tests/StatisticsTestBase.php
@@ -6,6 +6,9 @@
 
 /**
  * Defines a base class for testing the Statistics module.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\statistics\Functional\StatisticsTestBase instead.
  */
 abstract class StatisticsTestBase extends WebTestBase {
 
diff --git a/core/modules/statistics/src/Tests/StatisticsAttachedTest.php b/core/modules/statistics/tests/src/Functional/StatisticsAttachedTest.php
similarity index 90%
rename from core/modules/statistics/src/Tests/StatisticsAttachedTest.php
rename to core/modules/statistics/tests/src/Functional/StatisticsAttachedTest.php
index f869b2a..9ea6e94 100644
--- a/core/modules/statistics/src/Tests/StatisticsAttachedTest.php
+++ b/core/modules/statistics/tests/src/Functional/StatisticsAttachedTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\statistics\Tests;
+namespace Drupal\Tests\statistics\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\node\Entity\Node;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group statistics
  */
-class StatisticsAttachedTest extends WebTestBase {
+class StatisticsAttachedTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/statistics/src/Tests/StatisticsTestBase.php b/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php
similarity index 87%
copy from core/modules/statistics/src/Tests/StatisticsTestBase.php
copy to core/modules/statistics/tests/src/Functional/StatisticsTestBase.php
index b18b0ac..97d9082 100644
--- a/core/modules/statistics/src/Tests/StatisticsTestBase.php
+++ b/core/modules/statistics/tests/src/Functional/StatisticsTestBase.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\statistics\Tests;
+namespace Drupal\Tests\statistics\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Defines a base class for testing the Statistics module.
  */
-abstract class StatisticsTestBase extends WebTestBase {
+abstract class StatisticsTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php b/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php
similarity index 97%
rename from core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php
rename to core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php
index e2e4533..cc36e47 100644
--- a/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php
+++ b/core/modules/statistics/tests/src/Functional/StatisticsTokenReplaceTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\statistics\Tests;
+namespace Drupal\Tests\statistics\Functional;
 
 /**
  * Generates text using placeholders for dummy content to check statistics token
diff --git a/core/modules/system/src/Tests/Cache/CacheTestBase.php b/core/modules/system/src/Tests/Cache/CacheTestBase.php
index efca9fd..0f0fe84 100644
--- a/core/modules/system/src/Tests/Cache/CacheTestBase.php
+++ b/core/modules/system/src/Tests/Cache/CacheTestBase.php
@@ -6,6 +6,9 @@
 
 /**
  * Provides helper methods for cache tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\system\Functional\Cache\CacheTestBase instead.
  */
 abstract class CacheTestBase extends WebTestBase {
 
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
index 2c77818..fcfb023 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
@@ -8,6 +8,9 @@
 
 /**
  * Provides helper methods for page cache tags tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\system\Functional\Cache\PageCacheTagsTestBase instead.
  */
 abstract class PageCacheTagsTestBase extends WebTestBase {
 
diff --git a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php b/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
index 9ecefad..1de21ef 100644
--- a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
+++ b/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
@@ -16,6 +16,9 @@
 
 /**
  * Provides helper methods for Entity cache tags tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\system\Functional\Entity\EntityCacheTagsTestBase instead.
  */
 abstract class EntityCacheTagsTestBase extends PageCacheTagsTestBase {
 
diff --git a/core/modules/system/src/Tests/Module/ModuleTestBase.php b/core/modules/system/src/Tests/Module/ModuleTestBase.php
index e212617..ccf8cd5 100644
--- a/core/modules/system/src/Tests/Module/ModuleTestBase.php
+++ b/core/modules/system/src/Tests/Module/ModuleTestBase.php
@@ -10,6 +10,9 @@
 
 /**
  * Helper class for module test cases.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\system\Functional\Module\ModuleTestBase instead.
  */
 abstract class ModuleTestBase extends WebTestBase {
 
diff --git a/core/modules/system/src/Tests/Bootstrap/DrupalSetMessageTest.php b/core/modules/system/tests/src/Functional/Bootstrap/DrupalSetMessageTest.php
similarity index 90%
rename from core/modules/system/src/Tests/Bootstrap/DrupalSetMessageTest.php
rename to core/modules/system/tests/src/Functional/Bootstrap/DrupalSetMessageTest.php
index 29ca02f..1b0f31a 100644
--- a/core/modules/system/src/Tests/Bootstrap/DrupalSetMessageTest.php
+++ b/core/modules/system/tests/src/Functional/Bootstrap/DrupalSetMessageTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Bootstrap;
+namespace Drupal\Tests\system\Functional\Bootstrap;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests drupal_set_message() and related functions.
  *
  * @group Bootstrap
  */
-class DrupalSetMessageTest extends WebTestBase {
+class DrupalSetMessageTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Cache/CacheTestBase.php b/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php
similarity index 93%
copy from core/modules/system/src/Tests/Cache/CacheTestBase.php
copy to core/modules/system/tests/src/Functional/Cache/CacheTestBase.php
index efca9fd..fb552fd 100644
--- a/core/modules/system/src/Tests/Cache/CacheTestBase.php
+++ b/core/modules/system/tests/src/Functional/Cache/CacheTestBase.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\system\Tests\Cache;
+namespace Drupal\Tests\system\Functional\Cache;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Provides helper methods for cache tests.
  */
-abstract class CacheTestBase extends WebTestBase {
+abstract class CacheTestBase extends BrowserTestBase {
 
   protected $defaultBin = 'render';
   protected $defaultCid = 'test_temporary';
diff --git a/core/modules/system/src/Tests/Cache/ClearTest.php b/core/modules/system/tests/src/Functional/Cache/ClearTest.php
similarity index 95%
rename from core/modules/system/src/Tests/Cache/ClearTest.php
rename to core/modules/system/tests/src/Functional/Cache/ClearTest.php
index 3a3fe90..4b33987 100644
--- a/core/modules/system/src/Tests/Cache/ClearTest.php
+++ b/core/modules/system/tests/src/Functional/Cache/ClearTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\Cache;
+namespace Drupal\Tests\system\Functional\Cache;
 
 /**
  * Tests our clearing is done the proper way.
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
similarity index 92%
copy from core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
copy to core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
index 2c77818..de2b419 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsTestBase.php
+++ b/core/modules/system/tests/src/Functional/Cache/PageCacheTagsTestBase.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Cache;
+namespace Drupal\Tests\system\Functional\Cache;
 
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Component\Utility\SafeMarkup;
 
 /**
  * Provides helper methods for page cache tags tests.
  */
-abstract class PageCacheTagsTestBase extends WebTestBase {
+abstract class PageCacheTagsTestBase extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php b/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php
rename to core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
index 219bc34..8ac27b0 100644
--- a/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php
+++ b/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\system\Tests\Datetime;
+namespace Drupal\Tests\system\Functional\Datetime;
 
 use Drupal\Core\Datetime\DrupalDateTime;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group Datetime
  */
-class DrupalDateTimeTest extends WebTestBase {
+class DrupalDateTimeTest extends BrowserTestBase {
 
   /**
    * Set up required modules.
diff --git a/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php b/core/modules/system/tests/src/Functional/DrupalKernel/ContentNegotiationTest.php
similarity index 93%
rename from core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php
rename to core/modules/system/tests/src/Functional/DrupalKernel/ContentNegotiationTest.php
index dcd88ec..49817cc 100644
--- a/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php
+++ b/core/modules/system/tests/src/Functional/DrupalKernel/ContentNegotiationTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\DrupalKernel;
+namespace Drupal\Tests\system\Functional\DrupalKernel;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests content negotiation.
  *
  * @group DrupalKernel
  */
-class ContentNegotiationTest extends WebTestBase {
+class ContentNegotiationTest extends BrowserTestBase {
 
   /**
    * Verifies HTML responses for bogus Accept headers.
diff --git a/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php b/core/modules/system/tests/src/Functional/Entity/ConfigEntityImportTest.php
similarity index 98%
rename from core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php
rename to core/modules/system/tests/src/Functional/Entity/ConfigEntityImportTest.php
index 0f731be..c9243ea 100644
--- a/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/ConfigEntityImportTest.php
@@ -1,12 +1,12 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\Core\Entity\EntityWithPluginCollectionInterface;
 use Drupal\filter\Entity\FilterFormat;
 use Drupal\image\Entity\ImageStyle;
 use Drupal\search\Entity\SearchPage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system\Entity\Action;
 
 /**
@@ -14,7 +14,7 @@
  *
  * @group Entity
  */
-class ConfigEntityImportTest extends WebTestBase {
+class ConfigEntityImportTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Entity/EntityAddUITest.php b/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php
similarity index 97%
rename from core/modules/system/src/Tests/Entity/EntityAddUITest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php
index f0b286f..a16614f 100644
--- a/core/modules/system/src/Tests/Entity/EntityAddUITest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityAddUITest.php
@@ -1,18 +1,18 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\entity_test\Entity\EntityTestBundle;
 use Drupal\entity_test\Entity\EntityTestMul;
 use Drupal\entity_test\Entity\EntityTestWithBundle;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the /add and /add/{type} controllers.
  *
  * @group entity
  */
-class EntityAddUITest extends WebTestBase {
+class EntityAddUITest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php b/core/modules/system/tests/src/Functional/Entity/EntityCacheTagsTestBase.php
similarity index 99%
copy from core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
copy to core/modules/system/tests/src/Functional/Entity/EntityCacheTagsTestBase.php
index 9ecefad..93c5030 100644
--- a/core/modules/system/src/Tests/Entity/EntityCacheTagsTestBase.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityCacheTagsTestBase.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Entity\EntityInterface;
diff --git a/core/modules/system/src/Tests/Entity/EntityListBuilderTest.php b/core/modules/system/tests/src/Functional/Entity/EntityListBuilderTest.php
similarity index 93%
rename from core/modules/system/src/Tests/Entity/EntityListBuilderTest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityListBuilderTest.php
index 2a849b2..6d70760 100644
--- a/core/modules/system/src/Tests/Entity/EntityListBuilderTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityListBuilderTest.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\entity_test\Entity\EntityTest;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests entity list builder functionality.
  *
  * @group Entity
  */
-class EntityListBuilderTest extends WebTestBase {
+class EntityListBuilderTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Entity/EntityOperationsTest.php b/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php
similarity index 91%
rename from core/modules/system/src/Tests/Entity/EntityOperationsTest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php
index 3e4c69f..3919ad1 100644
--- a/core/modules/system/src/Tests/Entity/EntityOperationsTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityOperationsTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that operations can be injected from the hook.
  *
  * @group Entity
  */
-class EntityOperationsTest extends WebTestBase {
+class EntityOperationsTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php b/core/modules/system/tests/src/Functional/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php
similarity index 98%
rename from core/modules/system/src/Tests/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php
index 86bc703..cbb6701 100644
--- a/core/modules/system/src/Tests/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityReferenceSelection/EntityReferenceSelectionAccessTest.php
@@ -1,13 +1,13 @@
 <?php
 
-namespace Drupal\system\Tests\Entity\EntityReferenceSelection;
+namespace Drupal\Tests\system\Functional\Entity\EntityReferenceSelection;
 
 use Drupal\comment\Tests\CommentTestTrait;
 use Drupal\Component\Utility\Html;
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\comment\CommentInterface;
 use Drupal\node\Entity\Node;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 use Drupal\comment\Entity\Comment;
 
@@ -16,7 +16,7 @@
  *
  * @group entity_reference
  */
-class EntityReferenceSelectionAccessTest extends WebTestBase {
+class EntityReferenceSelectionAccessTest extends BrowserTestBase {
 
   use CommentTestTrait;
 
diff --git a/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php b/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Entity/EntityRevisionsTest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
index a64ffc5..ccc48df 100644
--- a/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityRevisionsTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\entity_test\Entity\EntityTestMulRev;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Create a entity with revisions and test viewing, saving, reverting, and
@@ -12,7 +12,7 @@
  *
  * @group Entity
  */
-class EntityRevisionsTest extends WebTestBase {
+class EntityRevisionsTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php b/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Entity/EntityViewControllerTest.php
rename to core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php
index d9f36ff..8718929 100644
--- a/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php
+++ b/core/modules/system/tests/src/Functional/Entity/EntityViewControllerTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\Entity;
+namespace Drupal\Tests\system\Functional\Entity;
 
 use Drupal\entity_test\Entity\EntityTest;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests EntityViewController functionality.
  *
  * @group Entity
  */
-class EntityViewControllerTest extends WebTestBase {
+class EntityViewControllerTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/File/ConfigTest.php b/core/modules/system/tests/src/Functional/File/ConfigTest.php
similarity index 93%
rename from core/modules/system/src/Tests/File/ConfigTest.php
rename to core/modules/system/tests/src/Functional/File/ConfigTest.php
index 2313e26..ea73322 100644
--- a/core/modules/system/src/Tests/File/ConfigTest.php
+++ b/core/modules/system/tests/src/Functional/File/ConfigTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\File;
+namespace Drupal\Tests\system\Functional\File;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests file system configuration operations.
  *
  * @group File
  */
-class ConfigTest extends WebTestBase {
+class ConfigTest extends BrowserTestBase {
 
   protected function setUp(){
     parent::setUp();
diff --git a/core/modules/system/src/Tests/File/FileSaveHtaccessLoggingTest.php b/core/modules/system/tests/src/Functional/File/FileSaveHtaccessLoggingTest.php
similarity index 87%
rename from core/modules/system/src/Tests/File/FileSaveHtaccessLoggingTest.php
rename to core/modules/system/tests/src/Functional/File/FileSaveHtaccessLoggingTest.php
index 5827e24..6da63ee 100644
--- a/core/modules/system/src/Tests/File/FileSaveHtaccessLoggingTest.php
+++ b/core/modules/system/tests/src/Functional/File/FileSaveHtaccessLoggingTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\File;
+namespace Drupal\Tests\system\Functional\File;
 
 use Drupal\Component\PhpStorage\FileStorage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the log message added by file_save_htacess().
  *
  * @group File
  */
-class FileSaveHtaccessLoggingTest extends WebTestBase {
+class FileSaveHtaccessLoggingTest extends BrowserTestBase {
 
   protected static $modules = ['dblog'];
 
diff --git a/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php b/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
similarity index 94%
rename from core/modules/system/src/Tests/FileTransfer/FileTransferTest.php
rename to core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
index e8a6789..985e21a 100644
--- a/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php
+++ b/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\system\Tests\FileTransfer;
+namespace Drupal\Tests\system\Functional\FileTransfer;
 
 use Drupal\Core\FileTransfer\FileTransferException;
 use Drupal\Core\StreamWrapper\PublicStream;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that the jail is respected and that protocols using recursive file move
@@ -12,7 +12,7 @@
  *
  * @group FileTransfer
  */
-class FileTransferTest extends WebTestBase {
+class FileTransferTest extends BrowserTestBase {
   protected $hostname = 'localhost';
   protected $username = 'drupal';
   protected $password = 'password';
diff --git a/core/modules/system/src/Tests/FileTransfer/MockTestConnection.php b/core/modules/system/tests/src/Functional/FileTransfer/MockTestConnection.php
similarity index 85%
rename from core/modules/system/src/Tests/FileTransfer/MockTestConnection.php
rename to core/modules/system/tests/src/Functional/FileTransfer/MockTestConnection.php
index 7e63dc7..6d877b2 100644
--- a/core/modules/system/src/Tests/FileTransfer/MockTestConnection.php
+++ b/core/modules/system/tests/src/Functional/FileTransfer/MockTestConnection.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\FileTransfer;
+namespace Drupal\Tests\system\Functional\FileTransfer;
 
 /**
  * Mock connection object for test case.
diff --git a/core/modules/system/src/Tests/FileTransfer/TestFileTransfer.php b/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php
similarity index 96%
rename from core/modules/system/src/Tests/FileTransfer/TestFileTransfer.php
rename to core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php
index eb73ebc..04e282f 100644
--- a/core/modules/system/src/Tests/FileTransfer/TestFileTransfer.php
+++ b/core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\FileTransfer;
+namespace Drupal\Tests\system\Functional\FileTransfer;
 
 use Drupal\Core\FileTransfer\FileTransfer;
 use Drupal\Core\FileTransfer\FileTransferException;
diff --git a/core/modules/system/src/Tests/Form/ElementsAccessTest.php b/core/modules/system/tests/src/Functional/Form/ElementsAccessTest.php
similarity index 89%
rename from core/modules/system/src/Tests/Form/ElementsAccessTest.php
rename to core/modules/system/tests/src/Functional/Form/ElementsAccessTest.php
index 13386d7..0684c3d 100644
--- a/core/modules/system/src/Tests/Form/ElementsAccessTest.php
+++ b/core/modules/system/tests/src/Functional/Form/ElementsAccessTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Form;
+namespace Drupal\Tests\system\Functional\Form;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests access control for form elements.
  *
  * @group Form
  */
-class ElementsAccessTest extends WebTestBase {
+class ElementsAccessTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Form/FormObjectTest.php b/core/modules/system/tests/src/Functional/Form/FormObjectTest.php
similarity index 98%
rename from core/modules/system/src/Tests/Form/FormObjectTest.php
rename to core/modules/system/tests/src/Functional/Form/FormObjectTest.php
index 38db211..a031198 100644
--- a/core/modules/system/src/Tests/Form/FormObjectTest.php
+++ b/core/modules/system/tests/src/Functional/Form/FormObjectTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\Form;
+namespace Drupal\Tests\system\Functional\Form;
 
 use Drupal\system\Tests\System\SystemConfigFormTestBase;
 use Drupal\form_test\FormTestObject;
diff --git a/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php b/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
similarity index 91%
rename from core/modules/system/src/Tests/Form/ModulesListFormWebTest.php
rename to core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
index 921a27d..640a60d 100644
--- a/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php
+++ b/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Form;
+namespace Drupal\Tests\system\Functional\Form;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests \Drupal\system\Form\ModulesListForm.
  *
  * @group Form
  */
-class ModulesListFormWebTest extends WebTestBase {
+class ModulesListFormWebTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Form/RedirectTest.php b/core/modules/system/tests/src/Functional/Form/RedirectTest.php
similarity index 96%
rename from core/modules/system/src/Tests/Form/RedirectTest.php
rename to core/modules/system/tests/src/Functional/Form/RedirectTest.php
index 6b6d360..d369b9c 100644
--- a/core/modules/system/src/Tests/Form/RedirectTest.php
+++ b/core/modules/system/tests/src/Functional/Form/RedirectTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Form;
+namespace Drupal\Tests\system\Functional\Form;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests form redirection functionality.
  *
  * @group Form
  */
-class RedirectTest extends WebTestBase {
+class RedirectTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Lock/LockFunctionalTest.php b/core/modules/system/tests/src/Functional/Lock/LockFunctionalTest.php
similarity index 96%
rename from core/modules/system/src/Tests/Lock/LockFunctionalTest.php
rename to core/modules/system/tests/src/Functional/Lock/LockFunctionalTest.php
index 0355a76..5e20121 100644
--- a/core/modules/system/src/Tests/Lock/LockFunctionalTest.php
+++ b/core/modules/system/tests/src/Functional/Lock/LockFunctionalTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Lock;
+namespace Drupal\Tests\system\Functional\Lock;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Confirm locking works between two separate requests.
  *
  * @group Lock
  */
-class LockFunctionalTest extends WebTestBase {
+class LockFunctionalTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php b/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php
similarity index 99%
rename from core/modules/system/src/Tests/Mail/HtmlToTextTest.php
rename to core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php
index f396acd..cbcf87f 100644
--- a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php
+++ b/core/modules/system/tests/src/Functional/Mail/HtmlToTextTest.php
@@ -1,19 +1,19 @@
 <?php
 
-namespace Drupal\system\Tests\Mail;
+namespace Drupal\Tests\system\Functional\Mail;
 
 use Drupal\Component\Utility\Html;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Mail\MailFormatHelper;
 use Drupal\Core\Site\Settings;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests for \Drupal\Core\Mail\MailFormatHelper::htmlToText().
  *
  * @group Mail
  */
-class HtmlToTextTest extends WebTestBase {
+class HtmlToTextTest extends BrowserTestBase {
   /**
    * Converts a string to its PHP source equivalent for display in test messages.
    *
diff --git a/core/modules/system/src/Tests/Mail/MailTest.php b/core/modules/system/tests/src/Functional/Mail/MailTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Mail/MailTest.php
rename to core/modules/system/tests/src/Functional/Mail/MailTest.php
index 70f5a4b..6550f09 100644
--- a/core/modules/system/src/Tests/Mail/MailTest.php
+++ b/core/modules/system/tests/src/Functional/Mail/MailTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\system\Tests\Mail;
+namespace Drupal\Tests\system\Functional\Mail;
 
 use Drupal\Core\Mail\Plugin\Mail\TestMailCollector;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system_mail_failure_test\Plugin\Mail\TestPhpMailFailure;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group Mail
  */
-class MailTest extends WebTestBase {
+class MailTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Menu/MenuAccessTest.php b/core/modules/system/tests/src/Functional/Menu/MenuAccessTest.php
similarity index 93%
rename from core/modules/system/src/Tests/Menu/MenuAccessTest.php
rename to core/modules/system/tests/src/Functional/Menu/MenuAccessTest.php
index fff17e5..3156823 100644
--- a/core/modules/system/src/Tests/Menu/MenuAccessTest.php
+++ b/core/modules/system/tests/src/Functional/Menu/MenuAccessTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\Menu;
+namespace Drupal\Tests\system\Functional\Menu;
 
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the route access checks on menu links.
  *
  * @group Menu
  */
-class MenuAccessTest extends WebTestBase {
+class MenuAccessTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Menu/MenuLinkSecurityTest.php b/core/modules/system/tests/src/Functional/Menu/MenuLinkSecurityTest.php
similarity index 87%
rename from core/modules/system/src/Tests/Menu/MenuLinkSecurityTest.php
rename to core/modules/system/tests/src/Functional/Menu/MenuLinkSecurityTest.php
index 94bb14a..c58bf8e 100644
--- a/core/modules/system/src/Tests/Menu/MenuLinkSecurityTest.php
+++ b/core/modules/system/tests/src/Functional/Menu/MenuLinkSecurityTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\Menu;
+namespace Drupal\Tests\system\Functional\Menu;
 
 use Drupal\menu_link_content\Entity\MenuLinkContent;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Ensures that menu links don't cause XSS issues.
  *
  * @group Menu
  */
-class MenuLinkSecurityTest extends WebTestBase {
+class MenuLinkSecurityTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Module/ClassLoaderTest.php b/core/modules/system/tests/src/Functional/Module/ClassLoaderTest.php
similarity index 95%
rename from core/modules/system/src/Tests/Module/ClassLoaderTest.php
rename to core/modules/system/tests/src/Functional/Module/ClassLoaderTest.php
index bc2dfd5..f454b6a 100644
--- a/core/modules/system/src/Tests/Module/ClassLoaderTest.php
+++ b/core/modules/system/tests/src/Functional/Module/ClassLoaderTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Module;
+namespace Drupal\Tests\system\Functional\Module;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests class loading for modules.
  *
  * @group Module
  */
-class ClassLoaderTest extends WebTestBase {
+class ClassLoaderTest extends BrowserTestBase {
 
   /**
    * The expected result from calling the module-provided class' method.
diff --git a/core/modules/system/src/Tests/Module/ExperimentalModuleTest.php b/core/modules/system/tests/src/Functional/Module/ExperimentalModuleTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Module/ExperimentalModuleTest.php
rename to core/modules/system/tests/src/Functional/Module/ExperimentalModuleTest.php
index 7b1a376..94a072d 100644
--- a/core/modules/system/src/Tests/Module/ExperimentalModuleTest.php
+++ b/core/modules/system/tests/src/Functional/Module/ExperimentalModuleTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Module;
+namespace Drupal\Tests\system\Functional\Module;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the installation of modules.
  *
  * @group Module
  */
-class ExperimentalModuleTest extends WebTestBase {
+class ExperimentalModuleTest extends BrowserTestBase {
 
 
   /**
diff --git a/core/modules/system/src/Tests/Module/InstallTest.php b/core/modules/system/tests/src/Functional/Module/InstallTest.php
similarity index 96%
rename from core/modules/system/src/Tests/Module/InstallTest.php
rename to core/modules/system/tests/src/Functional/Module/InstallTest.php
index babdd76..db0d1d3 100644
--- a/core/modules/system/src/Tests/Module/InstallTest.php
+++ b/core/modules/system/tests/src/Functional/Module/InstallTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\Module;
+namespace Drupal\Tests\system\Functional\Module;
 
 use Drupal\Core\Extension\ExtensionNameLengthException;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the installation of modules.
  *
  * @group Module
  */
-class InstallTest extends WebTestBase {
+class InstallTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Module/ModuleTestBase.php b/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php
similarity index 97%
copy from core/modules/system/src/Tests/Module/ModuleTestBase.php
copy to core/modules/system/tests/src/Functional/Module/ModuleTestBase.php
index e212617..df9fbc6 100644
--- a/core/modules/system/src/Tests/Module/ModuleTestBase.php
+++ b/core/modules/system/tests/src/Functional/Module/ModuleTestBase.php
@@ -1,17 +1,17 @@
 <?php
 
-namespace Drupal\system\Tests\Module;
+namespace Drupal\Tests\system\Functional\Module;
 
 use Drupal\Core\Config\InstallStorage;
 use Drupal\Core\Database\Database;
 use Drupal\Core\Config\FileStorage;
 use Drupal\Core\Logger\RfcLogLevel;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Helper class for module test cases.
  */
-abstract class ModuleTestBase extends WebTestBase {
+abstract class ModuleTestBase extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Module/UninstallTest.php b/core/modules/system/tests/src/Functional/Module/UninstallTest.php
similarity index 98%
rename from core/modules/system/src/Tests/Module/UninstallTest.php
rename to core/modules/system/tests/src/Functional/Module/UninstallTest.php
index 20e191d..1977cd0 100644
--- a/core/modules/system/src/Tests/Module/UninstallTest.php
+++ b/core/modules/system/tests/src/Functional/Module/UninstallTest.php
@@ -1,20 +1,20 @@
 <?php
 
-namespace Drupal\system\Tests\Module;
+namespace Drupal\Tests\system\Functional\Module;
 
 use Drupal\Core\Cache\Cache;
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Core\Entity\EntityMalformedException;
 use Drupal\node\Entity\Node;
 use Drupal\node\Entity\NodeType;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the uninstallation of modules.
  *
  * @group Module
  */
-class UninstallTest extends WebTestBase {
+class UninstallTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php b/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
similarity index 96%
rename from core/modules/system/src/Tests/ParamConverter/UpcastingTest.php
rename to core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
index b881386..52cd134 100644
--- a/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php
+++ b/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\system\Tests\ParamConverter;
+namespace Drupal\Tests\system\Functional\ParamConverter;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\language\Entity\ConfigurableLanguage;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group ParamConverter
  */
-class UpcastingTest extends WebTestBase {
+class UpcastingTest extends BrowserTestBase {
 
   public static $modules = array('paramconverter_test', 'node', 'language');
 
diff --git a/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php b/core/modules/system/tests/src/Functional/Path/UrlAlterFunctionalTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php
rename to core/modules/system/tests/src/Functional/Path/UrlAlterFunctionalTest.php
index c4143fd..a24ddf9 100644
--- a/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php
+++ b/core/modules/system/tests/src/Functional/Path/UrlAlterFunctionalTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\system\Tests\Path;
+namespace Drupal\Tests\system\Functional\Path;
 
 use Drupal\Core\Database\Database;
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\taxonomy\Entity\Term;
 
 /**
@@ -12,7 +12,7 @@
  *
  * @group Path
  */
-class UrlAlterFunctionalTest extends WebTestBase {
+class UrlAlterFunctionalTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Render/AjaxPageStateTest.php b/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php
similarity index 96%
rename from core/modules/system/src/Tests/Render/AjaxPageStateTest.php
rename to core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php
index 19e6237..536fda9 100644
--- a/core/modules/system/src/Tests/Render/AjaxPageStateTest.php
+++ b/core/modules/system/tests/src/Functional/Render/AjaxPageStateTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Render;
+namespace Drupal\Tests\system\Functional\Render;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Performs tests for the effects of the ajax_page_state query parameter.
  *
  * @group Render
  */
-class AjaxPageStateTest extends WebTestBase {
+class AjaxPageStateTest extends BrowserTestBase {
 
   /**
    * Modules to install.
diff --git a/core/modules/system/src/Tests/Render/DisplayVariantTest.php b/core/modules/system/tests/src/Functional/Render/DisplayVariantTest.php
similarity index 83%
rename from core/modules/system/src/Tests/Render/DisplayVariantTest.php
rename to core/modules/system/tests/src/Functional/Render/DisplayVariantTest.php
index 09f54d9..4eba3aa 100644
--- a/core/modules/system/src/Tests/Render/DisplayVariantTest.php
+++ b/core/modules/system/tests/src/Functional/Render/DisplayVariantTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Render;
+namespace Drupal\Tests\system\Functional\Render;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests selecting a display variant.
  *
  * @group Render
  */
-class DisplayVariantTest extends WebTestBase {
+class DisplayVariantTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Routing/MockMatcher.php b/core/modules/system/tests/src/Functional/Routing/MockMatcher.php
similarity index 93%
rename from core/modules/system/src/Tests/Routing/MockMatcher.php
rename to core/modules/system/tests/src/Functional/Routing/MockMatcher.php
index 924acd1..eee6b13 100644
--- a/core/modules/system/src/Tests/Routing/MockMatcher.php
+++ b/core/modules/system/tests/src/Functional/Routing/MockMatcher.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\system\Tests\Routing;
+namespace Drupal\Tests\system\Functional\Routing;
 
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Matcher\RequestMatcherInterface;
diff --git a/core/modules/system/src/Tests/Routing/RouterPermissionTest.php b/core/modules/system/tests/src/Functional/Routing/RouterPermissionTest.php
similarity index 86%
rename from core/modules/system/src/Tests/Routing/RouterPermissionTest.php
rename to core/modules/system/tests/src/Functional/Routing/RouterPermissionTest.php
index 2fb0099..5bc0bb5 100644
--- a/core/modules/system/src/Tests/Routing/RouterPermissionTest.php
+++ b/core/modules/system/tests/src/Functional/Routing/RouterPermissionTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Routing;
+namespace Drupal\Tests\system\Functional\Routing;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Function Tests for the routing permission system.
  *
  * @group Routing
  */
-class RouterPermissionTest extends WebTestBase {
+class RouterPermissionTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/ServiceProvider/ServiceProviderWebTest.php b/core/modules/system/tests/src/Functional/ServiceProvider/ServiceProviderWebTest.php
similarity index 87%
rename from core/modules/system/src/Tests/ServiceProvider/ServiceProviderWebTest.php
rename to core/modules/system/tests/src/Functional/ServiceProvider/ServiceProviderWebTest.php
index 5d2505a..88a3ce6 100644
--- a/core/modules/system/src/Tests/ServiceProvider/ServiceProviderWebTest.php
+++ b/core/modules/system/tests/src/Functional/ServiceProvider/ServiceProviderWebTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\ServiceProvider;
+namespace Drupal\Tests\system\Functional\ServiceProvider;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests service provider registration to the DIC.
  *
  * @group ServiceProvider
  */
-class ServiceProviderWebTest extends WebTestBase {
+class ServiceProviderWebTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/System/AdminMetaTagTest.php b/core/modules/system/tests/src/Functional/System/AdminMetaTagTest.php
similarity index 78%
rename from core/modules/system/src/Tests/System/AdminMetaTagTest.php
rename to core/modules/system/tests/src/Functional/System/AdminMetaTagTest.php
index ea92bd9..c58d1ec 100644
--- a/core/modules/system/src/Tests/System/AdminMetaTagTest.php
+++ b/core/modules/system/tests/src/Functional/System/AdminMetaTagTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Confirm that the fingerprinting meta tag appears as expected.
  *
  * @group system
  */
-class AdminMetaTagTest extends WebTestBase {
+class AdminMetaTagTest extends BrowserTestBase {
   /**
    * Verify that the meta tag HTML is generated correctly.
    */
diff --git a/core/modules/system/src/Tests/System/DateFormatsLockedTest.php b/core/modules/system/tests/src/Functional/System/DateFormatsLockedTest.php
similarity index 90%
rename from core/modules/system/src/Tests/System/DateFormatsLockedTest.php
rename to core/modules/system/tests/src/Functional/System/DateFormatsLockedTest.php
index c8a0a67..faac2b7 100644
--- a/core/modules/system/src/Tests/System/DateFormatsLockedTest.php
+++ b/core/modules/system/tests/src/Functional/System/DateFormatsLockedTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the locked functionality of date formats.
  *
  * @group system
  */
-class DateFormatsLockedTest extends WebTestBase {
+class DateFormatsLockedTest extends BrowserTestBase {
 
   /**
    * Tests attempts at listing, editing, and deleting locked date formats.
diff --git a/core/modules/system/src/Tests/System/DateFormatsMachineNameTest.php b/core/modules/system/tests/src/Functional/System/DateFormatsMachineNameTest.php
similarity index 95%
rename from core/modules/system/src/Tests/System/DateFormatsMachineNameTest.php
rename to core/modules/system/tests/src/Functional/System/DateFormatsMachineNameTest.php
index a7c304a..29bb4c2 100644
--- a/core/modules/system/src/Tests/System/DateFormatsMachineNameTest.php
+++ b/core/modules/system/tests/src/Functional/System/DateFormatsMachineNameTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
 use Drupal\Component\Utility\Unicode;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests validity of date format machine names.
  *
  * @group system
  */
-class DateFormatsMachineNameTest extends WebTestBase {
+class DateFormatsMachineNameTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/System/DateTimeTest.php b/core/modules/system/tests/src/Functional/System/DateTimeTest.php
similarity index 98%
rename from core/modules/system/src/Tests/System/DateTimeTest.php
rename to core/modules/system/tests/src/Functional/System/DateTimeTest.php
index 8e30366..98dd35e 100644
--- a/core/modules/system/src/Tests/System/DateTimeTest.php
+++ b/core/modules/system/tests/src/Functional/System/DateTimeTest.php
@@ -1,10 +1,10 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
 use Drupal\Core\Datetime\Entity\DateFormat;
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Configure date and time settings. Test date formatting and time zone
@@ -12,7 +12,7 @@
  *
  * @group system
  */
-class DateTimeTest extends WebTestBase {
+class DateTimeTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/System/IndexPhpTest.php b/core/modules/system/tests/src/Functional/System/IndexPhpTest.php
similarity index 82%
rename from core/modules/system/src/Tests/System/IndexPhpTest.php
rename to core/modules/system/tests/src/Functional/System/IndexPhpTest.php
index 72811a8..fa43ad2 100644
--- a/core/modules/system/src/Tests/System/IndexPhpTest.php
+++ b/core/modules/system/tests/src/Functional/System/IndexPhpTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the handling of requests containing 'index.php'.
  *
  * @group system
  */
-class IndexPhpTest extends WebTestBase {
+class IndexPhpTest extends BrowserTestBase {
   protected function setUp() {
     parent::setUp();
   }
diff --git a/core/modules/system/src/Tests/System/MainContentFallbackTest.php b/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php
similarity index 94%
rename from core/modules/system/src/Tests/System/MainContentFallbackTest.php
rename to core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php
index 551e4c7..3b1d5b7 100644
--- a/core/modules/system/src/Tests/System/MainContentFallbackTest.php
+++ b/core/modules/system/tests/src/Functional/System/MainContentFallbackTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Test SimplePageVariant main content rendering fallback page display variant.
  *
  * @group system
  */
-class MainContentFallbackTest extends WebTestBase {
+class MainContentFallbackTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/System/RetrieveFileTest.php b/core/modules/system/tests/src/Functional/System/RetrieveFileTest.php
similarity index 93%
rename from core/modules/system/src/Tests/System/RetrieveFileTest.php
rename to core/modules/system/tests/src/Functional/System/RetrieveFileTest.php
index 8f6fe4a..5cf2364 100644
--- a/core/modules/system/src/Tests/System/RetrieveFileTest.php
+++ b/core/modules/system/tests/src/Functional/System/RetrieveFileTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests HTTP file fetching and error handling.
  *
  * @group system
  */
-class RetrieveFileTest extends WebTestBase {
+class RetrieveFileTest extends BrowserTestBase {
   /**
    * Invokes system_retrieve_file() in several scenarios.
    */
diff --git a/core/modules/system/src/Tests/System/SitesDirectoryHardeningTest.php b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
similarity index 96%
rename from core/modules/system/src/Tests/System/SitesDirectoryHardeningTest.php
rename to core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
index f9331ba..6a4d3ee 100644
--- a/core/modules/system/src/Tests/System/SitesDirectoryHardeningTest.php
+++ b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
@@ -1,18 +1,18 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
 use Drupal\Component\Render\FormattableMarkup;
 use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests Drupal permissions hardening of /sites subdirectories.
  *
  * @group system
  */
-class SitesDirectoryHardeningTest extends WebTestBase {
+class SitesDirectoryHardeningTest extends BrowserTestBase {
   use StringTranslationTrait;
 
   /**
diff --git a/core/modules/system/src/Tests/System/StatusTest.php b/core/modules/system/tests/src/Functional/System/StatusTest.php
similarity index 96%
rename from core/modules/system/src/Tests/System/StatusTest.php
rename to core/modules/system/tests/src/Functional/System/StatusTest.php
index c170316..34d4f75 100644
--- a/core/modules/system/src/Tests/System/StatusTest.php
+++ b/core/modules/system/tests/src/Functional/System/StatusTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
 use Drupal\Core\Url;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\system\SystemRequirements;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group system
  */
-class StatusTest extends WebTestBase {
+class StatusTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/System/SystemAuthorizeTest.php b/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php
similarity index 93%
rename from core/modules/system/src/Tests/System/SystemAuthorizeTest.php
rename to core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php
index 5e278d7..6878d6c 100644
--- a/core/modules/system/src/Tests/System/SystemAuthorizeTest.php
+++ b/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the authorize.php script and related API.
  *
  * @group system
  */
-class SystemAuthorizeTest extends WebTestBase {
+class SystemAuthorizeTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/System/TokenScanTest.php b/core/modules/system/tests/src/Functional/System/TokenScanTest.php
similarity index 92%
rename from core/modules/system/src/Tests/System/TokenScanTest.php
rename to core/modules/system/tests/src/Functional/System/TokenScanTest.php
index 89f2abd..a43470a 100644
--- a/core/modules/system/src/Tests/System/TokenScanTest.php
+++ b/core/modules/system/tests/src/Functional/System/TokenScanTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Scan token-like patterns in a dummy text to check token scanning.
  *
  * @group system
  */
-class TokenScanTest extends WebTestBase {
+class TokenScanTest extends BrowserTestBase {
 
   /**
    * Scans dummy text, then tests the output.
diff --git a/core/modules/system/src/Tests/System/TrustedHostsTest.php b/core/modules/system/tests/src/Functional/System/TrustedHostsTest.php
similarity index 96%
rename from core/modules/system/src/Tests/System/TrustedHostsTest.php
rename to core/modules/system/tests/src/Functional/System/TrustedHostsTest.php
index a9c976a..ade5e2b 100644
--- a/core/modules/system/src/Tests/System/TrustedHostsTest.php
+++ b/core/modules/system/tests/src/Functional/System/TrustedHostsTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\System;
+namespace Drupal\Tests\system\Functional\System;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests output on the status overview page.
  *
  * @group system
  */
-class TrustedHostsTest extends WebTestBase {
+class TrustedHostsTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/src/Tests/Theme/EngineNyanCatTest.php b/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php
similarity index 84%
rename from core/modules/system/src/Tests/Theme/EngineNyanCatTest.php
rename to core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php
index 0eb43b7..2d279d5 100644
--- a/core/modules/system/src/Tests/Theme/EngineNyanCatTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/EngineNyanCatTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the multi theme engine support.
  *
  * @group Theme
  */
-class EngineNyanCatTest extends WebTestBase {
+class EngineNyanCatTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/FastTest.php b/core/modules/system/tests/src/Functional/Theme/FastTest.php
similarity index 85%
rename from core/modules/system/src/Tests/Theme/FastTest.php
rename to core/modules/system/tests/src/Functional/Theme/FastTest.php
index a05666f..198fd63 100644
--- a/core/modules/system/src/Tests/Theme/FastTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/FastTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests autocompletion not loading registry.
  *
  * @group Theme
  */
-class FastTest extends WebTestBase {
+class FastTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php b/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php
similarity index 84%
rename from core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php
rename to core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php
index ddbb770..89424bd 100644
--- a/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/ThemeEarlyInitializationTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that the theme system can be correctly initialized early in the page
@@ -10,7 +10,7 @@
  *
  * @group Theme
  */
-class ThemeEarlyInitializationTest extends WebTestBase {
+class ThemeEarlyInitializationTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/ThemeInfoTest.php b/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php
similarity index 96%
rename from core/modules/system/src/Tests/Theme/ThemeInfoTest.php
rename to core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php
index 0763917..7f59aa2 100644
--- a/core/modules/system/src/Tests/Theme/ThemeInfoTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/ThemeInfoTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests processing of theme .info.yml properties.
  *
  * @group Theme
  */
-class ThemeInfoTest extends WebTestBase {
+class ThemeInfoTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/ThemeTokenTest.php b/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php
similarity index 92%
rename from core/modules/system/src/Tests/Theme/ThemeTokenTest.php
rename to core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php
index c3b1f8c..1488c5b 100644
--- a/core/modules/system/src/Tests/Theme/ThemeTokenTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/ThemeTokenTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the generation of 'theme_token' key in Drupal settings.
  *
  * @group Theme
  */
-class ThemeTokenTest extends WebTestBase {
+class ThemeTokenTest extends BrowserTestBase {
 
   /**
    * We want to visit the 'admin/structure/block' page.
diff --git a/core/modules/system/src/Tests/Theme/TwigExtensionTest.php b/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php
similarity index 95%
rename from core/modules/system/src/Tests/Theme/TwigExtensionTest.php
rename to core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php
index 4be1f73..36bfe2d 100644
--- a/core/modules/system/src/Tests/Theme/TwigExtensionTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/TwigExtensionTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests Twig extensions.
  *
  * @group Theme
  */
-class TwigExtensionTest extends WebTestBase {
+class TwigExtensionTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/TwigLoaderTest.php b/core/modules/system/tests/src/Functional/Theme/TwigLoaderTest.php
similarity index 84%
rename from core/modules/system/src/Tests/Theme/TwigLoaderTest.php
rename to core/modules/system/tests/src/Functional/Theme/TwigLoaderTest.php
index 84a112c..b580719 100644
--- a/core/modules/system/src/Tests/Theme/TwigLoaderTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/TwigLoaderTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests adding Twig loaders.
  *
  * @group Theme
  */
-class TwigLoaderTest extends WebTestBase {
+class TwigLoaderTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/TwigRegistryLoaderTest.php b/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php
similarity index 95%
rename from core/modules/system/src/Tests/Theme/TwigRegistryLoaderTest.php
rename to core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php
index 5cbca9f..a0161b1 100644
--- a/core/modules/system/src/Tests/Theme/TwigRegistryLoaderTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/TwigRegistryLoaderTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests Twig registry loader.
  *
  * @group Theme
  */
-class TwigRegistryLoaderTest extends WebTestBase {
+class TwigRegistryLoaderTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/system/src/Tests/Theme/TwigSettingsTest.php b/core/modules/system/tests/src/Functional/Theme/TwigSettingsTest.php
similarity index 97%
rename from core/modules/system/src/Tests/Theme/TwigSettingsTest.php
rename to core/modules/system/tests/src/Functional/Theme/TwigSettingsTest.php
index 3722431..2dbeed1 100644
--- a/core/modules/system/src/Tests/Theme/TwigSettingsTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/TwigSettingsTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\system\Tests\Theme;
+namespace Drupal\Tests\system\Functional\Theme;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\Core\PhpStorage\PhpStorageFactory;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group Theme
  */
-class TwigSettingsTest extends WebTestBase {
+class TwigSettingsTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php b/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php
index aa91237..12c30c7 100644
--- a/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php
+++ b/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php
@@ -7,6 +7,9 @@
 
 /**
  * Provides common helper methods for Taxonomy module tests.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ *   Use \Drupal\Tests\taxonomy\Functional\TaxonomyTestBase instead.
  */
 abstract class TaxonomyTestBase extends WebTestBase {
 
diff --git a/core/modules/taxonomy/src/Tests/EfqTest.php b/core/modules/taxonomy/tests/src/Functional/EfqTest.php
similarity index 97%
rename from core/modules/taxonomy/src/Tests/EfqTest.php
rename to core/modules/taxonomy/tests/src/Functional/EfqTest.php
index 572ae8f..1f788c8 100644
--- a/core/modules/taxonomy/src/Tests/EfqTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/EfqTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 /**
  * Verifies operation of a taxonomy-based Entity Query.
diff --git a/core/modules/taxonomy/src/Tests/LegacyTest.php b/core/modules/taxonomy/tests/src/Functional/LegacyTest.php
similarity index 98%
rename from core/modules/taxonomy/src/Tests/LegacyTest.php
rename to core/modules/taxonomy/tests/src/Functional/LegacyTest.php
index b842226..fbbe16f9 100644
--- a/core/modules/taxonomy/src/Tests/LegacyTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/LegacyTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Core\Datetime\DrupalDateTime;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
diff --git a/core/modules/taxonomy/src/Tests/LoadMultipleTest.php b/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php
similarity index 98%
rename from core/modules/taxonomy/src/Tests/LoadMultipleTest.php
rename to core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php
index 349516c..4955992 100644
--- a/core/modules/taxonomy/src/Tests/LoadMultipleTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/LoadMultipleTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\taxonomy\Entity\Term;
 
diff --git a/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php b/core/modules/taxonomy/tests/src/Functional/TaxonomyTestBase.php
similarity index 78%
copy from core/modules/taxonomy/src/Tests/TaxonomyTestBase.php
copy to core/modules/taxonomy/tests/src/Functional/TaxonomyTestBase.php
index aa91237..2625af0 100644
--- a/core/modules/taxonomy/src/Tests/TaxonomyTestBase.php
+++ b/core/modules/taxonomy/tests/src/Functional/TaxonomyTestBase.php
@@ -1,14 +1,15 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\taxonomy\Tests\TaxonomyTestTrait;
 
 /**
  * Provides common helper methods for Taxonomy module tests.
  */
-abstract class TaxonomyTestBase extends WebTestBase {
+abstract class TaxonomyTestBase extends BrowserTestBase {
 
   use TaxonomyTestTrait;
   use EntityReferenceTestTrait;
diff --git a/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php b/core/modules/taxonomy/tests/src/Functional/TermCacheTagsTest.php
similarity index 94%
rename from core/modules/taxonomy/src/Tests/TermCacheTagsTest.php
rename to core/modules/taxonomy/tests/src/Functional/TermCacheTagsTest.php
index 8d7ddad..10f24e8 100644
--- a/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\system\Tests\Entity\EntityWithUriCacheTagsTestBase;
 use Drupal\taxonomy\Entity\Vocabulary;
diff --git a/core/modules/taxonomy/src/Tests/TermEntityReferenceTest.php b/core/modules/taxonomy/tests/src/Functional/TermEntityReferenceTest.php
similarity index 98%
rename from core/modules/taxonomy/src/Tests/TermEntityReferenceTest.php
rename to core/modules/taxonomy/tests/src/Functional/TermEntityReferenceTest.php
index de77654..9cdafa3 100644
--- a/core/modules/taxonomy/src/Tests/TermEntityReferenceTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermEntityReferenceTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\field\Entity\FieldStorageConfig;
 use Drupal\field\Entity\FieldConfig;
diff --git a/core/modules/taxonomy/src/Tests/TermIndexTest.php b/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/TermIndexTest.php
rename to core/modules/taxonomy/tests/src/Functional/TermIndexTest.php
index 28e816c..7516939 100644
--- a/core/modules/taxonomy/src/Tests/TermIndexTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermIndexTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
diff --git a/core/modules/taxonomy/src/Tests/TermLanguageTest.php b/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/TermLanguageTest.php
rename to core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
index e894ad2..1ab8d48 100644
--- a/core/modules/taxonomy/src/Tests/TermLanguageTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\language\Entity\ConfigurableLanguage;
diff --git a/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php b/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php
similarity index 96%
rename from core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php
rename to core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php
index 18cf720..9588e4d 100644
--- a/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermTranslationFieldViewTest.php
@@ -1,8 +1,9 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\node\Entity\Node;
+use Drupal\taxonomy\Tests\TaxonomyTranslationTestTrait;
 
 /**
  * Tests the translation of taxonomy terms field on nodes.
diff --git a/core/modules/taxonomy/src/Tests/TokenReplaceTest.php b/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/TokenReplaceTest.php
rename to core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php
index f3c6c5d..1c8b7ea 100644
--- a/core/modules/taxonomy/src/Tests/TokenReplaceTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TokenReplaceTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\Core\Render\BubbleableMetadata;
diff --git a/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php b/core/modules/taxonomy/tests/src/Functional/VocabularyCrudTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/VocabularyCrudTest.php
rename to core/modules/taxonomy/tests/src/Functional/VocabularyCrudTest.php
index 914b7f2..2705ab0 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/VocabularyCrudTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\field\Entity\FieldConfig;
diff --git a/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php b/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php
rename to core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php
index 3326e51..da78589 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/VocabularyLanguageTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Component\Utility\Unicode;
 use Drupal\language\Entity\ConfigurableLanguage;
diff --git a/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php b/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php
similarity index 99%
rename from core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php
rename to core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php
index 9a5e8c0..1b83d84 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/VocabularyPermissionsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 /**
  * Tests the taxonomy vocabulary permissions.
diff --git a/core/modules/taxonomy/src/Tests/VocabularyTranslationTest.php b/core/modules/taxonomy/tests/src/Functional/VocabularyTranslationTest.php
similarity index 97%
rename from core/modules/taxonomy/src/Tests/VocabularyTranslationTest.php
rename to core/modules/taxonomy/tests/src/Functional/VocabularyTranslationTest.php
index 7ad7609..5c41f6c 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyTranslationTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/VocabularyTranslationTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\taxonomy\Tests;
+namespace Drupal\Tests\taxonomy\Functional;
 
 use Drupal\Component\Utility\Unicode;
 
diff --git a/core/modules/telephone/src/Tests/TelephoneFieldTest.php b/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php
similarity index 95%
rename from core/modules/telephone/src/Tests/TelephoneFieldTest.php
rename to core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php
index f7452b0..7f536c4 100644
--- a/core/modules/telephone/src/Tests/TelephoneFieldTest.php
+++ b/core/modules/telephone/tests/src/Functional/TelephoneFieldTest.php
@@ -1,9 +1,9 @@
 <?php
 
-namespace Drupal\telephone\Tests;
+namespace Drupal\Tests\telephone\Functional;
 
 use Drupal\field\Entity\FieldConfig;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\field\Entity\FieldStorageConfig;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group telephone
  */
-class TelephoneFieldTest extends WebTestBase {
+class TelephoneFieldTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php b/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php
similarity index 91%
rename from core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php
rename to core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php
index 7cff043..1bf6e82 100644
--- a/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php
+++ b/core/modules/toolbar/tests/src/Functional/ToolbarHookToolbarTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\toolbar\Tests;
+namespace Drupal\Tests\toolbar\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the implementation of hook_toolbar() by a module.
  *
  * @group toolbar
  */
-class ToolbarHookToolbarTest extends WebTestBase {
+class ToolbarHookToolbarTest extends BrowserTestBase {
 
   /**
    * A user with permission to access the administrative toolbar.
diff --git a/core/modules/tour/src/Tests/TourCacheTagsTest.php b/core/modules/tour/tests/src/Functional/TourCacheTagsTest.php
similarity index 97%
rename from core/modules/tour/src/Tests/TourCacheTagsTest.php
rename to core/modules/tour/tests/src/Functional/TourCacheTagsTest.php
index 4f2164e..446c33a 100644
--- a/core/modules/tour/src/Tests/TourCacheTagsTest.php
+++ b/core/modules/tour/tests/src/Functional/TourCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\tour\Tests;
+namespace Drupal\Tests\tour\Functional;
 
 use Drupal\Core\Url;
 use Drupal\system\Tests\Cache\PageCacheTagsTestBase;
diff --git a/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php b/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php
similarity index 95%
rename from core/modules/tracker/src/Tests/TrackerNodeAccessTest.php
rename to core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php
index 29492bc..1d33a23 100644
--- a/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php
+++ b/core/modules/tracker/tests/src/Functional/TrackerNodeAccessTest.php
@@ -1,18 +1,18 @@
 <?php
 
-namespace Drupal\tracker\Tests;
+namespace Drupal\Tests\tracker\Functional;
 
 use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
 use Drupal\comment\Tests\CommentTestTrait;
 use Drupal\node\Entity\NodeType;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests for private node access on /tracker.
  *
  * @group tracker
  */
-class TrackerNodeAccessTest extends WebTestBase {
+class TrackerNodeAccessTest extends BrowserTestBase {
 
   use CommentTestTrait;
 
diff --git a/core/modules/user/src/Tests/UserCacheTagsTest.php b/core/modules/user/tests/src/Functional/UserCacheTagsTest.php
similarity index 96%
rename from core/modules/user/src/Tests/UserCacheTagsTest.php
rename to core/modules/user/tests/src/Functional/UserCacheTagsTest.php
index 8dc7437..d4455ff 100644
--- a/core/modules/user/src/Tests/UserCacheTagsTest.php
+++ b/core/modules/user/tests/src/Functional/UserCacheTagsTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\system\Tests\Entity\EntityWithUriCacheTagsTestBase;
 use Drupal\user\Entity\Role;
diff --git a/core/modules/user/src/Tests/UserCreateFailMailTest.php b/core/modules/user/tests/src/Functional/UserCreateFailMailTest.php
similarity index 90%
rename from core/modules/user/src/Tests/UserCreateFailMailTest.php
rename to core/modules/user/tests/src/Functional/UserCreateFailMailTest.php
index a51229a..d844b0a 100644
--- a/core/modules/user/src/Tests/UserCreateFailMailTest.php
+++ b/core/modules/user/tests/src/Functional/UserCreateFailMailTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the create user administration page.
  *
  * @group user
  */
-class UserCreateFailMailTest extends WebTestBase {
+class UserCreateFailMailTest extends BrowserTestBase {
 
   /**
    * Modules to enable
diff --git a/core/modules/user/src/Tests/UserDeleteTest.php b/core/modules/user/tests/src/Functional/UserDeleteTest.php
similarity index 94%
rename from core/modules/user/src/Tests/UserDeleteTest.php
rename to core/modules/user/tests/src/Functional/UserDeleteTest.php
index dbb3002..c82a2f3 100644
--- a/core/modules/user/src/Tests/UserDeleteTest.php
+++ b/core/modules/user/tests/src/Functional/UserDeleteTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group user
  */
-class UserDeleteTest extends WebTestBase {
+class UserDeleteTest extends BrowserTestBase {
 
   /**
    * Test deleting multiple users.
diff --git a/core/modules/user/src/Tests/UserEditedOwnAccountTest.php b/core/modules/user/tests/src/Functional/UserEditedOwnAccountTest.php
similarity index 87%
rename from core/modules/user/src/Tests/UserEditedOwnAccountTest.php
rename to core/modules/user/tests/src/Functional/UserEditedOwnAccountTest.php
index 6c058bf..7783eb9 100644
--- a/core/modules/user/src/Tests/UserEditedOwnAccountTest.php
+++ b/core/modules/user/tests/src/Functional/UserEditedOwnAccountTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests user edited own account can still log in.
  *
  * @group user
  */
-class UserEditedOwnAccountTest extends WebTestBase {
+class UserEditedOwnAccountTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/user/src/Tests/UserEntityCallbacksTest.php b/core/modules/user/tests/src/Functional/UserEntityCallbacksTest.php
similarity index 93%
rename from core/modules/user/src/Tests/UserEntityCallbacksTest.php
rename to core/modules/user/tests/src/Functional/UserEntityCallbacksTest.php
index 944b352..ceb8eda 100644
--- a/core/modules/user/src/Tests/UserEntityCallbacksTest.php
+++ b/core/modules/user/tests/src/Functional/UserEntityCallbacksTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -11,7 +11,7 @@
  *
  * @group user
  */
-class UserEntityCallbacksTest extends WebTestBase {
+class UserEntityCallbacksTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/user/src/Tests/UserLanguageTest.php b/core/modules/user/tests/src/Functional/UserLanguageTest.php
similarity index 94%
rename from core/modules/user/src/Tests/UserLanguageTest.php
rename to core/modules/user/tests/src/Functional/UserLanguageTest.php
index 5c5f73f..e4aeb58 100644
--- a/core/modules/user/src/Tests/UserLanguageTest.php
+++ b/core/modules/user/tests/src/Functional/UserLanguageTest.php
@@ -1,16 +1,16 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\Core\Language\LanguageInterface;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Functional tests for a user's ability to change their default language.
  *
  * @group user
  */
-class UserLanguageTest extends WebTestBase {
+class UserLanguageTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/user/src/Tests/UserMailNotifyTest.php b/core/modules/user/tests/src/Functional/UserMailNotifyTest.php
similarity index 98%
rename from core/modules/user/src/Tests/UserMailNotifyTest.php
rename to core/modules/user/tests/src/Functional/UserMailNotifyTest.php
index 9943c5b..7f5257a 100644
--- a/core/modules/user/src/Tests/UserMailNotifyTest.php
+++ b/core/modules/user/tests/src/Functional/UserMailNotifyTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\Core\Test\AssertMailTrait;
 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
diff --git a/core/modules/user/src/Tests/UserRolesAssignmentTest.php b/core/modules/user/tests/src/Functional/UserRolesAssignmentTest.php
similarity index 96%
rename from core/modules/user/src/Tests/UserRolesAssignmentTest.php
rename to core/modules/user/tests/src/Functional/UserRolesAssignmentTest.php
index 485bd2f..1701b0f 100644
--- a/core/modules/user/src/Tests/UserRolesAssignmentTest.php
+++ b/core/modules/user/tests/src/Functional/UserRolesAssignmentTest.php
@@ -1,15 +1,15 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests that users can be assigned and unassigned roles.
  *
  * @group user
  */
-class UserRolesAssignmentTest extends WebTestBase {
+class UserRolesAssignmentTest extends BrowserTestBase {
 
   protected function setUp() {
     parent::setUp();
diff --git a/core/modules/user/src/Tests/UserSaveTest.php b/core/modules/user/tests/src/Functional/UserSaveTest.php
similarity index 92%
rename from core/modules/user/src/Tests/UserSaveTest.php
rename to core/modules/user/tests/src/Functional/UserSaveTest.php
index 6a454ee..3428749 100644
--- a/core/modules/user/src/Tests/UserSaveTest.php
+++ b/core/modules/user/tests/src/Functional/UserSaveTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -10,7 +10,7 @@
  *
  * @group user
  */
-class UserSaveTest extends WebTestBase {
+class UserSaveTest extends BrowserTestBase {
 
   /**
    * Test creating a user with arbitrary uid.
diff --git a/core/modules/user/src/Tests/UserSearchTest.php b/core/modules/user/tests/src/Functional/UserSearchTest.php
similarity index 97%
rename from core/modules/user/src/Tests/UserSearchTest.php
rename to core/modules/user/tests/src/Functional/UserSearchTest.php
index d154030..af2fb28 100644
--- a/core/modules/user/src/Tests/UserSearchTest.php
+++ b/core/modules/user/tests/src/Functional/UserSearchTest.php
@@ -1,8 +1,8 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 
 /**
  * Tests the user search page and verifies that sensitive information is hidden
@@ -10,7 +10,7 @@
  *
  * @group user
  */
-class UserSearchTest extends WebTestBase {
+class UserSearchTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
diff --git a/core/modules/user/src/Tests/UserTokenReplaceTest.php b/core/modules/user/tests/src/Functional/UserTokenReplaceTest.php
similarity index 98%
rename from core/modules/user/src/Tests/UserTokenReplaceTest.php
rename to core/modules/user/tests/src/Functional/UserTokenReplaceTest.php
index b8cfde0..869339a 100644
--- a/core/modules/user/src/Tests/UserTokenReplaceTest.php
+++ b/core/modules/user/tests/src/Functional/UserTokenReplaceTest.php
@@ -1,11 +1,11 @@
 <?php
 
-namespace Drupal\user\Tests;
+namespace Drupal\Tests\user\Functional;
 
 use Drupal\Component\Render\FormattableMarkup;
 use Drupal\Core\Render\BubbleableMetadata;
 use Drupal\language\Entity\ConfigurableLanguage;
-use Drupal\simpletest\WebTestBase;
+use Drupal\Tests\BrowserTestBase;
 use Drupal\user\Entity\User;
 
 /**
@@ -14,7 +14,7 @@
  *
  * @group user
  */
-class UserTokenReplaceTest extends WebTestBase {
+class UserTokenReplaceTest extends BrowserTestBase {
 
   /**
    * Modules to enable.
