From 30c2afed2071526c6709d8381e30db9ae4950793 Mon Sep 17 00:00:00 2001
From: webchick <drupal@webchick.net>
Date: Thu, 10 Jul 2014 20:50:37 -0700
Subject: [PATCH] Issue #697760 by sun: Replace getInfo() in tests with native
 phpDoc + annotations (following PHPUnit).

---
 .../action/src/Tests/ActionUninstallTest.php  |  11 +-
 .../modules/action/src/Tests/BulkFormTest.php |   9 +-
 .../action/src/Tests/ConfigurationTest.php    |  13 +-
 .../tests/src/Menu/ActionLocalTasksTest.php   |  13 +-
 .../aggregator/src/Tests/AddFeedTest.php      |  12 +-
 .../src/Tests/AggregatorConfigurationTest.php |  12 +-
 .../src/Tests/AggregatorCronTest.php          |  12 +-
 .../src/Tests/AggregatorRenderingTest.php     |  12 +-
 .../src/Tests/DeleteFeedItemTest.php          |  12 +-
 .../aggregator/src/Tests/DeleteFeedTest.php   |  12 +-
 .../src/Tests/FeedFetcherPluginTest.php       |  11 +-
 .../aggregator/src/Tests/FeedLanguageTest.php |  10 +-
 .../aggregator/src/Tests/FeedParserTest.php   |  12 +-
 .../src/Tests/FeedProcessorPluginTest.php     |  11 +-
 .../aggregator/src/Tests/ImportOpmlTest.php   |  12 +-
 .../src/Tests/UpdateFeedItemTest.php          |  12 +-
 .../aggregator/src/Tests/UpdateFeedTest.php   |  12 +-
 .../src/Tests/Views/IntegrationTest.php       |  12 +-
 .../src/Menu/AggregatorLocalTasksTest.php     |  11 +-
 .../AggregatorPluginSettingsBaseTest.php      |  13 +-
 .../ban/src/Tests/IpAddressBlockingTest.php   |  10 +-
 .../Tests/Authentication/BasicAuthTest.php    |  12 +-
 .../block/src/Tests/BlockAdminThemeTest.php   |  10 +-
 .../block/src/Tests/BlockCacheTest.php        |  12 +-
 .../block/src/Tests/BlockConfigSchemaTest.php |  13 +-
 .../block/src/Tests/BlockHiddenRegionTest.php |  13 +-
 .../src/Tests/BlockHookOperationTest.php      |  12 +-
 .../modules/block/src/Tests/BlockHtmlTest.php |  10 +-
 .../block/src/Tests/BlockInterfaceTest.php    |  12 +-
 .../src/Tests/BlockInvalidRegionTest.php      |  13 +-
 .../src/Tests/BlockLanguageCacheTest.php      |  12 +-
 .../block/src/Tests/BlockLanguageTest.php     |  13 +-
 .../src/Tests/BlockPreprocessUnitTest.php     |  12 +-
 .../block/src/Tests/BlockRenderOrderTest.php  |  12 +-
 .../block/src/Tests/BlockStorageUnitTest.php  |  10 +-
 .../src/Tests/BlockSystemBrandingTest.php     |  15 +-
 .../BlockTemplateSuggestionsUnitTest.php      |  12 +-
 core/modules/block/src/Tests/BlockTest.php    |  12 +-
 .../block/src/Tests/BlockTitleXSSTest.php     |  10 +-
 core/modules/block/src/Tests/BlockUiTest.php  |  12 +-
 .../block/src/Tests/BlockViewBuilderTest.php  |  13 +-
 .../src/Tests/NewDefaultThemeBlocksTest.php   |  12 +-
 .../src/Tests/NonDefaultBlockAdminTest.php    |  10 +-
 .../src/Tests/Views/DisplayBlockTest.php      |  11 +-
 .../modules/block/tests/src/BlockBaseTest.php |  13 +-
 .../tests/src/BlockConfigEntityUnitTest.php   |  15 +-
 .../modules/block/tests/src/BlockFormTest.php |  13 +-
 .../tests/src/CategoryAutocompleteTest.php    |  15 +-
 .../tests/src/Menu/BlockLocalTasksTest.php    |  13 +-
 .../DisplayVariant/FullPageVariantTest.php    |  18 +-
 .../src/Plugin/views/display/BlockTest.php    |  13 +-
 .../src/Tests/BlockContentCacheTagsTest.php   |   9 +-
 .../src/Tests/BlockContentCreationTest.php    |  15 +-
 .../src/Tests/BlockContentFieldTest.php       |  14 +-
 .../src/Tests/BlockContentListTest.php        |   9 +-
 .../src/Tests/BlockContentPageViewTest.php    |  15 +-
 .../src/Tests/BlockContentRevisionsTest.php   |  15 +-
 .../src/Tests/BlockContentSaveTest.php        |  15 +-
 .../Tests/BlockContentTranslationUITest.php   |  15 +-
 .../src/Tests/BlockContentTypeTest.php        |  15 +-
 .../block_content/src/Tests/PageEditTest.php  |  15 +-
 .../src/Menu/BlockContentLocalTasksTest.php   |  11 +-
 core/modules/book/src/Tests/BookTest.php      |  12 +-
 .../book/tests/src/BookManagerTest.php        |  17 +-
 .../tests/src/Menu/BookLocalTasksTest.php     |  11 +-
 .../src/Tests/BreakpointAPITest.php           |  12 +-
 .../src/Tests/BreakpointCRUDTest.php          |  12 +-
 .../src/Tests/BreakpointGroupAPITest.php      |  12 +-
 .../src/Tests/BreakpointGroupCRUDTest.php     |  12 +-
 .../src/Tests/BreakpointThemeTest.php         |  12 +-
 .../src/BreakpointConfigEntityUnitTest.php    |  16 +-
 .../BreakpointGroupConfigEntityUnitTest.php   |  16 +-
 .../tests/src/BreakpointMediaQueryTest.php    |  12 +-
 .../ckeditor/src/Tests/CKEditorAdminTest.php  |  10 +-
 .../src/Tests/CKEditorLoadingTest.php         |  10 +-
 .../src/Tests/CKEditorPluginManagerTest.php   |  12 +-
 .../ckeditor/src/Tests/CKEditorTest.php       |  10 +-
 .../color/src/Tests/ColorConfigSchemaTest.php |  12 +-
 core/modules/color/src/Tests/ColorTest.php    |  13 +-
 .../comment/src/Tests/CommentActionsTest.php  |  10 +-
 .../comment/src/Tests/CommentAdminTest.php    |  10 +-
 .../src/Tests/CommentAnonymousTest.php        |  10 +-
 .../comment/src/Tests/CommentBlockTest.php    |  12 +-
 .../comment/src/Tests/CommentBookTest.php     |  12 +-
 .../comment/src/Tests/CommentCSSTest.php      |  12 +-
 .../src/Tests/CommentCacheTagsTest.php        |   9 +-
 .../CommentDefaultFormatterCacheTagsTest.php  |  16 +-
 .../comment/src/Tests/CommentFieldsTest.php   |  10 +-
 .../src/Tests/CommentInterfaceTest.php        |  12 +-
 .../comment/src/Tests/CommentLanguageTest.php |  12 +-
 .../src/Tests/CommentLinksAlterTest.php       |  10 +-
 .../comment/src/Tests/CommentLinksTest.php    |  10 +-
 .../src/Tests/CommentNewIndicatorTest.php     |  12 +-
 .../src/Tests/CommentNodeAccessTest.php       |  10 +-
 .../src/Tests/CommentNodeChangesTest.php      |  10 +-
 .../comment/src/Tests/CommentNonNodeTest.php  |  12 +-
 .../comment/src/Tests/CommentPagerTest.php    |  12 +-
 .../comment/src/Tests/CommentPreviewTest.php  |  12 +-
 .../comment/src/Tests/CommentRssTest.php      |  12 +-
 .../src/Tests/CommentStatisticsTest.php       |  12 +-
 .../src/Tests/CommentStringIdEntitiesTest.php |  10 +-
 .../src/Tests/CommentThreadingTest.php        |  12 +-
 .../comment/src/Tests/CommentTitleTest.php    |  13 +-
 .../src/Tests/CommentTokenReplaceTest.php     |  13 +-
 .../src/Tests/CommentTranslationUITest.php    |  10 +-
 .../comment/src/Tests/CommentTypeTest.php     |  15 +-
 .../src/Tests/CommentUninstallTest.php        |  10 +-
 .../src/Tests/CommentValidationTest.php       |  13 +-
 .../src/Tests/Views/ArgumentUserUIDTest.php   |  12 +-
 .../src/Tests/Views/CommentRowTest.php        |  10 +-
 .../Views/DefaultViewRecentCommentsTest.php   |  12 +-
 .../src/Tests/Views/FilterUserUIDTest.php     |  12 +-
 .../comment/src/Tests/Views/RowRssTest.php    |   9 +-
 .../comment/src/Tests/Views/WizardTest.php    |   9 +-
 .../tests/src/CommentStatisticsUnitTest.php   |  13 +-
 .../tests/src/Entity/CommentLockTest.php      |  16 +-
 .../config/src/Tests/ConfigCRUDTest.php       |  10 +-
 .../config/src/Tests/ConfigDependencyTest.php |  12 +-
 .../config/src/Tests/ConfigDiffTest.php       |  12 +-
 .../Tests/ConfigEntityFormOverrideTest.php    |  13 +-
 .../config/src/Tests/ConfigEntityListTest.php |  10 +-
 .../src/Tests/ConfigEntityStatusTest.php      |  10 +-
 .../src/Tests/ConfigEntityStatusUITest.php    |  10 +-
 .../src/Tests/ConfigEntityStorageTest.php     |  13 +-
 .../config/src/Tests/ConfigEntityTest.php     |  10 +-
 .../config/src/Tests/ConfigEntityUnitTest.php |  12 +-
 .../config/src/Tests/ConfigEventsTest.php     |  12 +-
 .../src/Tests/ConfigExportImportUITest.php    |  15 +-
 .../config/src/Tests/ConfigExportUITest.php   |  12 +-
 .../src/Tests/ConfigFileContentTest.php       |  12 +-
 .../src/Tests/ConfigFormOverrideTest.php      |  12 +-
 .../config/src/Tests/ConfigImportAllTest.php  |  13 +-
 .../src/Tests/ConfigImportRecreateTest.php    |  10 +-
 .../ConfigImportRenameValidationTest.php      |  13 +-
 .../config/src/Tests/ConfigImportUITest.php   |  12 +-
 .../src/Tests/ConfigImportUploadTest.php      |  10 +-
 .../config/src/Tests/ConfigImporterTest.php   |  10 +-
 .../config/src/Tests/ConfigInstallTest.php    |   9 +-
 .../config/src/Tests/ConfigInstallWebTest.php |  13 +-
 .../src/Tests/ConfigLanguageOverrideTest.php  |  12 +-
 .../Tests/ConfigLanguageOverrideWebTest.php   |  12 +-
 .../src/Tests/ConfigModuleOverridesTest.php   |  10 +-
 .../src/Tests/ConfigOtherModuleTest.php       |  10 +-
 .../config/src/Tests/ConfigOverrideTest.php   |  10 +-
 .../src/Tests/ConfigOverridesPriorityTest.php |  13 +-
 .../config/src/Tests/ConfigSchemaTest.php     |  10 +-
 .../Tests/ConfigSingleImportExportTest.php    |  10 +-
 .../config/src/Tests/ConfigSnapshotTest.php   |  10 +-
 .../config/src/Tests/DefaultConfigTest.php    |  15 +-
 .../config/src/Tests/SchemaCheckTraitTest.php |  15 +-
 .../src/Tests/Storage/CachedStorageTest.php   |  10 +-
 .../src/Tests/Storage/DatabaseStorageTest.php |  10 +-
 .../src/Tests/Storage/FileStorageTest.php     |  10 +-
 .../tests/src/Menu/ConfigLocalTasksTest.php   |   9 -
 .../src/Tests/ConfigTranslationFormTest.php   |  10 +-
 .../src/Tests/ConfigTranslationListUiTest.php |  11 +-
 .../Tests/ConfigTranslationOverviewTest.php   |  12 +-
 .../src/Tests/ConfigTranslationUiTest.php     |  12 +-
 .../Tests/ConfigTranslationUiThemeTest.php    |  12 +-
 .../Tests/ConfigTranslationViewListUiTest.php |  12 +-
 .../tests/src/ConfigEntityMapperTest.php      |  16 +-
 .../tests/src/ConfigMapperManagerTest.php     |  16 +-
 .../tests/src/ConfigNamesMapperTest.php       |  16 +-
 .../Tests/ContactAuthenticatedUserTest.php    |  12 +-
 .../contact/src/Tests/ContactPersonalTest.php |  12 +-
 .../contact/src/Tests/ContactSitewideTest.php |  12 +-
 .../contact/src/Tests/MessageEntityTest.php   |   9 +-
 .../src/Tests/Views/ContactFieldsTest.php     |  10 +-
 .../src/Tests/Views/ContactLinkTest.php       |   9 +-
 .../Tests/ContentTestTranslationUITest.php    |  12 +-
 .../ContentTranslationContextualLinksTest.php |  10 +-
 .../Tests/ContentTranslationSettingsTest.php  |  12 +-
 .../ContentTranslationStandardFieldsTest.php  |  13 +-
 .../Tests/ContentTranslationSyncImageTest.php |  12 +-
 .../Tests/ContentTranslationSyncUnitTest.php  |  12 +-
 .../Tests/ContentTranslationWorkflowsTest.php |  12 +-
 .../Views/ContentTranslationViewsUITest.php   |  10 +-
 .../src/Tests/Views/TranslationLinkTest.php   |   9 +-
 .../Menu/ContentTranslationLocalTasksTest.php |  13 +-
 .../Tests/ContextualDynamicContextTest.php    |  13 +-
 .../src/Tests/ContextualUnitTest.php          |  13 +-
 .../datetime/src/Tests/DateTimeFieldTest.php  |  10 +-
 .../datetime/src/Tests/DateTimeItemTest.php   |  10 +-
 core/modules/dblog/src/Tests/DbLogTest.php    |  13 +-
 .../src/Tests/Rest/DbLogResourceTest.php      |  12 +-
 .../src/Tests/Views/ViewsIntegrationTest.php  |  10 +-
 .../editor/src/Tests/EditorAdminTest.php      |  10 +-
 .../Tests/EditorFileReferenceFilterTest.php   |  15 +-
 .../editor/src/Tests/EditorFileUsageTest.php  |  12 +-
 .../editor/src/Tests/EditorLoadingTest.php    |  10 +-
 .../editor/src/Tests/EditorManagerTest.php    |  12 +-
 .../editor/src/Tests/EditorSecurityTest.php   |  10 +-
 .../Tests/QuickEditIntegrationLoadingTest.php |  10 +-
 .../src/Tests/QuickEditIntegrationTest.php    |  10 +-
 .../tests/src/EditorConfigEntityUnitTest.php  |  15 +-
 .../src/EditorXssFilter/StandardTest.php      |  16 +-
 .../src/Tests/EntityDisplayModeTest.php       |  12 +-
 .../entity/src/Tests/EntityDisplayTest.php    |  10 +-
 .../src/Tests/EntityFormDisplayTest.php       |  10 +-
 .../src/Tests/EntityReferenceAdminTest.php    |  15 +-
 .../Tests/EntityReferenceAutoCreateTest.php   |  12 +-
 .../Tests/EntityReferenceAutocompleteTest.php |  12 +-
 .../EntityReferenceFieldDefaultValueTest.php  |  10 +-
 .../src/Tests/EntityReferenceFieldTest.php    |  10 +-
 .../Tests/EntityReferenceFormatterTest.php    |  12 +-
 .../Tests/EntityReferenceIntegrationTest.php  |  10 +-
 .../src/Tests/EntityReferenceItemTest.php     |  10 +-
 .../EntityReferenceSelectionAccessTest.php    |  12 +-
 .../EntityReferenceSelectionSortTest.php      |  12 +-
 .../Views/EntityReferenceRelationshipTest.php |  14 +-
 .../src/Tests/Views/SelectionTest.php         |  10 +-
 .../field/src/Tests/BulkDeleteTest.php        |  12 +-
 .../src/Tests/ConfigFieldDefinitionTest.php   |  13 +-
 core/modules/field/src/Tests/CrudTest.php     |  12 +-
 .../field/src/Tests/DisplayApiTest.php        |  10 +-
 .../field/src/Tests/Email/EmailFieldTest.php  |  10 +-
 .../field/src/Tests/Email/EmailItemTest.php   |  10 +-
 .../field/src/Tests/FieldAccessTest.php       |  12 +-
 .../field/src/Tests/FieldAttachOtherTest.php  |  11 +-
 .../src/Tests/FieldAttachStorageTest.php      |  11 +-
 .../field/src/Tests/FieldDataCountTest.php    |  15 +-
 .../modules/field/src/Tests/FieldHelpTest.php |  10 +-
 .../field/src/Tests/FieldImportChangeTest.php |  12 +-
 .../field/src/Tests/FieldImportCreateTest.php |  12 +-
 .../field/src/Tests/FieldImportDeleteTest.php |  12 +-
 .../Tests/FieldImportDeleteUninstallTest.php  |  12 +-
 .../FieldImportDeleteUninstallUiTest.php      |  12 +-
 .../field/src/Tests/FieldInstanceCrudTest.php |  12 +-
 .../src/Tests/FieldTypePluginManagerTest.php  |  13 +-
 .../field/src/Tests/FieldValidationTest.php   |  12 +-
 core/modules/field/src/Tests/FormTest.php     |  10 +-
 .../field/src/Tests/NestedFormTest.php        |  10 +-
 .../src/Tests/Number/NumberFieldTest.php      |  12 +-
 .../field/src/Tests/Number/NumberItemTest.php |  10 +-
 .../modules/field/src/Tests/ShapeItemTest.php |  10 +-
 core/modules/field/src/Tests/TestItemTest.php |  10 +-
 .../field/src/Tests/TranslationTest.php       |  12 +-
 .../field/src/Tests/TranslationWebTest.php    |  12 +-
 .../field/src/Tests/Views/ApiDataTest.php     |  12 +-
 .../field/src/Tests/Views/FieldUITest.php     |  12 +-
 .../src/Tests/Views/HandlerFieldFieldTest.php |  12 +-
 .../src/Tests/WidgetPluginManagerTest.php     |  13 +-
 .../src/Tests/reEnableModuleFieldTest.php     |  12 +-
 .../tests/src/FieldConfigEntityUnitTest.php   |  15 +-
 .../src/FieldInstanceConfigEntityUnitTest.php |  15 +-
 .../field_ui/src/Tests/FieldUIRouteTest.php   |  13 +-
 .../field_ui/src/Tests/ManageDisplayTest.php  |  12 +-
 .../field_ui/src/Tests/ManageFieldsTest.php   |  12 +-
 core/modules/file/src/Tests/CopyTest.php      |  12 +-
 core/modules/file/src/Tests/DeleteTest.php    |  12 +-
 core/modules/file/src/Tests/DownloadTest.php  |  10 +-
 .../file/src/Tests/FileFieldDisplayTest.php   |  12 +-
 .../file/src/Tests/FileFieldPathTest.php      |  10 +-
 .../src/Tests/FileFieldRSSContentTest.php     |  12 +-
 .../file/src/Tests/FileFieldRevisionTest.php  |  12 +-
 .../file/src/Tests/FileFieldValidateTest.php  |  13 +-
 .../file/src/Tests/FileFieldWidgetTest.php    |  13 +-
 core/modules/file/src/Tests/FileItemTest.php  |  12 +-
 .../file/src/Tests/FileListingTest.php        |  10 +-
 .../src/Tests/FileManagedFileElementTest.php  |   9 +-
 .../file/src/Tests/FilePrivateTest.php        |  12 +-
 .../file/src/Tests/FileTokenReplaceTest.php   |  13 +-
 core/modules/file/src/Tests/LoadTest.php      |  10 +-
 core/modules/file/src/Tests/MoveTest.php      |  12 +-
 .../src/Tests/RemoteFileSaveUploadTest.php    |  10 +-
 core/modules/file/src/Tests/SaveDataTest.php  |  10 +-
 core/modules/file/src/Tests/SaveTest.php      |  12 +-
 .../modules/file/src/Tests/SaveUploadTest.php |  12 +-
 core/modules/file/src/Tests/SpaceUsedTest.php |  12 +-
 core/modules/file/src/Tests/UsageTest.php     |  10 +-
 core/modules/file/src/Tests/ValidateTest.php  |  10 +-
 core/modules/file/src/Tests/ValidatorTest.php |  12 +-
 .../Tests/Views/ExtensionViewsFieldTest.php   |  10 +-
 .../filter/src/Tests/FilterAPITest.php        |  12 +-
 .../filter/src/Tests/FilterAdminTest.php      |  15 +-
 .../filter/src/Tests/FilterCrudTest.php       |  12 +-
 .../src/Tests/FilterDefaultConfigTest.php     |  10 +-
 .../src/Tests/FilterDefaultFormatTest.php     |  12 +-
 .../filter/src/Tests/FilterFormTest.php       |  15 +-
 .../src/Tests/FilterFormatAccessTest.php      |  12 +-
 .../filter/src/Tests/FilterHooksTest.php      |  12 +-
 .../src/Tests/FilterHtmlImageSecureTest.php   |  10 +-
 .../filter/src/Tests/FilterNoFormatTest.php   |  10 +-
 .../filter/src/Tests/FilterSecurityTest.php   |  14 +-
 .../filter/src/Tests/FilterSettingsTest.php   |  10 +-
 .../filter/src/Tests/FilterUnitTest.php       |  12 +-
 .../forum/src/Tests/ForumBlockTest.php        |  12 +-
 .../forum/src/Tests/ForumIndexTest.php        |  10 +-
 .../forum/src/Tests/ForumNodeAccessTest.php   |  10 +-
 core/modules/forum/src/Tests/ForumTest.php    |  13 +-
 .../forum/src/Tests/ForumUninstallTest.php    |  10 +-
 .../src/Tests/Views/ForumIntegrationTest.php  |  10 +-
 .../ForumBreadcrumbBuilderBaseTest.php        |  18 +-
 .../ForumListingBreadcrumbBuilderTest.php     |  18 +-
 .../ForumNodeBreadcrumbBuilderTest.php        |  18 +-
 .../forum/tests/src/ForumManagerTest.php      |  16 +-
 .../modules/hal/src/Tests/DenormalizeTest.php |  12 +-
 core/modules/hal/src/Tests/EntityTest.php     |  15 +-
 .../hal/src/Tests/FileDenormalizeTest.php     |  11 +-
 .../hal/src/Tests/FileNormalizeTest.php       |  12 +-
 core/modules/hal/src/Tests/NormalizeTest.php  |  12 +-
 ...ormalizerDenormalizeExceptionsUnitTest.php |  15 +-
 ...ormalizerDenormalizeExceptionsUnitTest.php |  15 +-
 core/modules/help/src/Tests/HelpTest.php      |  12 +-
 core/modules/help/src/Tests/NoHelpTest.php    |  12 +-
 .../modules/history/src/Tests/HistoryTest.php |  10 +-
 .../src/Tests/Views/HistoryTimestampTest.php  |   9 +-
 core/modules/image/src/Tests/FileMoveTest.php |  10 +-
 .../image/src/Tests/ImageAdminStylesTest.php  |  10 +-
 .../image/src/Tests/ImageDimensionsTest.php   |  10 +-
 .../image/src/Tests/ImageEffectsTest.php      |  13 +-
 .../src/Tests/ImageFieldDefaultImagesTest.php |  12 +-
 .../image/src/Tests/ImageFieldDisplayTest.php |  12 +-
 .../src/Tests/ImageFieldValidateTest.php      |  12 +-
 .../modules/image/src/Tests/ImageItemTest.php |  12 +-
 .../image/src/Tests/ImageStyleFlushTest.php   |  10 +-
 .../src/Tests/ImageStylesPathAndUrlTest.php   |  10 +-
 .../src/Tests/ImageThemeFunctionTest.php      |  10 +-
 .../Tests/Condition/LanguageConditionTest.php |  13 +-
 .../LanguageBrowserDetectionUnitTest.php      |  12 +-
 .../LanguageConfigOverrideImportTest.php      |  12 +-
 .../LanguageConfigOverrideInstallTest.php     |  12 +-
 .../src/Tests/LanguageConfigSchemaTest.php    |  12 +-
 .../LanguageConfigurationElementTest.php      |  12 +-
 .../src/Tests/LanguageConfigurationTest.php   |  12 +-
 ...anguageCustomLanguageConfigurationTest.php |  12 +-
 .../Tests/LanguageDependencyInjectionTest.php |  16 +-
 .../src/Tests/LanguageFallbackTest.php        |  10 +-
 .../Tests/LanguageListModuleInstallTest.php   |  13 +-
 .../language/src/Tests/LanguageListTest.php   |  12 +-
 .../src/Tests/LanguageNegotiationInfoTest.php |  15 +-
 .../src/Tests/LanguagePathMonolingualTest.php |  12 +-
 .../src/Tests/LanguageSwitchingTest.php       |  10 +-
 .../LanguageUILanguageNegotiationTest.php     |  12 +-
 .../src/Tests/LanguageUrlRewritingTest.php    |  12 +-
 .../src/Tests/Views/ArgumentLanguageTest.php  |   9 +-
 .../src/Tests/Views/FieldLanguageTest.php     |   9 +-
 .../src/Tests/Views/FilterLanguageTest.php    |   9 +-
 .../tests/src/LanguageNegotiationUrlTest.php  |  15 +-
 .../tests/src/Menu/LanguageLocalTasksTest.php |   9 -
 core/modules/link/src/Tests/LinkFieldTest.php |  10 +-
 .../link/src/Tests/LinkFieldUITest.php        |  10 +-
 core/modules/link/src/Tests/LinkItemTest.php  |  10 +-
 .../src/Tests/LocaleConfigManagerTest.php     |  15 +-
 .../src/Tests/LocaleConfigTranslationTest.php |  12 +-
 .../locale/src/Tests/LocaleContentTest.php    |  13 +-
 .../locale/src/Tests/LocaleExportTest.php     |  12 +-
 .../src/Tests/LocaleImportFunctionalTest.php  |  12 +-
 .../Tests/LocaleJavascriptTranslationTest.php |  12 +-
 .../src/Tests/LocaleLibraryInfoAlterTest.php  |  10 +-
 .../src/Tests/LocaleLocaleLookupTest.php      |  13 +-
 .../locale/src/Tests/LocalePathTest.php       |  12 +-
 .../src/Tests/LocalePluralFormatTest.php      |  12 +-
 .../locale/src/Tests/LocaleStringTest.php     |  15 +-
 .../Tests/LocaleTranslateStringTourTest.php   |  12 +-
 .../src/Tests/LocaleTranslationUiTest.php     |  13 +-
 .../locale/src/Tests/LocaleUpdateCronTest.php |  12 +-
 .../src/Tests/LocaleUpdateInterfaceTest.php   |  12 +-
 .../locale/src/Tests/LocaleUpdateTest.php     |  12 +-
 .../locale/tests/src/LocaleLookupTest.php     |  17 +-
 .../tests/src/LocaleTranslationTest.php       |  12 +-
 .../tests/src/Menu/LocaleLocalTasksTest.php   |  13 +-
 .../menu_link/tests/src/MenuTreeTest.php      |  17 +-
 .../menu_ui/src/Tests/MenuCacheTagsTest.php   |  13 +-
 .../menu_ui/src/Tests/MenuLanguageTest.php    |  13 +-
 .../menu_ui/src/Tests/MenuNodeTest.php        |  12 +-
 core/modules/menu_ui/src/Tests/MenuTest.php   |  13 +-
 .../menu_ui/src/Tests/MenuUninstallTest.php   |  10 +-
 .../tests/src/MigrateExecutableTest.php       |  17 +-
 .../MigrateExecuteableMemoryExceededTest.php  |  12 -
 .../src/MigrateSqlIdMapEnsureTablesTest.php   |  14 +-
 .../migrate/tests/src/MigrateSqlIdMapTest.php |  14 +-
 core/modules/migrate/tests/src/RowTest.php    |  17 +-
 .../PerComponentEntityDisplayTest.php         |  12 -
 .../PerComponentEntityFormDisplayTest.php     |  12 -
 .../tests/src/process/CallbackTest.php        |  12 -
 .../migrate/tests/src/process/ConcatTest.php  |  12 -
 .../tests/src/process/DedupeEntityTest.php    |  17 +-
 .../migrate/tests/src/process/ExtractTest.php |  16 +-
 .../migrate/tests/src/process/FlattenTest.php |  12 -
 .../migrate/tests/src/process/GetTest.php     |  12 -
 .../tests/src/process/IteratorTest.php        |  12 -
 .../tests/src/process/MachineNameTest.php     |  12 -
 .../tests/src/process/StaticMapTest.php       |  12 -
 .../src/Tests/d6/MigrateActionConfigsTest.php |  15 +-
 .../Tests/d6/MigrateAggregatorConfigsTest.php |  15 +-
 .../Tests/d6/MigrateAggregatorFeedTest.php    |  15 +-
 .../Tests/d6/MigrateAggregatorItemTest.php    |  15 +-
 .../src/Tests/d6/MigrateBlockContentTest.php  |  15 +-
 .../src/Tests/d6/MigrateBlockTest.php         |  15 +-
 .../src/Tests/d6/MigrateBookConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateBookTest.php          |  15 +-
 .../Tests/d6/MigrateCckFieldRevisionTest.php  |  15 +-
 .../Tests/d6/MigrateCckFieldValuesTest.php    |  15 +-
 .../src/Tests/d6/MigrateCommentTest.php       |  16 +-
 .../src/Tests/d6/MigrateCommentTypeTest.php   |  16 +-
 ...igrateCommentVariableEntityDisplayTest.php |  15 +-
 ...teCommentVariableEntityFormDisplayTest.php |  15 +-
 .../d6/MigrateCommentVariableFieldTest.php    |  15 +-
 .../d6/MigrateCommentVariableInstanceTest.php |  15 +-
 .../Tests/d6/MigrateContactCategoryTest.php   |  15 +-
 .../Tests/d6/MigrateContactConfigsTest.php    |  15 +-
 .../src/Tests/d6/MigrateDateFormatTest.php    |  15 +-
 .../src/Tests/d6/MigrateDblogConfigsTest.php  |  15 +-
 .../src/Tests/d6/MigrateDrupal6Test.php       |  15 +-
 .../d6/MigrateFieldFormatterSettingsTest.php  |  16 +-
 .../src/Tests/d6/MigrateFieldInstanceTest.php |  15 +-
 .../src/Tests/d6/MigrateFieldTest.php         |  15 +-
 .../d6/MigrateFieldWidgetSettingsTest.php     |  15 +-
 .../src/Tests/d6/MigrateFileConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateFileTest.php          |  15 +-
 .../src/Tests/d6/MigrateFilterFormatTest.php  |  16 +-
 .../src/Tests/d6/MigrateForumConfigsTest.php  |  15 +-
 .../src/Tests/d6/MigrateLocaleConfigsTest.php |  15 +-
 .../src/Tests/d6/MigrateMenuConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateMenuTest.php          |  15 +-
 .../src/Tests/d6/MigrateNodeConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateNodeRevisionTest.php  |  15 +-
 .../src/Tests/d6/MigrateNodeTest.php          |  15 +-
 .../src/Tests/d6/MigrateNodeTypeTest.php      |  15 +-
 .../src/Tests/d6/MigrateProfileValuesTest.php |  15 +-
 .../src/Tests/d6/MigrateSearchConfigsTest.php |  15 +-
 .../src/Tests/d6/MigrateSearchPageTest.php    |  15 +-
 .../Tests/d6/MigrateSimpletestConfigsTest.php |  15 +-
 .../Tests/d6/MigrateStatisticsConfigsTest.php |  15 +-
 .../src/Tests/d6/MigrateSyslogConfigsTest.php |  15 +-
 .../src/Tests/d6/MigrateSystemCronTest.php    |  15 +-
 .../src/Tests/d6/MigrateSystemFileTest.php    |  15 +-
 .../src/Tests/d6/MigrateSystemFilterTest.php  |  15 +-
 .../src/Tests/d6/MigrateSystemImageGdTest.php |  15 +-
 .../src/Tests/d6/MigrateSystemImageTest.php   |  15 +-
 .../src/Tests/d6/MigrateSystemLoggingTest.php |  15 +-
 .../Tests/d6/MigrateSystemMaintenanceTest.php |  15 +-
 .../Tests/d6/MigrateSystemPerformanceTest.php |  15 +-
 .../src/Tests/d6/MigrateSystemRssTest.php     |  15 +-
 .../src/Tests/d6/MigrateSystemSiteTest.php    |  15 +-
 .../src/Tests/d6/MigrateSystemThemeTest.php   |  15 +-
 .../Tests/d6/MigrateTaxonomyConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateTaxonomyTermTest.php  |  15 +-
 .../d6/MigrateTaxonomyVocabularyTest.php      |  16 +-
 .../Tests/d6/MigrateTermNodeRevisionTest.php  |  15 +-
 .../src/Tests/d6/MigrateTermNodeTest.php      |  15 +-
 .../src/Tests/d6/MigrateTextConfigsTest.php   |  15 +-
 .../src/Tests/d6/MigrateUpdateConfigsTest.php |  15 +-
 .../d6/MigrateUploadEntityDisplayTest.php     |  15 +-
 .../d6/MigrateUploadEntityFormDisplayTest.php |  15 +-
 .../src/Tests/d6/MigrateUploadFieldTest.php   |  15 +-
 .../Tests/d6/MigrateUploadInstanceTest.php    |  15 +-
 .../src/Tests/d6/MigrateUploadTest.php        |  15 +-
 .../src/Tests/d6/MigrateUrlAliasTest.php      |  15 +-
 .../src/Tests/d6/MigrateUserConfigsTest.php   |  15 +-
 .../MigrateUserPictureEntityDisplayTest.php   |  15 +-
 ...igrateUserPictureEntityFormDisplayTest.php |  15 +-
 .../Tests/d6/MigrateUserPictureFieldTest.php  |  15 +-
 .../Tests/d6/MigrateUserPictureFileTest.php   |  15 +-
 .../d6/MigrateUserPictureInstanceTest.php     |  15 +-
 .../MigrateUserProfileEntityDisplayTest.php   |  15 +-
 ...igrateUserProfileEntityFormDisplayTest.php |  15 +-
 .../MigrateUserProfileFieldInstanceTest.php   |  15 +-
 .../Tests/d6/MigrateUserProfileFieldTest.php  |  15 +-
 .../src/Tests/d6/MigrateUserRoleTest.php      |  15 +-
 .../src/Tests/d6/MigrateUserTest.php          |  15 +-
 .../src/Tests/d6/MigrateViewModesTest.php     |  15 +-
 .../d6/MigrateVocabularyEntityDisplayTest.php |  15 +-
 ...MigrateVocabularyEntityFormDisplayTest.php |  15 +-
 .../d6/MigrateVocabularyFieldInstanceTest.php |  15 +-
 .../Tests/d6/MigrateVocabularyFieldTest.php   |  15 +-
 .../dependencies/MigrateDependenciesTest.php  |  14 +-
 .../destination/ConfigDestinationTest.php     |  16 +-
 ...ariableMultiRowSourceWithHighwaterTest.php |  12 -
 .../tests/src/source/VariableMultiRowTest.php |  14 +-
 .../tests/src/source/VariableTest.php         |  12 -
 .../tests/src/source/d6/ActionTest.php        |  14 +-
 .../src/source/d6/AggregatorFeedTest.php      |  14 +-
 .../src/source/d6/AggregatorItemTest.php      |  14 +-
 .../tests/src/source/d6/BlockTest.php         |  14 +-
 .../tests/src/source/d6/BoxTest.php           |  14 +-
 .../d6/CommentSourceWithHighwaterTest.php     |  12 -
 .../tests/src/source/d6/CommentTest.php       |  14 +-
 .../src/source/d6/ContactCategoryTest.php     |  14 +-
 .../src/source/d6/Drupal6SqlBaseTest.php      |  12 -
 .../d6/FieldInstancePerViewModeTest.php       |  14 +-
 .../tests/src/source/d6/FieldInstanceTest.php |  14 +-
 .../tests/src/source/d6/FieldTest.php         |  14 +-
 .../tests/src/source/d6/FileTest.php          |  14 +-
 .../tests/src/source/d6/FilterFormatTest.php  |  14 +-
 .../tests/src/source/d6/MenuTest.php          |  14 +-
 .../tests/src/source/d6/NodeRevisionTest.php  |  14 +-
 .../tests/src/source/d6/NodeTest.php          |  14 +-
 .../tests/src/source/d6/NodeTypeTest.php      |  14 +-
 .../tests/src/source/d6/ProfileFieldTest.php  |  14 +-
 .../tests/src/source/d6/RoleTest.php          |  14 +-
 .../d6/TermSourceWithVocabularyFilterTest.php |  12 -
 .../tests/src/source/d6/TermTest.php          |  14 +-
 .../tests/src/source/d6/UrlAliasTest.php      |  14 +-
 .../tests/src/source/d6/UserPictureTest.php   |  14 +-
 .../tests/src/source/d6/UserTest.php          |  14 +-
 .../tests/src/source/d6/ViewModeTest.php      |  14 +-
 .../tests/src/source/d6/VocabularyTest.php    |  14 +-
 .../src/Tests/Condition/NodeConditionTest.php |  12 +-
 .../src/Tests/Config/NodeImportChangeTest.php |  12 +-
 .../src/Tests/Config/NodeImportCreateTest.php |  12 +-
 .../MultiStepNodeFormBasicOptionsTest.php     |  12 +-
 .../src/Tests/NodeAccessBaseTableTest.php     |  12 +-
 .../node/src/Tests/NodeAccessFieldTest.php    |  10 +-
 ...NodeAccessLanguageAwareCombinationTest.php |  13 +-
 .../src/Tests/NodeAccessLanguageAwareTest.php |  13 +-
 .../node/src/Tests/NodeAccessLanguageTest.php |  13 +-
 .../node/src/Tests/NodeAccessPagerTest.php    |  12 +-
 .../node/src/Tests/NodeAccessRebuildTest.php  |  12 +-
 .../node/src/Tests/NodeAccessRecordsTest.php  |  12 +-
 .../modules/node/src/Tests/NodeAccessTest.php |   9 +-
 core/modules/node/src/Tests/NodeAdminTest.php |  10 +-
 .../src/Tests/NodeBlockFunctionalTest.php     |  12 +-
 .../node/src/Tests/NodeCacheTagsTest.php      |   9 +-
 .../node/src/Tests/NodeCreationTest.php       |  12 +-
 .../src/Tests/NodeEntityViewModeAlterTest.php |  10 +-
 .../src/Tests/NodeFieldMultilingualTest.php   |  12 +-
 .../node/src/Tests/NodeFormButtonsTest.php    |  12 +-
 .../node/src/Tests/NodeLastChangedTest.php    |  10 +-
 .../node/src/Tests/NodeLoadMultipleTest.php   |  12 +-
 .../node/src/Tests/NodePostSettingsTest.php   |  13 +-
 .../node/src/Tests/NodeQueryAlterTest.php     |  12 +-
 .../node/src/Tests/NodeRSSContentTest.php     |  10 +-
 .../src/Tests/NodeRevisionPermissionsTest.php |  10 +-
 .../node/src/Tests/NodeRevisionsAllTest.php   |  13 +-
 .../node/src/Tests/NodeRevisionsTest.php      |  13 +-
 .../node/src/Tests/NodeRevisionsUiTest.php    |  15 +-
 core/modules/node/src/Tests/NodeSaveTest.php  |  12 +-
 .../node/src/Tests/NodeSyndicateBlockTest.php |  12 +-
 .../src/Tests/NodeTemplateSuggestionsTest.php |  15 +-
 core/modules/node/src/Tests/NodeTitleTest.php |  12 +-
 .../node/src/Tests/NodeTitleXSSTest.php       |  13 +-
 .../node/src/Tests/NodeTokenReplaceTest.php   |  16 +-
 .../node/src/Tests/NodeTranslationUITest.php  |  10 +-
 .../src/Tests/NodeTypeInitialLanguageTest.php |  12 +-
 .../src/Tests/NodeTypePersistenceTest.php     |  12 +-
 .../Tests/NodeTypeRenameConfigImportTest.php  |  13 +-
 core/modules/node/src/Tests/NodeTypeTest.php  |  12 +-
 .../node/src/Tests/NodeValidationTest.php     |  10 +-
 .../node/src/Tests/NodeViewLanguageTest.php   |  10 +-
 core/modules/node/src/Tests/NodeViewTest.php  |   9 +-
 core/modules/node/src/Tests/PageEditTest.php  |  12 +-
 .../node/src/Tests/PagePreviewTest.php        |  10 +-
 core/modules/node/src/Tests/PageViewTest.php  |  12 +-
 .../node/src/Tests/SummaryLengthTest.php      |  12 +-
 .../node/src/Tests/Views/BulkFormTest.php     |  11 +-
 .../node/src/Tests/Views/FieldTypeTest.php    |  10 +-
 .../src/Tests/Views/FilterUidRevisionTest.php |  11 +-
 .../node/src/Tests/Views/FrontPageTest.php    |  10 +-
 .../Tests/Views/NodeContextualLinksTest.php   |  10 +-
 .../src/Tests/Views/NodeIntegrationTest.php   |  12 +-
 .../Tests/Views/NodeRevisionWizardTest.php    |  12 +-
 .../Tests/Views/RevisionRelationshipsTest.php |  12 +-
 .../node/src/Tests/Views/RowPluginTest.php    |   9 +-
 .../node/src/Tests/Views/StatusExtraTest.php  |   9 +-
 .../Plugin/views/field/NodeBulkFormTest.php   |  13 +-
 .../OptionsDynamicValuesValidationTest.php    |  10 +-
 .../options/src/Tests/OptionsFieldTest.php    |  10 +-
 .../options/src/Tests/OptionsFieldUITest.php  |  12 +-
 .../src/Tests/OptionsFormattersTest.php       |  11 +-
 .../Tests/OptionsSelectDynamicValuesTest.php  |  10 +-
 .../options/src/Tests/OptionsWidgetsTest.php  |  12 +-
 core/modules/path/src/Tests/PathAdminTest.php |  10 +-
 core/modules/path/src/Tests/PathAliasTest.php |  13 +-
 .../path/src/Tests/PathLanguageTest.php       |  12 +-
 .../path/src/Tests/PathLanguageUiTest.php     |  12 +-
 .../path/src/Tests/PathTaxonomyTermTest.php   |  10 +-
 .../src/Field/PathFieldDefinitionTest.php     |  18 +-
 .../src/Tests/EditorSelectionTest.php         |  12 +-
 .../src/Tests/MetadataGeneratorTest.php       |  12 +-
 .../Tests/QuickEditAutocompleteTermTest.php   |  12 +-
 .../src/Tests/QuickEditLoadingTest.php        |  13 +-
 .../src/Access/EditEntityAccessCheckTest.php  |  16 +-
 .../Access/EditEntityFieldAccessCheckTest.php |  16 +-
 .../rdf/src/Tests/CommentAttributesTest.php   |  10 +-
 core/modules/rdf/src/Tests/CrudTest.php       |  10 +-
 .../src/Tests/Field/DateTimeFieldRdfaTest.php |  12 +-
 .../src/Tests/Field/EmailFieldRdfaTest.php    |  12 +-
 .../Tests/Field/EntityReferenceRdfaTest.php   |  10 +-
 .../Field/FieldRdfaDatatypeCallbackTest.php   |  10 +-
 .../Field/TaxonomyTermReferenceRdfaTest.php   |  10 +-
 .../Tests/Field/TelephoneFieldRdfaTest.php    |  12 +-
 .../rdf/src/Tests/Field/TextFieldRdfaTest.php |  12 +-
 .../rdf/src/Tests/FileFieldAttributesTest.php |  12 +-
 .../rdf/src/Tests/GetNamespacesTest.php       |  13 +-
 .../rdf/src/Tests/GetRdfNamespacesTest.php    |  12 +-
 .../src/Tests/ImageFieldAttributesTest.php    |  12 +-
 .../rdf/src/Tests/NodeAttributesTest.php      |  10 +-
 .../rdf/src/Tests/RdfaAttributesTest.php      |  12 +-
 .../rdf/src/Tests/StandardProfileTest.php     |  12 +-
 .../rdf/src/Tests/TaxonomyAttributesTest.php  |  10 +-
 .../Tests/TaxonomyTermFieldAttributesTest.php |  10 +-
 .../rdf/src/Tests/UserAttributesTest.php      |  10 +-
 .../src/RdfMappingConfigEntityUnitTest.php    |  15 +-
 .../src/Tests/ResponsiveImageAdminUITest.php  |  15 +-
 .../Tests/ResponsiveImageFieldDisplayTest.php |  15 +-
 .../src/ResponsiveImageMappingEntityTest.php  |  15 +-
 core/modules/rest/src/Tests/AuthTest.php      |  15 +-
 core/modules/rest/src/Tests/CreateTest.php    |  12 +-
 core/modules/rest/src/Tests/CsrfTest.php      |  15 +-
 core/modules/rest/src/Tests/DeleteTest.php    |  12 +-
 core/modules/rest/src/Tests/NodeTest.php      |  12 +-
 core/modules/rest/src/Tests/ReadTest.php      |  12 +-
 core/modules/rest/src/Tests/ResourceTest.php  |  15 +-
 core/modules/rest/src/Tests/UpdateTest.php    |  12 +-
 .../src/Tests/Views/StyleSerializerTest.php   |   9 +-
 .../rest/tests/src/CollectRoutesTest.php      |  12 +-
 .../Tests/SearchAdvancedSearchFormTest.php    |  10 +-
 .../search/src/Tests/SearchBlockTest.php      |  12 +-
 .../Tests/SearchCommentCountToggleTest.php    |  12 +-
 .../search/src/Tests/SearchCommentTest.php    |  12 +-
 .../Tests/SearchConfigSettingsFormTest.php    |  12 +-
 .../search/src/Tests/SearchEmbedFormTest.php  |  12 +-
 .../search/src/Tests/SearchExactTest.php      |  10 +-
 .../search/src/Tests/SearchExcerptTest.php    |  10 +-
 .../Tests/SearchKeywordsConditionsTest.php    |  12 +-
 .../search/src/Tests/SearchLanguageTest.php   |  12 +-
 .../search/src/Tests/SearchMatchTest.php      |  10 +-
 .../Tests/SearchMultilingualEntityTest.php    |  10 +-
 .../src/Tests/SearchNodePunctuationTest.php   |  12 +-
 .../Tests/SearchNodeUpdateAndDeletionTest.php |  12 +-
 .../src/Tests/SearchNumberMatchingTest.php    |  12 +-
 .../search/src/Tests/SearchNumbersTest.php    |  12 +-
 .../src/Tests/SearchPageCacheTagsTest.php     |  10 +-
 .../src/Tests/SearchPageOverrideTest.php      |  10 +-
 .../search/src/Tests/SearchPageTextTest.php   |  10 +-
 .../Tests/SearchPreprocessLangcodeTest.php    |  10 +-
 .../search/src/Tests/SearchQueryAlterTest.php |  10 +-
 .../search/src/Tests/SearchRankingTest.php    |  10 +-
 .../search/src/Tests/SearchSetLocaleTest.php  |  12 +-
 .../search/src/Tests/SearchSimplifyTest.php   |  12 +-
 .../search/src/Tests/SearchTokenizerTest.php  |  12 +-
 .../tests/src/SearchPageRepositoryTest.php    |  19 +-
 .../search/tests/src/SearchPluginBagTest.php  |  18 +-
 .../src/Tests/EntityResolverTest.php          |  12 +-
 .../src/Tests/EntitySerializationTest.php     |  12 +-
 .../src/Tests/SerializationTest.php           |  12 +-
 .../tests/src/Encoder/JsonEncoderTest.php     |  13 +-
 .../tests/src/Encoder/XmlEncoderTest.php      |  13 +-
 .../ChainEntityResolverTest.php               |  19 +-
 .../src/EntityResolver/UuidResolverTest.php   |  19 +-
 .../Normalizer/ConfigEntityNormalizerTest.php |  16 +-
 .../src/Normalizer/EntityNormalizerTest.php   |  14 +-
 .../src/Normalizer/ListNormalizerTest.php     |  16 +-
 .../src/Normalizer/NormalizerBaseTest.php     |  18 +-
 .../Normalizer/TypedDataNormalizerTest.php    |  15 +-
 .../src/Tests/ShortcutCacheTagsTest.php       |   9 +-
 .../shortcut/src/Tests/ShortcutLinksTest.php  |  12 +-
 .../shortcut/src/Tests/ShortcutSetsTest.php   |  12 +-
 .../tests/src/Menu/ShortcutLocalTasksTest.php |  11 +-
 .../simpletest/css/simpletest.module.css      |   2 +-
 core/modules/simpletest/simpletest.api.php    |   6 +-
 core/modules/simpletest/simpletest.module     | 232 +--------
 .../simpletest/simpletest.services.yml        |   4 +
 .../src/Form/SimpletestResultsForm.php        |   3 +-
 .../src/Form/SimpletestTestForm.php           |  61 ++-
 core/modules/simpletest/src/TestBase.php      |  21 -
 core/modules/simpletest/src/TestDiscovery.php | 453 ++++++++++++++++++
 .../simpletest/src/Tests/BrokenSetUpTest.php  |  11 +-
 .../simpletest/src/Tests/BrowserTest.php      |  12 +-
 .../simpletest/src/Tests/FolderTest.php       |  13 +-
 .../InstallationProfileModuleTestsTest.php    |  12 +-
 .../src/Tests/KernelTestBaseTest.php          |  10 +-
 .../simpletest/src/Tests/MailCaptureTest.php  |  16 +-
 .../Tests/MissingCheckedRequirementsTest.php  |  12 +-
 .../Tests/MissingDependentModuleUnitTest.php  |  14 +-
 .../OtherInstallationProfileTestsTest.php     |  12 +-
 .../simpletest/src/Tests/SimpleTestTest.php   |  20 +-
 .../simpletest/src/Tests/UserHelpersTest.php  |  10 +-
 .../tests/src/PhpUnitAutoloaderTest.php       |  11 +-
 .../simpletest/tests/src/PhpUnitErrorTest.php |  12 +-
 .../simpletest/tests/src/TestBaseTest.php     |  12 -
 .../simpletest/tests/src/WebTestBaseTest.php  |  16 +-
 .../src/Tests/StatisticsAdminTest.php         |  12 +-
 .../src/Tests/StatisticsLoggingTest.php       |  12 +-
 .../src/Tests/StatisticsReportsTest.php       |  12 +-
 .../src/Tests/StatisticsTokenReplaceTest.php  |  13 +-
 .../src/Tests/Views/IntegrationTest.php       |   9 +-
 core/modules/syslog/src/Tests/SyslogTest.php  |  12 +-
 .../src/Tests/Action/ActionUnitTest.php       |  13 +-
 .../system/src/Tests/Ajax/CommandsTest.php    |  12 +-
 .../system/src/Tests/Ajax/DialogTest.php      |  15 +-
 .../src/Tests/Ajax/ElementValidationTest.php  |  12 +-
 .../system/src/Tests/Ajax/FormValuesTest.php  |  12 +-
 .../system/src/Tests/Ajax/FrameworkTest.php   |  12 +-
 .../system/src/Tests/Ajax/MultiFormTest.php   |  13 +-
 .../system/src/Tests/Batch/PageTest.php       |  12 +-
 .../system/src/Tests/Batch/ProcessingTest.php |  12 +-
 .../src/Tests/Block/SystemMenuBlockTest.php   |  11 +-
 .../Tests/Bootstrap/GetFilenameUnitTest.php   |  12 +-
 .../src/Tests/Bootstrap/PageCacheTest.php     |  10 +-
 .../Bootstrap/ResettableStaticUnitTest.php    |  12 +-
 .../src/Tests/Cache/ApcuBackendUnitTest.php   |  10 +-
 .../src/Tests/Cache/BackendChainUnitTest.php  |  12 +-
 .../system/src/Tests/Cache/ClearTest.php      |  12 +-
 .../Tests/Cache/DatabaseBackendTagTest.php    |  10 +-
 .../Tests/Cache/DatabaseBackendUnitTest.php   |  12 +-
 .../src/Tests/Cache/MemoryBackendUnitTest.php |  12 +-
 .../Cache/PageCacheTagsIntegrationTest.php    |   9 +-
 .../src/Tests/Cache/PhpBackendUnitTest.php    |  12 +-
 .../system/src/Tests/Common/AddFeedTest.php   |  12 +-
 .../system/src/Tests/Common/AlterTest.php     |  10 +-
 .../Tests/Common/CascadingStylesheetsTest.php |  12 +-
 .../src/Tests/Common/FormatDateTest.php       |  10 +-
 .../Tests/Common/HtmlIdentifierUnitTest.php   |  13 +-
 .../src/Tests/Common/JavaScriptTest.php       |  10 +-
 .../src/Tests/Common/MergeAttachmentsTest.php |  10 +-
 .../Common/NoJavaScriptAnonymousTest.php      |  13 +-
 .../src/Tests/Common/RegionContentTest.php    |  12 +-
 .../Tests/Common/RenderElementTypesTest.php   |  10 +-
 .../system/src/Tests/Common/RenderTest.php    |  12 +-
 .../system/src/Tests/Common/RenderWebTest.php |  12 +-
 .../Common/SimpleTestErrorCollectorTest.php   |  10 +-
 .../system/src/Tests/Common/SizeUnitTest.php  |  13 +-
 .../src/Tests/Common/SystemListingTest.php    |  10 +-
 .../Common/TableSortExtenderUnitTest.php      |  12 +-
 .../system/src/Tests/Common/UrlTest.php       |  15 +-
 .../src/Tests/Common/WriteRecordTest.php      |  10 +-
 .../system/src/Tests/Common/XssUnitTest.php   |  13 +-
 .../src/Tests/Condition/ConditionFormTest.php |  12 +-
 .../Condition/CurrentThemeConditionTest.php   |  13 +-
 .../system/src/Tests/Database/AlterTest.php   |  11 +-
 .../src/Tests/Database/BasicSyntaxTest.php    |  12 +-
 .../Tests/Database/CaseSensitivityTest.php    |  12 +-
 .../src/Tests/Database/ConnectionTest.php     |  12 +-
 .../src/Tests/Database/ConnectionUnitTest.php |  10 +-
 .../Database/DatabaseExceptionWrapperTest.php |  12 +-
 .../src/Tests/Database/DeleteTruncateTest.php |  10 +-
 .../system/src/Tests/Database/FetchTest.php   |  12 +-
 .../src/Tests/Database/InsertDefaultsTest.php |  12 +-
 .../src/Tests/Database/InsertLobTest.php      |  12 +-
 .../system/src/Tests/Database/InsertTest.php  |  10 +-
 .../src/Tests/Database/InvalidDataTest.php    |  12 +-
 .../system/src/Tests/Database/LoggingTest.php |  12 +-
 .../system/src/Tests/Database/MergeTest.php   |  10 +-
 .../system/src/Tests/Database/NextIdTest.php  |  12 +-
 .../system/src/Tests/Database/QueryTest.php   |  12 +-
 .../src/Tests/Database/RangeQueryTest.php     |  12 +-
 .../src/Tests/Database/RegressionTest.php     |  12 +-
 .../system/src/Tests/Database/SchemaTest.php  |  12 +-
 .../src/Tests/Database/SelectCloneTest.php    |  12 +-
 .../src/Tests/Database/SelectComplexTest.php  |  12 +-
 .../src/Tests/Database/SelectOrderedTest.php  |  12 +-
 .../Tests/Database/SelectPagerDefaultTest.php |  10 +-
 .../src/Tests/Database/SelectSubqueryTest.php |  12 +-
 .../Database/SelectTableSortDefaultTest.php   |  10 +-
 .../system/src/Tests/Database/SelectTest.php  |  12 +-
 .../src/Tests/Database/SerializeQueryTest.php |  12 +-
 .../system/src/Tests/Database/TaggingTest.php |  12 +-
 .../src/Tests/Database/TemporaryQueryTest.php |  12 +-
 .../src/Tests/Database/TransactionTest.php    |  11 +-
 .../src/Tests/Database/UpdateComplexTest.php  |  12 +-
 .../src/Tests/Database/UpdateLobTest.php      |  12 +-
 .../system/src/Tests/Database/UpdateTest.php  |  10 +-
 .../src/Tests/Datetime/DrupalDateTimeTest.php |  13 +-
 .../DrupalKernel/ContentNegotiationTest.php   |  10 +-
 .../DrupalKernel/DrupalKernelSiteTest.php     |  13 +-
 .../Tests/DrupalKernel/DrupalKernelTest.php   |  12 +-
 .../DrupalKernel/ServiceDestructionTest.php   |  12 +-
 .../Entity/BundleConstraintValidatorTest.php  |  10 +-
 .../Tests/Entity/ConfigEntityImportTest.php   |  15 +-
 .../Tests/Entity/ConfigEntityQueryTest.php    |  11 +-
 .../src/Tests/Entity/EntityAccessTest.php     |  12 +-
 .../src/Tests/Entity/EntityApiInfoTest.php    |  12 +-
 .../system/src/Tests/Entity/EntityApiTest.php |  12 +-
 .../Tests/Entity/EntityBundleFieldTest.php    |  13 +-
 .../src/Tests/Entity/EntityCrudHookTest.php   |  13 +-
 .../Entity/EntityFieldDefaultValueTest.php    |  12 +-
 .../src/Tests/Entity/EntityFieldTest.php      |  12 +-
 .../src/Tests/Entity/EntityFormTest.php       |  12 +-
 .../src/Tests/Entity/EntityOperationsTest.php |  12 +-
 .../Tests/Entity/EntityQueryAggregateTest.php |  11 +-
 .../Entity/EntityQueryRelationshipTest.php    |  12 +-
 .../src/Tests/Entity/EntityQueryTest.php      |  12 +-
 .../src/Tests/Entity/EntityRevisionsTest.php  |  13 +-
 .../Entity/EntityTranslationFormTest.php      |  10 +-
 .../Tests/Entity/EntityTranslationTest.php    |  12 +-
 .../EntityTypeConstraintValidatorTest.php     |  10 +-
 .../Entity/EntityTypedDataDefinitionTest.php  |  10 +-
 .../src/Tests/Entity/EntityUUIDTest.php       |  10 +-
 .../src/Tests/Entity/EntityValidationTest.php |  12 +-
 .../Tests/Entity/EntityViewBuilderTest.php    |  10 +-
 .../Tests/Entity/EntityViewControllerTest.php |  12 +-
 .../src/Tests/Entity/FieldAccessTest.php      |  12 +-
 .../src/Tests/Entity/FieldSqlStorageTest.php  |  12 +-
 .../Entity/FieldTranslationSqlStorageTest.php |  12 +-
 .../Tests/Extension/InfoParserUnitTest.php    |  15 +-
 .../src/Tests/Extension/ModuleHandlerTest.php |  10 +-
 .../src/Tests/Extension/ThemeHandlerTest.php  |  10 +-
 .../system/src/Tests/File/ConfigTest.php      |  12 +-
 .../system/src/Tests/File/DirectoryTest.php   |  12 +-
 .../src/Tests/File/HtaccessUnitTest.php       |  12 +-
 .../system/src/Tests/File/MimeTypeTest.php    |  12 +-
 .../system/src/Tests/File/NameMungingTest.php |  12 +-
 .../Tests/File/ReadOnlyStreamWrapperTest.php  |  12 +-
 .../Tests/File/RemoteFileDirectoryTest.php    |  10 +-
 .../File/RemoteFileScanDirectoryTest.php      |  10 +-
 .../File/RemoteFileUnmanagedCopyTest.php      |  10 +-
 ...RemoteFileUnmanagedDeleteRecursiveTest.php |  10 +-
 .../File/RemoteFileUnmanagedDeleteTest.php    |  10 +-
 .../File/RemoteFileUnmanagedMoveTest.php      |  10 +-
 .../File/RemoteFileUnmanagedSaveDataTest.php  |  10 +-
 .../src/Tests/File/ScanDirectoryTest.php      |  10 +-
 .../src/Tests/File/StreamWrapperTest.php      |  10 +-
 .../src/Tests/File/UnmanagedCopyTest.php      |  12 +-
 .../File/UnmanagedDeleteRecursiveTest.php     |  12 +-
 .../src/Tests/File/UnmanagedDeleteTest.php    |  12 +-
 .../src/Tests/File/UnmanagedMoveTest.php      |  12 +-
 .../src/Tests/File/UnmanagedSaveDataTest.php  |  10 +-
 .../src/Tests/File/UrlRewritingTest.php       |  10 +-
 .../Tests/FileTransfer/FileTransferTest.php   |  13 +-
 .../system/src/Tests/Form/AlterTest.php       |  12 +-
 .../src/Tests/Form/ArbitraryRebuildTest.php   |  12 +-
 .../system/src/Tests/Form/CheckboxTest.php    |  13 +-
 .../system/src/Tests/Form/ConfirmFormTest.php |  10 +-
 .../system/src/Tests/Form/ElementTest.php     |  10 +-
 .../src/Tests/Form/ElementsLabelsTest.php     |  12 +-
 .../Tests/Form/ElementsTableSelectTest.php    |  12 +-
 .../Tests/Form/ElementsVerticalTabsTest.php   |  12 +-
 .../system/src/Tests/Form/EmailTest.php       |  12 +-
 .../system/src/Tests/Form/FormCacheTest.php   |  12 +-
 .../system/src/Tests/Form/FormObjectTest.php  |  10 +-
 .../system/src/Tests/Form/FormTest.php        |  12 +-
 .../Tests/Form/LanguageSelectElementTest.php  |  13 +-
 .../src/Tests/Form/ModulesListFormWebTest.php |  13 +-
 .../src/Tests/Form/ProgrammaticTest.php       |  12 +-
 .../system/src/Tests/Form/RebuildTest.php     |  11 +-
 .../system/src/Tests/Form/RedirectTest.php    |  12 +-
 .../Form/StateValuesCleanAdvancedTest.php     |  13 +-
 .../src/Tests/Form/StateValuesCleanTest.php   |  13 +-
 .../system/src/Tests/Form/StorageTest.php     |  13 +-
 .../src/Tests/Form/SystemConfigFormTest.php   |  10 +-
 .../TriggeringElementProgrammedUnitTest.php   |  10 +-
 .../src/Tests/Form/TriggeringElementTest.php  |  12 +-
 .../modules/system/src/Tests/Form/UrlTest.php |  12 +-
 .../system/src/Tests/Form/ValidationTest.php  |  12 +-
 .../system/src/Tests/Image/ToolkitGdTest.php  |  13 +-
 .../src/Tests/Image/ToolkitSetupFormTest.php  |  15 +-
 .../system/src/Tests/Image/ToolkitTest.php    |  12 +-
 .../Installer/DistributionProfileTest.php     |  12 +-
 .../Installer/InstallerEmptySettingsTest.php  |  13 +-
 .../InstallerExistingDatabaseSettingsTest.php |  16 +-
 .../InstallerExistingSettingsTest.php         |  15 +-
 .../InstallerLanguageDirectionTest.php        |  15 +-
 .../Tests/Installer/InstallerLanguageTest.php |  12 +-
 .../src/Tests/Installer/InstallerTest.php     |  12 +-
 .../Installer/InstallerTranslationTest.php    |  13 +-
 .../InstallerTranslationVersionUnitTest.php   |  13 +-
 .../src/Tests/Installer/SiteNameTest.php      |  10 +-
 .../DatabaseStorageExpirableTest.php          |  10 +-
 .../KeyValueStore/DatabaseStorageTest.php     |  10 +-
 .../KeyValueStore/GarbageCollectionTest.php   |  12 +-
 .../KeyValueConfigEntityStorageTest.php       |  15 +-
 .../KeyValueContentEntityStorageTest.php      |  15 +-
 .../Tests/KeyValueStore/MemoryStorageTest.php |  10 +-
 .../src/Tests/Lock/LockFunctionalTest.php     |  12 +-
 .../system/src/Tests/Lock/LockUnitTest.php    |  12 +-
 .../system/src/Tests/Mail/HtmlToTextTest.php  |  10 +-
 .../system/src/Tests/Mail/MailTest.php        |  12 +-
 .../src/Tests/Mail/WrapMailUnitTest.php       |  12 +-
 .../system/src/Tests/Menu/BreadcrumbTest.php  |  12 +-
 .../system/src/Tests/Menu/LinksTest.php       |  12 +-
 .../system/src/Tests/Menu/LocalActionTest.php |  15 +-
 .../system/src/Tests/Menu/LocalTasksTest.php  |  10 +-
 .../src/Tests/Menu/MenuRouterRebuildTest.php  |  13 +-
 .../system/src/Tests/Menu/MenuRouterTest.php  |  10 +-
 .../src/Tests/Menu/MenuTranslateTest.php      |  11 +-
 .../src/Tests/Module/ClassLoaderTest.php      |  12 +-
 .../src/Tests/Module/DependencyTest.php       |  12 +-
 .../src/Tests/Module/HookRequirementsTest.php |  12 +-
 .../system/src/Tests/Module/InstallTest.php   |  12 +-
 .../src/Tests/Module/InstallUninstallTest.php |  12 +-
 .../system/src/Tests/Module/RequiredTest.php  |  12 +-
 .../system/src/Tests/Module/UninstallTest.php |  12 +-
 .../system/src/Tests/Module/VersionTest.php   |  12 +-
 .../src/Tests/Page/DefaultMetatagsTest.php    |  13 +-
 .../system/src/Tests/Pager/PagerTest.php      |  10 +-
 .../Tests/ParamConverter/UpcastingTest.php    |  15 +-
 .../system/src/Tests/Path/AliasTest.php       |  10 +-
 .../src/Tests/Path/UrlAlterFunctionalTest.php |  12 +-
 .../PhpStorage/PhpStorageFactoryTest.php      |  12 +-
 .../src/Tests/Plugin/AlterDecoratorTest.php   |  10 +-
 .../Plugin/CacheDecoratorLanguageTest.php     |  12 +-
 .../src/Tests/Plugin/CacheDecoratorTest.php   |  12 +-
 .../Plugin/Condition/RequestPathTest.php      |  16 +-
 .../src/Tests/Plugin/ContextPluginTest.php    |  12 +-
 .../src/Tests/Plugin/DerivativeTest.php       |  10 +-
 .../Discovery/AnnotatedClassDiscoveryTest.php |  12 +-
 .../CustomAnnotationClassDiscoveryTest.php    |   9 +-
 ...omDirectoryAnnotatedClassDiscoveryTest.php |  13 +-
 .../Plugin/Discovery/StaticDiscoveryTest.php  |  12 +-
 .../system/src/Tests/Plugin/FactoryTest.php   |  10 +-
 .../src/Tests/Plugin/InspectionTest.php       |  10 +-
 .../system/src/Tests/Queue/QueueTest.php      |  12 +-
 .../src/Tests/Routing/MatcherDumperTest.php   |  12 +-
 .../src/Tests/Routing/RouteProviderTest.php   |  12 +-
 .../Tests/Routing/RouterPermissionTest.php    |  12 +-
 .../system/src/Tests/Routing/RouterTest.php   |  10 +-
 .../ServiceProvider/ServiceProviderTest.php   |  10 +-
 .../src/Tests/Session/SessionHttpsTest.php    |  10 +-
 .../system/src/Tests/Session/SessionTest.php  |  12 +-
 .../src/Tests/System/AccessDeniedTest.php     |  12 +-
 .../src/Tests/System/AdminMetaTagTest.php     |  15 +-
 .../system/src/Tests/System/AdminTest.php     |  12 +-
 .../system/src/Tests/System/CronQueueTest.php |  12 +-
 .../system/src/Tests/System/CronRunTest.php   |  10 +-
 .../Tests/System/DateFormatsLockedTest.php    |  13 +-
 .../System/DateFormatsMachineNameTest.php     |  15 +-
 .../system/src/Tests/System/DateTimeTest.php  |  13 +-
 .../System/DefaultMobileMetaTagsTest.php      |  12 +-
 .../src/Tests/System/ErrorHandlerTest.php     |  12 +-
 .../system/src/Tests/System/FloodTest.php     |  13 +-
 .../system/src/Tests/System/FrontPageTest.php |  12 +-
 .../System/IgnoreReplicaSubscriberTest.php    |  12 +-
 .../system/src/Tests/System/IndexPhpTest.php  |  12 +-
 .../system/src/Tests/System/InfoAlterTest.php |  10 +-
 .../Tests/System/MainContentFallbackTest.php  |  12 +-
 .../src/Tests/System/PageNotFoundTest.php     |  12 +-
 .../system/src/Tests/System/PageTitleTest.php |  13 +-
 .../src/Tests/System/PasswordHashingTest.php  |  12 +-
 .../src/Tests/System/RetrieveFileTest.php     |  12 +-
 .../system/src/Tests/System/ScriptTest.php    |  13 +-
 .../src/Tests/System/SettingsRewriteTest.php  |  10 +-
 .../Tests/System/ShutdownFunctionsTest.php    |  10 +-
 .../src/Tests/System/SiteMaintenanceTest.php  |  12 +-
 .../system/src/Tests/System/StatusTest.php    |  15 +-
 .../src/Tests/System/SystemAuthorizeTest.php  |  12 +-
 .../system/src/Tests/System/ThemeTest.php     |  13 +-
 .../src/Tests/System/TokenReplaceUnitTest.php |  13 +-
 .../system/src/Tests/System/TokenScanTest.php |  12 +-
 .../src/Tests/Theme/EnginePhpTemplateTest.php |  12 +-
 .../system/src/Tests/Theme/EngineTwigTest.php |  12 +-
 .../Tests/Theme/EntityFilteringThemeTest.php  |  13 +-
 .../system/src/Tests/Theme/FastTest.php       |  10 +-
 .../system/src/Tests/Theme/FunctionsTest.php  |  10 +-
 .../src/Tests/Theme/HtmlAttributesTest.php    |  12 +-
 .../system/src/Tests/Theme/RegistryTest.php   |  12 +-
 .../system/src/Tests/Theme/TableTest.php      |  12 +-
 .../Theme/ThemeEarlyInitializationTest.php    |  13 +-
 .../src/Tests/Theme/ThemeInfoStylesTest.php   |  10 +-
 .../src/Tests/Theme/ThemeSettingsTest.php     |  10 +-
 .../Tests/Theme/ThemeSuggestionsAlterTest.php |  10 +-
 .../system/src/Tests/Theme/ThemeTest.php      |  10 +-
 .../src/Tests/Theme/TwigDebugMarkupTest.php   |  10 +-
 .../src/Tests/Theme/TwigExtensionTest.php     |  10 +-
 .../system/src/Tests/Theme/TwigFilterTest.php |  13 +-
 .../src/Tests/Theme/TwigNamespaceTest.php     |  10 +-
 .../system/src/Tests/Theme/TwigRawTest.php    |  12 +-
 .../src/Tests/Theme/TwigSettingsTest.php      |  12 +-
 .../system/src/Tests/Theme/TwigTransTest.php  |  16 +-
 .../Transliteration/TransliterationTest.php   |  10 +-
 .../TypedData/TypedDataDefinitionTest.php     |  10 +-
 .../src/Tests/TypedData/TypedDataTest.php     |  12 +-
 .../Update/DependencyHookInvocationTest.php   |  13 +-
 .../Tests/Update/DependencyMissingTest.php    |  12 +-
 .../Tests/Update/DependencyOrderingTest.php   |  12 +-
 .../Tests/Update/InvalidUpdateHookTest.php    |  13 +-
 .../src/Tests/Update/UpdateScriptTest.php     |  12 +-
 .../src/Tests/Update/UpdatesWith7xTest.php    |  13 +-
 .../AllowedValuesConstraintValidatorTest.php  |  12 +-
 .../ComplexDataConstraintValidatorTest.php    |  13 +-
 .../PathBasedBreadcrumbBuilderTest.php        |  17 +-
 .../src/Controller/SystemControllerTest.php   |  16 +-
 .../tests/src/Menu/SystemLocalTasksTest.php   |  14 +-
 .../MachineNameControllerTest.php             |  12 +-
 core/modules/taxonomy/src/Tests/EfqTest.php   |  12 +-
 .../modules/taxonomy/src/Tests/LegacyTest.php |  12 +-
 .../taxonomy/src/Tests/LoadMultipleTest.php   |  12 +-
 core/modules/taxonomy/src/Tests/RssTest.php   |  13 +-
 .../taxonomy/src/Tests/TaxonomyImageTest.php  |  12 +-
 .../src/Tests/TaxonomyTermIndentationTest.php |  12 +-
 .../Tests/TaxonomyTermReferenceItemTest.php   |  10 +-
 .../taxonomy/src/Tests/TermCacheTagsTest.php  |   9 +-
 .../Tests/TermFieldMultipleVocabularyTest.php |  10 +-
 .../taxonomy/src/Tests/TermFieldTest.php      |  12 +-
 .../taxonomy/src/Tests/TermIndexTest.php      |  10 +-
 .../taxonomy/src/Tests/TermLanguageTest.php   |  12 +-
 core/modules/taxonomy/src/Tests/TermTest.php  |  12 +-
 .../src/Tests/TermTranslationUITest.php       |  10 +-
 .../taxonomy/src/Tests/TermUnitTest.php       |  10 +-
 .../taxonomy/src/Tests/TermValidationTest.php |  10 +-
 core/modules/taxonomy/src/Tests/ThemeTest.php |  12 +-
 .../taxonomy/src/Tests/TokenReplaceTest.php   |  13 +-
 .../Views/RelationshipNodeTermDataTest.php    |  12 +-
 .../RelationshipRepresentativeNodeTest.php    |  10 +-
 .../Tests/Views/TaxonomyIndexTidUiTest.php    |   9 +-
 .../src/Tests/Views/TaxonomyParentUITest.php  |  14 +-
 .../taxonomy/src/Tests/VocabularyCrudTest.php |  12 +-
 .../src/Tests/VocabularyLanguageTest.php      |  12 +-
 .../src/Tests/VocabularyPermissionsTest.php   |  10 +-
 .../taxonomy/src/Tests/VocabularyUiTest.php   |  10 +-
 .../tests/src/Menu/TaxonomyLocalTasksTest.php |  11 +-
 .../src/Tests/TelephoneFieldTest.php          |  10 +-
 .../telephone/src/Tests/TelephoneItemTest.php |  10 +-
 .../src/Tests/Formatter/TextFormatterTest.php |  15 +-
 .../src/Tests/Formatter/TextPlainUnitTest.php |  11 +-
 core/modules/text/src/Tests/TextFieldTest.php |  10 +-
 .../text/src/Tests/TextSummaryTest.php        |  12 +-
 .../src/Tests/TextWithSummaryItemTest.php     |  12 +-
 .../src/Tests/ToolbarAdminMenuTest.php        |  10 +-
 .../src/Tests/ToolbarHookToolbarTest.php      |  12 +-
 .../src/Tests/ToolbarMenuTranslationTest.php  |  12 +-
 .../modules/tour/src/Tests/TourPluginTest.php |  12 +-
 core/modules/tour/src/Tests/TourTest.php      |  12 +-
 .../tour/tests/src/Entity/TourTest.php        |  16 +-
 .../src/Tests/TrackerNodeAccessTest.php       |  10 +-
 .../modules/tracker/src/Tests/TrackerTest.php |  12 +-
 .../src/Tests/Views/TrackerUserUidTest.php    |  10 +-
 .../update/src/Tests/UpdateContribTest.php    |  13 +-
 .../update/src/Tests/UpdateCoreTest.php       |  13 +-
 .../src/Tests/UpdateDeleteFileIfStaleTest.php |  15 +-
 .../update/src/Tests/UpdateUploadTest.php     |  12 +-
 .../update/tests/src/UpdateFetcherTest.php    |  10 +-
 .../Tests/Condition/UserRoleConditionTest.php |  13 +-
 .../user/src/Tests/TempStoreDatabaseTest.php  |  11 +-
 .../src/Tests/UserAccountFormFieldsTest.php   |  13 +-
 .../user/src/Tests/UserAccountLinksTests.php  |  12 +-
 .../src/Tests/UserActionConfigSchemaTest.php  |  13 +-
 .../user/src/Tests/UserAdminLanguageTest.php  |  10 +-
 .../user/src/Tests/UserAdminListingTest.php   |  11 +-
 .../src/Tests/UserAdminSettingsFormTest.php   |  12 +-
 core/modules/user/src/Tests/UserAdminTest.php |  12 +-
 .../user/src/Tests/UserAutocompleteTest.php   |  12 +-
 .../modules/user/src/Tests/UserBlocksTest.php |  12 +-
 .../user/src/Tests/UserCacheTagsTest.php      |   9 +-
 .../modules/user/src/Tests/UserCancelTest.php |  12 +-
 .../user/src/Tests/UserCreateFailMailTest.php |  10 +-
 .../modules/user/src/Tests/UserCreateTest.php |  12 +-
 .../modules/user/src/Tests/UserDeleteTest.php |  12 +-
 core/modules/user/src/Tests/UserEditTest.php  |  12 +-
 .../src/Tests/UserEditedOwnAccountTest.php    |  12 +-
 .../src/Tests/UserEntityCallbacksTest.php     |  13 +-
 .../src/Tests/UserEntityReferenceTest.php     |  15 +-
 .../modules/user/src/Tests/UserEntityTest.php |   9 +-
 .../user/src/Tests/UserInstallTest.php        |  13 +-
 .../src/Tests/UserLanguageCreationTest.php    |  13 +-
 .../user/src/Tests/UserLanguageTest.php       |  10 +-
 core/modules/user/src/Tests/UserLoginTest.php |  12 +-
 .../user/src/Tests/UserPasswordResetTest.php  |  12 +-
 .../user/src/Tests/UserPermissionsTest.php    |  13 +-
 .../user/src/Tests/UserPictureTest.php        |  10 +-
 .../user/src/Tests/UserRegistrationTest.php   |  12 +-
 .../user/src/Tests/UserRoleAdminTest.php      |  12 +-
 .../src/Tests/UserRolesAssignmentTest.php     |  12 +-
 core/modules/user/src/Tests/UserSaveTest.php  |  12 +-
 .../modules/user/src/Tests/UserSearchTest.php |  13 +-
 .../user/src/Tests/UserSignatureTest.php      |  12 +-
 .../user/src/Tests/UserTimeZoneTest.php       |  12 +-
 .../user/src/Tests/UserTokenReplaceTest.php   |  13 +-
 .../user/src/Tests/UserTranslationUITest.php  |  10 +-
 .../UserValidateCurrentPassCustomFormTest.php |  10 +-
 .../user/src/Tests/UserValidationTest.php     |  12 +-
 .../src/Tests/Views/AccessPermissionTest.php  |   9 +-
 .../user/src/Tests/Views/AccessRoleTest.php   |   9 +-
 .../user/src/Tests/Views/AccessRoleUITest.php |  12 +-
 .../src/Tests/Views/ArgumentDefaultTest.php   |  10 +-
 .../src/Tests/Views/ArgumentValidateTest.php  |  12 +-
 .../user/src/Tests/Views/BulkFormTest.php     |  11 +-
 .../Views/HandlerArgumentUserUidTest.php      |  12 +-
 .../Views/HandlerFieldPermissionTest.php      |   9 +-
 .../src/Tests/Views/HandlerFieldRoleTest.php  |  11 +-
 .../Tests/Views/HandlerFieldUserNameTest.php  |  11 +-
 .../Views/HandlerFilterPermissionTest.php     |   9 +-
 .../Tests/Views/HandlerFilterUserNameTest.php |   9 +-
 .../RelationshipRepresentativeNodeTest.php    |  10 +-
 .../user/src/Tests/Views/UserDataTest.php     |   9 +-
 .../tests/src/Menu/UserLocalTasksTest.php     |  13 +-
 .../user/tests/src/PermissionsHashTest.php    |  19 +-
 .../src/Plugin/Action/AddRoleUserTest.php     |  16 +-
 .../src/Plugin/Action/RemoveRoleUserTest.php  |  16 +-
 .../tests/src/Plugin/Core/Entity/UserTest.php |  11 +-
 .../Plugin/views/field/UserBulkFormTest.php   |  13 +-
 core/modules/user/tests/src/TempStoreTest.php |  17 +-
 core/modules/user/tests/src/UserAuthTest.php  |  17 +-
 .../tests/src/Views/Argument/RolesRidTest.php |  13 +-
 core/modules/views/src/Tests/BasicTest.php    |  12 +-
 .../views/src/Tests/DefaultViewsTest.php      |  12 +-
 .../src/Tests/Entity/FieldEntityTest.php      |  10 +-
 .../Tests/Entity/FilterEntityBundleTest.php   |  12 +-
 .../Tests/Entity/RowEntityRenderersTest.php   |  12 +-
 .../Entity/ViewEntityDependenciesTest.php     |  12 +-
 core/modules/views/src/Tests/GlossaryTest.php |  12 +-
 .../src/Tests/Handler/AreaEntityTest.php      |   9 +-
 .../Tests/Handler/AreaHTTPStatusCodeTest.php  |   9 +-
 .../views/src/Tests/Handler/AreaTest.php      |  11 +-
 .../views/src/Tests/Handler/AreaTextTest.php  |  11 +-
 .../views/src/Tests/Handler/AreaTitleTest.php |   9 +-
 .../views/src/Tests/Handler/AreaViewTest.php  |  12 +-
 .../src/Tests/Handler/ArgumentDateTest.php    |   9 +-
 .../src/Tests/Handler/ArgumentNullTest.php    |  10 +-
 .../src/Tests/Handler/ArgumentStringTest.php  |  10 +-
 .../src/Tests/Handler/FieldBooleanTest.php    |  10 +-
 .../src/Tests/Handler/FieldCounterTest.php    |  10 +-
 .../src/Tests/Handler/FieldCustomTest.php     |  10 +-
 .../views/src/Tests/Handler/FieldDateTest.php |  10 +-
 .../src/Tests/Handler/FieldDropButtonTest.php |   9 +-
 .../src/Tests/Handler/FieldFileSizeTest.php   |   9 +-
 .../views/src/Tests/Handler/FieldUnitTest.php |   9 +-
 .../views/src/Tests/Handler/FieldUrlTest.php  |  10 +-
 .../views/src/Tests/Handler/FieldWebTest.php  |   9 +-
 .../views/src/Tests/Handler/FieldXssTest.php  |   9 +-
 .../FilterBooleanOperatorStringTest.php       |  12 +-
 .../Handler/FilterBooleanOperatorTest.php     |  11 +-
 .../src/Tests/Handler/FilterCombineTest.php   |  10 +-
 .../src/Tests/Handler/FilterDateTest.php      |  10 +-
 .../src/Tests/Handler/FilterEqualityTest.php  |  10 +-
 .../Tests/Handler/FilterInOperatorTest.php    |  10 +-
 .../src/Tests/Handler/FilterNumericTest.php   |  10 +-
 .../src/Tests/Handler/FilterStringTest.php    |  10 +-
 .../src/Tests/Handler/HandlerAliasTest.php    |  12 +-
 .../src/Tests/Handler/HandlerAllTest.php      |  12 +-
 .../views/src/Tests/Handler/HandlerTest.php   |  12 +-
 .../src/Tests/Handler/RelationshipTest.php    |   9 +-
 .../views/src/Tests/Handler/SortDateTest.php  |  10 +-
 .../src/Tests/Handler/SortRandomTest.php      |  10 +-
 .../views/src/Tests/Handler/SortTest.php      |  10 +-
 core/modules/views/src/Tests/ModuleTest.php   |  10 +-
 .../views/src/Tests/Plugin/AccessTest.php     |  11 +-
 .../src/Tests/Plugin/ArgumentDefaultTest.php  |  12 +-
 .../Tests/Plugin/ArgumentValidatorTest.php    |  10 +-
 .../Tests/Plugin/BlockDependenciesTest.php    |  15 +-
 .../views/src/Tests/Plugin/CacheTagTest.php   |  11 +-
 .../views/src/Tests/Plugin/CacheTest.php      |  11 +-
 .../Tests/Plugin/DisplayAttachmentTest.php    |   9 +-
 .../src/Tests/Plugin/DisplayExtenderTest.php  |   9 +-
 .../src/Tests/Plugin/DisplayFeedTest.php      |   9 +-
 .../src/Tests/Plugin/DisplayPageTest.php      |   9 +-
 .../src/Tests/Plugin/DisplayPageWebTest.php   |  10 +-
 .../views/src/Tests/Plugin/DisplayTest.php    |  10 +-
 .../src/Tests/Plugin/DisplayUnitTest.php      |  10 +-
 .../src/Tests/Plugin/ExposedFormTest.php      |  12 +-
 .../views/src/Tests/Plugin/FilterTest.php     |   9 +-
 .../views/src/Tests/Plugin/JoinTest.php       |  11 +-
 .../views/src/Tests/Plugin/MiniPagerTest.php  |  11 +-
 .../views/src/Tests/Plugin/PagerTest.php      |  10 +-
 .../views/src/Tests/Plugin/QueryTest.php      |  10 +-
 .../views/src/Tests/Plugin/RowEntityTest.php  |   9 +-
 .../views/src/Tests/Plugin/SqlQueryTest.php   |  12 +-
 .../views/src/Tests/Plugin/StyleGridTest.php  |  12 +-
 .../src/Tests/Plugin/StyleMappingTest.php     |  12 +-
 .../views/src/Tests/Plugin/StyleOpmlTest.php  |  12 +-
 .../views/src/Tests/Plugin/StyleTableTest.php |  10 +-
 .../src/Tests/Plugin/StyleTableUnitTest.php   |   9 +-
 .../views/src/Tests/Plugin/StyleTest.php      |  11 +-
 .../src/Tests/Plugin/StyleUnformattedTest.php |  12 +-
 .../views/src/Tests/Plugin/ViewsBlockTest.php |  12 +-
 .../views/src/Tests/PluginInstanceTest.php    |  12 +-
 .../views/src/Tests/QueryGroupByTest.php      |  10 +-
 .../views/src/Tests/SearchIntegrationTest.php |  13 +-
 .../src/Tests/SearchMultilingualTest.php      |  13 +-
 .../views/src/Tests/TokenReplaceTest.php      |  10 +-
 core/modules/views/src/Tests/ViewAjaxTest.php |  10 +-
 .../views/src/Tests/ViewElementTest.php       |  12 +-
 .../views/src/Tests/ViewExecutableTest.php    |   9 +-
 .../views/src/Tests/ViewRenderTest.php        |  10 +-
 .../views/src/Tests/ViewStorageTest.php       |  11 +-
 .../views/src/Tests/ViewsHooksTest.php        |   9 +-
 .../Tests/ViewsTaxonomyAutocompleteTest.php   |   9 +-
 .../views/src/Tests/ViewsTemplateTest.php     |  11 +-
 .../src/Tests/ViewsThemeIntegrationTest.php   |  15 +-
 .../views/src/Tests/Wizard/BasicTest.php      |  10 +-
 .../src/Tests/Wizard/ItemsPerPageTest.php     |  13 +-
 .../views/src/Tests/Wizard/MenuTest.php       |  10 +-
 .../views/src/Tests/Wizard/SortingTest.php    |  10 +-
 .../views/src/Tests/Wizard/TaggedWithTest.php |  10 +-
 .../Tests/Wizard/WizardPluginBaseUnitTest.php |  11 +-
 .../src/Controller/ViewAjaxControllerTest.php |  16 +-
 .../views/tests/src/Entity/ViewTest.php       |  14 +-
 .../EventSubscriber/RouteSubscriberTest.php   |  14 +-
 .../tests/src/Plugin/Block/ViewsBlockTest.php |  13 +-
 .../Plugin/Derivative/ViewsLocalTaskTest.php  |  13 +-
 .../tests/src/Plugin/area/MessagesTest.php    |  17 +-
 .../tests/src/Plugin/area/ResultTest.php      |  13 +-
 .../argument_default/QueryParameterTest.php   |  14 +-
 .../src/Plugin/argument_default/RawTest.php   |  13 +-
 .../Plugin/argument_validator/EntityTest.php  |  16 +-
 .../src/Plugin/display/PathPluginBaseTest.php |  13 +-
 .../tests/src/Plugin/field/CounterTest.php    |  13 +-
 .../src/Plugin/pager/PagerPluginBaseTest.php  |  15 +-
 .../views/tests/src/PluginBaseTest.php        |  13 +-
 .../views/tests/src/PluginTypeListTest.php    |  12 +-
 .../src/Routing/ViewPageControllerTest.php    |  16 +-
 .../tests/src/ViewExecutableFactoryTest.php   |  14 +-
 .../tests/src/ViewExecutableUnitTest.php      |  13 +-
 .../views/tests/src/ViewsDataHelperTest.php   |  13 +-
 .../modules/views/tests/src/ViewsDataTest.php |  16 +-
 core/modules/views/tests/src/ViewsTest.php    |   9 +-
 .../views_ui/src/Tests/AnalyzeTest.php        |  10 +-
 .../views_ui/src/Tests/CachedDataUITest.php   |  10 +-
 .../views_ui/src/Tests/CustomBooleanTest.php  |   9 +-
 .../views_ui/src/Tests/DefaultViewsTest.php   |  10 +-
 .../src/Tests/DisplayAttachmentTest.php       |   9 +-
 .../views_ui/src/Tests/DisplayCRUDTest.php    |  12 +-
 .../src/Tests/DisplayExtenderUITest.php       |  10 +-
 .../views_ui/src/Tests/DisplayFeedTest.php    |   9 +-
 .../views_ui/src/Tests/DisplayPathTest.php    |   9 +-
 .../views_ui/src/Tests/DisplayTest.php        |  12 +-
 .../views_ui/src/Tests/ExposedFormUITest.php  |  12 +-
 .../views_ui/src/Tests/FieldUITest.php        |   9 +-
 .../src/Tests/FilterBooleanWebTest.php        |   9 +-
 .../views_ui/src/Tests/GroupByTest.php        |  10 +-
 .../views_ui/src/Tests/HandlerTest.php        |  11 +-
 .../src/Tests/OverrideDisplaysTest.php        |  10 +-
 .../views_ui/src/Tests/PreviewTest.php        |  12 +-
 core/modules/views_ui/src/Tests/QueryTest.php |  10 +-
 .../src/Tests/RearrangeFieldsTest.php         |   9 +-
 .../views_ui/src/Tests/RedirectTest.php       |  10 +-
 core/modules/views_ui/src/Tests/RowUITest.php |   9 +-
 .../views_ui/src/Tests/SettingsTest.php       |  12 +-
 .../views_ui/src/Tests/StorageTest.php        |  10 +-
 .../views_ui/src/Tests/StyleUITest.php        |   9 +-
 core/modules/views_ui/src/Tests/TagTest.php   |  10 +-
 .../views_ui/src/Tests/ViewEditTest.php       |  10 +-
 .../views_ui/src/Tests/ViewsUITourTest.php    |  12 +-
 .../modules/views_ui/src/Tests/WizardTest.php |  12 +-
 .../src/Form/Ajax/RearrangeFilterTest.php     |  12 +-
 .../tests/src/ViewListBuilderTest.php         |   9 +-
 .../views_ui/tests/src/ViewUIObjectTest.php   |  13 +-
 .../xmlrpc/src/Tests/XmlRpcBasicTest.php      |  10 +-
 .../xmlrpc/src/Tests/XmlRpcMessagesTest.php   |  12 +-
 .../xmlrpc/src/Tests/XmlRpcValidatorTest.php  |  13 +-
 .../minimal/src/Tests/MinimalTest.php         |  10 +-
 .../standard/src/Tests/StandardTest.php       |  10 +-
 .../src/Tests/SystemListingCompatibleTest.php |  13 +-
 core/scripts/run-tests.sh                     |  36 +-
 .../Component/Datetime/DateTimePlusTest.php   |  16 +-
 .../Component/Discovery/YamlDiscoveryTest.php |  12 +-
 .../Tests/Component/Graph/GraphTest.php       |  12 +-
 .../Component/Image/ImageUtilityTest.php      |  13 +-
 .../PhpStorage/FileStorageReadOnlyTest.php    |  17 +-
 .../Component/PhpStorage/FileStorageTest.php  |  17 +-
 .../MTimeProtectedFastFileStorageTest.php     |  15 +-
 .../MTimeProtectedFileStorageTest.php         |  15 +-
 .../Tests/Component/Plugin/PluginBaseTest.php |  15 +-
 .../Component/Serialization/JsonTest.php      |  13 +-
 .../Tests/Component/Utility/BytesTest.php     |  16 +-
 .../Tests/Component/Utility/CryptTest.php     |  15 +-
 .../Component/Utility/EnvironmentTest.php     |  16 +-
 .../Component/Utility/NestedArrayTest.php     |  16 +-
 .../Utility/NumberAlphadecimalTest.php        |  18 +-
 .../Tests/Component/Utility/NumberTest.php    |  10 +-
 .../Tests/Component/Utility/RandomTest.php    |  13 +-
 .../Tests/Component/Utility/SortArrayTest.php |  13 +-
 .../Tests/Component/Utility/StringTest.php    |  13 +-
 .../Tests/Component/Utility/TimerTest.php     |  13 +-
 .../Tests/Component/Utility/UnicodeTest.php   |  16 +-
 .../Tests/Component/Utility/UrlHelperTest.php |  13 +-
 .../Tests/Component/Utility/XssTest.php       |  13 +-
 .../Drupal/Tests/Component/Uuid/UuidTest.php  |  13 +-
 .../Access/AccessArgumentsResolverTest.php    |  14 +-
 .../Tests/Core/Access/AccessManagerTest.php   |  13 +-
 .../Tests/Core/Access/CsrfAccessCheckTest.php |  14 +-
 .../Core/Access/CsrfTokenGeneratorTest.php    |  12 +-
 .../Core/Access/CustomAccessCheckTest.php     |  13 +-
 .../Core/Access/DefaultAccessCheckTest.php    |  13 +-
 .../Core/Access/RouteProcessorCsrfTest.php    |  16 +-
 .../Tests/Core/Ajax/AjaxCommandsTest.php      |  11 +-
 .../Core/Ajax/AjaxResponseRendererTest.php    |  16 +-
 .../Tests/Core/Ajax/AjaxResponseTest.php      |  13 +-
 .../Tests/Core/Annotation/TranslationTest.php |  16 +-
 .../Asset/CssCollectionGrouperUnitTest.php    |  10 +-
 .../Asset/CssCollectionRendererUnitTest.php   |  10 +-
 .../Tests/Core/Asset/CssOptimizerUnitTest.php |  10 +-
 .../Asset/LibraryDiscoveryCollectorTest.php   |  14 +-
 .../Core/Asset/LibraryDiscoveryParserTest.php |  14 +-
 .../Tests/Core/Batch/PercentagesTest.php      |  13 +-
 .../Core/Breadcrumb/BreadcrumbManagerTest.php |  17 +-
 .../BackendChainImplementationUnitTest.php    |  10 +-
 .../Tests/Core/Cache/CacheCollectorTest.php   |  13 +-
 .../Tests/Core/Cache/CacheContextsTest.php    |  13 +-
 .../Tests/Core/Cache/CacheFactoryTest.php     |  16 +-
 .../Core/Cache/ChainedFastBackendTest.php     |  14 -
 .../Tests/Core/Cache/NullBackendTest.php      |   8 -
 .../Tests/Core/Common/AttributesTest.php      |  10 +-
 .../Tests/Core/Common/DiffArrayTest.php       |  10 +-
 .../Drupal/Tests/Core/Common/TagsTest.php     |  12 +-
 .../ConditionAccessResolverTraitTest.php      |  15 -
 .../Tests/Core/Config/CachedStorageTest.php   |   8 -
 .../Entity/ConfigDependencyManagerTest.php    |   9 -
 .../Entity/ConfigEntityBaseUnitTest.php       |  13 -
 .../Entity/ConfigEntityDependencyTest.php     |   9 -
 .../Config/Entity/ConfigEntityStorageTest.php |  14 +-
 .../Config/Entity/ConfigEntityTypeTest.php    |  13 -
 .../Entity/EntityDisplayModeBaseUnitTest.php  |  13 -
 .../Tests/Core/Config/StorageComparerTest.php |  10 -
 .../Core/Controller/ControllerBaseTest.php    |  10 +-
 .../Controller/ControllerResolverTest.php     |  19 +-
 .../Controller/ExceptionControllerTest.php    |  15 +-
 .../Core/Controller/TitleResolverTest.php     |  13 +-
 .../Tests/Core/Database/ConnectionTest.php    |  14 +-
 .../Core/Database/EmptyStatementTest.php      |  10 +-
 .../Tests/Core/Database/OrderByTest.php       |  13 +-
 .../Drupal/Tests/Core/Datetime/DateTest.php   |  18 +-
 .../Compiler/TaggedHandlersPassTest.php       |  17 +-
 .../ContainerBuilderTest.php                  |  16 +-
 .../DependencyInjection/ContainerTest.php     |  16 +-
 .../DependencySerializationTest.php           |  14 +-
 .../Tests/Core/Display/DisplayVariantTest.php |  15 -
 core/tests/Drupal/Tests/Core/DrupalTest.php   |  12 +-
 .../Enhancer/ParamConversionEnhancerTest.php  |  14 +-
 .../Core/Entity/ContentEntityBaseUnitTest.php |  14 +-
 .../ContentEntityDatabaseStorageTest.php      |  15 -
 .../Controller/EntityViewControllerTest.php   |  14 +-
 .../Enhancer/EntityRouteEnhancerTest.php      |  14 +-
 .../Core/Entity/EntityAccessCheckTest.php     |  10 +-
 .../Entity/EntityCreateAccessCheckTest.php    |  13 +-
 .../Core/Entity/EntityFormBuilderTest.php     |  12 +-
 .../Core/Entity/EntityListBuilderTest.php     |  13 +-
 .../Tests/Core/Entity/EntityManagerTest.php   |  15 -
 .../Core/Entity/EntityResolverManagerTest.php |  17 +-
 .../Tests/Core/Entity/EntityTypeTest.php      |  13 -
 .../Tests/Core/Entity/EntityUnitTest.php      |  14 +-
 .../Tests/Core/Entity/EntityUrlTest.php       |  15 -
 .../Tests/Core/Entity/FieldDefinitionTest.php |  10 +-
 .../KeyValueEntityStorageTest.php             |  15 +-
 .../Schema/ContentEntitySchemaHandlerTest.php |  15 -
 .../Entity/Sql/DefaultTableMappingTest.php    |  15 -
 .../EventSubscriber/AccessSubscriberTest.php  |  19 +-
 .../EventSubscriber/ExceptionListenerTest.php |  19 +-
 .../ModuleRouteSubscriberTest.php             |  15 +-
 .../PathRootsSubscriberTest.php               |  17 +-
 .../RedirectResponseSubscriberTest.php        |  17 +-
 .../ReverseProxySubscriberUnitTest.php        |  12 +-
 .../SpecialAttributesRouteSubscriberTest.php  |  13 +-
 .../Core/Extension/ModuleHandlerTest.php      |  17 +-
 .../Tests/Core/Extension/ThemeHandlerTest.php |  19 +-
 .../Drupal/Tests/Core/ExternalUrlTest.php     |  17 +-
 .../Tests/Core/Form/ConfirmFormHelperTest.php |  15 -
 .../Tests/Core/Form/FormBuilderTest.php       |  15 -
 .../Tests/Core/Form/FormSubmitterTest.php     |  15 -
 .../Tests/Core/Form/FormValidatorTest.php     |  15 -
 .../Drupal/Tests/Core/Form/OptGroupTest.php   |  15 -
 .../Drupal/Tests/Core/HttpKernelTest.php      |  13 +-
 .../Drupal/Tests/Core/Image/ImageTest.php     |  10 +-
 .../Tests/Core/Language/LanguageUnitTest.php  |  13 -
 .../Core/Lock/LockBackendAbstractTest.php     |  14 +-
 .../Core/Logger/LogMessageParserTest.php      |  13 -
 .../Core/Logger/LoggerChannelFactoryTest.php  |  13 -
 .../Tests/Core/Logger/LoggerChannelTest.php   |  13 -
 .../Tests/Core/Mail/MailManagerTest.php       |  17 +-
 .../Core/Menu/ContextualLinkDefaultTest.php   |   9 -
 .../Core/Menu/ContextualLinkManagerTest.php   |  14 +-
 .../Core/Menu/LocalActionDefaultTest.php      |  13 +-
 .../Core/Menu/LocalActionManagerTest.php      |  17 +-
 .../Tests/Core/Menu/LocalTaskDefaultTest.php  |  13 +-
 .../Tests/Core/Menu/LocalTaskManagerTest.php  |  13 +-
 .../Drupal/Tests/Core/Page/HtmlPageTest.php   |  14 +-
 .../ParamConverterManagerTest.php             |  14 +-
 .../Tests/Core/Path/AliasManagerTest.php      |  15 +-
 .../Tests/Core/Path/PathMatcherTest.php       |  17 +-
 .../PathProcessor/PathProcessorAliasTest.php  |  15 +-
 .../Core/PathProcessor/PathProcessorTest.php  |  12 +-
 .../Core/Plugin/ConfigurablePluginBagTest.php |  20 +-
 .../Tests/Core/Plugin/ContextHandlerTest.php  |  16 -
 .../Core/Plugin/DefaultPluginBagTest.php      |  19 +-
 .../Core/Plugin/DefaultPluginManagerTest.php  |  11 -
 .../Plugin/DefaultSinglePluginBagTest.php     |  19 +-
 ...tainerDerivativeDiscoveryDecoratorTest.php |  13 +-
 .../DerivativeDiscoveryDecoratorTest.php      |  13 +-
 .../Plugin/Discovery/HookDiscoveryTest.php    |  14 +-
 .../Discovery/YamlDiscoveryDecoratorTest.php  |  12 +-
 .../Plugin/Discovery/YamlDiscoveryTest.php    |  13 +-
 .../Drupal/Tests/Core/PrivateKeyTest.php      |  12 +-
 .../Tests/Core/Render/ElementInfoTest.php     |  14 +-
 .../Drupal/Tests/Core/Render/ElementTest.php  |  17 +-
 .../Tests/Core/Route/RoleAccessCheckTest.php  |  13 +-
 .../RouteProcessorManagerTest.php             |  16 +-
 .../Core/Routing/AcceptHeaderMatcherTest.php  |  15 +-
 .../Routing/ContentTypeHeaderMatcherTest.php  |  15 +-
 .../Core/Routing/CurrentRouteMatchTest.php    |  14 +-
 .../LazyLoadingRouteCollectionTest.php        |  15 +-
 .../Tests/Core/Routing/RouteBuilderTest.php   |  14 +-
 .../Tests/Core/Routing/RouteCompilerTest.php  |  16 +-
 .../Tests/Core/Routing/RouteMatchTest.php     |  14 +-
 .../Tests/Core/Routing/RoutePreloaderTest.php |  16 +-
 .../Tests/Core/Routing/UrlGeneratorTest.php   |  10 +-
 .../Core/Session/AnonymousUserSessionTest.php |  16 +-
 .../Tests/Core/Session/UserSessionTest.php    |  11 +-
 .../Drupal/Tests/Core/Site/SettingsTest.php   |  16 +-
 .../StringTranslationTraitTest.php            |  16 -
 .../TranslationManagerTest.php                |  16 +-
 .../Tests/Core/Template/AttributeTest.php     |  13 +-
 .../Drupal/Tests/Core/Theme/RegistryTest.php  |  19 +-
 .../Tests/Core/Theme/ThemeNegotiatorTest.php  |  15 +-
 core/tests/Drupal/Tests/Core/UrlTest.php      |  17 +-
 .../Drupal/Tests/Core/Utility/ColorTest.php   |  12 +-
 .../Drupal/Tests/Core/Utility/ErrorTest.php   |  15 +-
 .../Tests/Core/Utility/LinkGeneratorTest.php  |  20 +-
 .../Drupal/Tests/Core/Utility/TokenTest.php   |  12 +-
 core/tests/Drupal/Tests/UnitTestCase.php      |  21 -
 1391 files changed, 3723 insertions(+), 14098 deletions(-)
 create mode 100644 core/modules/simpletest/simpletest.services.yml
 create mode 100644 core/modules/simpletest/src/TestDiscovery.php

diff --git a/core/modules/action/src/Tests/ActionUninstallTest.php b/core/modules/action/src/Tests/ActionUninstallTest.php
index d91b820fbc91..f43bc0c50498 100644
--- a/core/modules/action/src/Tests/ActionUninstallTest.php
+++ b/core/modules/action/src/Tests/ActionUninstallTest.php
@@ -10,8 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests action uninstallation.
+ * Tests that uninstalling actions does not remove other module's actions.
  *
+ * @group action
  * @see \Drupal\action\Plugin\views\field\BulkForm
  */
 class ActionUninstallTest extends WebTestBase {
@@ -23,14 +24,6 @@ class ActionUninstallTest extends WebTestBase {
    */
   public static $modules = array('views', 'action');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Uninstall action test',
-      'description' => 'Tests that uninstalling actions does not remove other module\'s actions.',
-      'group' => 'Action',
-    );
-  }
-
   /**
    * Tests Action uninstall.
    */
diff --git a/core/modules/action/src/Tests/BulkFormTest.php b/core/modules/action/src/Tests/BulkFormTest.php
index b31decb5d054..024780b5cf1c 100644
--- a/core/modules/action/src/Tests/BulkFormTest.php
+++ b/core/modules/action/src/Tests/BulkFormTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the views bulk form test.
  *
+ * @group action
  * @see \Drupal\action\Plugin\views\field\BulkForm
  */
 class BulkFormTest extends WebTestBase {
@@ -24,14 +25,6 @@ class BulkFormTest extends WebTestBase {
    */
   public static $modules = array('node', 'action_bulk_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Bulk form',
-      'description' => 'Tests the views bulk form test.',
-      'group' => 'Action',
-    );
-  }
-
   /**
    * Tests the bulk form.
    */
diff --git a/core/modules/action/src/Tests/ConfigurationTest.php b/core/modules/action/src/Tests/ConfigurationTest.php
index 97448ae3ab5e..512d0758f61a 100644
--- a/core/modules/action/src/Tests/ConfigurationTest.php
+++ b/core/modules/action/src/Tests/ConfigurationTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Actions configuration.
+ * Tests complex actions configuration by adding, editing, and deleting a
+ * complex action.
+ *
+ * @group action
  */
 class ConfigurationTest extends WebTestBase {
 
@@ -22,14 +25,6 @@ class ConfigurationTest extends WebTestBase {
    */
   public static $modules = array('action');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Actions configuration',
-      'description' => 'Tests complex actions configuration by adding, editing, and deleting a complex action.',
-      'group' => 'Action',
-    );
-  }
-
   /**
    * Tests configuration of advanced actions through administration interface.
    */
diff --git a/core/modules/action/tests/src/Menu/ActionLocalTasksTest.php b/core/modules/action/tests/src/Menu/ActionLocalTasksTest.php
index 61844d29635b..92151394d3e8 100644
--- a/core/modules/action/tests/src/Menu/ActionLocalTasksTest.php
+++ b/core/modules/action/tests/src/Menu/ActionLocalTasksTest.php
@@ -10,21 +10,12 @@
 use Drupal\Tests\Core\Menu\LocalTaskIntegrationTest;
 
 /**
- * Tests existence of action local tasks.
+ * Tests action local tasks.
  *
- * @group Drupal
- * @group Action
+ * @group action
  */
 class ActionLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Action local tasks test',
-      'description' => 'Test action local tasks.',
-      'group' => 'Action',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('action' => 'core/modules/action');
     parent::setUp();
diff --git a/core/modules/aggregator/src/Tests/AddFeedTest.php b/core/modules/aggregator/src/Tests/AddFeedTest.php
index 1543bae1c594..61cb0af6a6d1 100644
--- a/core/modules/aggregator/src/Tests/AddFeedTest.php
+++ b/core/modules/aggregator/src/Tests/AddFeedTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests adding aggregator feeds.
+ * Add feed test.
+ *
+ * @group aggregator
  */
 class AddFeedTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Add feed functionality',
-      'description' => 'Add feed test.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Creates and ensures that a feed is unique, checks source, and deletes feed.
    */
diff --git a/core/modules/aggregator/src/Tests/AggregatorConfigurationTest.php b/core/modules/aggregator/src/Tests/AggregatorConfigurationTest.php
index a3d9a442cdba..45bed8b83991 100644
--- a/core/modules/aggregator/src/Tests/AggregatorConfigurationTest.php
+++ b/core/modules/aggregator/src/Tests/AggregatorConfigurationTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests functionality of the configuration settings in the Aggregator module.
+ * Tests aggregator settings page.
+ *
+ * @group aggregator
  */
 class AggregatorConfigurationTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Aggregator configuration',
-      'description' => 'Test aggregator settings page.',
-      'group' => 'Aggregator',
-    );
-  }
-
   /**
    * Tests the settings form to ensure the correct default values are used.
    */
diff --git a/core/modules/aggregator/src/Tests/AggregatorCronTest.php b/core/modules/aggregator/src/Tests/AggregatorCronTest.php
index d427b751350c..8a8ee7d82fcc 100644
--- a/core/modules/aggregator/src/Tests/AggregatorCronTest.php
+++ b/core/modules/aggregator/src/Tests/AggregatorCronTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests functionality of the cron process in the Aggregator module.
+ * Update feeds on cron.
+ *
+ * @group aggregator
  */
 class AggregatorCronTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Update on cron functionality',
-      'description' => 'Update feeds on cron.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Adds feeds and updates them via cron process.
    */
diff --git a/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php b/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
index 161d215eaa05..8a4fb3e4d2ff 100644
--- a/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
+++ b/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
@@ -10,7 +10,9 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests rendering functionality in the Aggregator module.
+ * Tests display of aggregator items on the page.
+ *
+ * @group aggregator
  */
 class AggregatorRenderingTest extends AggregatorTestBase {
 
@@ -21,14 +23,6 @@ class AggregatorRenderingTest extends AggregatorTestBase {
    */
   public static $modules = array('block', 'test_page_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Checks display of aggregator items',
-      'description' => 'Checks display of aggregator items on the page.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Adds a feed block to the page and checks its links.
    */
diff --git a/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php b/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php
index 4034c5723cb3..d031f531cb04 100644
--- a/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php
+++ b/core/modules/aggregator/src/Tests/DeleteFeedItemTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests functionality of removing a feed item in the Aggregator module.
+ * Delete feed items from a feed.
+ *
+ * @group aggregator
  */
 class DeleteFeedItemTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Delete feed item functionality',
-      'description' => 'Delete feed items from a feed.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Tests running "delete items" from 'admin/config/services/aggregator' page.
    */
diff --git a/core/modules/aggregator/src/Tests/DeleteFeedTest.php b/core/modules/aggregator/src/Tests/DeleteFeedTest.php
index 69406d68c617..90cd5f1d5e59 100644
--- a/core/modules/aggregator/src/Tests/DeleteFeedTest.php
+++ b/core/modules/aggregator/src/Tests/DeleteFeedTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests functionality for removing feeds in the Aggregator module.
+ * Delete feed test.
+ *
+ * @group aggregator
  */
 class DeleteFeedTest extends AggregatorTestBase {
 
@@ -19,14 +21,6 @@ class DeleteFeedTest extends AggregatorTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Delete feed functionality',
-      'description' => 'Delete feed test.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Deletes a feed and ensures that all of its services are deleted.
    */
diff --git a/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php b/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php
index 80db136899dd..5a3a954ace07 100644
--- a/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php
+++ b/core/modules/aggregator/src/Tests/FeedFetcherPluginTest.php
@@ -8,20 +8,13 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests feed fetching in the Aggregator module.
+ * Tests the fetcher plugins functionality and discoverability.
  *
+ * @group aggregator
  * @see \Drupal\aggregator_test\Plugin\aggregator\fetcher\TestFetcher.
  */
 class FeedFetcherPluginTest extends AggregatorTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Feed fetcher plugins',
-      'description' => 'Test the fetcher plugins functionality and discoverability.',
-      'group' => 'Aggregator',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Enable test plugins.
diff --git a/core/modules/aggregator/src/Tests/FeedLanguageTest.php b/core/modules/aggregator/src/Tests/FeedLanguageTest.php
index d297abc2b9f1..065cf0abd51e 100644
--- a/core/modules/aggregator/src/Tests/FeedLanguageTest.php
+++ b/core/modules/aggregator/src/Tests/FeedLanguageTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests aggregator feeds in multiple languages.
+ *
+ * @group aggregator
  */
 class FeedLanguageTest extends AggregatorTestBase {
 
@@ -28,14 +30,6 @@ class FeedLanguageTest extends AggregatorTestBase {
    */
   protected $langcodes = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multilingual feeds',
-      'description' => 'Checks creating of feeds in multiple languages',
-      'group' => 'Aggregator',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/aggregator/src/Tests/FeedParserTest.php b/core/modules/aggregator/src/Tests/FeedParserTest.php
index 5d4199f75ba0..9ecccf60c084 100644
--- a/core/modules/aggregator/src/Tests/FeedParserTest.php
+++ b/core/modules/aggregator/src/Tests/FeedParserTest.php
@@ -10,17 +10,11 @@
 use Zend\Feed\Reader\Reader;
 
 /**
- * Tests feed parsing in the Aggregator module.
+ * Tests the built-in feed parser with valid feed samples.
+ *
+ * @group aggregator
  */
 class FeedParserTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Feed parser functionality',
-      'description' => 'Test the built-in feed parser with valid feed samples.',
-      'group' => 'Aggregator',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Do not delete old aggregator items during these tests, since our sample
diff --git a/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php b/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php
index 28802f718a12..ad64b60ff625 100644
--- a/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php
+++ b/core/modules/aggregator/src/Tests/FeedProcessorPluginTest.php
@@ -8,20 +8,13 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests feed processing in the Aggregator module.
+ * Tests the processor plugins functionality and discoverability.
  *
+ * @group aggregator
  * @see \Drupal\aggregator_test\Plugin\aggregator\processor\TestProcessor.
  */
 class FeedProcessorPluginTest extends AggregatorTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Feed processor plugins',
-      'description' => 'Test the processor plugins functionality and discoverability.',
-      'group' => 'Aggregator',
-    );
-  }
-
   /**
    * Overrides \Drupal\simpletest\WebTestBase::setUp().
    */
diff --git a/core/modules/aggregator/src/Tests/ImportOpmlTest.php b/core/modules/aggregator/src/Tests/ImportOpmlTest.php
index 4f5fc9cfee25..ced5e7d4974c 100644
--- a/core/modules/aggregator/src/Tests/ImportOpmlTest.php
+++ b/core/modules/aggregator/src/Tests/ImportOpmlTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests importing feeds from OPML functionality for the Aggregator module.
+ * Tests OPML import.
+ *
+ * @group aggregator
  */
 class ImportOpmlTest extends AggregatorTestBase {
 
@@ -19,14 +21,6 @@ class ImportOpmlTest extends AggregatorTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import feeds from OPML functionality',
-      'description' => 'Test OPML import.',
-      'group' => 'Aggregator',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/aggregator/src/Tests/UpdateFeedItemTest.php b/core/modules/aggregator/src/Tests/UpdateFeedItemTest.php
index d53bdd17f61c..3cc6ca25b13c 100644
--- a/core/modules/aggregator/src/Tests/UpdateFeedItemTest.php
+++ b/core/modules/aggregator/src/Tests/UpdateFeedItemTest.php
@@ -9,17 +9,11 @@
 use Drupal\aggregator\Entity\Feed;
 
 /**
- * Tests functionality of updating a feed item in the Aggregator module.
+ * Update feed items from a feed.
+ *
+ * @group aggregator
  */
 class UpdateFeedItemTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Update feed item functionality',
-      'description' => 'Update feed items from a feed.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Tests running "update items" from 'admin/config/services/aggregator' page.
    */
diff --git a/core/modules/aggregator/src/Tests/UpdateFeedTest.php b/core/modules/aggregator/src/Tests/UpdateFeedTest.php
index 4bd9bbfd2227..fe3d45e4ab57 100644
--- a/core/modules/aggregator/src/Tests/UpdateFeedTest.php
+++ b/core/modules/aggregator/src/Tests/UpdateFeedTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\aggregator\Tests;
 
 /**
- * Tests functionality of updating the feed in the Aggregator module.
+ * Update feed test.
+ *
+ * @group aggregator
  */
 class UpdateFeedTest extends AggregatorTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Update feed functionality',
-      'description' => 'Update feed test.',
-      'group' => 'Aggregator'
-    );
-  }
-
   /**
    * Creates a feed and attempts to update it.
    */
diff --git a/core/modules/aggregator/src/Tests/Views/IntegrationTest.php b/core/modules/aggregator/src/Tests/Views/IntegrationTest.php
index bd8f17c845b2..aada932098f6 100644
--- a/core/modules/aggregator/src/Tests/Views/IntegrationTest.php
+++ b/core/modules/aggregator/src/Tests/Views/IntegrationTest.php
@@ -12,7 +12,9 @@
 use Drupal\views\Tests\ViewUnitTestBase;
 
 /**
- * Tests basic views integration of aggregator module.
+ * Tests basic integration of views data from the aggregator module.
+ *
+ * @group aggregator
  */
 class IntegrationTest extends ViewUnitTestBase {
 
@@ -44,14 +46,6 @@ class IntegrationTest extends ViewUnitTestBase {
    */
   protected $feedStorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Aggregator: Integration tests',
-      'description' => 'Tests basic integration of views data from the aggregator module.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/aggregator/tests/src/Menu/AggregatorLocalTasksTest.php b/core/modules/aggregator/tests/src/Menu/AggregatorLocalTasksTest.php
index 63caa74cee50..947eea89ad91 100644
--- a/core/modules/aggregator/tests/src/Menu/AggregatorLocalTasksTest.php
+++ b/core/modules/aggregator/tests/src/Menu/AggregatorLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of aggregator local tasks.
  *
- * @group Drupal
- * @group Aggregator
+ * @group aggregator
  */
 class AggregatorLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Aggregator local tasks test',
-      'description' => 'Test existence of aggregator local tasks.',
-      'group' => 'Aggregator',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('aggregator' => 'core/modules/aggregator');
     parent::setUp();
diff --git a/core/modules/aggregator/tests/src/Plugin/AggregatorPluginSettingsBaseTest.php b/core/modules/aggregator/tests/src/Plugin/AggregatorPluginSettingsBaseTest.php
index 0f65e3b0dfd0..b9390ffc8f0a 100644
--- a/core/modules/aggregator/tests/src/Plugin/AggregatorPluginSettingsBaseTest.php
+++ b/core/modules/aggregator/tests/src/Plugin/AggregatorPluginSettingsBaseTest.php
@@ -11,10 +11,9 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests plugins settings on aggregator plugins.
+ * Tests settings configuration of individual aggregator plugins.
  *
- * @group Drupal
- * @group Aggregator
+ * @group aggregator
  */
 class AggregatorPluginSettingsBaseTest extends UnitTestCase {
 
@@ -39,14 +38,6 @@ class AggregatorPluginSettingsBaseTest extends UnitTestCase {
    */
   protected $managers;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Aggregator plugin settings tests',
-      'description' => 'Test settings configuration of individual aggregator plugins.',
-      'group' => 'Aggregator',
-    );
-  }
-
   public function setUp() {
     $this->configFactory = $this->getConfigFactoryStub(
       array(
diff --git a/core/modules/ban/src/Tests/IpAddressBlockingTest.php b/core/modules/ban/src/Tests/IpAddressBlockingTest.php
index 87d6463931e4..0122ceb365e3 100644
--- a/core/modules/ban/src/Tests/IpAddressBlockingTest.php
+++ b/core/modules/ban/src/Tests/IpAddressBlockingTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests IP address banning.
+ *
+ * @group ban
  */
 class IpAddressBlockingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class IpAddressBlockingTest extends WebTestBase {
    */
   public static $modules = array('ban');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'IP address banning',
-      'description' => 'Test IP address banning.',
-      'group' => 'Ban',
-    );
-  }
-
   /**
    * Tests various user input to confirm correct validation and saving of data.
    */
diff --git a/core/modules/basic_auth/src/Tests/Authentication/BasicAuthTest.php b/core/modules/basic_auth/src/Tests/Authentication/BasicAuthTest.php
index 134ddb2a7aa4..ad70e3ebf9d5 100644
--- a/core/modules/basic_auth/src/Tests/Authentication/BasicAuthTest.php
+++ b/core/modules/basic_auth/src/Tests/Authentication/BasicAuthTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test for http basic authentication.
+ * Tests for BasicAuth authentication provider.
+ *
+ * @group basic_auth
  */
 class BasicAuthTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BasicAuthTest extends WebTestBase {
    */
   public static $modules = array('basic_auth', 'router_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'BasicAuth authentication',
-      'description' => 'Tests for BasicAuth authentication provider.',
-      'group' => 'Authentication',
-    );
-  }
-
   /**
    * Test http basic authentication.
    */
diff --git a/core/modules/block/src/Tests/BlockAdminThemeTest.php b/core/modules/block/src/Tests/BlockAdminThemeTest.php
index d553440fc0bc..20b892cc749a 100644
--- a/core/modules/block/src/Tests/BlockAdminThemeTest.php
+++ b/core/modules/block/src/Tests/BlockAdminThemeTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the block system with admin themes.
+ *
+ * @group block
  */
 class BlockAdminThemeTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockAdminThemeTest extends WebTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Administration theme',
-      'description' => 'Tests the block system with admin themes.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Check for the accessibility of the admin theme on the  block admin page.
    */
diff --git a/core/modules/block/src/Tests/BlockCacheTest.php b/core/modules/block/src/Tests/BlockCacheTest.php
index 529353723f5a..635a03bb8658 100644
--- a/core/modules/block/src/Tests/BlockCacheTest.php
+++ b/core/modules/block/src/Tests/BlockCacheTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test block caching.
+ * Tests block caching.
+ *
+ * @group block
  */
 class BlockCacheTest extends WebTestBase {
 
@@ -33,14 +35,6 @@ class BlockCacheTest extends WebTestBase {
    */
   protected $block;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block caching',
-      'description' => 'Test block caching.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockConfigSchemaTest.php b/core/modules/block/src/Tests/BlockConfigSchemaTest.php
index 4b7e3e4f0758..61408da31861 100644
--- a/core/modules/block/src/Tests/BlockConfigSchemaTest.php
+++ b/core/modules/block/src/Tests/BlockConfigSchemaTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the block config schema.
+ *
+ * @group block
  */
 class BlockConfigSchemaTest extends KernelTestBase {
 
@@ -47,17 +49,6 @@ class BlockConfigSchemaTest extends KernelTestBase {
    */
   protected $blockManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Block config schema',
-      'description' => '',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block/src/Tests/BlockHiddenRegionTest.php b/core/modules/block/src/Tests/BlockHiddenRegionTest.php
index 3fa85d632589..3c7b2387501b 100644
--- a/core/modules/block/src/Tests/BlockHiddenRegionTest.php
+++ b/core/modules/block/src/Tests/BlockHiddenRegionTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that hidden regions do not inherit blocks when a theme is enabled.
+ * Tests that a newly enabled theme does not inherit blocks to its hidden
+ * regions.
+ *
+ * @group block
  */
 class BlockHiddenRegionTest extends WebTestBase {
 
@@ -26,14 +29,6 @@ class BlockHiddenRegionTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_test', 'search');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Blocks not in hidden region',
-      'description' => 'Checks that a newly enabled theme does not inherit blocks to its hidden regions.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockHookOperationTest.php b/core/modules/block/src/Tests/BlockHookOperationTest.php
index 52120f14da71..8baf88af445a 100644
--- a/core/modules/block/src/Tests/BlockHookOperationTest.php
+++ b/core/modules/block/src/Tests/BlockHookOperationTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the hook_entity_operations_alter().
+ * Implement hook entity operations alter.
+ *
+ * @group block
  */
 class BlockHookOperationTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class BlockHookOperationTest extends WebTestBase {
    */
   public static $modules = array('block', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block operations hook',
-      'description' => 'Implement hook entity operations alter.',
-      'group' => 'Block',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockHtmlTest.php b/core/modules/block/src/Tests/BlockHtmlTest.php
index 63579b9917ca..5e508e5295cd 100644
--- a/core/modules/block/src/Tests/BlockHtmlTest.php
+++ b/core/modules/block/src/Tests/BlockHtmlTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests block HTML ID validity.
+ *
+ * @group block
  */
 class BlockHtmlTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockHtmlTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block HTML',
-      'description' => 'Tests block HTML validity.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockInterfaceTest.php b/core/modules/block/src/Tests/BlockInterfaceTest.php
index c69548eea00a..77cdc7adbe08 100644
--- a/core/modules/block/src/Tests/BlockInterfaceTest.php
+++ b/core/modules/block/src/Tests/BlockInterfaceTest.php
@@ -11,19 +11,13 @@
 use Drupal\block\BlockInterface;
 
 /**
- * Test BlockInterface methods to ensure no external dependencies exist.
+ * Tests that the block plugin can work properly without a supporting entity.
+ *
+ * @group block
  */
 class BlockInterfaceTest extends DrupalUnitTestBase {
   public static $modules = array('system', 'block', 'block_test', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block Plugins Tests',
-      'description' => 'Tests that the block plugin can work properly without a supporting entity.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Test configuration and subsequent form() and build() method calls.
    *
diff --git a/core/modules/block/src/Tests/BlockInvalidRegionTest.php b/core/modules/block/src/Tests/BlockInvalidRegionTest.php
index b44c4e26423d..ace9b01a2162 100644
--- a/core/modules/block/src/Tests/BlockInvalidRegionTest.php
+++ b/core/modules/block/src/Tests/BlockInvalidRegionTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that a block assigned to an invalid region triggers the warning.
+ * Tests that an active block assigned to a non-existing region triggers the
+ * warning message and is disabled.
+ *
+ * @group block
  */
 class BlockInvalidRegionTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class BlockInvalidRegionTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Blocks in invalid regions',
-      'description' => 'Checks that an active block assigned to a non-existing region triggers the warning message and is disabled.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Create an admin user.
diff --git a/core/modules/block/src/Tests/BlockLanguageCacheTest.php b/core/modules/block/src/Tests/BlockLanguageCacheTest.php
index 8fee2e257b68..f9e3bbc51096 100644
--- a/core/modules/block/src/Tests/BlockLanguageCacheTest.php
+++ b/core/modules/block/src/Tests/BlockLanguageCacheTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests multilingual block definition caching.
+ * Tests display of menu blocks with multiple languages.
+ *
+ * @group block
  */
 class BlockLanguageCacheTest extends WebTestBase {
 
@@ -30,14 +32,6 @@ class BlockLanguageCacheTest extends WebTestBase {
    */
   protected $langcodes = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multilingual blocks',
-      'description' => 'Checks display of menu blocks with multiple languages.',
-      'group' => 'Block',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockLanguageTest.php b/core/modules/block/src/Tests/BlockLanguageTest.php
index 7984345cf061..527cbf8e8051 100644
--- a/core/modules/block/src/Tests/BlockLanguageTest.php
+++ b/core/modules/block/src/Tests/BlockLanguageTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the language list configuration forms.
+ * Tests if a block can be configure to be only visibile on a particular
+ * language.
+ *
+ * @group block
  */
 class BlockLanguageTest extends WebTestBase {
 
@@ -26,14 +29,6 @@ class BlockLanguageTest extends WebTestBase {
    */
   public static $modules = array('language', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language block visibility',
-      'description' => 'Tests if a block can be configure to be only visibile on a particular language.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockPreprocessUnitTest.php b/core/modules/block/src/Tests/BlockPreprocessUnitTest.php
index abae83fdf406..9118e2189624 100644
--- a/core/modules/block/src/Tests/BlockPreprocessUnitTest.php
+++ b/core/modules/block/src/Tests/BlockPreprocessUnitTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Web tests for template_preprocess_block().
+ * Tests the template_preprocess_block() function.
+ *
+ * @group block
  */
 class BlockPreprocessUnitTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockPreprocessUnitTest extends WebTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block preprocess',
-      'description' => 'Test the template_preprocess_block() function.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Tests block classes with template_preprocess_block().
    */
diff --git a/core/modules/block/src/Tests/BlockRenderOrderTest.php b/core/modules/block/src/Tests/BlockRenderOrderTest.php
index b6aa269c54ca..bf7d0e78b595 100644
--- a/core/modules/block/src/Tests/BlockRenderOrderTest.php
+++ b/core/modules/block/src/Tests/BlockRenderOrderTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests block HTML ID validity.
+ * Tests blocks are being rendered in order by weight.
+ *
+ * @group block
  */
 class BlockRenderOrderTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockRenderOrderTest extends WebTestBase {
    */
   public static $modules = array('node', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block Render Order',
-      'description' => 'Test blocks are being rendered in order by weight.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Create a test user.
diff --git a/core/modules/block/src/Tests/BlockStorageUnitTest.php b/core/modules/block/src/Tests/BlockStorageUnitTest.php
index 0b26399151e1..b0630512687b 100644
--- a/core/modules/block/src/Tests/BlockStorageUnitTest.php
+++ b/core/modules/block/src/Tests/BlockStorageUnitTest.php
@@ -16,6 +16,8 @@
 
 /**
  * Tests the storage of blocks.
+ *
+ * @group block
  */
 class BlockStorageUnitTest extends DrupalUnitTestBase {
 
@@ -33,14 +35,6 @@ class BlockStorageUnitTest extends DrupalUnitTestBase {
    */
   protected $controller;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block storage',
-      'description' => 'Tests the storage of blocks.',
-      'group' => 'Block'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockSystemBrandingTest.php b/core/modules/block/src/Tests/BlockSystemBrandingTest.php
index 192d8fcd0ebb..702d23a7e7d4 100644
--- a/core/modules/block/src/Tests/BlockSystemBrandingTest.php
+++ b/core/modules/block/src/Tests/BlockSystemBrandingTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\block\Tests;
 
 /**
- * Provides testing for the branding block functionality.
+ * Tests branding block display.
+ *
+ * @group block
  */
 class BlockSystemBrandingTest extends BlockTestBase {
 
@@ -19,17 +21,6 @@ class BlockSystemBrandingTest extends BlockTestBase {
    */
   public static $modules = array('block', 'system');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'System Branding Block',
-      'description' => 'Tests branding block display.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block/src/Tests/BlockTemplateSuggestionsUnitTest.php b/core/modules/block/src/Tests/BlockTemplateSuggestionsUnitTest.php
index a80e09b47e94..0a041ab2a944 100644
--- a/core/modules/block/src/Tests/BlockTemplateSuggestionsUnitTest.php
+++ b/core/modules/block/src/Tests/BlockTemplateSuggestionsUnitTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Unit tests for block_theme_suggestions_block().
+ * Tests the block_theme_suggestions_block() function.
+ *
+ * @group block
  */
 class BlockTemplateSuggestionsUnitTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockTemplateSuggestionsUnitTest extends WebTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block template suggestions',
-      'description' => 'Test the block_theme_suggestions_block() function.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Tests template suggestions from block_theme_suggestions_block().
    */
diff --git a/core/modules/block/src/Tests/BlockTest.php b/core/modules/block/src/Tests/BlockTest.php
index fde4c4758ea1..8f04738e72f1 100644
--- a/core/modules/block/src/Tests/BlockTest.php
+++ b/core/modules/block/src/Tests/BlockTest.php
@@ -12,18 +12,12 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Provides testing for basic block module functionality.
+ * Tests basic block functionality.
+ *
+ * @group block
  */
 class BlockTest extends BlockTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block functionality',
-      'description' => 'Tests basic block functionality.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Tests block visibility.
    */
diff --git a/core/modules/block/src/Tests/BlockTitleXSSTest.php b/core/modules/block/src/Tests/BlockTitleXSSTest.php
index f185f5862f71..c295857d333a 100644
--- a/core/modules/block/src/Tests/BlockTitleXSSTest.php
+++ b/core/modules/block/src/Tests/BlockTitleXSSTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests block XSS in title.
+ *
+ * @group block
  */
 class BlockTitleXSSTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class BlockTitleXSSTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block XSS Title',
-      'description' => 'Test block XSS in title.',
-      'group' => 'Block',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/src/Tests/BlockUiTest.php b/core/modules/block/src/Tests/BlockUiTest.php
index 5c2dbfa88881..d2408da268f5 100644
--- a/core/modules/block/src/Tests/BlockUiTest.php
+++ b/core/modules/block/src/Tests/BlockUiTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the block configuration UI.
+ * Tests that the block configuration UI exists and stores data correctly.
+ *
+ * @group block
  */
 class BlockUiTest extends WebTestBase {
 
@@ -42,14 +44,6 @@ class BlockUiTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block UI',
-      'description' => 'Checks that the block configuration UI exists and stores data correctly.',
-      'group' => 'Block',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Create and log in an administrative user.
diff --git a/core/modules/block/src/Tests/BlockViewBuilderTest.php b/core/modules/block/src/Tests/BlockViewBuilderTest.php
index fa2d94e4aa68..7c1dd550e5ba 100644
--- a/core/modules/block/src/Tests/BlockViewBuilderTest.php
+++ b/core/modules/block/src/Tests/BlockViewBuilderTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests the block view builder.
+ *
+ * @group block
  */
 class BlockViewBuilderTest extends DrupalUnitTestBase {
 
@@ -39,17 +41,6 @@ class BlockViewBuilderTest extends DrupalUnitTestBase {
    */
   protected $controller;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Block rendering',
-      'description' => 'Tests the block view builder.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php b/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php
index c5449606f999..cc4f91149a1c 100644
--- a/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php
+++ b/core/modules/block/src/Tests/NewDefaultThemeBlocksTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test blocks correctly initialized when picking a new default theme.
+ * Tests that the new default theme gets blocks.
+ *
+ * @group block
  */
 class NewDefaultThemeBlocksTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class NewDefaultThemeBlocksTest extends WebTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'New default theme blocks',
-      'description' => 'Checks that the new default theme gets blocks.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Check the enabled Bartik blocks are correctly copied over.
    */
diff --git a/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php b/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php
index 0048ed21b051..f7ffd37b59ec 100644
--- a/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php
+++ b/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the block administration page for a non-default theme.
+ *
+ * @group block
  */
 class NonDefaultBlockAdminTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class NonDefaultBlockAdminTest extends WebTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Non default theme admin',
-      'description' => 'Check the administer page for non default theme.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Test non-default theme admin.
    */
diff --git a/core/modules/block/src/Tests/Views/DisplayBlockTest.php b/core/modules/block/src/Tests/Views/DisplayBlockTest.php
index 1366f3914f20..77b2300eb078 100644
--- a/core/modules/block/src/Tests/Views/DisplayBlockTest.php
+++ b/core/modules/block/src/Tests/Views/DisplayBlockTest.php
@@ -15,8 +15,9 @@
 use Drupal\Core\Template\Attribute;
 
 /**
- * Defines a test for block display.
+ * Tests the block display plugin.
  *
+ * @group block
  * @see \Drupal\block\Plugin\views\display\Block
  */
 class DisplayBlockTest extends ViewTestBase {
@@ -35,14 +36,6 @@ class DisplayBlockTest extends ViewTestBase {
    */
   public static $testViews = array('test_view_block', 'test_view_block2');
 
-  public static function getInfo() {
-    return array(
-      'name' => ' Display: Block',
-      'description' => 'Tests the block display plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/block/tests/src/BlockBaseTest.php b/core/modules/block/tests/src/BlockBaseTest.php
index 575a6fbfb68f..7d9b31e65e7a 100644
--- a/core/modules/block/tests/src/BlockBaseTest.php
+++ b/core/modules/block/tests/src/BlockBaseTest.php
@@ -12,20 +12,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the base block plugin.
- *
- * @see \Drupal\block\BlockBase
+ * @coversDefaultClass \Drupal\block\BlockBase
+ * @group block
  */
 class BlockBaseTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Base plugin',
-      'description' => 'Tests the base block plugin.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Tests the machine name suggestion.
    *
diff --git a/core/modules/block/tests/src/BlockConfigEntityUnitTest.php b/core/modules/block/tests/src/BlockConfigEntityUnitTest.php
index 76b9a3004066..e3fd154953c3 100644
--- a/core/modules/block/tests/src/BlockConfigEntityUnitTest.php
+++ b/core/modules/block/tests/src/BlockConfigEntityUnitTest.php
@@ -13,9 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\block\Entity\Block
- *
- * @group Drupal
- * @group Config
+ * @group block
  */
 class BlockConfigEntityUnitTest extends UnitTestCase {
 
@@ -47,17 +45,6 @@ class BlockConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\block\Entity\Block unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block/tests/src/BlockFormTest.php b/core/modules/block/tests/src/BlockFormTest.php
index 698baa25c70f..3c40a8361fd5 100644
--- a/core/modules/block/tests/src/BlockFormTest.php
+++ b/core/modules/block/tests/src/BlockFormTest.php
@@ -11,20 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the block form.
- *
- * @see \Drupal\block\BlockForm
+ * @coversDefaultClass \Drupal\block\BlockForm
+ * @group block
  */
 class BlockFormTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block form',
-      'description' => 'Tests the block form.',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Tests the unique machine name generator.
    *
diff --git a/core/modules/block/tests/src/CategoryAutocompleteTest.php b/core/modules/block/tests/src/CategoryAutocompleteTest.php
index 26bd6b9151da..165231600087 100644
--- a/core/modules/block/tests/src/CategoryAutocompleteTest.php
+++ b/core/modules/block/tests/src/CategoryAutocompleteTest.php
@@ -13,11 +13,8 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the block category autocomplete.
- *
- * @group Drupal
- *
- * @see \Drupal\block\Controller\CategoryAutocompleteController
+ * @coversDefaultClass \Drupal\block\Controller\CategoryAutocompleteController
+ * @group block
  */
 class CategoryAutocompleteTest extends UnitTestCase {
 
@@ -28,14 +25,6 @@ class CategoryAutocompleteTest extends UnitTestCase {
    */
   protected $autocompleteController;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block category autocomplete',
-      'description' => 'Tests the block category autocomplete.',
-      'group' => 'Block',
-    );
-  }
-
   public function setUp() {
     $block_manager = $this->getMock('Drupal\block\BlockManagerInterface');
     $block_manager->expects($this->any())
diff --git a/core/modules/block/tests/src/Menu/BlockLocalTasksTest.php b/core/modules/block/tests/src/Menu/BlockLocalTasksTest.php
index bf7a3e42782c..bb997fadd05b 100644
--- a/core/modules/block/tests/src/Menu/BlockLocalTasksTest.php
+++ b/core/modules/block/tests/src/Menu/BlockLocalTasksTest.php
@@ -11,21 +11,12 @@
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 
 /**
- * Tests existence of block local tasks.
+ * Tests block local tasks.
  *
- * @group Drupal
- * @group Block
+ * @group block
  */
 class BlockLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block local tasks test',
-      'description' => 'Test block local tasks.',
-      'group' => 'Block',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('block' => 'core/modules/block');
     parent::setUp();
diff --git a/core/modules/block/tests/src/Plugin/DisplayVariant/FullPageVariantTest.php b/core/modules/block/tests/src/Plugin/DisplayVariant/FullPageVariantTest.php
index 051b1b03996a..9b4533718b64 100644
--- a/core/modules/block/tests/src/Plugin/DisplayVariant/FullPageVariantTest.php
+++ b/core/modules/block/tests/src/Plugin/DisplayVariant/FullPageVariantTest.php
@@ -10,13 +10,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the full page display variant.
- *
  * @coversDefaultClass \Drupal\block\Plugin\DisplayVariant\FullPageVariant
- *
- * @group Drupal
- * @group Block
- * @group Display
+ * @group block
  */
 class FullPageVariantTest extends UnitTestCase {
 
@@ -48,17 +43,6 @@ class FullPageVariantTest extends UnitTestCase {
    */
   protected $themeNegotiator;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Full page variant test',
-      'description' => '',
-      'group' => 'Block',
-    );
-  }
-
   /**
    * Sets up a display variant plugin for testing.
    *
diff --git a/core/modules/block/tests/src/Plugin/views/display/BlockTest.php b/core/modules/block/tests/src/Plugin/views/display/BlockTest.php
index 765cc573d751..7b839900ea3c 100644
--- a/core/modules/block/tests/src/Plugin/views/display/BlockTest.php
+++ b/core/modules/block/tests/src/Plugin/views/display/BlockTest.php
@@ -10,9 +10,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the block display plugin.
- *
- * @see \Drupal\block\Plugin\views\display\Block
+ * @coversDefaultClass \Drupal\block\Plugin\views\display\Block
+ * @group block
  */
 class BlockTest extends UnitTestCase {
 
@@ -37,14 +36,6 @@ class BlockTest extends UnitTestCase {
    */
   protected $blockDisplay;
 
-  public static function getInfo() {
-    return array(
-      'name' => ' Views: Display Block',
-      'description' => 'Tests the block display plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php b/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php
index 52c32861984f..cc7ae4a827ad 100644
--- a/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentCacheTagsTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Custom Block entity's cache tags.
+ *
+ * @group block_content
  */
 class BlockContentCacheTagsTest extends EntityCacheTagsTestBase {
 
@@ -20,13 +22,6 @@ class BlockContentCacheTagsTest extends EntityCacheTagsTestBase {
    */
   public static $modules = array('block_content');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('Custom Block', 'Custom Block');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentCreationTest.php b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
index dd98507edc28..9b3d9147dc04 100644
--- a/core/modules/block_content/src/Tests/BlockContentCreationTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
@@ -11,7 +11,9 @@
 use Drupal\block_content\Entity\BlockContent;
 
 /**
- * Tests creating and saving a block.
+ * Create a block and test saving it.
+ *
+ * @group block_content
  */
 class BlockContentCreationTest extends BlockContentTestBase {
 
@@ -24,17 +26,6 @@ class BlockContentCreationTest extends BlockContentTestBase {
    */
   public static $modules = array('block_content_test', 'dblog');
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block creation',
-      'description' => 'Create a block and test saving it.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Sets the test up.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentFieldTest.php b/core/modules/block_content/src/Tests/BlockContentFieldTest.php
index 65c08c57c9f1..094d14796e64 100644
--- a/core/modules/block_content/src/Tests/BlockContentFieldTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentFieldTest.php
@@ -8,8 +8,9 @@
 namespace Drupal\block_content\Tests;
 
 /**
- * Tests the block edit functionality.
+ * Tests block fieldability.
  *
+ * @group block_content
  * @todo Consider removing this test when https://drupal.org/node/1822000 is
  * fixed.
  */
@@ -44,17 +45,6 @@ class BlockContentFieldTest extends BlockContentTestBase {
   protected $blockType;
 
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block field test',
-      'description' => 'Test block fieldability.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Checks block edit functionality.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentListTest.php b/core/modules/block_content/src/Tests/BlockContentListTest.php
index 157591a60eac..b956147c7bde 100644
--- a/core/modules/block_content/src/Tests/BlockContentListTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentListTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the listing of custom blocks.
  *
+ * @group block_content
  * @see \Drupal\block\BlockContentListBuilder
  */
 class BlockContentListTest extends WebTestBase {
@@ -23,14 +24,6 @@ class BlockContentListTest extends WebTestBase {
    */
   public static $modules = array('block', 'block_content', 'config_translation');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block listing',
-      'description' => 'Tests the listing of custom blocks.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Tests the custom block listing page.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentPageViewTest.php b/core/modules/block_content/src/Tests/BlockContentPageViewTest.php
index b8edb114cde1..9d5752880418 100644
--- a/core/modules/block_content/src/Tests/BlockContentPageViewTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentPageViewTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\block_content\Tests;
 
 /**
- * Tests the block edit functionality.
+ * Create a block and test block access by attempting to view the block.
+ *
+ * @group block_content
  */
 class BlockContentPageViewTest extends BlockContentTestBase {
 
@@ -19,17 +21,6 @@ class BlockContentPageViewTest extends BlockContentTestBase {
    */
   public static $modules = array('block', 'block_content', 'block_content_test');
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block page view',
-      'description' => 'Create a block and test block access by attempting to view the block.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Checks block edit functionality.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php b/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php
index 0de498f9799e..745a2d3790a6 100644
--- a/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentRevisionsTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\block_content\Tests;
 
 /**
- * Tests the block revision functionality.
+ * Create a block with revisions.
+ *
+ * @group block_content
  */
 class BlockContentRevisionsTest extends BlockContentTestBase {
 
@@ -24,17 +26,6 @@ class BlockContentRevisionsTest extends BlockContentTestBase {
    */
   protected $revisionLogs;
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block revisions',
-      'description' => 'Create a block with revisions.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Sets the test up.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentSaveTest.php b/core/modules/block_content/src/Tests/BlockContentSaveTest.php
index 1c8a9624a9d7..8d2608ef524b 100644
--- a/core/modules/block_content/src/Tests/BlockContentSaveTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentSaveTest.php
@@ -10,7 +10,9 @@
 use Drupal\block_content\Entity\BlockContent;
 
 /**
- * Tests block save related functionality.
+ * Tests $block_content->save() for saving content.
+ *
+ * @group block_content
  */
 class BlockContentSaveTest extends BlockContentTestBase {
 
@@ -21,17 +23,6 @@ class BlockContentSaveTest extends BlockContentTestBase {
    */
   public static $modules = array('block_content_test');
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block save',
-      'description' => 'Test $block_content->save() for saving content.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Sets the test up.
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php b/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
index 35cf5ecff4f7..006b7104a3c6 100644
--- a/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
+++ b/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
@@ -11,7 +11,9 @@
 use Drupal\block_content\Entity\BlockContent;
 
 /**
- * Tests the Custom Block Translation UI.
+ * Tests the node translation UI.
+ *
+ * @group block_content
  */
 class BlockContentTranslationUITest extends ContentTranslationUITest {
 
@@ -33,17 +35,6 @@ class BlockContentTranslationUITest extends ContentTranslationUITest {
     'block_content'
   );
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block translation UI',
-      'description' => 'Tests the node translation UI.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Overrides \Drupal\simpletest\WebTestBase::setUp().
    */
diff --git a/core/modules/block_content/src/Tests/BlockContentTypeTest.php b/core/modules/block_content/src/Tests/BlockContentTypeTest.php
index bb170430b863..ce8298fa500f 100644
--- a/core/modules/block_content/src/Tests/BlockContentTypeTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentTypeTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\block_content\Tests;
 
 /**
- * Tests related to custom block types.
+ * Ensures that custom block type functions work correctly.
+ *
+ * @group block_content
  */
 class BlockContentTypeTest extends BlockContentTestBase {
 
@@ -29,17 +31,6 @@ class BlockContentTypeTest extends BlockContentTestBase {
     'administer block_content fields'
   );
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block types',
-      'description' => 'Ensures that custom block type functions work correctly.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Tests creating a block type programmatically and via a form.
    */
diff --git a/core/modules/block_content/src/Tests/PageEditTest.php b/core/modules/block_content/src/Tests/PageEditTest.php
index bc928dc0e607..2bbd9db32014 100644
--- a/core/modules/block_content/src/Tests/PageEditTest.php
+++ b/core/modules/block_content/src/Tests/PageEditTest.php
@@ -8,21 +8,12 @@
 namespace Drupal\block_content\Tests;
 
 /**
- * Tests the block edit functionality.
+ * Create a block and test block edit functionality.
+ *
+ * @group block_content
  */
 class PageEditTest extends BlockContentTestBase {
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block edit',
-      'description' => 'Create a block and test block edit functionality.',
-      'group' => 'Custom Block',
-    );
-  }
-
   /**
    * Checks block edit functionality.
    */
diff --git a/core/modules/block_content/tests/src/Menu/BlockContentLocalTasksTest.php b/core/modules/block_content/tests/src/Menu/BlockContentLocalTasksTest.php
index c98927800c62..d962b122fb0f 100644
--- a/core/modules/block_content/tests/src/Menu/BlockContentLocalTasksTest.php
+++ b/core/modules/block_content/tests/src/Menu/BlockContentLocalTasksTest.php
@@ -13,19 +13,10 @@
 /**
  * Tests existence of block_content local tasks.
  *
- * @group Drupal
- * @group Block
+ * @group block_content
  */
 class BlockContentLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Block local tasks test',
-      'description' => 'Test block_content local tasks.',
-      'group' => 'Block',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'block' => 'core/modules/block',
diff --git a/core/modules/book/src/Tests/BookTest.php b/core/modules/book/src/Tests/BookTest.php
index 6d8b321cac51..b72a0461187b 100644
--- a/core/modules/book/src/Tests/BookTest.php
+++ b/core/modules/book/src/Tests/BookTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the functionality of the Book module.
+ * Create a book, add pages, and test book interface.
+ *
+ * @group book
  */
 class BookTest extends WebTestBase {
 
@@ -50,14 +52,6 @@ class BookTest extends WebTestBase {
    */
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Book functionality',
-      'description' => 'Create a book, add pages, and test book interface.',
-      'group' => 'Book',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/book/tests/src/BookManagerTest.php b/core/modules/book/tests/src/BookManagerTest.php
index f7bd24840966..4abf06354ca6 100644
--- a/core/modules/book/tests/src/BookManagerTest.php
+++ b/core/modules/book/tests/src/BookManagerTest.php
@@ -11,12 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the book manager.
- *
- * @group Drupal
- * @group Book
- *
  * @coversDefaultClass \Drupal\book\BookManager
+ * @group book
  */
 class BookManagerTest extends UnitTestCase {
 
@@ -55,17 +51,6 @@ class BookManagerTest extends UnitTestCase {
    */
   protected $bookManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Book manager',
-      'description' => 'Test the book manager.',
-      'group' => 'Book',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/book/tests/src/Menu/BookLocalTasksTest.php b/core/modules/book/tests/src/Menu/BookLocalTasksTest.php
index 86492c4fa54e..fd9275788f6c 100644
--- a/core/modules/book/tests/src/Menu/BookLocalTasksTest.php
+++ b/core/modules/book/tests/src/Menu/BookLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of book local tasks.
  *
- * @group Drupal
- * @group Book
+ * @group book
  */
 class BookLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Book local tasks test',
-      'description' => 'Test existence of book local tasks.',
-      'group' => 'Book',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'book' => 'core/modules/book',
diff --git a/core/modules/breakpoint/src/Tests/BreakpointAPITest.php b/core/modules/breakpoint/src/Tests/BreakpointAPITest.php
index 86f981652153..8ec2b11db208 100644
--- a/core/modules/breakpoint/src/Tests/BreakpointAPITest.php
+++ b/core/modules/breakpoint/src/Tests/BreakpointAPITest.php
@@ -14,18 +14,12 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Tests for general breakpoint API functions.
+ * Tests general API functions of the breakpoint module.
+ *
+ * @group breakpoint
  */
 class BreakpointAPITest extends BreakpointTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint general API functions',
-      'description' => 'Test general API functions of the breakpoint module.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   /**
    * Test Breakpoint::buildConfigName().
    */
diff --git a/core/modules/breakpoint/src/Tests/BreakpointCRUDTest.php b/core/modules/breakpoint/src/Tests/BreakpointCRUDTest.php
index a9fcadf3ec4b..24f96d6a1ba8 100644
--- a/core/modules/breakpoint/src/Tests/BreakpointCRUDTest.php
+++ b/core/modules/breakpoint/src/Tests/BreakpointCRUDTest.php
@@ -10,18 +10,12 @@
 use Drupal\breakpoint\Entity\Breakpoint;
 
 /**
- * Tests for breakpoint CRUD operations.
+ * Tests creation, loading, updating, deleting of breakpoints.
+ *
+ * @group breakpoint
  */
 class BreakpointCRUDTest extends BreakpointTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint CRUD operations',
-      'description' => 'Test creation, loading, updating, deleting of breakpoints.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   /**
    * Test CRUD operations for breakpoints.
    */
diff --git a/core/modules/breakpoint/src/Tests/BreakpointGroupAPITest.php b/core/modules/breakpoint/src/Tests/BreakpointGroupAPITest.php
index 52c2ef40cc41..1742203bcc5c 100644
--- a/core/modules/breakpoint/src/Tests/BreakpointGroupAPITest.php
+++ b/core/modules/breakpoint/src/Tests/BreakpointGroupAPITest.php
@@ -15,18 +15,12 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Tests for general breakpoint group API functions.
+ * Tests general API functions of the breakpoint module.
+ *
+ * @group breakpoint
  */
 class BreakpointGroupAPITest extends BreakpointGroupTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint group general API functions',
-      'description' => 'Test general API functions of the breakpoint module.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   /**
    * Test Breakpoint::buildConfigName().
    */
diff --git a/core/modules/breakpoint/src/Tests/BreakpointGroupCRUDTest.php b/core/modules/breakpoint/src/Tests/BreakpointGroupCRUDTest.php
index e9eeb007069b..21724aaccee7 100644
--- a/core/modules/breakpoint/src/Tests/BreakpointGroupCRUDTest.php
+++ b/core/modules/breakpoint/src/Tests/BreakpointGroupCRUDTest.php
@@ -11,18 +11,12 @@
 use Drupal\breakpoint\Entity\Breakpoint;
 
 /**
- * Tests for breakpoint group CRUD operations.
+ * Tests creation, loading, updating, deleting of breakpoint groups.
+ *
+ * @group breakpoint
  */
 class BreakpointGroupCRUDTest extends BreakpointGroupTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint group CRUD operations',
-      'description' => 'Test creation, loading, updating, deleting of breakpoint groups.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   /**
    * Test CRUD operations for breakpoint groups.
    */
diff --git a/core/modules/breakpoint/src/Tests/BreakpointThemeTest.php b/core/modules/breakpoint/src/Tests/BreakpointThemeTest.php
index 5715a8e56ff4..f5d3e8289f25 100644
--- a/core/modules/breakpoint/src/Tests/BreakpointThemeTest.php
+++ b/core/modules/breakpoint/src/Tests/BreakpointThemeTest.php
@@ -11,18 +11,12 @@
 use Drupal\breakpoint\Entity\Breakpoint;
 
 /**
- * Test breakpoints provided by themes.
+ * Thoroughly test the breakpoints provided by a theme.
+ *
+ * @group breakpoint
  */
 class BreakpointThemeTest extends BreakpointGroupTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint theme functionality',
-      'description' => 'Thoroughly test the breakpoints provided by a theme.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     theme_enable(array('breakpoint_test_theme'));
diff --git a/core/modules/breakpoint/tests/src/BreakpointConfigEntityUnitTest.php b/core/modules/breakpoint/tests/src/BreakpointConfigEntityUnitTest.php
index dc59e9cea621..a9aec4400c4e 100644
--- a/core/modules/breakpoint/tests/src/BreakpointConfigEntityUnitTest.php
+++ b/core/modules/breakpoint/tests/src/BreakpointConfigEntityUnitTest.php
@@ -13,10 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\breakpoint\Entity\Breakpoint
- *
- * @group Drupal
- * @group Config
- * @group Breakpoint
+ * @group breakpoint
  */
 class BreakpointConfigEntityUnitTest extends UnitTestCase {
 
@@ -55,17 +52,6 @@ class BreakpointConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\breakpoint\Entity\Breakpoint unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/breakpoint/tests/src/BreakpointGroupConfigEntityUnitTest.php b/core/modules/breakpoint/tests/src/BreakpointGroupConfigEntityUnitTest.php
index 4b81a65ac992..e66541d9c874 100644
--- a/core/modules/breakpoint/tests/src/BreakpointGroupConfigEntityUnitTest.php
+++ b/core/modules/breakpoint/tests/src/BreakpointGroupConfigEntityUnitTest.php
@@ -14,10 +14,7 @@
 
 /**
  * @coversDefaultClass \Drupal\breakpoint\Entity\BreakpointGroup
- *
- * @group Drupal
- * @group Config
- * @group Breakpoint
+ * @group breakpoint
  */
 class BreakpointGroupConfigEntityUnitTest extends UnitTestCase {
 
@@ -56,17 +53,6 @@ class BreakpointGroupConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\breakpoint\Entity\BreakpointGroup unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/breakpoint/tests/src/BreakpointMediaQueryTest.php b/core/modules/breakpoint/tests/src/BreakpointMediaQueryTest.php
index 11866190cf42..c8ab81dfbfed 100644
--- a/core/modules/breakpoint/tests/src/BreakpointMediaQueryTest.php
+++ b/core/modules/breakpoint/tests/src/BreakpointMediaQueryTest.php
@@ -11,20 +11,12 @@
 use Drupal\breakpoint\InvalidBreakpointMediaQueryException;
 
 /**
- * Tests for media queries in a breakpoint.
+ * Tests validation of media queries.
  *
- * @group Breakpoint
+ * @group breakpoint
  */
 class BreakpointMediaQueryTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breakpoint media query tests',
-      'description' => 'Test validation of media queries.',
-      'group' => 'Breakpoint',
-    );
-  }
-
   /**
    * Test valid media queries.
    */
diff --git a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
index d3bf2790570d..8dfe5873c926 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
+++ b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests administration of CKEditor.
+ *
+ * @group ckeditor
  */
 class CKEditorAdminTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class CKEditorAdminTest extends WebTestBase {
    */
   public static $modules = array('filter', 'editor', 'ckeditor');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CKEditor administration',
-      'description' => 'Tests administration of CKEditor.',
-      'group' => 'CKEditor',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/ckeditor/src/Tests/CKEditorLoadingTest.php b/core/modules/ckeditor/src/Tests/CKEditorLoadingTest.php
index 458b47f99801..3d3e5900baa3 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorLoadingTest.php
+++ b/core/modules/ckeditor/src/Tests/CKEditorLoadingTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests loading of CKEditor.
+ *
+ * @group ckeditor
  */
 class CKEditorLoadingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class CKEditorLoadingTest extends WebTestBase {
    */
   public static $modules = array('filter', 'editor', 'ckeditor', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CKEditor loading',
-      'description' => 'Tests loading of CKEditor.',
-      'group' => 'CKEditor',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/ckeditor/src/Tests/CKEditorPluginManagerTest.php b/core/modules/ckeditor/src/Tests/CKEditorPluginManagerTest.php
index a67919119903..f84f73e2a765 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorPluginManagerTest.php
+++ b/core/modules/ckeditor/src/Tests/CKEditorPluginManagerTest.php
@@ -11,7 +11,9 @@
 use Drupal\ckeditor\CKEditorPluginManager;
 
 /**
- * Tests for the "CKEditor plugins" plugin manager.
+ * Tests different ways of enabling CKEditor plugins.
+ *
+ * @group ckeditor
  */
 class CKEditorPluginManagerTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class CKEditorPluginManagerTest extends DrupalUnitTestBase {
    */
   protected $manager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CKEditor plugin manager',
-      'description' => 'Tests different ways of enabling CKEditor plugins.',
-      'group' => 'CKEditor',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/ckeditor/src/Tests/CKEditorTest.php b/core/modules/ckeditor/src/Tests/CKEditorTest.php
index be08da2369af..41b81b8b3ecc 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorTest.php
+++ b/core/modules/ckeditor/src/Tests/CKEditorTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests for the 'CKEditor' text editor plugin.
+ *
+ * @group ckeditor
  */
 class CKEditorTest extends DrupalUnitTestBase {
 
@@ -37,14 +39,6 @@ class CKEditorTest extends DrupalUnitTestBase {
    */
   protected $manager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CKEditor text editor plugin',
-      'description' => 'Tests all aspects of the CKEditor text editor plugin.',
-      'group' => 'CKEditor',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/color/src/Tests/ColorConfigSchemaTest.php b/core/modules/color/src/Tests/ColorConfigSchemaTest.php
index bf7010c2a725..865b833d7b3d 100644
--- a/core/modules/color/src/Tests/ColorConfigSchemaTest.php
+++ b/core/modules/color/src/Tests/ColorConfigSchemaTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Color config schema.
+ * Ensures the color config schema is correct.
+ *
+ * @group color
  */
 class ColorConfigSchemaTest extends WebTestBase {
 
@@ -31,14 +33,6 @@ class ColorConfigSchemaTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Color config schema',
-      'description' => 'Ensures the color config schema is correct.',
-      'group' => 'Color',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/color/src/Tests/ColorTest.php b/core/modules/color/src/Tests/ColorTest.php
index 32bdd1a4591d..1516f46887cb 100644
--- a/core/modules/color/src/Tests/ColorTest.php
+++ b/core/modules/color/src/Tests/ColorTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Color module functionality.
+ * Modify the Bartik theme colors and make sure the changes are reflected on the
+ * frontend.
+ *
+ * @group color
  */
 class ColorTest extends WebTestBase {
 
@@ -45,14 +48,6 @@ class ColorTest extends WebTestBase {
    */
   protected $colorTests;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Color functionality',
-      'description' => 'Modify the Bartik theme colors and make sure the changes are reflected on the frontend.',
-      'group' => 'Color',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/src/Tests/CommentActionsTest.php b/core/modules/comment/src/Tests/CommentActionsTest.php
index 0a3042f02092..77ecfe9e16d3 100644
--- a/core/modules/comment/src/Tests/CommentActionsTest.php
+++ b/core/modules/comment/src/Tests/CommentActionsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests actions provided by the Comment module.
+ *
+ * @group comment
  */
 class CommentActionsTest extends CommentTestBase {
 
@@ -21,14 +23,6 @@ class CommentActionsTest extends CommentTestBase {
    */
   public static $modules = array('dblog', 'action');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment actions',
-      'description' => 'Test actions provided by the comment module.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests comment publish and unpublish actions.
    */
diff --git a/core/modules/comment/src/Tests/CommentAdminTest.php b/core/modules/comment/src/Tests/CommentAdminTest.php
index 11d41137f54e..b5815c89f1e3 100644
--- a/core/modules/comment/src/Tests/CommentAdminTest.php
+++ b/core/modules/comment/src/Tests/CommentAdminTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests comment approval functionality.
+ *
+ * @group comment
  */
 class CommentAdminTest extends CommentTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment admin',
-      'description' => 'Test comment admin functionality.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Test comment approval functionality through admin/content/comment.
    */
diff --git a/core/modules/comment/src/Tests/CommentAnonymousTest.php b/core/modules/comment/src/Tests/CommentAnonymousTest.php
index 03b88dbb3405..dca509827e27 100644
--- a/core/modules/comment/src/Tests/CommentAnonymousTest.php
+++ b/core/modules/comment/src/Tests/CommentAnonymousTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests anonymous commenting.
+ *
+ * @group comment
  */
 class CommentAnonymousTest extends CommentTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Anonymous comments',
-      'description' => 'Test anonymous comments.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentBlockTest.php b/core/modules/comment/src/Tests/CommentBlockTest.php
index f4d3dbdaf245..da09f69664ef 100644
--- a/core/modules/comment/src/Tests/CommentBlockTest.php
+++ b/core/modules/comment/src/Tests/CommentBlockTest.php
@@ -9,7 +9,9 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests the Comment module blocks.
+ * Tests comment block functionality.
+ *
+ * @group comment
  */
 class CommentBlockTest extends CommentTestBase {
 
@@ -34,14 +36,6 @@ function setUp() {
      ));
   }
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment blocks',
-      'description' => 'Test comment block functionality.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests the recent comments block.
    */
diff --git a/core/modules/comment/src/Tests/CommentBookTest.php b/core/modules/comment/src/Tests/CommentBookTest.php
index 4d92e9d78362..b30b1cb2e490 100644
--- a/core/modules/comment/src/Tests/CommentBookTest.php
+++ b/core/modules/comment/src/Tests/CommentBookTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the comment module integration for book module.
+ * Tests visibility of comments on book pages.
+ *
+ * @group comment
  */
 class CommentBookTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class CommentBookTest extends WebTestBase {
    */
   public static $modules = array('book', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Book commenting',
-      'description' => 'Test visibility of comments on book pages.',
-      'group' => 'Book',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentCSSTest.php b/core/modules/comment/src/Tests/CommentCSSTest.php
index 8c3475463536..98a027b43db6 100644
--- a/core/modules/comment/src/Tests/CommentCSSTest.php
+++ b/core/modules/comment/src/Tests/CommentCSSTest.php
@@ -11,18 +11,12 @@
 use Drupal\comment\CommentInterface;
 
 /**
- * Tests comment CSS classes.
+ * Tests CSS classes on comments.
+ *
+ * @group comment
  */
 class CommentCSSTest extends CommentTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment CSS',
-      'description' => 'Tests CSS classes on comments.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentCacheTagsTest.php b/core/modules/comment/src/Tests/CommentCacheTagsTest.php
index d12c6bb76262..192beb470104 100644
--- a/core/modules/comment/src/Tests/CommentCacheTagsTest.php
+++ b/core/modules/comment/src/Tests/CommentCacheTagsTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Comment entity's cache tags.
+ *
+ * @group comment
  */
 class CommentCacheTagsTest extends EntityWithUriCacheTagsTestBase {
 
@@ -20,13 +22,6 @@ class CommentCacheTagsTest extends EntityWithUriCacheTagsTestBase {
    */
   public static $modules = array('comment');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('Comment', 'Comment');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/src/Tests/CommentDefaultFormatterCacheTagsTest.php b/core/modules/comment/src/Tests/CommentDefaultFormatterCacheTagsTest.php
index 429ff1245fc5..1e60dac26343 100644
--- a/core/modules/comment/src/Tests/CommentDefaultFormatterCacheTagsTest.php
+++ b/core/modules/comment/src/Tests/CommentDefaultFormatterCacheTagsTest.php
@@ -12,7 +12,10 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * Tests CommentDefaultFormatter's cache tag bubbling.
+ * Tests the bubbling up of comment cache tags when using the Comment list
+ * formatter on an entity.
+ *
+ * @group comment
  */
 class CommentDefaultFormatterCacheTagsTest extends EntityUnitTestBase {
 
@@ -23,17 +26,6 @@ class CommentDefaultFormatterCacheTagsTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_test', 'comment', 'menu_link');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment list cache tags',
-      'description' => 'Tests the bubbling up of comment cache tags when using the Comment list formatter on an entity.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/src/Tests/CommentFieldsTest.php b/core/modules/comment/src/Tests/CommentFieldsTest.php
index 70b3ecd467e0..0fb468e29b36 100644
--- a/core/modules/comment/src/Tests/CommentFieldsTest.php
+++ b/core/modules/comment/src/Tests/CommentFieldsTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests fields on comments.
+ *
+ * @group comment
  */
 class CommentFieldsTest extends CommentTestBase {
 
@@ -23,14 +25,6 @@ class CommentFieldsTest extends CommentTestBase {
    */
   public static $modules = array('field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment fields',
-      'description' => 'Tests fields on comments.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests that the default 'comment_body' field is correctly added.
    */
diff --git a/core/modules/comment/src/Tests/CommentInterfaceTest.php b/core/modules/comment/src/Tests/CommentInterfaceTest.php
index abde280dcca5..1455d8d48d99 100644
--- a/core/modules/comment/src/Tests/CommentInterfaceTest.php
+++ b/core/modules/comment/src/Tests/CommentInterfaceTest.php
@@ -12,18 +12,12 @@
 use Drupal\comment\Entity\Comment;
 
 /**
- * Tests the comment module administrative and end-user-facing interfaces.
+ * Tests comment user interfaces.
+ *
+ * @group comment
  */
 class CommentInterfaceTest extends CommentTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment interface',
-      'description' => 'Test comment user interfaces.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests the comment interface.
    */
diff --git a/core/modules/comment/src/Tests/CommentLanguageTest.php b/core/modules/comment/src/Tests/CommentLanguageTest.php
index d139a38e2772..fd8518498809 100644
--- a/core/modules/comment/src/Tests/CommentLanguageTest.php
+++ b/core/modules/comment/src/Tests/CommentLanguageTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for comment language.
+ * Tests for comment language.
+ *
+ * @group comment
  */
 class CommentLanguageTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class CommentLanguageTest extends WebTestBase {
    */
   public static $modules = array('node', 'language', 'language_test', 'comment_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment language',
-      'description' => 'Tests for comment language.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentLinksAlterTest.php b/core/modules/comment/src/Tests/CommentLinksAlterTest.php
index be11b7617626..af6d6b6b11d2 100644
--- a/core/modules/comment/src/Tests/CommentLinksAlterTest.php
+++ b/core/modules/comment/src/Tests/CommentLinksAlterTest.php
@@ -9,19 +9,13 @@
 
 /**
  * Tests comment links altering.
+ *
+ * @group comment
  */
 class CommentLinksAlterTest extends CommentTestBase {
 
   public static $modules = array('comment_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'hook_comment_links_alter()',
-      'description' => 'Tests comment links altering.',
-      'group' => 'Comment',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentLinksTest.php b/core/modules/comment/src/Tests/CommentLinksTest.php
index bce2746f5093..3b40bdd308a2 100644
--- a/core/modules/comment/src/Tests/CommentLinksTest.php
+++ b/core/modules/comment/src/Tests/CommentLinksTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests comment links based on environment configurations.
+ *
+ * @group comment
  */
 class CommentLinksTest extends CommentTestBase {
 
@@ -25,14 +27,6 @@ class CommentLinksTest extends CommentTestBase {
    */
   public static $modules = array('views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment links',
-      'description' => 'Tests comment links based on environment configurations.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests comment links.
    *
diff --git a/core/modules/comment/src/Tests/CommentNewIndicatorTest.php b/core/modules/comment/src/Tests/CommentNewIndicatorTest.php
index f955b6250647..d8450d2dae28 100644
--- a/core/modules/comment/src/Tests/CommentNewIndicatorTest.php
+++ b/core/modules/comment/src/Tests/CommentNewIndicatorTest.php
@@ -12,7 +12,9 @@
 use Drupal\comment\CommentInterface;
 
 /**
- * Tests the 'new' marker on comments.
+ * Tests the 'new' indicator posted on comments.
+ *
+ * @group comment
  */
 class CommentNewIndicatorTest extends CommentTestBase {
 
@@ -25,14 +27,6 @@ class CommentNewIndicatorTest extends CommentTestBase {
    */
   public static $modules = array('views');
 
-  public static function getInfo() {
-    return array(
-      'name' => "Comment 'new' indicator",
-      'description' => "Tests the 'new' indicator posted on comments.",
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Get node "x new comments" metadata from the server for the current user.
    *
diff --git a/core/modules/comment/src/Tests/CommentNodeAccessTest.php b/core/modules/comment/src/Tests/CommentNodeAccessTest.php
index dd9b6e1ad576..e13c4e742449 100644
--- a/core/modules/comment/src/Tests/CommentNodeAccessTest.php
+++ b/core/modules/comment/src/Tests/CommentNodeAccessTest.php
@@ -14,6 +14,8 @@
  *
  * Verifies there is no PostgreSQL error when viewing a node with threaded
  * comments (a comment and a reply), if a node access module is in use.
+ *
+ * @group comment
  */
 class CommentNodeAccessTest extends CommentTestBase {
 
@@ -24,14 +26,6 @@ class CommentNodeAccessTest extends CommentTestBase {
    */
   public static $modules = array('node_access_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment node access',
-      'description' => 'Test comment viewing with node access.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentNodeChangesTest.php b/core/modules/comment/src/Tests/CommentNodeChangesTest.php
index 33c481355763..6f3f67aa8c25 100644
--- a/core/modules/comment/src/Tests/CommentNodeChangesTest.php
+++ b/core/modules/comment/src/Tests/CommentNodeChangesTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests that comments behave correctly when the node is changed.
+ *
+ * @group comment
  */
 class CommentNodeChangesTest extends CommentTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment deletion on node changes',
-      'description' => 'Tests that comments behave correctly when the node is changed.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests that comments are deleted with the node.
    */
diff --git a/core/modules/comment/src/Tests/CommentNonNodeTest.php b/core/modules/comment/src/Tests/CommentNonNodeTest.php
index f4f6feca32a2..870c908becba 100644
--- a/core/modules/comment/src/Tests/CommentNonNodeTest.php
+++ b/core/modules/comment/src/Tests/CommentNonNodeTest.php
@@ -15,7 +15,9 @@
 use Drupal\Core\Entity\EntityInterface;
 
 /**
- * Tests basic comment functionality against the entity_test entity type.
+ * Tests commenting on a test entity.
+ *
+ * @group comment
  */
 class CommentNonNodeTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class CommentNonNodeTest extends WebTestBase {
    */
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment non-node tests',
-      'description' => 'Test commenting on a test entity.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentPagerTest.php b/core/modules/comment/src/Tests/CommentPagerTest.php
index b677ce5ccd10..5b34b5357591 100644
--- a/core/modules/comment/src/Tests/CommentPagerTest.php
+++ b/core/modules/comment/src/Tests/CommentPagerTest.php
@@ -10,17 +10,11 @@
 use Drupal\comment\CommentManagerInterface;
 
 /**
- * Verifies pagination of comments.
+ * Tests paging of comments and their settings.
+ *
+ * @group comment
  */
 class CommentPagerTest extends CommentTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment paging settings',
-      'description' => 'Test paging of comments and their settings.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Confirms comment paging works correctly with flat and threaded comments.
    */
diff --git a/core/modules/comment/src/Tests/CommentPreviewTest.php b/core/modules/comment/src/Tests/CommentPreviewTest.php
index 975d546aac5f..17842ee3a77d 100644
--- a/core/modules/comment/src/Tests/CommentPreviewTest.php
+++ b/core/modules/comment/src/Tests/CommentPreviewTest.php
@@ -12,7 +12,9 @@
 use Drupal\comment\Entity\Comment;
 
 /**
- * Tests previewing comments.
+ * Tests comment preview.
+ *
+ * @group comment
  */
 class CommentPreviewTest extends CommentTestBase {
 
@@ -25,14 +27,6 @@ class CommentPreviewTest extends CommentTestBase {
    */
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment preview',
-      'description' => 'Test comment preview.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests comment preview.
    */
diff --git a/core/modules/comment/src/Tests/CommentRssTest.php b/core/modules/comment/src/Tests/CommentRssTest.php
index c58ada7bcef4..6c0cec1d4e44 100644
--- a/core/modules/comment/src/Tests/CommentRssTest.php
+++ b/core/modules/comment/src/Tests/CommentRssTest.php
@@ -10,7 +10,9 @@
 use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
 
 /**
- * Tests for Comment module integration with RSS feeds.
+ * Tests comments as part of an RSS feed.
+ *
+ * @group comment
  */
 class CommentRssTest extends CommentTestBase {
 
@@ -21,14 +23,6 @@ class CommentRssTest extends CommentTestBase {
    */
   public static $modules = array('views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment RSS',
-      'description' => 'Test comments as part of an RSS feed.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests comments as part of an RSS feed.
    */
diff --git a/core/modules/comment/src/Tests/CommentStatisticsTest.php b/core/modules/comment/src/Tests/CommentStatisticsTest.php
index bf882924fe6c..1ddd79cb98ec 100644
--- a/core/modules/comment/src/Tests/CommentStatisticsTest.php
+++ b/core/modules/comment/src/Tests/CommentStatisticsTest.php
@@ -11,18 +11,12 @@
 use Drupal\comment\Entity\Comment;
 
 /**
- * Tests the comment module administrative and end-user-facing interfaces.
+ * Tests comment statistics on nodes.
+ *
+ * @group comment
  */
 class CommentStatisticsTest extends CommentTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment statistics',
-      'description' => 'Test comment statistics on nodes.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/CommentStringIdEntitiesTest.php b/core/modules/comment/src/Tests/CommentStringIdEntitiesTest.php
index e1be25d978f1..88c2d904da54 100644
--- a/core/modules/comment/src/Tests/CommentStringIdEntitiesTest.php
+++ b/core/modules/comment/src/Tests/CommentStringIdEntitiesTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests that comment fields cannot be added to entities with non-integer IDs.
+ *
+ * @group comment
  */
 class CommentStringIdEntitiesTest extends KernelTestBase {
 
@@ -30,14 +32,6 @@ class CommentStringIdEntitiesTest extends KernelTestBase {
     'text',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comments on Entity Types with string IDs',
-      'description' => 'Test that comment fields cannot be added to entities with non-integer IDs',
-      'group' => 'Comment',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('comment');
diff --git a/core/modules/comment/src/Tests/CommentThreadingTest.php b/core/modules/comment/src/Tests/CommentThreadingTest.php
index 6656dc316231..d944797bef8a 100644
--- a/core/modules/comment/src/Tests/CommentThreadingTest.php
+++ b/core/modules/comment/src/Tests/CommentThreadingTest.php
@@ -10,17 +10,11 @@
 use Drupal\comment\CommentManagerInterface;
 
 /**
- * Tests comment threading.
+ * Tests to make sure the comment number increments properly.
+ *
+ * @group comment
  */
 class CommentThreadingTest extends CommentTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment Threading',
-      'description' => 'Test to make sure the comment number increments properly.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests the comment threading.
    */
diff --git a/core/modules/comment/src/Tests/CommentTitleTest.php b/core/modules/comment/src/Tests/CommentTitleTest.php
index d0b6b408a091..770350f291e5 100644
--- a/core/modules/comment/src/Tests/CommentTitleTest.php
+++ b/core/modules/comment/src/Tests/CommentTitleTest.php
@@ -8,17 +8,12 @@
 namespace Drupal\comment\Tests;
 
 /**
- * Tests comment titles.
+ * Tests to ensure that appropriate and accessible markup is created for comment
+ * titles.
+ *
+ * @group comment
  */
 class CommentTitleTest extends CommentTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment titles',
-      'description' => 'Test to ensure that appropriate and accessible markup is created for comment titles.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests markup for comments with empty titles.
    */
diff --git a/core/modules/comment/src/Tests/CommentTokenReplaceTest.php b/core/modules/comment/src/Tests/CommentTokenReplaceTest.php
index f4e06697126a..1e4ac3a8445d 100644
--- a/core/modules/comment/src/Tests/CommentTokenReplaceTest.php
+++ b/core/modules/comment/src/Tests/CommentTokenReplaceTest.php
@@ -12,17 +12,12 @@
 use Drupal\comment\Entity\Comment;
 
 /**
- * Tests comment token replacement in strings.
+ * Generates text using placeholders for dummy content to check comment token
+ * replacement.
+ *
+ * @group comment
  */
 class CommentTokenReplaceTest extends CommentTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check comment token replacement.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Creates a comment, then tests the tokens generated from it.
    */
diff --git a/core/modules/comment/src/Tests/CommentTranslationUITest.php b/core/modules/comment/src/Tests/CommentTranslationUITest.php
index 7314c30d6ae2..736b92925e86 100644
--- a/core/modules/comment/src/Tests/CommentTranslationUITest.php
+++ b/core/modules/comment/src/Tests/CommentTranslationUITest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the Comment Translation UI.
+ *
+ * @group comment
  */
 class CommentTranslationUITest extends ContentTranslationUITest {
 
@@ -28,14 +30,6 @@ class CommentTranslationUITest extends ContentTranslationUITest {
    */
   public static $modules = array('language', 'content_translation', 'node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment translation UI',
-      'description' => 'Tests the basic comment translation UI.',
-      'group' => 'Comment',
-    );
-  }
-
   function setUp() {
     $this->entityTypeId = 'comment';
     $this->nodeBundle = 'article';
diff --git a/core/modules/comment/src/Tests/CommentTypeTest.php b/core/modules/comment/src/Tests/CommentTypeTest.php
index fb040b7b0f0e..a88f714eca07 100644
--- a/core/modules/comment/src/Tests/CommentTypeTest.php
+++ b/core/modules/comment/src/Tests/CommentTypeTest.php
@@ -14,7 +14,9 @@
 use Drupal\node\Entity\Node;
 
 /**
- * Tests related to custom comment types.
+ * Ensures that comment type functions work correctly.
+ *
+ * @group comment
  */
 class CommentTypeTest extends CommentTestBase {
 
@@ -44,17 +46,6 @@ public function setUp() {
     $this->adminUser = $this->drupalCreateUser($this->permissions);
   }
 
-  /**
-   * Declares test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment types',
-      'description' => 'Ensures that comment type functions work correctly.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Tests creating a comment type programmatically and via a form.
    */
diff --git a/core/modules/comment/src/Tests/CommentUninstallTest.php b/core/modules/comment/src/Tests/CommentUninstallTest.php
index 5be58c8c1973..db58aea35937 100644
--- a/core/modules/comment/src/Tests/CommentUninstallTest.php
+++ b/core/modules/comment/src/Tests/CommentUninstallTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests comment module uninstallation.
+ *
+ * @group comment
  */
 class CommentUninstallTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class CommentUninstallTest extends WebTestBase {
    */
   public static $modules = array('comment', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment uninstallation',
-      'description' => 'Tests comment module uninstallation.',
-      'group' => 'Comment',
-    );
-  }
-
   protected function setUp() {
     parent::setup();
 
diff --git a/core/modules/comment/src/Tests/CommentValidationTest.php b/core/modules/comment/src/Tests/CommentValidationTest.php
index b705b16031ee..d150da08b1b8 100644
--- a/core/modules/comment/src/Tests/CommentValidationTest.php
+++ b/core/modules/comment/src/Tests/CommentValidationTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests comment validation constraints.
+ *
+ * @group comment
  */
 class CommentValidationTest extends EntityUnitTestBase {
 
@@ -22,17 +24,6 @@ class CommentValidationTest extends EntityUnitTestBase {
    */
   public static $modules = array('comment', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment Validation',
-      'description' => 'Tests the comment validation constraints.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/src/Tests/Views/ArgumentUserUIDTest.php b/core/modules/comment/src/Tests/Views/ArgumentUserUIDTest.php
index 090385873b12..040c595affb5 100644
--- a/core/modules/comment/src/Tests/Views/ArgumentUserUIDTest.php
+++ b/core/modules/comment/src/Tests/Views/ArgumentUserUIDTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the argument_comment_user_uid handler.
+ * Tests the user posted or commented argument handler.
+ *
+ * @group comment
  */
 class ArgumentUserUIDTest extends CommentTestBase {
 
@@ -21,14 +23,6 @@ class ArgumentUserUIDTest extends CommentTestBase {
    */
   public static $testViews = array('test_comment_user_uid');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment: User UID Argument',
-      'description' => 'Tests the user posted or commented argument handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   function testCommentUserUIDTest() {
     $view = Views::getView('test_comment_user_uid');
     $this->executeView($view, array($this->account->id()));
diff --git a/core/modules/comment/src/Tests/Views/CommentRowTest.php b/core/modules/comment/src/Tests/Views/CommentRowTest.php
index e4b2065abc52..8fa08c45aa8c 100644
--- a/core/modules/comment/src/Tests/Views/CommentRowTest.php
+++ b/core/modules/comment/src/Tests/Views/CommentRowTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the comment row plugin.
+ *
+ * @group comment
  */
 class CommentRowTest extends CommentTestBase {
 
@@ -19,14 +21,6 @@ class CommentRowTest extends CommentTestBase {
    */
   public static $testViews = array('test_comment_row');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment: Row Plugin',
-      'description' => 'Tests the comment row plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Test comment row.
    */
diff --git a/core/modules/comment/src/Tests/Views/DefaultViewRecentCommentsTest.php b/core/modules/comment/src/Tests/Views/DefaultViewRecentCommentsTest.php
index b6fdce382c6f..e72c2d63da52 100644
--- a/core/modules/comment/src/Tests/Views/DefaultViewRecentCommentsTest.php
+++ b/core/modules/comment/src/Tests/Views/DefaultViewRecentCommentsTest.php
@@ -12,7 +12,9 @@
 use Drupal\views\Tests\ViewTestBase;
 
 /**
- * Tests the Recent Comments default view.
+ * Tests results for the Recent Comments view shipped with the module.
+ *
+ * @group comment
  */
 class DefaultViewRecentCommentsTest extends ViewTestBase {
 
@@ -58,14 +60,6 @@ class DefaultViewRecentCommentsTest extends ViewTestBase {
    */
   public $node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default View - Recent Comments',
-      'description' => 'Test results for the Recent Comments view shipped with the module',
-      'group' => 'Views Config',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/comment/src/Tests/Views/FilterUserUIDTest.php b/core/modules/comment/src/Tests/Views/FilterUserUIDTest.php
index 95efc48e42b1..92e40c7b7a47 100644
--- a/core/modules/comment/src/Tests/Views/FilterUserUIDTest.php
+++ b/core/modules/comment/src/Tests/Views/FilterUserUIDTest.php
@@ -10,9 +10,11 @@
 use Drupal\views\Views;
 
 /**
- * Tests the filter_comment_user_uid handler.
+ * Tests the user posted or commented filter handler.
  *
  * The actual stuff is done in the parent class.
+ *
+ * @group comment
  */
 class FilterUserUIDTest extends CommentTestBase {
 
@@ -23,14 +25,6 @@ class FilterUserUIDTest extends CommentTestBase {
    */
   public static $testViews = array('test_comment_user_uid');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment: User UID Filter',
-      'description' => 'Tests the user posted or commented filter handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   function testCommentUserUIDTest() {
     $view = Views::getView('test_comment_user_uid');
     $view->setDisplay();
diff --git a/core/modules/comment/src/Tests/Views/RowRssTest.php b/core/modules/comment/src/Tests/Views/RowRssTest.php
index 2cee7a1ea84e..89b9c1b6980b 100644
--- a/core/modules/comment/src/Tests/Views/RowRssTest.php
+++ b/core/modules/comment/src/Tests/Views/RowRssTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the comment rss row plugin.
  *
+ * @group comment
  * @see \Drupal\comment\Plugin\views\row\Rss
  */
 class RowRssTest extends CommentTestBase {
@@ -21,14 +22,6 @@ class RowRssTest extends CommentTestBase {
    */
   public static $testViews = array('test_comment_rss');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment: Rss Row',
-      'description' => 'Tests the comment rss row plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Test comment rss output.
    */
diff --git a/core/modules/comment/src/Tests/Views/WizardTest.php b/core/modules/comment/src/Tests/Views/WizardTest.php
index 6ced3f69cb63..f7011a7c121e 100644
--- a/core/modules/comment/src/Tests/Views/WizardTest.php
+++ b/core/modules/comment/src/Tests/Views/WizardTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the comment module integration into the wizard.
  *
+ * @group comment
  * @see \Drupal\comment\Plugin\views\wizard\Comment
  */
 class WizardTest extends WizardTestBase {
@@ -25,14 +26,6 @@ class WizardTest extends WizardTestBase {
   public static $modules = array('node', 'comment');
 
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment: Wizard',
-      'description' => 'Tests the comment module integration into the wizard.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/tests/src/CommentStatisticsUnitTest.php b/core/modules/comment/tests/src/CommentStatisticsUnitTest.php
index 49933a77955d..71d42cd03f1f 100644
--- a/core/modules/comment/tests/src/CommentStatisticsUnitTest.php
+++ b/core/modules/comment/tests/src/CommentStatisticsUnitTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CommentStatistics service.
- *
- * @see \Drupal\comment\CommentStatistics
+ * @coversDefaultClass \Drupal\comment\CommentStatistics
+ * @group comment
  */
 class CommentStatisticsUnitTest extends UnitTestCase {
 
@@ -52,14 +51,6 @@ class CommentStatisticsUnitTest extends UnitTestCase {
    */
   protected $calls_to_fetch;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment statistics test',
-      'description' => 'Tests the comment statistics service.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Sets up required mocks and the CommentStatistics service under test.
    */
diff --git a/core/modules/comment/tests/src/Entity/CommentLockTest.php b/core/modules/comment/tests/src/Entity/CommentLockTest.php
index 887d3ca5e1e8..7f667ff07d0d 100644
--- a/core/modules/comment/tests/src/Entity/CommentLockTest.php
+++ b/core/modules/comment/tests/src/Entity/CommentLockTest.php
@@ -11,24 +11,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Unit tests for the comment entity lock behavior.
+ * Tests comment acquires and releases the right lock.
  *
- * @group Drupal
- * @group Comment
+ * @group comment
  */
 class CommentLockTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment locks',
-      'description' => 'Test comment acquires and releases the right lock.',
-      'group' => 'Comment',
-    );
-  }
-
   /**
    * Test the lock behavior.
    */
diff --git a/core/modules/config/src/Tests/ConfigCRUDTest.php b/core/modules/config/src/Tests/ConfigCRUDTest.php
index dc6de3602048..122843e9270b 100644
--- a/core/modules/config/src/Tests/ConfigCRUDTest.php
+++ b/core/modules/config/src/Tests/ConfigCRUDTest.php
@@ -17,6 +17,8 @@
 
 /**
  * Tests CRUD operations on configuration objects.
+ *
+ * @group config
  */
 class ConfigCRUDTest extends DrupalUnitTestBase {
 
@@ -27,14 +29,6 @@ class ConfigCRUDTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CRUD operations',
-      'description' => 'Tests CRUD operations on configuration objects.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests CRUD operations.
    */
diff --git a/core/modules/config/src/Tests/ConfigDependencyTest.php b/core/modules/config/src/Tests/ConfigDependencyTest.php
index 0cb93e8ffb18..52c8cea2ec98 100644
--- a/core/modules/config/src/Tests/ConfigDependencyTest.php
+++ b/core/modules/config/src/Tests/ConfigDependencyTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Unit tests for configuration controllers and objects.
+ * Tests for configuration dependencies.
+ *
+ * @group config
  */
 class ConfigDependencyTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class ConfigDependencyTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration dependency tests',
-      'description' => 'Tests for configuration dependencies.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests that calculating dependencies for system module.
    */
diff --git a/core/modules/config/src/Tests/ConfigDiffTest.php b/core/modules/config/src/Tests/ConfigDiffTest.php
index fc9dc408d5d4..960eb3c80340 100644
--- a/core/modules/config/src/Tests/ConfigDiffTest.php
+++ b/core/modules/config/src/Tests/ConfigDiffTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests config snapshot creation and updating.
+ * Calculating the difference between two sets of configuration.
+ *
+ * @group config
  */
 class ConfigDiffTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class ConfigDiffTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_test', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Diff functionality',
-      'description' => 'Calculating the difference between two sets of configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests calculating the difference between two sets of configuration.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php b/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
index 1660fcc14fa2..5ccd8ff612e3 100644
--- a/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests that config overrides do not bleed through in entity forms.
+ *
+ * @group config
  */
 class ConfigEntityFormOverrideTest extends WebTestBase {
 
@@ -19,17 +21,6 @@ class ConfigEntityFormOverrideTest extends WebTestBase {
    */
   public static $modules = array('config_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Config entity form overrides',
-      'description' => 'Tests that config overrides do not affect entity forms.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests that overrides do not affect forms.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityListTest.php b/core/modules/config/src/Tests/ConfigEntityListTest.php
index e55f84ddee25..b0818b9ae419 100644
--- a/core/modules/config/src/Tests/ConfigEntityListTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityListTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the listing of configuration entities.
+ *
+ * @group config
  */
 class ConfigEntityListTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class ConfigEntityListTest extends WebTestBase {
    */
   public static $modules = array('config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity list',
-      'description' => 'Tests the listing of configuration entities.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests entity list builder methods.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityStatusTest.php b/core/modules/config/src/Tests/ConfigEntityStatusTest.php
index 5519de5f1e56..21c782835fc6 100644
--- a/core/modules/config/src/Tests/ConfigEntityStatusTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityStatusTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests configuration entity status functionality.
+ *
+ * @group config
  */
 class ConfigEntityStatusTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class ConfigEntityStatusTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity status',
-      'description' => 'Tests configuration entity status functionality.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests the enabling/disabling of entities.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php b/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
index 89f5b00031d9..a4ae9539f8c3 100644
--- a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
+++ b/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests configuration entity status UI functionality.
+ *
+ * @group config
  */
 class ConfigEntityStatusUITest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class ConfigEntityStatusUITest extends WebTestBase {
    */
   public static $modules = array('config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity status UI',
-      'description' => 'Tests configuration entity status UI functionality.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests status operations.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityStorageTest.php b/core/modules/config/src/Tests/ConfigEntityStorageTest.php
index 854882e7c590..600d220566f4 100644
--- a/core/modules/config/src/Tests/ConfigEntityStorageTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityStorageTest.php
@@ -11,7 +11,10 @@
 use Drupal\Core\Config\ConfigDuplicateUUIDException;
 
 /**
- * Tests importing config entity data when the ID or UUID matches existing data.
+ * Tests staging and importing config entities with IDs and UUIDs that match
+ * existing config.
+ *
+ * @group config
  */
 class ConfigEntityStorageTest extends DrupalUnitTestBase {
 
@@ -22,14 +25,6 @@ class ConfigEntityStorageTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity UUID conflict',
-      'description' => 'Tests staging and importing config entities with IDs and UUIDs that match existing config.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests importing fields and instances with changed IDs or UUIDs.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityTest.php b/core/modules/config/src/Tests/ConfigEntityTest.php
index 4af599129232..f444868f38ab 100644
--- a/core/modules/config/src/Tests/ConfigEntityTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityTest.php
@@ -16,6 +16,8 @@
 
 /**
  * Tests configuration entities.
+ *
+ * @group config
  */
 class ConfigEntityTest extends WebTestBase {
 
@@ -31,14 +33,6 @@ class ConfigEntityTest extends WebTestBase {
    */
   public static $modules = array('config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entities',
-      'description' => 'Tests configuration entities.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests CRUD operations.
    */
diff --git a/core/modules/config/src/Tests/ConfigEntityUnitTest.php b/core/modules/config/src/Tests/ConfigEntityUnitTest.php
index 98008272c6b5..4a3574ae7c98 100644
--- a/core/modules/config/src/Tests/ConfigEntityUnitTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityUnitTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Unit tests for configuration controllers and objects.
+ * Unit tests for configuration entity base methods.
+ *
+ * @group config
  */
 class ConfigEntityUnitTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class ConfigEntityUnitTest extends DrupalUnitTestBase {
    */
   protected $storage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity methods',
-      'description' => 'Unit tests for configuration entity base methods.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/config/src/Tests/ConfigEventsTest.php b/core/modules/config/src/Tests/ConfigEventsTest.php
index 27e88452c973..93ef6275f1da 100644
--- a/core/modules/config/src/Tests/ConfigEventsTest.php
+++ b/core/modules/config/src/Tests/ConfigEventsTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests CRUD operations on configuration objects.
+ * Tests events fired on configuration objects.
+ *
+ * @group config
  */
 class ConfigEventsTest extends DrupalUnitTestBase {
 
@@ -23,14 +25,6 @@ class ConfigEventsTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_events_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Config events',
-      'description' => 'Tests events fired on configuration objects.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests configuration events.
    */
diff --git a/core/modules/config/src/Tests/ConfigExportImportUITest.php b/core/modules/config/src/Tests/ConfigExportImportUITest.php
index baa12f5199a1..bd0c70f7a41a 100644
--- a/core/modules/config/src/Tests/ConfigExportImportUITest.php
+++ b/core/modules/config/src/Tests/ConfigExportImportUITest.php
@@ -11,11 +11,13 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Performs various configuration import/export scenarios through the UI.
+ * Tests the user interface for importing/exporting configuration.
  *
  * Each testX method does a complete rebuild of a Drupal site, so values being
  * tested need to be stored in protected properties in order to survive until
  * the next rebuild.
+ *
+ * @group config
  */
 class ConfigExportImportUITest extends WebTestBase {
 
@@ -33,17 +35,6 @@ class ConfigExportImportUITest extends WebTestBase {
    */
   public static $modules = array('config', 'node', 'field');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Export/import UI',
-      'description' => 'Tests the user interface for importing/exporting configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/config/src/Tests/ConfigExportUITest.php b/core/modules/config/src/Tests/ConfigExportUITest.php
index 172804c9b419..fe3ae8d24840 100644
--- a/core/modules/config/src/Tests/ConfigExportUITest.php
+++ b/core/modules/config/src/Tests/ConfigExportUITest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests exporting configuration from active store in files.
+ * Tests the user interface for exporting configuration.
+ *
+ * @group config
  */
 class ConfigExportUITest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class ConfigExportUITest extends WebTestBase {
    */
   public static $modules = array('config', 'config_test', 'config_export_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Export UI',
-      'description' => 'Tests the user interface for exporting configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/config/src/Tests/ConfigFileContentTest.php b/core/modules/config/src/Tests/ConfigFileContentTest.php
index a73155da15f0..0cc51dd7e834 100644
--- a/core/modules/config/src/Tests/ConfigFileContentTest.php
+++ b/core/modules/config/src/Tests/ConfigFileContentTest.php
@@ -11,17 +11,11 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests reading and writing file contents.
+ * Tests reading and writing of configuration files.
+ *
+ * @group config
  */
 class ConfigFileContentTest extends DrupalUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File content',
-      'description' => 'Tests reading and writing of configuration files.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests setting, writing, and reading of a configuration setting.
    */
diff --git a/core/modules/config/src/Tests/ConfigFormOverrideTest.php b/core/modules/config/src/Tests/ConfigFormOverrideTest.php
index 3d908ce8a2f5..00aaa22bd1f4 100644
--- a/core/modules/config/src/Tests/ConfigFormOverrideTest.php
+++ b/core/modules/config/src/Tests/ConfigFormOverrideTest.php
@@ -12,21 +12,11 @@
 /**
  * Tests config overrides do not appear on forms that extend ConfigFormBase.
  *
+ * @group config
  * @see \Drupal\Core\Form\ConfigFormBase
  */
 class ConfigFormOverrideTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Config form overrides',
-      'description' => 'Tests config overrides do not appear on forms that extend ConfigFormBase.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests that overrides do not affect forms.
    */
diff --git a/core/modules/config/src/Tests/ConfigImportAllTest.php b/core/modules/config/src/Tests/ConfigImportAllTest.php
index 83100f33d1e1..0a7216b5ca17 100644
--- a/core/modules/config/src/Tests/ConfigImportAllTest.php
+++ b/core/modules/config/src/Tests/ConfigImportAllTest.php
@@ -11,7 +11,10 @@
 use Drupal\system\Tests\Module\ModuleTestBase;
 
 /**
- * Tests importing all configuration from Standard profile and all core modules.
+ * Tests the largest configuration import possible with the modules and profiles
+ * provided by core.
+ *
+ * @group config
  */
 class ConfigImportAllTest extends ModuleTestBase {
 
@@ -24,14 +27,6 @@ class ConfigImportAllTest extends ModuleTestBase {
    */
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import configuration from all modules and the standard profile',
-      'description' => 'Tests the largest configuration import possible with the modules and profiles provided by core.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigImportRecreateTest.php b/core/modules/config/src/Tests/ConfigImportRecreateTest.php
index 9afec8cfc08b..9e58ee65e79d 100644
--- a/core/modules/config/src/Tests/ConfigImportRecreateTest.php
+++ b/core/modules/config/src/Tests/ConfigImportRecreateTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests importing recreated configuration entities.
+ *
+ * @group config
  */
 class ConfigImportRecreateTest extends DrupalUnitTestBase {
 
@@ -31,14 +33,6 @@ class ConfigImportRecreateTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'entity', 'field', 'text', 'user', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import renamed configuration',
-      'description' => 'Tests importing renamed configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigImportRenameValidationTest.php b/core/modules/config/src/Tests/ConfigImportRenameValidationTest.php
index 7e8024ac7522..a0bbb67e4e53 100644
--- a/core/modules/config/src/Tests/ConfigImportRenameValidationTest.php
+++ b/core/modules/config/src/Tests/ConfigImportRenameValidationTest.php
@@ -17,6 +17,8 @@
 
 /**
  * Tests validating renamed configuration in a configuration import.
+ *
+ * @group config
  */
 class ConfigImportRenameValidationTest extends DrupalUnitTestBase {
 
@@ -34,17 +36,6 @@ class ConfigImportRenameValidationTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'user', 'node', 'field', 'text', 'entity', 'config_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration import rename validation',
-      'description' => 'Tests validating renamed configuration in a configuration import.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/config/src/Tests/ConfigImportUITest.php b/core/modules/config/src/Tests/ConfigImportUITest.php
index 62a28ed5c1e0..1c301d62d731 100644
--- a/core/modules/config/src/Tests/ConfigImportUITest.php
+++ b/core/modules/config/src/Tests/ConfigImportUITest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests importing configuration from files into active store.
+ * Tests the user interface for importing/exporting configuration.
+ *
+ * @group config
  */
 class ConfigImportUITest extends WebTestBase {
 
@@ -20,14 +22,6 @@ class ConfigImportUITest extends WebTestBase {
   // correctly.
   public static $modules = array('config', 'config_test', 'config_import_test', 'text', 'options');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import UI',
-      'description' => 'Tests the user interface for importing/exporting configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigImportUploadTest.php b/core/modules/config/src/Tests/ConfigImportUploadTest.php
index 025c2f467e5f..59ec37ecef2d 100644
--- a/core/modules/config/src/Tests/ConfigImportUploadTest.php
+++ b/core/modules/config/src/Tests/ConfigImportUploadTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests importing configuration from an uploaded file.
+ *
+ * @group config
  */
 class ConfigImportUploadTest extends WebTestBase {
 
   public static $modules = array('config');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import uploaded config',
-      'description' => 'Tests importing configuration from an uploaded file.',
-      'group' => 'Configuration'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigImporterTest.php b/core/modules/config/src/Tests/ConfigImporterTest.php
index ca4d7044dde6..9c7fa14254b4 100644
--- a/core/modules/config/src/Tests/ConfigImporterTest.php
+++ b/core/modules/config/src/Tests/ConfigImporterTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests importing configuration from files into active configuration.
+ *
+ * @group config
  */
 class ConfigImporterTest extends DrupalUnitTestBase {
 
@@ -32,14 +34,6 @@ class ConfigImporterTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_test', 'system', 'config_import_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Import configuration',
-      'description' => 'Tests importing configuration from files into active configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigInstallTest.php b/core/modules/config/src/Tests/ConfigInstallTest.php
index b25f92c2dc1d..b7eefd320f3b 100644
--- a/core/modules/config/src/Tests/ConfigInstallTest.php
+++ b/core/modules/config/src/Tests/ConfigInstallTest.php
@@ -12,17 +12,10 @@
 /**
  * Tests installation of configuration objects in installation functionality.
  *
+ * @group config
  * @see \Drupal\Core\Config\ConfigInstaller
  */
 class ConfigInstallTest extends DrupalUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Installation functionality unit tests',
-      'description' => 'Tests installation of configuration objects in installation functionality.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigInstallWebTest.php b/core/modules/config/src/Tests/ConfigInstallWebTest.php
index a3be6964768f..59a4a22b5d0f 100644
--- a/core/modules/config/src/Tests/ConfigInstallWebTest.php
+++ b/core/modules/config/src/Tests/ConfigInstallWebTest.php
@@ -12,17 +12,12 @@
 use Drupal\Core\Config\FileStorage;
 
 /**
- * Tests installation of configuration objects in installation functionality.
+ * Tests installation and removal of configuration objects in install, disable
+ * and uninstall functionality.
+ *
+ * @group config
  */
 class ConfigInstallWebTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Install, disable and uninstall functionality',
-      'description' => 'Tests installation and removal of configuration objects in install, disable and uninstall functionality.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php
index e0d5b6bafc70..fe76f8f926fc 100644
--- a/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php
+++ b/core/modules/config/src/Tests/ConfigLanguageOverrideTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests language config override.
+ * Confirm that language overrides work.
+ *
+ * @group config
  */
 class ConfigLanguageOverrideTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class ConfigLanguageOverrideTest extends DrupalUnitTestBase {
    */
   public static $modules = array('user', 'language', 'config_test',  'system', 'field');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language override',
-      'description' => 'Confirm that language overrides work',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installConfig(array('config_test'));
diff --git a/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php b/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php
index 5a3d85cc053e..8607ac1ef5a1 100644
--- a/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php
+++ b/core/modules/config/src/Tests/ConfigLanguageOverrideWebTest.php
@@ -11,20 +11,14 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests language overrides in configuration through the request.
+ * Tests language overrides applied through the website.
+ *
+ * @group config
  */
 class ConfigLanguageOverrideWebTest extends WebTestBase {
 
   public static $modules = array('language', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language overrides through the request',
-      'description' => 'Tests language overrides applied through the website.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
   }
diff --git a/core/modules/config/src/Tests/ConfigModuleOverridesTest.php b/core/modules/config/src/Tests/ConfigModuleOverridesTest.php
index 1c358c53c5ea..a5a51019fa61 100644
--- a/core/modules/config/src/Tests/ConfigModuleOverridesTest.php
+++ b/core/modules/config/src/Tests/ConfigModuleOverridesTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests module overrides of configuration using event subscribers.
+ *
+ * @group config
  */
 class ConfigModuleOverridesTest extends DrupalUnitTestBase {
 
   public static $modules = array('system', 'config', 'config_override_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module overrides',
-      'description' => 'Tests that modules can override configuration with event subscribers.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function testSimpleModuleOverrides() {
     $GLOBALS['config_test_run_module_overrides'] = TRUE;
     $name = 'system.site';
diff --git a/core/modules/config/src/Tests/ConfigOtherModuleTest.php b/core/modules/config/src/Tests/ConfigOtherModuleTest.php
index c819cb699049..c0d7b95b1644 100644
--- a/core/modules/config/src/Tests/ConfigOtherModuleTest.php
+++ b/core/modules/config/src/Tests/ConfigOtherModuleTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests default configuration provided by a module that does not own it.
+ *
+ * @group config
  */
 class ConfigOtherModuleTest extends WebTestBase {
 
@@ -19,14 +21,6 @@ class ConfigOtherModuleTest extends WebTestBase {
    */
   protected $moduleHandler;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default configuration owner',
-      'description' => 'Tests default configuration provided by a module that does not own it.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Sets up the module handler for enabling and disabling modules.
    */
diff --git a/core/modules/config/src/Tests/ConfigOverrideTest.php b/core/modules/config/src/Tests/ConfigOverrideTest.php
index 7359a3533186..e557298da757 100644
--- a/core/modules/config/src/Tests/ConfigOverrideTest.php
+++ b/core/modules/config/src/Tests/ConfigOverrideTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests configuration overrides via $config in settings.php.
+ *
+ * @group config
  */
 class ConfigOverrideTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class ConfigOverrideTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration overrides',
-      'description' => 'Tests configuration overrides via $config in settings.php.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->copyConfig($this->container->get('config.storage'), $this->container->get('config.storage.staging'));
diff --git a/core/modules/config/src/Tests/ConfigOverridesPriorityTest.php b/core/modules/config/src/Tests/ConfigOverridesPriorityTest.php
index 44a4180c3add..71b3599f97d6 100644
--- a/core/modules/config/src/Tests/ConfigOverridesPriorityTest.php
+++ b/core/modules/config/src/Tests/ConfigOverridesPriorityTest.php
@@ -11,20 +11,15 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests module overrides of configuration using event subscribers.
+ * Tests that language, module and settings.php are applied in the correct
+ * order.
+ *
+ * @group config
  */
 class ConfigOverridesPriorityTest extends DrupalUnitTestBase {
 
   public static $modules = array('system', 'config', 'config_override_test', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Override priority',
-      'description' => 'Tests that language, module and settings.php are applied in the correct order.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function testOverridePriorities() {
     $GLOBALS['config_test_run_module_overrides'] = FALSE;
 
diff --git a/core/modules/config/src/Tests/ConfigSchemaTest.php b/core/modules/config/src/Tests/ConfigSchemaTest.php
index c8ebb9bc40c8..7401247700dd 100644
--- a/core/modules/config/src/Tests/ConfigSchemaTest.php
+++ b/core/modules/config/src/Tests/ConfigSchemaTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests schema for configuration objects.
+ *
+ * @group config
  */
 class ConfigSchemaTest extends DrupalUnitTestBase {
 
@@ -25,14 +27,6 @@ class ConfigSchemaTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'language', 'locale', 'field', 'image', 'config_schema_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration schema',
-      'description' => 'Tests Metadata for configuration objects.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installConfig(array('system', 'image', 'config_schema_test'));
diff --git a/core/modules/config/src/Tests/ConfigSingleImportExportTest.php b/core/modules/config/src/Tests/ConfigSingleImportExportTest.php
index 7eb4bff58b6b..5609f8f588fd 100644
--- a/core/modules/config/src/Tests/ConfigSingleImportExportTest.php
+++ b/core/modules/config/src/Tests/ConfigSingleImportExportTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the user interface for importing/exporting a single configuration.
+ *
+ * @group config
  */
 class ConfigSingleImportExportTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class ConfigSingleImportExportTest extends WebTestBase {
    */
   public static $modules = array('config', 'config_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Single Import/Export UI',
-      'description' => 'Tests the user interface for importing/exporting a single configuration.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests importing a single configuration file.
    */
diff --git a/core/modules/config/src/Tests/ConfigSnapshotTest.php b/core/modules/config/src/Tests/ConfigSnapshotTest.php
index 51ca8c9bc786..833f6be5900b 100644
--- a/core/modules/config/src/Tests/ConfigSnapshotTest.php
+++ b/core/modules/config/src/Tests/ConfigSnapshotTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests config snapshot creation and updating.
+ *
+ * @group config
  */
 class ConfigSnapshotTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class ConfigSnapshotTest extends DrupalUnitTestBase {
    */
   public static $modules = array('config_test', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Snapshot functionality',
-      'description' => 'Config snapshot creation and updating.',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Update the config snapshot. This allows the parent::setUp() to write
diff --git a/core/modules/config/src/Tests/DefaultConfigTest.php b/core/modules/config/src/Tests/DefaultConfigTest.php
index f4ef065c4da6..3edbc7c73071 100644
--- a/core/modules/config/src/Tests/DefaultConfigTest.php
+++ b/core/modules/config/src/Tests/DefaultConfigTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\KernelTestBase;
 
 /**
- * Tests default configuration availability and type with configuration schema.
+ * Tests that default configuration provided by all modules matches schema.
+ *
+ * @group config
  */
 class DefaultConfigTest extends KernelTestBase {
 
@@ -26,17 +28,6 @@ class DefaultConfigTest extends KernelTestBase {
    */
   public static $modules = array('config_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Default configuration',
-      'description' => 'Tests that default configuration provided by all modules matches schema.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * Tests default configuration data type.
    */
diff --git a/core/modules/config/src/Tests/SchemaCheckTraitTest.php b/core/modules/config/src/Tests/SchemaCheckTraitTest.php
index 5620422b4000..f7dd11effee3 100644
--- a/core/modules/config/src/Tests/SchemaCheckTraitTest.php
+++ b/core/modules/config/src/Tests/SchemaCheckTraitTest.php
@@ -12,7 +12,9 @@
 
 
 /**
- * Tests \Drupal\Core\Config\Schema\SchemaCheckTrait.
+ * Tests the functionality of SchemaCheckTrait.
+ *
+ * @group config
  */
 class SchemaCheckTraitTest extends KernelTestBase {
   use SchemaCheckTrait;
@@ -31,17 +33,6 @@ class SchemaCheckTraitTest extends KernelTestBase {
    */
   public static $modules = array('config_test', 'config_schema_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'SchemaCheckTrait test',
-      'description' => 'Tests the functionality of SchemaCheckTrait.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/config/src/Tests/Storage/CachedStorageTest.php b/core/modules/config/src/Tests/Storage/CachedStorageTest.php
index 766d013747ae..bd02b7d59226 100644
--- a/core/modules/config/src/Tests/Storage/CachedStorageTest.php
+++ b/core/modules/config/src/Tests/Storage/CachedStorageTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests CachedStorage operations.
+ *
+ * @group config
  */
 class CachedStorageTest extends ConfigStorageTestBase {
 
@@ -31,14 +33,6 @@ class CachedStorageTest extends ConfigStorageTestBase {
    */
   protected $filestorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CachedStorage operations',
-      'description' => 'Tests CachedStorage operations.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->filestorage = new FileStorage($this->configDirectories[CONFIG_ACTIVE_DIRECTORY]);
diff --git a/core/modules/config/src/Tests/Storage/DatabaseStorageTest.php b/core/modules/config/src/Tests/Storage/DatabaseStorageTest.php
index 7dbf17bb461a..3a7c176dc561 100644
--- a/core/modules/config/src/Tests/Storage/DatabaseStorageTest.php
+++ b/core/modules/config/src/Tests/Storage/DatabaseStorageTest.php
@@ -11,16 +11,10 @@
 
 /**
  * Tests DatabaseStorage operations.
+ *
+ * @group config
  */
 class DatabaseStorageTest extends ConfigStorageTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'DatabaseStorage operations',
-      'description' => 'Tests DatabaseStorage operations.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config/src/Tests/Storage/FileStorageTest.php b/core/modules/config/src/Tests/Storage/FileStorageTest.php
index 5b725085d7c3..4aadad515dec 100644
--- a/core/modules/config/src/Tests/Storage/FileStorageTest.php
+++ b/core/modules/config/src/Tests/Storage/FileStorageTest.php
@@ -12,16 +12,10 @@
 
 /**
  * Tests FileStorage operations.
+ *
+ * @group config
  */
 class FileStorageTest extends ConfigStorageTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'FileStorage operations',
-      'description' => 'Tests FileStorage operations.',
-      'group' => 'Configuration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->storage = new FileStorage($this->configDirectories[CONFIG_ACTIVE_DIRECTORY]);
diff --git a/core/modules/config/tests/src/Menu/ConfigLocalTasksTest.php b/core/modules/config/tests/src/Menu/ConfigLocalTasksTest.php
index 627f61e37519..f2e49a123c9f 100644
--- a/core/modules/config/tests/src/Menu/ConfigLocalTasksTest.php
+++ b/core/modules/config/tests/src/Menu/ConfigLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of config local tasks.
  *
- * @group Drupal
  * @group config
  */
 class ConfigLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Config local tasks test',
-      'description' => 'Test existence of config local tasks.',
-      'group' => 'config',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('config' => 'core/modules/config');
     parent::setUp();
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationFormTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationFormTest.php
index c5bce3f3aade..f2d6470727a7 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationFormTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationFormTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests for altering configuration translation forms.
+ *
+ * @group config_translation
  */
 class ConfigTranslationFormTest extends WebTestBase {
 
@@ -36,14 +38,6 @@ class ConfigTranslationFormTest extends WebTestBase {
    */
   protected $langcode;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Translation forms',
-      'description' => 'Test form altering of configuration translation forms',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
index 116275bf1821..6618503d4ffa 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
@@ -12,8 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for listings that should have translate operation, except views.
+ * Visit all lists.
  *
+ * @group config_translation
  * @see \Drupal\config_translation\Tests\ConfigTranslationViewListUiTest
  */
 class ConfigTranslationListUiTest extends WebTestBase {
@@ -39,14 +40,6 @@ class ConfigTranslationListUiTest extends WebTestBase {
     'toolbar',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Translation lists',
-      'description' => 'Visit all lists.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   /**
    * Admin user with all needed permissions.
    *
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationOverviewTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationOverviewTest.php
index 59a29994a368..38c06446ae95 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationOverviewTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationOverviewTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the Configuration Translation pages.
+ * Translate settings and entities to various languages.
+ *
+ * @group config_translation
  */
 class ConfigTranslationOverviewTest extends WebTestBase {
 
@@ -37,14 +39,6 @@ class ConfigTranslationOverviewTest extends WebTestBase {
    */
   protected $localeStorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Translation Overview',
-      'description' => 'Translate settings and entities to various languages',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $permissions = array(
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
index f9d05b628563..0e78018d8e16 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
@@ -15,7 +15,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the Language list configuration forms.
+ * Translate settings and entities to various languages.
+ *
+ * @group config_translation
  */
 class ConfigTranslationUiTest extends WebTestBase {
 
@@ -54,14 +56,6 @@ class ConfigTranslationUiTest extends WebTestBase {
    */
   protected $localeStorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Translation',
-      'description' => 'Translate settings and entities to various languages',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $translator_permissions = array(
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationUiThemeTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationUiThemeTest.php
index b51cee3edeae..250570c3bec9 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationUiThemeTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationUiThemeTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the Language list configuration forms.
+ * Verifies theme configuration translation settings.
+ *
+ * @group config_translation
  */
 class ConfigTranslationUiThemeTest extends WebTestBase {
 
@@ -36,14 +38,6 @@ class ConfigTranslationUiThemeTest extends WebTestBase {
    */
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme Configuration Translation',
-      'description' => 'Verifies theme configuration translation settings.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php
index a4982e10e77c..79e5a992c670 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationViewListUiTest.php
@@ -10,7 +10,9 @@
 use Drupal\views_ui\Tests\UITestBase;
 
 /**
- * Tests for the views_ui module that should have translate operation.
+ * Visit view list and test if translate is available.
+ *
+ * @group config_translation
  */
 class ConfigTranslationViewListUiTest extends UITestBase {
 
@@ -40,14 +42,6 @@ public function setUp() {
     $this->drupalLogin($this->drupalCreateUser($permissions));
   }
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration Translation view list',
-      'description' => 'Visit view list and test if translate is available.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   /**
    * Tests views_ui list to see if translate link is added to operations.
    */
diff --git a/core/modules/config_translation/tests/src/ConfigEntityMapperTest.php b/core/modules/config_translation/tests/src/ConfigEntityMapperTest.php
index bdc04f875eb1..d23c33963af6 100644
--- a/core/modules/config_translation/tests/src/ConfigEntityMapperTest.php
+++ b/core/modules/config_translation/tests/src/ConfigEntityMapperTest.php
@@ -12,10 +12,9 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests ConfigEntityMapper.
+ * Tests the functionality provided by the configuration entity mapper.
  *
- * @group Drupal
- * @group Config_translation
+ * @group config_translation
  */
 class ConfigEntityMapperTest extends UnitTestCase {
 
@@ -47,17 +46,6 @@ class ConfigEntityMapperTest extends UnitTestCase {
    */
   protected $routeProvider;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity mapper',
-      'description' => 'Tests the functionality provided by the configuration entity mapper.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
 
diff --git a/core/modules/config_translation/tests/src/ConfigMapperManagerTest.php b/core/modules/config_translation/tests/src/ConfigMapperManagerTest.php
index 69be47616ab8..d7c47cba0a5b 100644
--- a/core/modules/config_translation/tests/src/ConfigMapperManagerTest.php
+++ b/core/modules/config_translation/tests/src/ConfigMapperManagerTest.php
@@ -16,10 +16,9 @@
 use Drupal\Core\TypedData\DataDefinitionInterface;
 
 /**
- * Tests ConfigMapperManager.
+ * Tests the functionality provided by configuration translation mapper manager.
  *
- * @group Drupal
- * @group Config_translation
+ * @group config_translation
  */
 class ConfigMapperManagerTest extends UnitTestCase {
 
@@ -37,17 +36,6 @@ class ConfigMapperManagerTest extends UnitTestCase {
    */
   protected $typedConfigManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration translation mapper manager',
-      'description' => 'Tests the functionality provided by configuration translation mapper manager.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     $language = new Language(array('id' => 'en'));
     $language_manager = $this->getMock('Drupal\Core\Language\LanguageManagerInterface');
diff --git a/core/modules/config_translation/tests/src/ConfigNamesMapperTest.php b/core/modules/config_translation/tests/src/ConfigNamesMapperTest.php
index 41a6b1a32777..46cd59c46470 100644
--- a/core/modules/config_translation/tests/src/ConfigNamesMapperTest.php
+++ b/core/modules/config_translation/tests/src/ConfigNamesMapperTest.php
@@ -15,10 +15,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests ConfigNamesMapper.
+ * Tests the functionality provided by the configuration names mapper.
  *
- * @group Drupal
- * @group Config_translation
+ * @group config_translation
  */
 class ConfigNamesMapperTest extends UnitTestCase {
 
@@ -66,17 +65,6 @@ class ConfigNamesMapperTest extends UnitTestCase {
    */
   protected $routeProvider;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration names mapper',
-      'description' => 'Tests the functionality provided by the configuration names mapper.',
-      'group' => 'Configuration Translation',
-    );
-  }
-
   public function setUp() {
     $this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface');
 
diff --git a/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php b/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php
index 059923f155ef..d343f8d33c90 100644
--- a/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php
+++ b/core/modules/contact/src/Tests/ContactAuthenticatedUserTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the contact form for authenticated users.
+ * Tests contact form textfields are present if authenticated.
+ *
+ * @group contact
  */
 class ContactAuthenticatedUserTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ContactAuthenticatedUserTest extends WebTestBase {
    */
   public static $modules = array('contact');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contact form textfields',
-      'description' => 'Tests contact form textfields are present if authenticated.',
-      'group' => 'Contact',
-    );
-  }
-
   /**
    * Tests that name and email fields are not present for authenticated users.
    */
diff --git a/core/modules/contact/src/Tests/ContactPersonalTest.php b/core/modules/contact/src/Tests/ContactPersonalTest.php
index dd6c35f66695..4be01ac0b274 100644
--- a/core/modules/contact/src/Tests/ContactPersonalTest.php
+++ b/core/modules/contact/src/Tests/ContactPersonalTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the personal contact form.
+ * Tests personal contact form functionality.
+ *
+ * @group contact
  */
 class ContactPersonalTest extends WebTestBase {
 
@@ -43,14 +45,6 @@ class ContactPersonalTest extends WebTestBase {
    */
   private $contact_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Personal contact form',
-      'description' => 'Tests personal contact form functionality.',
-      'group' => 'Contact',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/contact/src/Tests/ContactSitewideTest.php b/core/modules/contact/src/Tests/ContactSitewideTest.php
index 17c3f3e2785e..a89e7a8a04e3 100644
--- a/core/modules/contact/src/Tests/ContactSitewideTest.php
+++ b/core/modules/contact/src/Tests/ContactSitewideTest.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Entity\EntityTypeInterface;
 
 /**
- * Tests the site-wide contact form.
+ * Tests site-wide contact form functionality.
+ *
+ * @group contact
  */
 class ContactSitewideTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class ContactSitewideTest extends WebTestBase {
    */
   public static $modules = array('text', 'contact', 'field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Site-wide contact form',
-      'description' => 'Tests site-wide contact form functionality.',
-      'group' => 'Contact',
-    );
-  }
-
   /**
    * Tests configuration options and the site-wide contact form.
    */
diff --git a/core/modules/contact/src/Tests/MessageEntityTest.php b/core/modules/contact/src/Tests/MessageEntityTest.php
index 489c5de06e15..e27d23c07a56 100644
--- a/core/modules/contact/src/Tests/MessageEntityTest.php
+++ b/core/modules/contact/src/Tests/MessageEntityTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the message entity class.
  *
+ * @group contact
  * @see \Drupal\contact\Entity\Message
  */
 class MessageEntityTest extends DrupalUnitTestBase {
@@ -23,14 +24,6 @@ class MessageEntityTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'contact', 'field', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Message entity tests',
-      'description' => 'Tests the message entity class.',
-      'group' => 'Contact'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('contact'));
diff --git a/core/modules/contact/src/Tests/Views/ContactFieldsTest.php b/core/modules/contact/src/Tests/Views/ContactFieldsTest.php
index 4308ca76167c..e6e70ad93d1d 100644
--- a/core/modules/contact/src/Tests/Views/ContactFieldsTest.php
+++ b/core/modules/contact/src/Tests/Views/ContactFieldsTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests which checks that no fieldapi fields are added on contact.
+ *
+ * @group contact
  */
 class ContactFieldsTest extends ViewTestBase {
 
@@ -29,14 +31,6 @@ class ContactFieldsTest extends ViewTestBase {
    */
   protected $field;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contact: Field views data',
-      'description' => 'Tests which checks that no fieldapi fields are added on contact.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/contact/src/Tests/Views/ContactLinkTest.php b/core/modules/contact/src/Tests/Views/ContactLinkTest.php
index 1bae3d44fe16..bb7fb91b43ff 100644
--- a/core/modules/contact/src/Tests/Views/ContactLinkTest.php
+++ b/core/modules/contact/src/Tests/Views/ContactLinkTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the contact link field.
  *
+ * @group contact
  * @see \Drupal\contact\Plugin\views\field\ContactLink.
  */
 class ContactLinkTest extends ViewTestBase {
@@ -38,14 +39,6 @@ class ContactLinkTest extends ViewTestBase {
    */
   public static $testViews = array('test_contact_link');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contact: Link Field',
-      'description' => 'Tests the contact link field.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/content_translation/src/Tests/ContentTestTranslationUITest.php b/core/modules/content_translation/src/Tests/ContentTestTranslationUITest.php
index 3b836b9a8a7c..21208852f529 100644
--- a/core/modules/content_translation/src/Tests/ContentTestTranslationUITest.php
+++ b/core/modules/content_translation/src/Tests/ContentTestTranslationUITest.php
@@ -8,7 +8,9 @@
 namespace Drupal\content_translation\Tests;
 
 /**
- * Tests the Entity Test Translation UI.
+ * Tests the test content translation UI with the test entity.
+ *
+ * @group content_translation
  */
 class ContentTestTranslationUITest extends ContentTranslationUITest {
 
@@ -19,14 +21,6 @@ class ContentTestTranslationUITest extends ContentTranslationUITest {
    */
   public static $modules = array('language', 'content_translation', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Test translation UI',
-      'description' => 'Tests the test content translation UI with the test entity.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   /**
    * Overrides \Drupal\simpletest\WebTestBase::setUp().
    */
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationContextualLinksTest.php b/core/modules/content_translation/src/Tests/ContentTranslationContextualLinksTest.php
index 94972f210c81..ab821d2f0e26 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationContextualLinksTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationContextualLinksTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests that contextual links are available for content translation.
+ *
+ * @group content_translation
  */
 class ContentTranslationContextualLinksTest extends WebTestBase {
 
@@ -51,14 +53,6 @@ class ContentTranslationContextualLinksTest extends WebTestBase {
    */
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content translation contextual links',
-      'description' => 'Tests contextual links for content translation.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationSettingsTest.php b/core/modules/content_translation/src/Tests/ContentTranslationSettingsTest.php
index 0db652013976..84b85f027818 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationSettingsTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationSettingsTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Test Translation UI.
+ * Tests the content translation settings UI.
+ *
+ * @group content_translation
  */
 class ContentTranslationSettingsTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class ContentTranslationSettingsTest extends WebTestBase {
    */
   public static $modules = array('language', 'content_translation', 'node', 'comment', 'field_ui', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content Translation settings',
-      'description' => 'Tests the content translation settings UI.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php b/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php
index f23d29c5d87f..0e59847b57fb 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationStandardFieldsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the Content translation settings using the standard profile.
+ *
+ * @group content_translation
  */
 class ContentTranslationStandardFieldsTest extends WebTestBase {
 
@@ -33,17 +35,6 @@ class ContentTranslationStandardFieldsTest extends WebTestBase {
    */
   protected $profile = 'standard';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Content Translation Settings with default profile',
-      'description' => 'Test the Content Translation Settings using default profile',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationSyncImageTest.php b/core/modules/content_translation/src/Tests/ContentTranslationSyncImageTest.php
index 5749bafc86fa..2e326a005c59 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationSyncImageTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationSyncImageTest.php
@@ -10,7 +10,9 @@
 use Drupal\Core\Entity\EntityInterface;
 
 /**
- * Tests the Content Translation image field synchronization capability.
+ * Tests the field synchronization behavior for the image field.
+ *
+ * @group content_translation
  */
 class ContentTranslationSyncImageTest extends ContentTranslationTestBase {
 
@@ -35,14 +37,6 @@ class ContentTranslationSyncImageTest extends ContentTranslationTestBase {
    */
   public static $modules = array('language', 'content_translation', 'entity_test', 'image', 'field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image field synchronization',
-      'description' => 'Tests the field synchronization behavior for the image field.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->files = $this->drupalGetTestFiles('image');
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationSyncUnitTest.php b/core/modules/content_translation/src/Tests/ContentTranslationSyncUnitTest.php
index 509287e5f4f8..f06a83b2770a 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationSyncUnitTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationSyncUnitTest.php
@@ -11,7 +11,9 @@
 use Drupal\content_translation\FieldTranslationSynchronizer;
 
 /**
- * Tests the Content Translation field synchronization algorithm.
+ * Tests the field synchronization logic.
+ *
+ * @group content_translation
  */
 class ContentTranslationSyncUnitTest extends DrupalUnitTestBase {
 
@@ -59,14 +61,6 @@ class ContentTranslationSyncUnitTest extends DrupalUnitTestBase {
 
   public static $modules = array('language', 'content_translation');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field synchronization',
-      'description' => 'Tests the field synchronization logic.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/content_translation/src/Tests/ContentTranslationWorkflowsTest.php b/core/modules/content_translation/src/Tests/ContentTranslationWorkflowsTest.php
index 06674b8e5133..89e43b60971b 100644
--- a/core/modules/content_translation/src/Tests/ContentTranslationWorkflowsTest.php
+++ b/core/modules/content_translation/src/Tests/ContentTranslationWorkflowsTest.php
@@ -11,7 +11,9 @@
 use Drupal\user\UserInterface;
 
 /**
- * Tests content translation workflows.
+ * Tests the content translation workflows for the test entity.
+ *
+ * @group content_translation
  */
 class ContentTranslationWorkflowsTest extends ContentTranslationTestBase {
 
@@ -29,14 +31,6 @@ class ContentTranslationWorkflowsTest extends ContentTranslationTestBase {
    */
   public static $modules = array('language', 'content_translation', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Test translation workflows',
-      'description' => 'Tests the content translation workflows for the test entity.',
-      'group' => 'Content Translation UI',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->setupEntity();
diff --git a/core/modules/content_translation/src/Tests/Views/ContentTranslationViewsUITest.php b/core/modules/content_translation/src/Tests/Views/ContentTranslationViewsUITest.php
index 5dbe8807d4d4..dc2328b044de 100644
--- a/core/modules/content_translation/src/Tests/Views/ContentTranslationViewsUITest.php
+++ b/core/modules/content_translation/src/Tests/Views/ContentTranslationViewsUITest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the views UI when content_translation is enabled.
+ *
+ * @group content_translation
  */
 class ContentTranslationViewsUITest extends UITestBase {
 
@@ -28,14 +30,6 @@ class ContentTranslationViewsUITest extends UITestBase {
    */
   public static $modules = array('content_translation');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content Translation: Views UI',
-      'description' => 'Tests the views UI when content translation is enabled.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the views UI.
    */
diff --git a/core/modules/content_translation/src/Tests/Views/TranslationLinkTest.php b/core/modules/content_translation/src/Tests/Views/TranslationLinkTest.php
index e1b939cc310e..168d513b1a83 100644
--- a/core/modules/content_translation/src/Tests/Views/TranslationLinkTest.php
+++ b/core/modules/content_translation/src/Tests/Views/TranslationLinkTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the content translation overview link field handler.
  *
+ * @group content_translation
  * @see \Drupal\content_translation\Plugin\views\field\TranslationLink
  */
 class TranslationLinkTest extends ContentTranslationTestBase {
@@ -32,14 +33,6 @@ class TranslationLinkTest extends ContentTranslationTestBase {
    */
   public static $modules = array('content_translation_test_views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content Translation: Link field',
-      'description' => 'Tests the content translation overview link field handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   function setUp() {
     // @todo Use entity_type once it is has multilingual Views integration.
     $this->entityTypeId = 'user';
diff --git a/core/modules/content_translation/tests/src/Menu/ContentTranslationLocalTasksTest.php b/core/modules/content_translation/tests/src/Menu/ContentTranslationLocalTasksTest.php
index 057a9a4dcf90..7df4e30a4936 100644
--- a/core/modules/content_translation/tests/src/Menu/ContentTranslationLocalTasksTest.php
+++ b/core/modules/content_translation/tests/src/Menu/ContentTranslationLocalTasksTest.php
@@ -10,21 +10,12 @@
 use Drupal\Tests\Core\Menu\LocalTaskIntegrationTest;
 
 /**
- * Tests existence of block local tasks.
+ * Tests content translation local tasks.
  *
- * @group Drupal
- * @group Block
+ * @group content_translation
  */
 class ContentTranslationLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content translation local tasks test',
-      'description' => 'Test content translation local tasks.',
-      'group' => 'Content Translation',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'content_translation' => 'core/modules/content_translation',
diff --git a/core/modules/contextual/src/Tests/ContextualDynamicContextTest.php b/core/modules/contextual/src/Tests/ContextualDynamicContextTest.php
index fd9368a7c47b..af16592167c8 100644
--- a/core/modules/contextual/src/Tests/ContextualDynamicContextTest.php
+++ b/core/modules/contextual/src/Tests/ContextualDynamicContextTest.php
@@ -12,7 +12,10 @@
 use Drupal\Core\Template\Attribute;
 
 /**
- * Tests accessible links after inaccessible links on dynamic context.
+ * Tests if contextual links are showing on the front page depending on
+ * permissions.
+ *
+ * @group contextual
  */
 class ContextualDynamicContextTest extends WebTestBase {
 
@@ -23,14 +26,6 @@ class ContextualDynamicContextTest extends WebTestBase {
    */
   public static $modules = array('contextual', 'node', 'views', 'views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contextual links on node lists',
-      'description' => 'Tests if contextual links are showing on the front page depending on permissions.',
-      'group' => 'Contextual',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/contextual/src/Tests/ContextualUnitTest.php b/core/modules/contextual/src/Tests/ContextualUnitTest.php
index fcb3a03cc696..aca3f6077cfb 100644
--- a/core/modules/contextual/src/Tests/ContextualUnitTest.php
+++ b/core/modules/contextual/src/Tests/ContextualUnitTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests _contextual_links_to_id() & _contextual_id_to_links().
+ * Tests all edge cases of converting from #contextual_links to ids and vice
+ * versa.
+ *
+ * @group contextual
  */
 class ContextualUnitTest extends DrupalUnitTestBase {
 
@@ -21,14 +24,6 @@ class ContextualUnitTest extends DrupalUnitTestBase {
    */
   public static $modules = array('contextual');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Conversion to and from "contextual id"s (for placeholders)',
-      'description' => 'Tests all edge cases of converting from #contextual_links to ids and vice versa.',
-      'group' => 'Contextual',
-    );
-  }
-
   /**
    * Provides testcases for testContextualLinksToId() and
    */
diff --git a/core/modules/datetime/src/Tests/DateTimeFieldTest.php b/core/modules/datetime/src/Tests/DateTimeFieldTest.php
index 62b69cbd3951..924bdc5f0795 100644
--- a/core/modules/datetime/src/Tests/DateTimeFieldTest.php
+++ b/core/modules/datetime/src/Tests/DateTimeFieldTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests Datetime field functionality.
+ *
+ * @group datetime
  */
 class DateTimeFieldTest extends WebTestBase {
 
@@ -37,14 +39,6 @@ class DateTimeFieldTest extends WebTestBase {
    */
   protected $instance;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Datetime Field',
-      'description'  => 'Tests datetime field functionality.',
-      'group' => 'Datetime',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/datetime/src/Tests/DateTimeItemTest.php b/core/modules/datetime/src/Tests/DateTimeItemTest.php
index 79f07810a2d6..d2ee54a7d2b8 100644
--- a/core/modules/datetime/src/Tests/DateTimeItemTest.php
+++ b/core/modules/datetime/src/Tests/DateTimeItemTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the new entity API for the date field type.
+ *
+ * @group datetime
  */
 class DateTimeItemTest extends FieldUnitTestBase {
 
@@ -23,14 +25,6 @@ class DateTimeItemTest extends FieldUnitTestBase {
    */
   public static $modules = array('datetime');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Date field item',
-      'description' => 'Tests the new entity API for the Date field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/dblog/src/Tests/DbLogTest.php b/core/modules/dblog/src/Tests/DbLogTest.php
index 55659f37449d..683479fdc317 100644
--- a/core/modules/dblog/src/Tests/DbLogTest.php
+++ b/core/modules/dblog/src/Tests/DbLogTest.php
@@ -12,7 +12,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests logging messages to the database.
+ * Generate events and verify dblog entries; verify user access to log reports
+ * based on persmissions.
+ *
+ * @group dblog
  */
 class DbLogTest extends WebTestBase {
 
@@ -37,14 +40,6 @@ class DbLogTest extends WebTestBase {
    */
   protected $any_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'DbLog functionality',
-      'description' => 'Generate events and verify dblog entries; verify user access to log reports based on persmissions.',
-      'group' => 'DbLog',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php b/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
index f61ba72037ee..f216ee660075 100644
--- a/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
+++ b/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
@@ -11,7 +11,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests the Watchdog REST resource to retrieve log messages.
+ * Tests the watchdog database log resource.
+ *
+ * @group dblog
  */
 class DbLogResourceTest extends RESTTestBase {
 
@@ -22,14 +24,6 @@ class DbLogResourceTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'dblog');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'DB Log resource',
-      'description' => 'Tests the watchdog database log resource.',
-      'group' => 'REST',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Enable REST API for the watchdog resource.
diff --git a/core/modules/dblog/src/Tests/Views/ViewsIntegrationTest.php b/core/modules/dblog/src/Tests/Views/ViewsIntegrationTest.php
index 818cfd3afcf3..de7405f29fa8 100644
--- a/core/modules/dblog/src/Tests/Views/ViewsIntegrationTest.php
+++ b/core/modules/dblog/src/Tests/Views/ViewsIntegrationTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests the views integration of dblog module.
+ *
+ * @group dblog
  */
 class ViewsIntegrationTest extends ViewUnitTestBase {
 
@@ -32,14 +34,6 @@ class ViewsIntegrationTest extends ViewUnitTestBase {
    */
   public static $modules = array('dblog_test_views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Dblog Integration',
-      'description' => 'Tests the views integration of dblog module.',
-      'group' => 'Views module integration'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/editor/src/Tests/EditorAdminTest.php b/core/modules/editor/src/Tests/EditorAdminTest.php
index 8d95a8bec22d..2a0a149a00c8 100644
--- a/core/modules/editor/src/Tests/EditorAdminTest.php
+++ b/core/modules/editor/src/Tests/EditorAdminTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests administration of text editors.
+ *
+ * @group editor
  */
 class EditorAdminTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EditorAdminTest extends WebTestBase {
    */
   public static $modules = array('filter', 'editor');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text editor administration',
-      'description' => 'Tests administration of text editors.',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/src/Tests/EditorFileReferenceFilterTest.php b/core/modules/editor/src/Tests/EditorFileReferenceFilterTest.php
index 3474613a9d5d..214f1e3eb2b2 100644
--- a/core/modules/editor/src/Tests/EditorFileReferenceFilterTest.php
+++ b/core/modules/editor/src/Tests/EditorFileReferenceFilterTest.php
@@ -11,7 +11,9 @@
 use Drupal\filter\FilterBag;
 
 /**
- * Tests for the EditorFileReference filter.
+ * Tests Editor module's file reference filter.
+ *
+ * @group editor
  */
 class EditorFileReferenceFilterTest extends KernelTestBase {
 
@@ -27,17 +29,6 @@ class EditorFileReferenceFilterTest extends KernelTestBase {
    */
   protected $filters;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Editor File Reference filter',
-      'description' => "Tests Editor module's file reference filter.",
-      'group' => 'Text Editor',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/editor/src/Tests/EditorFileUsageTest.php b/core/modules/editor/src/Tests/EditorFileUsageTest.php
index 184d84992cc9..c9721d9137f5 100644
--- a/core/modules/editor/src/Tests/EditorFileUsageTest.php
+++ b/core/modules/editor/src/Tests/EditorFileUsageTest.php
@@ -10,7 +10,9 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * Unit tests for editor.module's entity hooks to track file usage.
+ * Tests tracking of file usage by the Text Editor module.
+ *
+ * @group editor
  */
 class EditorFileUsageTest extends EntityUnitTestBase {
 
@@ -21,14 +23,6 @@ class EditorFileUsageTest extends EntityUnitTestBase {
    */
   public static $modules = array('editor', 'editor_test', 'node', 'file');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text Editor file usage',
-      'description' => 'Tests tracking of file usage by the Text Editor module.',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('node');
diff --git a/core/modules/editor/src/Tests/EditorLoadingTest.php b/core/modules/editor/src/Tests/EditorLoadingTest.php
index 94b1b8898e51..9a2038f7a8e0 100644
--- a/core/modules/editor/src/Tests/EditorLoadingTest.php
+++ b/core/modules/editor/src/Tests/EditorLoadingTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests loading of text editors.
+ *
+ * @group editor
  */
 class EditorLoadingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EditorLoadingTest extends WebTestBase {
    */
   public static $modules = array('filter', 'editor', 'editor_test', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text editor loading',
-      'description' => 'Tests loading of text editors.',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/src/Tests/EditorManagerTest.php b/core/modules/editor/src/Tests/EditorManagerTest.php
index 51cd2854b92f..55f37da15393 100644
--- a/core/modules/editor/src/Tests/EditorManagerTest.php
+++ b/core/modules/editor/src/Tests/EditorManagerTest.php
@@ -11,7 +11,9 @@
 use Drupal\editor\Plugin\EditorManager;
 
 /**
- * Unit tests for the configurable text editor manager.
+ * Tests detection of text editors and correct generation of attachments.
+ *
+ * @group editor
  */
 class EditorManagerTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class EditorManagerTest extends DrupalUnitTestBase {
    */
   protected $editorManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text editor manager',
-      'description' => 'Tests detection of text editors and correct generation of attachments.',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/src/Tests/EditorSecurityTest.php b/core/modules/editor/src/Tests/EditorSecurityTest.php
index ccac981a0fd1..1c1a01baa890 100644
--- a/core/modules/editor/src/Tests/EditorSecurityTest.php
+++ b/core/modules/editor/src/Tests/EditorSecurityTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests XSS protection for content creators when using text editors.
+ *
+ * @group editor
  */
 class EditorSecurityTest extends WebTestBase {
 
@@ -44,14 +46,6 @@ class EditorSecurityTest extends WebTestBase {
    */
   public static $modules = array('filter', 'editor', 'editor_test', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text editor security',
-      'description' => 'Tests XSS protection for content creators when using text editors.',
-      'group' => 'Text Editor',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/src/Tests/QuickEditIntegrationLoadingTest.php b/core/modules/editor/src/Tests/QuickEditIntegrationLoadingTest.php
index 74ef6feb17fe..a0fca3a47d70 100644
--- a/core/modules/editor/src/Tests/QuickEditIntegrationLoadingTest.php
+++ b/core/modules/editor/src/Tests/QuickEditIntegrationLoadingTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests Quick Edit module integration endpoints.
+ *
+ * @group editor
  */
 class QuickEditIntegrationLoadingTest extends WebTestBase {
 
@@ -29,14 +31,6 @@ class QuickEditIntegrationLoadingTest extends WebTestBase {
    */
   protected static $basic_permissions = array('access content', 'create article content', 'use text format filtered_html', 'access contextual links');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place text editor loading',
-      'description' => 'Tests Quick Edit module integration endpoints.',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/src/Tests/QuickEditIntegrationTest.php b/core/modules/editor/src/Tests/QuickEditIntegrationTest.php
index dcaf31d25dff..f24704b30952 100644
--- a/core/modules/editor/src/Tests/QuickEditIntegrationTest.php
+++ b/core/modules/editor/src/Tests/QuickEditIntegrationTest.php
@@ -19,6 +19,8 @@
 
 /**
  * Tests Edit module integration (Editor module's inline editing support).
+ *
+ * @group editor
  */
 class QuickEditIntegrationTest extends QuickEditTestBase {
 
@@ -57,14 +59,6 @@ class QuickEditIntegrationTest extends QuickEditTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place text editors (Quick Edit module integration)',
-      'description' => 'Tests Edit module integration (Editor module\'s inline editing support).',
-      'group' => 'Text Editor',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/editor/tests/src/EditorConfigEntityUnitTest.php b/core/modules/editor/tests/src/EditorConfigEntityUnitTest.php
index 906417299ac6..c10e1ac302f8 100644
--- a/core/modules/editor/tests/src/EditorConfigEntityUnitTest.php
+++ b/core/modules/editor/tests/src/EditorConfigEntityUnitTest.php
@@ -13,9 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\editor\Entity\Editor
- *
- * @group Drupal
- * @group Config
+ * @group editor
  */
 class EditorConfigEntityUnitTest extends UnitTestCase {
 
@@ -68,17 +66,6 @@ class EditorConfigEntityUnitTest extends UnitTestCase {
    */
   protected $editorId;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\editor\Entity\Editor unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/editor/tests/src/EditorXssFilter/StandardTest.php b/core/modules/editor/tests/src/EditorXssFilter/StandardTest.php
index 7927eef4d60a..befefd5d265d 100644
--- a/core/modules/editor/tests/src/EditorXssFilter/StandardTest.php
+++ b/core/modules/editor/tests/src/EditorXssFilter/StandardTest.php
@@ -11,12 +11,8 @@
 use Drupal\filter\Plugin\FilterInterface;
 
 /**
- * Tests the standard text editor XSS filter.
- *
- * @group Drupal
- * @group Editor
- *
- * @see \Drupal\editor\EditorXssFilter\Standard
+ * @coversDefaultClass \Drupal\editor\EditorXssFilter\Standard
+ * @group editor
  */
 class StandardTest extends UnitTestCase {
 
@@ -34,14 +30,6 @@ class StandardTest extends UnitTestCase {
    */
   protected $format;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Standard text editor XSS filter test',
-      'description' => 'Unit test of standard text editor XSS filter.',
-      'group' => 'Text Editor'
-    );
-  }
-
   protected function setUp() {
     $this->editorXssFilterClass = '\Drupal\editor\EditorXssFilter\Standard';
 
diff --git a/core/modules/entity/src/Tests/EntityDisplayModeTest.php b/core/modules/entity/src/Tests/EntityDisplayModeTest.php
index 16c55f568f7c..583d11417219 100644
--- a/core/modules/entity/src/Tests/EntityDisplayModeTest.php
+++ b/core/modules/entity/src/Tests/EntityDisplayModeTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the entity display mode configuration entities.
+ * Tests the entity display modes UI.
+ *
+ * @group entity
  */
 class EntityDisplayModeTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EntityDisplayModeTest extends WebTestBase {
    */
   public static $modules = array('entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity display modes UI',
-      'description' => 'Tests the entity display modes UI.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * Tests the EntityViewMode user interface.
    */
diff --git a/core/modules/entity/src/Tests/EntityDisplayTest.php b/core/modules/entity/src/Tests/EntityDisplayTest.php
index f0c8e0c33dd4..d76d603932e0 100644
--- a/core/modules/entity/src/Tests/EntityDisplayTest.php
+++ b/core/modules/entity/src/Tests/EntityDisplayTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests the entity display configuration entities.
+ *
+ * @group entity
  */
 class EntityDisplayTest extends DrupalUnitTestBase {
 
   public static $modules = array('entity', 'field', 'entity_test', 'user', 'text', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity display configuration entities',
-      'description' => 'Tests the entity display configuration entities.',
-      'group' => 'Entity API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('field'));
diff --git a/core/modules/entity/src/Tests/EntityFormDisplayTest.php b/core/modules/entity/src/Tests/EntityFormDisplayTest.php
index 6caf7758b020..32efcc2ab23f 100644
--- a/core/modules/entity/src/Tests/EntityFormDisplayTest.php
+++ b/core/modules/entity/src/Tests/EntityFormDisplayTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests the entity display configuration entities.
+ *
+ * @group entity
  */
 class EntityFormDisplayTest extends DrupalUnitTestBase {
 
   public static $modules = array('entity', 'field', 'entity_test', 'user', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity form display configuration entities',
-      'description' => 'Tests the entity form display configuration entities.',
-      'group' => 'Entity API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('field'));
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceAdminTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceAdminTest.php
index 60d55ba81ff5..348bf4a98ace 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceAdminTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceAdminTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Reference Admin UI.
+ * Tests for the administrative UI.
+ *
+ * @group entity_reference
  */
 class EntityReferenceAdminTest extends WebTestBase {
 
@@ -24,17 +26,6 @@ class EntityReferenceAdminTest extends WebTestBase {
    */
   public static $modules = array('node', 'field_ui', 'entity_reference', 'path');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference admin UI',
-      'description' => 'Tests for the administrative UI.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceAutoCreateTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceAutoCreateTest.php
index 61e3308b422b..ecdbeb66ab79 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceAutoCreateTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceAutoCreateTest.php
@@ -11,18 +11,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Reference auto-creation feature.
+ * Tests creating new entity (e.g. taxonomy-term) from an autocomplete widget.
+ *
+ * @group entity_reference
  */
 class EntityReferenceAutoCreateTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference auto-create and autocomplete UI',
-      'description' => 'Tests creating new entity (e.g. taxonomy-term) from an autocomplete widget.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public static $modules = array('entity_reference', 'node');
 
   function setUp() {
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceAutocompleteTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceAutocompleteTest.php
index 1a3d934c1af6..3b2cbf71f25d 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceAutocompleteTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceAutocompleteTest.php
@@ -16,7 +16,9 @@
 use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
 
 /**
- * Tests the autocomplete functionality of Entity Reference.
+ * Tests the autocomplete functionality.
+ *
+ * @group entity_reference
  */
 class EntityReferenceAutocompleteTest extends EntityUnitTestBase {
 
@@ -48,14 +50,6 @@ class EntityReferenceAutocompleteTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_reference', 'entity_reference_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Autocomplete',
-      'description' => 'Tests the autocomplete functionality.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceFieldDefaultValueTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceFieldDefaultValueTest.php
index ff29c039d5a7..e65d6f903f5e 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceFieldDefaultValueTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceFieldDefaultValueTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests entity reference field default values storage in CMI.
+ *
+ * @group entity_reference
  */
 class EntityReferenceFieldDefaultValueTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EntityReferenceFieldDefaultValueTest extends WebTestBase {
    */
   public static $modules = array('entity_reference', 'field_ui', 'node', 'options');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference field default value',
-      'description' => 'Tests the entity reference field default values storage in CMI.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceFieldTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceFieldTest.php
index d5357ba1acd2..7c157df85777 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceFieldTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceFieldTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests for the entity reference field.
+ *
+ * @group entity_reference
  */
 class EntityReferenceFieldTest extends EntityUnitTestBase {
 
@@ -66,14 +68,6 @@ class EntityReferenceFieldTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_reference');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference field',
-      'description' => 'Tests the entity reference field.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceFormatterTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceFormatterTest.php
index 61d0ee5a4371..071f44655bf5 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceFormatterTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceFormatterTest.php
@@ -10,7 +10,9 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * Tests Entity Reference formatters.
+ * Tests the formatters functionality.
+ *
+ * @group entity_reference
  */
 class EntityReferenceFormatterTest extends EntityUnitTestBase {
 
@@ -49,14 +51,6 @@ class EntityReferenceFormatterTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_reference');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity reference formatters',
-      'description' => 'Tests the formatters functionality.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceIntegrationTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceIntegrationTest.php
index cd6a7b5cd195..cfe40428230a 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceIntegrationTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceIntegrationTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests various Entity reference UI components.
+ *
+ * @group entity_reference
  */
 class EntityReferenceIntegrationTest extends WebTestBase {
 
@@ -42,14 +44,6 @@ class EntityReferenceIntegrationTest extends WebTestBase {
    */
   public static $modules = array('config_test', 'entity_test', 'entity_reference', 'options');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity reference components (widgets, formatters, etc.)',
-      'description' => 'Tests for various Entity reference components.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceItemTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceItemTest.php
index 8c8112870ba4..5e497fe22707 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceItemTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceItemTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests the new entity API for the entity reference field type.
+ *
+ * @group entity_reference
  */
 class EntityReferenceItemTest extends FieldUnitTestBase {
 
@@ -38,14 +40,6 @@ class EntityReferenceItemTest extends FieldUnitTestBase {
    */
   protected $term;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference field item',
-      'description' => 'Tests using entity fields of the entity reference field type.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   /**
    * Sets up the test.
    */
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php
index 368c1d2bf774..ae9b55a0f504 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionAccessTest.php
@@ -14,18 +14,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Reference Selection plugin.
+ * Tests for the base handlers provided by Entity Reference.
+ *
+ * @group entity_reference
  */
 class EntityReferenceSelectionAccessTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference handlers',
-      'description' => 'Tests for the base handlers provided by Entity Reference.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public static $modules = array('node', 'comment', 'entity_reference', 'entity_test');
 
   function setUp() {
diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php
index a0ab8db81667..0ae4acc847b7 100644
--- a/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php
+++ b/core/modules/entity_reference/src/Tests/EntityReferenceSelectionSortTest.php
@@ -11,18 +11,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Reference Selection plugin.
+ * Tests sorting referenced items.
+ *
+ * @group entity_reference
  */
 class EntityReferenceSelectionSortTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference handlers sort',
-      'description' => 'Test sorting referenced items.',
-      'group' => 'Entity Reference',
-    );
-  }
-
   public static $modules = array('node', 'entity_reference', 'entity_test');
 
   function setUp() {
diff --git a/core/modules/entity_reference/src/Tests/Views/EntityReferenceRelationshipTest.php b/core/modules/entity_reference/src/Tests/Views/EntityReferenceRelationshipTest.php
index 4b8dd0619e8d..a2c1dbdeb585 100644
--- a/core/modules/entity_reference/src/Tests/Views/EntityReferenceRelationshipTest.php
+++ b/core/modules/entity_reference/src/Tests/Views/EntityReferenceRelationshipTest.php
@@ -15,8 +15,9 @@
 use Drupal\views\Views;
 
 /**
- * Defines a test for the entity_reference views relationship.
+ * Tests entity reference relationship data.
  *
+ * @group entity_reference
  * @see entity_reference_field_views_data()
  */
 class EntityReferenceRelationshipTest extends ViewUnitTestBase {
@@ -42,17 +43,6 @@ class EntityReferenceRelationshipTest extends ViewUnitTestBase {
    */
   protected $entities = array();
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference: Relationship data',
-      'description' => 'Tests entity reference relationship data.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
index 56328a3f8463..cbd604568b8f 100644
--- a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
+++ b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests entity reference selection handler.
+ *
+ * @group entity_reference
  */
 class SelectionTest extends WebTestBase {
 
   public static $modules = array('node', 'views', 'entity_reference', 'entity_reference_test', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Reference: Selection handler',
-      'description' => 'Tests entity reference selection handler provided by Views.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the selection handler.
    */
diff --git a/core/modules/field/src/Tests/BulkDeleteTest.php b/core/modules/field/src/Tests/BulkDeleteTest.php
index 8e96eab89749..39105f72d973 100644
--- a/core/modules/field/src/Tests/BulkDeleteTest.php
+++ b/core/modules/field/src/Tests/BulkDeleteTest.php
@@ -14,7 +14,9 @@
 
 
 /**
- * Unit test class for field bulk delete and batch purge functionality.
+ * Bulk delete fields and instances, and clean up afterwards.
+ *
+ * @group field
  */
 class BulkDeleteTest extends FieldUnitTestBase {
 
@@ -53,14 +55,6 @@ class BulkDeleteTest extends FieldUnitTestBase {
    */
   protected $entity_type = 'entity_test';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field bulk delete tests',
-      'description' => 'Bulk delete fields and instances, and clean up afterwards.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests that the expected hooks have been invoked on the expected entities.
    *
diff --git a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php b/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php
index 99be2e0fe936..7c1d320c4f44 100644
--- a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php
+++ b/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests exposing field definitions for configurable fields.
+ *
+ * @group field
  */
 class ConfigFieldDefinitionTest extends FieldUnitTestBase {
 
@@ -22,17 +24,6 @@ class ConfigFieldDefinitionTest extends FieldUnitTestBase {
    */
   protected $entityManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Config field definitions',
-      'description' => 'Tests exposing field definitions for configurable fields.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field/src/Tests/CrudTest.php b/core/modules/field/src/Tests/CrudTest.php
index 6a1610160ce7..39ed52155371 100644
--- a/core/modules/field/src/Tests/CrudTest.php
+++ b/core/modules/field/src/Tests/CrudTest.php
@@ -13,7 +13,9 @@
 use Drupal\field\FieldException;
 
 /**
- * Tests field CRUD operations.
+ * Tests field create, read, update, and delete.
+ *
+ * @group field
  */
 class CrudTest extends FieldUnitTestBase {
 
@@ -24,14 +26,6 @@ class CrudTest extends FieldUnitTestBase {
    */
   public static $modules = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field CRUD tests',
-      'description' => 'Test field create, read, update, and delete.',
-      'group' => 'Field API',
-    );
-  }
-
   // TODO : test creation with
   // - a full fledged $field structure, check that all the values are there
   // - a minimal $field structure, check all default values are set
diff --git a/core/modules/field/src/Tests/DisplayApiTest.php b/core/modules/field/src/Tests/DisplayApiTest.php
index 52bbdaaf581c..28c759fbf3cd 100644
--- a/core/modules/field/src/Tests/DisplayApiTest.php
+++ b/core/modules/field/src/Tests/DisplayApiTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the field display API.
+ *
+ * @group field
  */
 class DisplayApiTest extends FieldUnitTestBase {
 
@@ -56,14 +58,6 @@ class DisplayApiTest extends FieldUnitTestBase {
    */
   protected $values;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field Display API tests',
-      'description' => 'Test the display API.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Email/EmailFieldTest.php b/core/modules/field/src/Tests/Email/EmailFieldTest.php
index e01d12959513..3a10b575cece 100644
--- a/core/modules/field/src/Tests/Email/EmailFieldTest.php
+++ b/core/modules/field/src/Tests/Email/EmailFieldTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests email field functionality.
+ *
+ * @group field
  */
 class EmailFieldTest extends WebTestBase {
 
@@ -35,14 +37,6 @@ class EmailFieldTest extends WebTestBase {
    */
   protected $instance;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Email field',
-      'description'  => 'Tests email field functionality.',
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Email/EmailItemTest.php b/core/modules/field/src/Tests/Email/EmailItemTest.php
index dfeab31f7648..3a1338b9b483 100644
--- a/core/modules/field/src/Tests/Email/EmailItemTest.php
+++ b/core/modules/field/src/Tests/Email/EmailItemTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the new entity API for the email field type.
+ *
+ * @group field
  */
 class EmailItemTest extends FieldUnitTestBase {
 
@@ -23,14 +25,6 @@ class EmailItemTest extends FieldUnitTestBase {
    */
   public static $modules = array('email');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Email field item',
-      'description' => 'Tests the new entity API for the email field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FieldAccessTest.php b/core/modules/field/src/Tests/FieldAccessTest.php
index 59b0cba97674..2bf705ec0627 100644
--- a/core/modules/field/src/Tests/FieldAccessTest.php
+++ b/core/modules/field/src/Tests/FieldAccessTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\field\Tests;
 
 /**
- * Tests the functionality of field access.
+ * Tests Field access.
+ *
+ * @group field
  */
 class FieldAccessTest extends FieldTestBase {
 
@@ -33,14 +35,6 @@ class FieldAccessTest extends FieldTestBase {
    */
   protected $test_view_field_value;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field access tests',
-      'description' => 'Test Field access.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FieldAttachOtherTest.php b/core/modules/field/src/Tests/FieldAttachOtherTest.php
index 88ba6f7dfc04..8e54bc1f5a0b 100644
--- a/core/modules/field/src/Tests/FieldAttachOtherTest.php
+++ b/core/modules/field/src/Tests/FieldAttachOtherTest.php
@@ -10,8 +10,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Unit test class for non-storage related entity field functions.
+ * Tests other Field API functions.
  *
+ * @group field
  * @todo move this to the Entity module
  */
 class FieldAttachOtherTest extends FieldUnitTestBase {
@@ -30,14 +31,6 @@ class FieldAttachOtherTest extends FieldUnitTestBase {
    */
   protected $field_name_2;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field attach tests (other)',
-      'description' => 'Test other Field API functions.',
-      'group' => 'Field API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('entity_test_rev');
diff --git a/core/modules/field/src/Tests/FieldAttachStorageTest.php b/core/modules/field/src/Tests/FieldAttachStorageTest.php
index 9ec1d7cb42b8..a80c401ddfbb 100644
--- a/core/modules/field/src/Tests/FieldAttachStorageTest.php
+++ b/core/modules/field/src/Tests/FieldAttachStorageTest.php
@@ -9,8 +9,9 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Unit test class for storage-related field behavior.
+ * Tests storage-related Field Attach API functions.
  *
+ * @group field
  * @todo move this to the Entity module
  */
 class FieldAttachStorageTest extends FieldUnitTestBase {
@@ -29,14 +30,6 @@ class FieldAttachStorageTest extends FieldUnitTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field attach tests (storage-related)',
-      'description' => 'Test storage-related Field Attach API functions.',
-      'group' => 'Field API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('entity_test_rev');
diff --git a/core/modules/field/src/Tests/FieldDataCountTest.php b/core/modules/field/src/Tests/FieldDataCountTest.php
index 3275b47f45b8..e443825581b5 100644
--- a/core/modules/field/src/Tests/FieldDataCountTest.php
+++ b/core/modules/field/src/Tests/FieldDataCountTest.php
@@ -10,8 +10,10 @@
 use Drupal\Core\Entity\ContentEntityDatabaseStorage;
 
 /**
- * Tests counting field data records.
+ * Tests counting field data records and the hasData() method on FieldConfig
+ * entity.
  *
+ * @group field
  * @see \Drupal\Core\Entity\FieldableEntityStorageInterface::countFieldData()
  * @see \Drupal\field\Entity\FieldConfig::hasData()
  */
@@ -22,17 +24,6 @@ class FieldDataCountTest extends FieldUnitTestBase {
    */
   protected $storage;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config hasData() tests.',
-      'description' => 'Tests counting field data records and the hasData() method on FieldConfig entity.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field/src/Tests/FieldHelpTest.php b/core/modules/field/src/Tests/FieldHelpTest.php
index 437c6567e44d..663c84218e92 100644
--- a/core/modules/field/src/Tests/FieldHelpTest.php
+++ b/core/modules/field/src/Tests/FieldHelpTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests help display for the Field module.
+ *
+ * @group field
  */
 class FieldHelpTest extends WebTestBase {
 
@@ -29,14 +31,6 @@ class FieldHelpTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field help functionality',
-      'description' => 'Verify help display for the Field module.',
-      'group' => 'Field',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FieldImportChangeTest.php b/core/modules/field/src/Tests/FieldImportChangeTest.php
index d5d6407938a2..fce8d0e9b39e 100644
--- a/core/modules/field/src/Tests/FieldImportChangeTest.php
+++ b/core/modules/field/src/Tests/FieldImportChangeTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\field\Tests;
 
 /**
- * Tests updating fields and instances as part of config import.
+ * Update field and instances during config change method invocation.
+ *
+ * @group field
  */
 class FieldImportChangeTest extends FieldUnitTestBase {
 
@@ -19,14 +21,6 @@ class FieldImportChangeTest extends FieldUnitTestBase {
    */
   public static $modules = array('field_test_config');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config change tests',
-      'description' => 'Update field and instances during config change method invocation.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests importing an updated field instance.
    */
diff --git a/core/modules/field/src/Tests/FieldImportCreateTest.php b/core/modules/field/src/Tests/FieldImportCreateTest.php
index 7a1c4fb18f3b..80a4abd7b4ad 100644
--- a/core/modules/field/src/Tests/FieldImportCreateTest.php
+++ b/core/modules/field/src/Tests/FieldImportCreateTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\field\Tests;
 
 /**
- * Tests creating fields and instances as part of config import.
+ * Create field and instances during config create method invocation.
+ *
+ * @group field
  */
 class FieldImportCreateTest extends FieldUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config create tests',
-      'description' => 'Create field and instances during config create method invocation.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests creating fields and instances during default config import.
    */
diff --git a/core/modules/field/src/Tests/FieldImportDeleteTest.php b/core/modules/field/src/Tests/FieldImportDeleteTest.php
index b0485c46d803..4358a4fac0f3 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteTest.php
+++ b/core/modules/field/src/Tests/FieldImportDeleteTest.php
@@ -10,7 +10,9 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests deleting fields and instances as part of config import.
+ * Delete field and instances during config delete method invocation.
+ *
+ * @group field
  */
 class FieldImportDeleteTest extends FieldUnitTestBase {
 
@@ -21,14 +23,6 @@ class FieldImportDeleteTest extends FieldUnitTestBase {
    */
   public static $modules = array('field_test_config');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config delete tests',
-      'description' => 'Delete field and instances during config delete method invocation.',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests deleting fields and instances as part of config import.
    */
diff --git a/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php b/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php
index dd6fe611b7ea..05d2d6f6ef21 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php
+++ b/core/modules/field/src/Tests/FieldImportDeleteUninstallTest.php
@@ -8,8 +8,10 @@
 namespace Drupal\field\Tests;
 
 /**
- * Tests config sync of deleting fields and instances and uninstalling modules.
+ * Delete field and instances during config synchronization and uninstall module
+ * that provides the field type.
  *
+ * @group field
  * @see \Drupal\field\ConfigImporterFieldPurger
  * @see field_config_import_steps_alter()
  */
@@ -22,14 +24,6 @@ class FieldImportDeleteUninstallTest extends FieldUnitTestBase {
    */
   public static $modules = array('telephone', 'menu_link');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config delete and uninstall tests',
-      'description' => 'Delete field and instances during config synchronization and uninstall module that provides the field type.',
-      'group' => 'Field API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Module uninstall requires the router and users_data tables.
diff --git a/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php b/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
index c8f6db0ff0f5..e4512a7b9dc1 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
+++ b/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
@@ -8,8 +8,10 @@
 namespace Drupal\field\Tests;
 
 /**
- * Tests config sync of deleting fields and instances and uninstalling modules.
+ * Delete field and instances during config synchronization and uninstall module
+ * that provides the field type through the UI.
  *
+ * @group field
  * @see \Drupal\field\ConfigImporterFieldPurger
  * @see field_config_import_steps_alter()
  * @see field_form_config_admin_import_form_alter()
@@ -23,14 +25,6 @@ class FieldImportDeleteUninstallUiTest extends FieldTestBase {
    */
   public static $modules = array('entity_test', 'telephone', 'config', 'filter', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field config delete and uninstall UI tests',
-      'description' => 'Delete field and instances during config synchronization and uninstall module that provides the field type through the UI.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FieldInstanceCrudTest.php b/core/modules/field/src/Tests/FieldInstanceCrudTest.php
index 2b867e564606..f5f847f2e256 100644
--- a/core/modules/field/src/Tests/FieldInstanceCrudTest.php
+++ b/core/modules/field/src/Tests/FieldInstanceCrudTest.php
@@ -13,7 +13,9 @@
 use Drupal\field\FieldException;
 
 /**
- * Tests field instance CRUD (attaching fields to entities).
+ * Create field entities by attaching fields to entities.
+ *
+ * @group field
  */
 class FieldInstanceCrudTest extends FieldUnitTestBase {
 
@@ -38,14 +40,6 @@ class FieldInstanceCrudTest extends FieldUnitTestBase {
    */
   protected $instance_definition;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field instance CRUD tests',
-      'description' => 'Create field entities by attaching fields to entities.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FieldTypePluginManagerTest.php b/core/modules/field/src/Tests/FieldTypePluginManagerTest.php
index 90ee49396dc7..f079d3e657f2 100644
--- a/core/modules/field/src/Tests/FieldTypePluginManagerTest.php
+++ b/core/modules/field/src/Tests/FieldTypePluginManagerTest.php
@@ -9,20 +9,11 @@
 
 /**
  * Tests the field type manager.
+ *
+ * @group field
  */
 class FieldTypePluginManagerTest extends FieldUnitTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Field type manager',
-      'description' => 'Tests the field type manager',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests the default settings convenience methods.
    */
diff --git a/core/modules/field/src/Tests/FieldValidationTest.php b/core/modules/field/src/Tests/FieldValidationTest.php
index 1a57a4c3021e..fa28f81f6959 100644
--- a/core/modules/field/src/Tests/FieldValidationTest.php
+++ b/core/modules/field/src/Tests/FieldValidationTest.php
@@ -10,18 +10,12 @@
 use Drupal\field\Tests\FieldUnitTestBase;
 
 /**
- * Unit test class for field validation.
+ * Tests field validation.
+ *
+ * @group field
  */
 class FieldValidationTest extends FieldUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field validation',
-      'description' => 'Tests field validation.',
-      'group' => 'Field API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/FormTest.php b/core/modules/field/src/Tests/FormTest.php
index c8772e62fc9b..16f78c8019b2 100644
--- a/core/modules/field/src/Tests/FormTest.php
+++ b/core/modules/field/src/Tests/FormTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests field form handling.
+ *
+ * @group field
  */
 class FormTest extends FieldTestBase {
 
@@ -50,14 +52,6 @@ class FormTest extends FieldTestBase {
    */
   protected $instance;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field form tests',
-      'description' => 'Test Field form handling.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/NestedFormTest.php b/core/modules/field/src/Tests/NestedFormTest.php
index b7f070864afb..1a4659c286c1 100644
--- a/core/modules/field/src/Tests/NestedFormTest.php
+++ b/core/modules/field/src/Tests/NestedFormTest.php
@@ -10,6 +10,8 @@
 
 /**
  * Tests field elements in nested forms.
+ *
+ * @group field
  */
 class NestedFormTest extends FieldTestBase {
 
@@ -20,14 +22,6 @@ class NestedFormTest extends FieldTestBase {
    */
   public static $modules = array('field_test', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Nested form',
-      'description' => 'Test the support for field elements in nested forms.',
-      'group' => 'Field API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Number/NumberFieldTest.php b/core/modules/field/src/Tests/Number/NumberFieldTest.php
index f9efa00cf854..574d2bf8b69c 100644
--- a/core/modules/field/src/Tests/Number/NumberFieldTest.php
+++ b/core/modules/field/src/Tests/Number/NumberFieldTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for numeric field types.
+ * Tests the creation of numeric fields.
+ *
+ * @group field
  */
 class NumberFieldTest extends WebTestBase {
 
@@ -42,14 +44,6 @@ class NumberFieldTest extends WebTestBase {
    */
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Numeric fields',
-      'description'  => 'Test the creation of numeric fields.',
-      'group' => 'Field types'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Number/NumberItemTest.php b/core/modules/field/src/Tests/Number/NumberItemTest.php
index 011bf09682b3..ff1b2745242b 100644
--- a/core/modules/field/src/Tests/Number/NumberItemTest.php
+++ b/core/modules/field/src/Tests/Number/NumberItemTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the new entity API for the number field type.
+ *
+ * @group field
  */
 class NumberItemTest extends FieldUnitTestBase {
 
@@ -23,14 +25,6 @@ class NumberItemTest extends FieldUnitTestBase {
    */
   public static $modules = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Number field items',
-      'description' => 'Tests the new entity API for the number field types.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/ShapeItemTest.php b/core/modules/field/src/Tests/ShapeItemTest.php
index d3afd9ad8bdd..2f83ab0061d6 100644
--- a/core/modules/field/src/Tests/ShapeItemTest.php
+++ b/core/modules/field/src/Tests/ShapeItemTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the new entity API for the shape field type.
+ *
+ * @group field
  */
 class ShapeItemTest extends FieldUnitTestBase {
 
@@ -29,14 +31,6 @@ class ShapeItemTest extends FieldUnitTestBase {
    */
   protected $field_name = 'field_shape';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Shape field item',
-      'description' => 'Tests the new entity API for the shape field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/TestItemTest.php b/core/modules/field/src/Tests/TestItemTest.php
index a7680d318990..b7978bc9eb54 100644
--- a/core/modules/field/src/Tests/TestItemTest.php
+++ b/core/modules/field/src/Tests/TestItemTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the new entity API for the test field type.
+ *
+ * @group field
  */
 class TestItemTest extends FieldUnitTestBase {
 
@@ -30,14 +32,6 @@ class TestItemTest extends FieldUnitTestBase {
    */
   protected $field_name = 'field_test';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Test field item',
-      'description' => 'Tests the new entity API for the test field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/TranslationTest.php b/core/modules/field/src/Tests/TranslationTest.php
index 618d8a51b4f5..b45e6161c6eb 100644
--- a/core/modules/field/src/Tests/TranslationTest.php
+++ b/core/modules/field/src/Tests/TranslationTest.php
@@ -10,9 +10,11 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Unit test class for the multilanguage fields logic.
+ * Tests multilanguage fields logic.
  *
  * The following tests will check the multilanguage logic in field handling.
+ *
+ * @group field
  */
 class TranslationTest extends FieldUnitTestBase {
 
@@ -68,14 +70,6 @@ class TranslationTest extends FieldUnitTestBase {
    */
   protected $instance;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field translations tests',
-      'description' => 'Test multilanguage fields logic.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/TranslationWebTest.php b/core/modules/field/src/Tests/TranslationWebTest.php
index 18b9ef21a525..27f1e2917a36 100644
--- a/core/modules/field/src/Tests/TranslationWebTest.php
+++ b/core/modules/field/src/Tests/TranslationWebTest.php
@@ -10,7 +10,9 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Web test class for the multilanguage fields logic.
+ * Tests multilanguage fields logic that require a full environment.
+ *
+ * @group field
  */
 class TranslationWebTest extends FieldTestBase {
 
@@ -49,14 +51,6 @@ class TranslationWebTest extends FieldTestBase {
    */
   protected $instance;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field translations web tests',
-      'description' => 'Test multilanguage fields logic that require a full environment.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Views/ApiDataTest.php b/core/modules/field/src/Tests/Views/ApiDataTest.php
index be0d49658e3e..b424480e421c 100644
--- a/core/modules/field/src/Tests/Views/ApiDataTest.php
+++ b/core/modules/field/src/Tests/Views/ApiDataTest.php
@@ -9,7 +9,9 @@
 use Drupal\Core\Entity\ContentEntityDatabaseStorage;
 
 /**
- * Test the produced views_data.
+ * Tests the Field Views data.
+ *
+ * @group field
  */
 class ApiDataTest extends FieldTestBase {
 
@@ -18,14 +20,6 @@ class ApiDataTest extends FieldTestBase {
    */
   var $fields;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Views Data',
-      'description' => 'Tests the Field Views data.',
-      'group' => 'Views module integration',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/src/Tests/Views/FieldUITest.php b/core/modules/field/src/Tests/Views/FieldUITest.php
index 991fed151688..d89cdebace38 100644
--- a/core/modules/field/src/Tests/Views/FieldUITest.php
+++ b/core/modules/field/src/Tests/Views/FieldUITest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the UI of the field field handler.
  *
+ * @group field
  * @see \Drupal\field\Plugin\views\field\Field
  */
 class FieldUITest extends FieldTestBase {
@@ -37,17 +38,6 @@ class FieldUITest extends FieldTestBase {
    */
   protected $account;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Field handler UI',
-      'description' => 'Tests the UI of the field field handler.',
-      'group' => 'Views UI'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php b/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
index 15a49140b4de..5524a7065229 100644
--- a/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
+++ b/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
@@ -12,7 +12,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the field_field handler.
+ * Tests the field itself of the Field integration.
+ *
+ * @group field
  * @TODO
  *   Check a entity-type with bundles
  *   Check a entity-type without bundles
@@ -30,14 +32,6 @@ class HandlerFieldFieldTest extends FieldTestBase {
 
   public $nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Field handler',
-      'description' => 'Tests the field itself of the Field integration.',
-      'group' => 'Views module integration'
-    );
-  }
-
   /**
    * @todo.
    */
diff --git a/core/modules/field/src/Tests/WidgetPluginManagerTest.php b/core/modules/field/src/Tests/WidgetPluginManagerTest.php
index 879c83e7b783..2ac557f9a380 100644
--- a/core/modules/field/src/Tests/WidgetPluginManagerTest.php
+++ b/core/modules/field/src/Tests/WidgetPluginManagerTest.php
@@ -9,20 +9,11 @@
 
 /**
  * Tests the field widget manager.
+ *
+ * @group field
  */
 class WidgetPluginManagerTest extends FieldUnitTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Widget manager tests',
-      'description' => 'Tests the widget manager',
-      'group' => 'Field API',
-    );
-  }
-
   /**
    * Tests that the widget definitions alter hook works.
    */
diff --git a/core/modules/field/src/Tests/reEnableModuleFieldTest.php b/core/modules/field/src/Tests/reEnableModuleFieldTest.php
index 81242db82b51..486c6b3d064d 100644
--- a/core/modules/field/src/Tests/reEnableModuleFieldTest.php
+++ b/core/modules/field/src/Tests/reEnableModuleFieldTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests a field is still present after it's module is disabled then re-enabled.
+ * Tests the behavior of a field module after being disabled and re-enabled.
+ *
+ * @group field
  */
 class reEnableModuleFieldTest extends WebTestBase {
 
@@ -27,14 +29,6 @@ class reEnableModuleFieldTest extends WebTestBase {
     'telephone'
   );
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Test field module re-enable',
-      'description'  => "Test the behavior of a field module after being disabled and re-enabled.",
-      'group' => 'Field types'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/field/tests/src/FieldConfigEntityUnitTest.php b/core/modules/field/tests/src/FieldConfigEntityUnitTest.php
index 0e1c723f1563..d9a66e5ffd63 100644
--- a/core/modules/field/tests/src/FieldConfigEntityUnitTest.php
+++ b/core/modules/field/tests/src/FieldConfigEntityUnitTest.php
@@ -13,9 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\field\Entity\FieldConfig
- *
- * @group Drupal
- * @group Config
+ * @group field
  */
 class FieldConfigEntityUnitTest extends UnitTestCase {
 
@@ -47,17 +45,6 @@ class FieldConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\field\Entity\FieldConfig unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field/tests/src/FieldInstanceConfigEntityUnitTest.php b/core/modules/field/tests/src/FieldInstanceConfigEntityUnitTest.php
index 1d2b2cafdf5e..7cd3a068f696 100644
--- a/core/modules/field/tests/src/FieldInstanceConfigEntityUnitTest.php
+++ b/core/modules/field/tests/src/FieldInstanceConfigEntityUnitTest.php
@@ -14,9 +14,7 @@
 
 /**
  * @coversDefaultClass \Drupal\field\Entity\FieldInstanceConfig
- *
- * @group Drupal
- * @group Config
+ * @group field
  */
 class FieldInstanceConfigEntityUnitTest extends UnitTestCase {
 
@@ -48,17 +46,6 @@ class FieldInstanceConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\field\Entity\FieldInstanceConfig unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php b/core/modules/field_ui/src/Tests/FieldUIRouteTest.php
index ef7bbfa80498..6677c46333e1 100644
--- a/core/modules/field_ui/src/Tests/FieldUIRouteTest.php
+++ b/core/modules/field_ui/src/Tests/FieldUIRouteTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the functionality of the Field UI route subscriber.
+ *
+ * @group field_ui
  */
 class FieldUIRouteTest extends WebTestBase {
 
@@ -19,17 +21,6 @@ class FieldUIRouteTest extends WebTestBase {
    */
   public static $modules = array('field_ui_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Field UI routes',
-      'description' => 'Tests the functionality of the Field UI route subscriber.',
-      'group' => 'Field UI',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field_ui/src/Tests/ManageDisplayTest.php b/core/modules/field_ui/src/Tests/ManageDisplayTest.php
index ef3ceb366d54..82d71177b1fb 100644
--- a/core/modules/field_ui/src/Tests/ManageDisplayTest.php
+++ b/core/modules/field_ui/src/Tests/ManageDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Entity\EntityInterface;
 
 /**
- * Tests the functionality of the 'Manage display' screens.
+ * Tests the Field UI "Manage display" and "Manage form display" screens.
+ *
+ * @group field_ui
  */
 class ManageDisplayTest extends FieldUiTestBase {
 
@@ -24,14 +26,6 @@ class ManageDisplayTest extends FieldUiTestBase {
    */
   public static $modules = array('search', 'field_test', 'field_third_party_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Manage display',
-      'description' => 'Test the Field UI "Manage display" and "Manage form display" screens.',
-      'group' => 'Field UI',
-    );
-  }
-
   /**
    * Tests formatter settings.
    */
diff --git a/core/modules/field_ui/src/Tests/ManageFieldsTest.php b/core/modules/field_ui/src/Tests/ManageFieldsTest.php
index d22030d43411..a1627a175e62 100644
--- a/core/modules/field_ui/src/Tests/ManageFieldsTest.php
+++ b/core/modules/field_ui/src/Tests/ManageFieldsTest.php
@@ -14,18 +14,12 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Tests the functionality of the 'Manage fields' screen.
+ * Tests the Field UI "Manage fields" screen.
+ *
+ * @group field_ui
  */
 class ManageFieldsTest extends FieldUiTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Manage fields',
-      'description' => 'Test the Field UI "Manage fields" screen.',
-      'group' => 'Field UI',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/file/src/Tests/CopyTest.php b/core/modules/file/src/Tests/CopyTest.php
index 9fb0ed12a2c0..3ce3d2d1ea8d 100644
--- a/core/modules/file/src/Tests/CopyTest.php
+++ b/core/modules/file/src/Tests/CopyTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- * Copy related tests.
+ * Tests the file copy function.
+ *
+ * @group file
  */
 class CopyTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File copying',
-      'description' => 'Tests the file copy function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Test file copying in the normal, base case.
    */
diff --git a/core/modules/file/src/Tests/DeleteTest.php b/core/modules/file/src/Tests/DeleteTest.php
index f7889b52ac8a..f39239fd3e16 100644
--- a/core/modules/file/src/Tests/DeleteTest.php
+++ b/core/modules/file/src/Tests/DeleteTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- * Deletion related tests.
+ * Tests the file delete function.
+ *
+ * @group file
  */
 class DeleteTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File delete',
-      'description' => 'Tests the file delete function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Tries deleting a normal file (as opposed to a directory, symlink, etc).
    */
diff --git a/core/modules/file/src/Tests/DownloadTest.php b/core/modules/file/src/Tests/DownloadTest.php
index 51ae9ce7f4e1..54f3da7ae877 100644
--- a/core/modules/file/src/Tests/DownloadTest.php
+++ b/core/modules/file/src/Tests/DownloadTest.php
@@ -11,16 +11,10 @@
 
 /**
  * Tests for download/file transfer functions.
+ *
+ * @group file
  */
 class DownloadTest extends FileManagedTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File download',
-      'description' => 'Tests for file download/transfer functions.',
-      'group' => 'File Managed API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Clear out any hook calls.
diff --git a/core/modules/file/src/Tests/FileFieldDisplayTest.php b/core/modules/file/src/Tests/FileFieldDisplayTest.php
index 674fa8e8166c..8759d61cb307 100644
--- a/core/modules/file/src/Tests/FileFieldDisplayTest.php
+++ b/core/modules/file/src/Tests/FileFieldDisplayTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 
 /**
- * Tests that formatters are working properly.
+ * Tests the display of file fields in node and views.
+ *
+ * @group file
  */
 class FileFieldDisplayTest extends FileFieldTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File field display tests',
-      'description' => 'Test the display of file fields in node and views.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests normal formatter display on node display.
    */
diff --git a/core/modules/file/src/Tests/FileFieldPathTest.php b/core/modules/file/src/Tests/FileFieldPathTest.php
index b9134d36f7d4..2c1ae666e1a4 100644
--- a/core/modules/file/src/Tests/FileFieldPathTest.php
+++ b/core/modules/file/src/Tests/FileFieldPathTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests that files are uploaded to proper locations.
+ *
+ * @group file
  */
 class FileFieldPathTest extends FileFieldTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File field file path tests',
-      'description' => 'Test that files are uploaded to the proper location with token support.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests the normal formatter display on node display.
    */
diff --git a/core/modules/file/src/Tests/FileFieldRSSContentTest.php b/core/modules/file/src/Tests/FileFieldRSSContentTest.php
index 5b758624b460..4031caf08174 100644
--- a/core/modules/file/src/Tests/FileFieldRSSContentTest.php
+++ b/core/modules/file/src/Tests/FileFieldRSSContentTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\file\Tests;
 
 /**
- * Tests that formatters are working properly.
+ * Ensure that files added to nodes appear correctly in RSS feeds.
+ *
+ * @group file
  */
 class FileFieldRSSContentTest extends FileFieldTestBase {
 
@@ -19,14 +21,6 @@ class FileFieldRSSContentTest extends FileFieldTestBase {
    */
   public static $modules = array('node', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File field RSS content',
-      'description' => 'Ensure that files added to nodes appear correctly in RSS feeds.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests RSS enclosure formatter display for RSS feeds.
    */
diff --git a/core/modules/file/src/Tests/FileFieldRevisionTest.php b/core/modules/file/src/Tests/FileFieldRevisionTest.php
index ed065712e393..a02e7a05a09a 100644
--- a/core/modules/file/src/Tests/FileFieldRevisionTest.php
+++ b/core/modules/file/src/Tests/FileFieldRevisionTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- * Tests file handling with node revisions.
+ * Tests creating and deleting revisions with files attached.
+ *
+ * @group file
  */
 class FileFieldRevisionTest extends FileFieldTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File field revision test',
-      'description' => 'Test creating and deleting revisions with files attached.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests creating multiple revisions of a node and managing attached files.
    *
diff --git a/core/modules/file/src/Tests/FileFieldValidateTest.php b/core/modules/file/src/Tests/FileFieldValidateTest.php
index bab0f11c4d1d..f4fc092bad54 100644
--- a/core/modules/file/src/Tests/FileFieldValidateTest.php
+++ b/core/modules/file/src/Tests/FileFieldValidateTest.php
@@ -11,20 +11,15 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Tests various validations.
+ * Tests validation functions such as file type, max file size, max size per
+ * node, and required.
+ *
+ * @group file
  */
 class FileFieldValidateTest extends FileFieldTestBase {
   protected $field;
   protected $node_type;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File field validation tests',
-      'description' => 'Tests validation functions such as file type, max file size, max size per node, and required.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests the required property on file fields.
    */
diff --git a/core/modules/file/src/Tests/FileFieldWidgetTest.php b/core/modules/file/src/Tests/FileFieldWidgetTest.php
index f901002f55e3..0c92b64819f2 100644
--- a/core/modules/file/src/Tests/FileFieldWidgetTest.php
+++ b/core/modules/file/src/Tests/FileFieldWidgetTest.php
@@ -11,7 +11,10 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Tests file field widget.
+ * Tests the file field widget, single and multi-valued, with and without AJAX,
+ * with public and private files.
+ *
+ * @group file
  */
 class FileFieldWidgetTest extends FileFieldTestBase {
 
@@ -22,14 +25,6 @@ class FileFieldWidgetTest extends FileFieldTestBase {
    */
   public static $modules = array('comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File field widget test',
-      'description' => 'Tests the file field widget, single and multi-valued, with and without AJAX, with public and private files.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests upload and remove buttons for a single-valued File field.
    */
diff --git a/core/modules/file/src/Tests/FileItemTest.php b/core/modules/file/src/Tests/FileItemTest.php
index c4fd4b4574e1..4e5816c5e6ee 100644
--- a/core/modules/file/src/Tests/FileItemTest.php
+++ b/core/modules/file/src/Tests/FileItemTest.php
@@ -13,7 +13,9 @@
 use Drupal\field\Tests\FieldUnitTestBase;
 
 /**
- * Tests the new entity API for the file field type.
+ * Tests using entity fields of the file field type.
+ *
+ * @group file
  */
 class FileItemTest extends FieldUnitTestBase {
 
@@ -31,14 +33,6 @@ class FileItemTest extends FieldUnitTestBase {
    */
   protected $file;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File field item API',
-      'description' => 'Tests using entity fields of the file field type.',
-      'group' => 'File',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/file/src/Tests/FileListingTest.php b/core/modules/file/src/Tests/FileListingTest.php
index dd274846383a..e327ed2d26f2 100644
--- a/core/modules/file/src/Tests/FileListingTest.php
+++ b/core/modules/file/src/Tests/FileListingTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests file listing page functionality.
+ *
+ * @group file
  */
 class FileListingTest extends FileFieldTestBase {
 
@@ -19,14 +21,6 @@ class FileListingTest extends FileFieldTestBase {
    */
   public static $modules = array('views', 'file', 'image');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File listing',
-      'description' => 'Tests file listing page functionality.',
-      'group' => 'File',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/file/src/Tests/FileManagedFileElementTest.php b/core/modules/file/src/Tests/FileManagedFileElementTest.php
index 94b34eebafc0..8368610503c3 100644
--- a/core/modules/file/src/Tests/FileManagedFileElementTest.php
+++ b/core/modules/file/src/Tests/FileManagedFileElementTest.php
@@ -10,18 +10,11 @@
 /**
  * Tests the 'managed_file' element type.
  *
+ * @group file
  * @todo Create a FileTestBase class and move FileFieldTestBase methods
  *   that aren't related to fields into it.
  */
 class FileManagedFileElementTest extends FileFieldTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Managed file element test',
-      'description' => 'Tests the managed_file element type.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Tests the managed_file element type.
    */
diff --git a/core/modules/file/src/Tests/FilePrivateTest.php b/core/modules/file/src/Tests/FilePrivateTest.php
index 3dce48e0a471..dcdf910653ff 100644
--- a/core/modules/file/src/Tests/FilePrivateTest.php
+++ b/core/modules/file/src/Tests/FilePrivateTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\file\Tests;
 
 /**
- * Tests file access on private nodes.
+ * Uploads a test to a private node and checks access.
+ *
+ * @group file
  */
 class FilePrivateTest extends FileFieldTestBase {
 
@@ -19,14 +21,6 @@ class FilePrivateTest extends FileFieldTestBase {
    */
   public static $modules = array('node_access_test', 'field_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Private file test',
-      'description' => 'Uploads a test to a private node and checks access.',
-      'group' => 'File',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     node_access_rebuild();
diff --git a/core/modules/file/src/Tests/FileTokenReplaceTest.php b/core/modules/file/src/Tests/FileTokenReplaceTest.php
index 3198681f74d2..481e8f4cdb09 100644
--- a/core/modules/file/src/Tests/FileTokenReplaceTest.php
+++ b/core/modules/file/src/Tests/FileTokenReplaceTest.php
@@ -10,17 +10,12 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests the file token replacement in strings.
+ * Generates text using placeholders for dummy content to check file token
+ * replacement.
+ *
+ * @group file
  */
 class FileTokenReplaceTest extends FileFieldTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check file token replacement.',
-      'group' => 'File',
-    );
-  }
-
   /**
    * Creates a file, then tests the tokens generated from it.
    */
diff --git a/core/modules/file/src/Tests/LoadTest.php b/core/modules/file/src/Tests/LoadTest.php
index bf6a1e935149..7c593cb4c41a 100644
--- a/core/modules/file/src/Tests/LoadTest.php
+++ b/core/modules/file/src/Tests/LoadTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests the file_load() function.
+ *
+ * @group file
  */
 class LoadTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File loading',
-      'description' => 'Tests the file_load() function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Try to load a non-existent file by fid.
    */
diff --git a/core/modules/file/src/Tests/MoveTest.php b/core/modules/file/src/Tests/MoveTest.php
index b063afa85109..14f72e23abc3 100644
--- a/core/modules/file/src/Tests/MoveTest.php
+++ b/core/modules/file/src/Tests/MoveTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- * Move related tests
+ * Tests the file move function.
+ *
+ * @group file
  */
 class MoveTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File moving',
-      'description' => 'Tests the file move function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Move a normal file.
    */
diff --git a/core/modules/file/src/Tests/RemoteFileSaveUploadTest.php b/core/modules/file/src/Tests/RemoteFileSaveUploadTest.php
index 6f2000c0bbb7..138f536d51f9 100644
--- a/core/modules/file/src/Tests/RemoteFileSaveUploadTest.php
+++ b/core/modules/file/src/Tests/RemoteFileSaveUploadTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\file\Tests;
 
 /**
- * Tests the file_save_upload() function on remote filesystems.
+ * Tests the file uploading functions.
+ *
+ * @group file
  */
 class RemoteFileSaveUploadTest extends SaveUploadTest {
 
@@ -19,12 +21,6 @@ class RemoteFileSaveUploadTest extends SaveUploadTest {
    */
   public static $modules = array('file_test');
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File Managed API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/file/src/Tests/SaveDataTest.php b/core/modules/file/src/Tests/SaveDataTest.php
index 081b6b38c43f..2131528992e9 100644
--- a/core/modules/file/src/Tests/SaveDataTest.php
+++ b/core/modules/file/src/Tests/SaveDataTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests the file_save_data() function.
+ *
+ * @group file
  */
 class SaveDataTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File save data',
-      'description' => 'Tests the file save data function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Test the file_save_data() function when no filename is provided.
    */
diff --git a/core/modules/file/src/Tests/SaveTest.php b/core/modules/file/src/Tests/SaveTest.php
index daa404839a7d..a390b54cf608 100644
--- a/core/modules/file/src/Tests/SaveTest.php
+++ b/core/modules/file/src/Tests/SaveTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests saving files.
+ * File saving tests.
+ *
+ * @group file
  */
 class SaveTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File saving',
-      'description' => 'File saving tests',
-      'group' => 'File Managed API',
-    );
-  }
-
   function testFileSave() {
     // Create a new file entity.
     $file = entity_create('file', array(
diff --git a/core/modules/file/src/Tests/SaveUploadTest.php b/core/modules/file/src/Tests/SaveUploadTest.php
index 6596f87504f9..29e625f9ea32 100644
--- a/core/modules/file/src/Tests/SaveUploadTest.php
+++ b/core/modules/file/src/Tests/SaveUploadTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\file\Tests;
 
 /**
- * Test the file_save_upload() function.
+ * Tests the file_save_upload() function.
+ *
+ * @group file
  */
 class SaveUploadTest extends FileManagedTestBase {
   /**
@@ -26,14 +28,6 @@ class SaveUploadTest extends FileManagedTestBase {
    */
   protected $maxFidBefore;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File uploading',
-      'description' => 'Tests the file uploading functions.',
-      'group' => 'File Managed API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $account = $this->drupalCreateUser();
diff --git a/core/modules/file/src/Tests/SpaceUsedTest.php b/core/modules/file/src/Tests/SpaceUsedTest.php
index bfedef64c2c1..0d9bc65217c9 100644
--- a/core/modules/file/src/Tests/SpaceUsedTest.php
+++ b/core/modules/file/src/Tests/SpaceUsedTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- *  This will run tests against the $file_managed->spaceUsed() function.
+ * Tests the spaceUsed() function.
+ *
+ * @group file
  */
 class SpaceUsedTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File space used tests',
-      'description' => 'Tests the spaceUsed() function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/file/src/Tests/UsageTest.php b/core/modules/file/src/Tests/UsageTest.php
index 1b3ea760506b..d251becbd297 100644
--- a/core/modules/file/src/Tests/UsageTest.php
+++ b/core/modules/file/src/Tests/UsageTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests file usage functions.
+ *
+ * @group file
  */
 class UsageTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File usage',
-      'description' => 'Tests the file usage functions.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Tests \Drupal\file\FileUsage\DatabaseFileUsageBackend::listUsage().
    */
diff --git a/core/modules/file/src/Tests/ValidateTest.php b/core/modules/file/src/Tests/ValidateTest.php
index 59fa0146ac35..943a830ad06e 100644
--- a/core/modules/file/src/Tests/ValidateTest.php
+++ b/core/modules/file/src/Tests/ValidateTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests the file_validate() function.
+ *
+ * @group file
  */
 class ValidateTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File validate',
-      'description' => 'Tests the file_validate() function.',
-      'group' => 'File Managed API',
-    );
-  }
-
   /**
    * Test that the validators passed into are checked.
    */
diff --git a/core/modules/file/src/Tests/ValidatorTest.php b/core/modules/file/src/Tests/ValidatorTest.php
index d7f3af3f37bd..cb767dd8cdb8 100644
--- a/core/modules/file/src/Tests/ValidatorTest.php
+++ b/core/modules/file/src/Tests/ValidatorTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\file\Tests;
 
 /**
- *  This will run tests against the file validation functions (file_validate_*).
+ * Tests the functions used to validate uploaded files.
+ *
+ * @group file
  */
 class ValidatorTest extends FileManagedUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File validator tests',
-      'description' => 'Tests the functions used to validate uploaded files.',
-      'group' => 'File Managed API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/file/src/Tests/Views/ExtensionViewsFieldTest.php b/core/modules/file/src/Tests/Views/ExtensionViewsFieldTest.php
index 1218e05811d3..7a01bc7d931e 100644
--- a/core/modules/file/src/Tests/Views/ExtensionViewsFieldTest.php
+++ b/core/modules/file/src/Tests/Views/ExtensionViewsFieldTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the core Drupal\file\Plugin\views\field\Extension handler.
+ *
+ * @group file
  */
 class ExtensionViewsFieldTest extends ViewUnitTestBase {
 
@@ -28,14 +30,6 @@ class ExtensionViewsFieldTest extends ViewUnitTestBase {
    */
   public static $testViews = array('file_extension_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: File extension',
-      'description' => 'Test the core Drupal\file\Plugin\views\field\Extension handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/filter/src/Tests/FilterAPITest.php b/core/modules/filter/src/Tests/FilterAPITest.php
index 2c5522a474f0..9e524203240e 100644
--- a/core/modules/filter/src/Tests/FilterAPITest.php
+++ b/core/modules/filter/src/Tests/FilterAPITest.php
@@ -16,20 +16,14 @@
 use Symfony\Component\Validator\ConstraintViolationListInterface;
 
 /**
- * Tests the behavior of Filter's API.
+ * Tests the behavior of the API of the Filter module.
+ *
+ * @group filter
  */
 class FilterAPITest extends EntityUnitTestBase {
 
   public static $modules = array('system', 'filter', 'filter_test', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter API',
-      'description' => 'Test the behavior of the API of the Filter module.',
-      'group' => 'Filter',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/filter/src/Tests/FilterAdminTest.php b/core/modules/filter/src/Tests/FilterAdminTest.php
index 4437c8aa87d6..e43816256b3b 100644
--- a/core/modules/filter/src/Tests/FilterAdminTest.php
+++ b/core/modules/filter/src/Tests/FilterAdminTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the administrative functionality of the Filter module.
+ * Thoroughly test the administrative interface of the filter module.
+ *
+ * @group filter
  */
 class FilterAdminTest extends WebTestBase {
 
@@ -20,17 +22,6 @@ class FilterAdminTest extends WebTestBase {
    */
   public static $modules = array('filter', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter administration functionality',
-      'description' => 'Thoroughly test the administrative interface of the filter module.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/filter/src/Tests/FilterCrudTest.php b/core/modules/filter/src/Tests/FilterCrudTest.php
index 76ef893461ac..75bf568ca6ff 100644
--- a/core/modules/filter/src/Tests/FilterCrudTest.php
+++ b/core/modules/filter/src/Tests/FilterCrudTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests for text format and filter CRUD operations.
+ * Tests creation, loading, updating, deleting of text formats and filters.
+ *
+ * @group filter
  */
 class FilterCrudTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class FilterCrudTest extends DrupalUnitTestBase {
    */
   public static $modules = array('filter', 'filter_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter CRUD operations',
-      'description' => 'Test creation, loading, updating, deleting of text formats and filters.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * Tests CRUD operations for text formats and filters.
    */
diff --git a/core/modules/filter/src/Tests/FilterDefaultConfigTest.php b/core/modules/filter/src/Tests/FilterDefaultConfigTest.php
index 1ff977349cf0..0b1426850fca 100644
--- a/core/modules/filter/src/Tests/FilterDefaultConfigTest.php
+++ b/core/modules/filter/src/Tests/FilterDefaultConfigTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests text format default configuration.
+ *
+ * @group filter
  */
 class FilterDefaultConfigTest extends DrupalUnitTestBase {
 
   public static $modules = array('system', 'user', 'filter', 'filter_test', 'entity');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default configuration',
-      'description' => 'Tests text format default configuration.',
-      'group' => 'Filter',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/filter/src/Tests/FilterDefaultFormatTest.php b/core/modules/filter/src/Tests/FilterDefaultFormatTest.php
index bff71aa5ec0f..f1e6f0084163 100644
--- a/core/modules/filter/src/Tests/FilterDefaultFormatTest.php
+++ b/core/modules/filter/src/Tests/FilterDefaultFormatTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the default filter functionality in the Filter module.
+ * Tests the default text formats for different users.
+ *
+ * @group filter
  */
 class FilterDefaultFormatTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FilterDefaultFormatTest extends WebTestBase {
    */
   public static $modules = array('filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default text format functionality',
-      'description' => 'Test the default text formats for different users.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * Tests if the default text format is accessible to users.
    */
diff --git a/core/modules/filter/src/Tests/FilterFormTest.php b/core/modules/filter/src/Tests/FilterFormTest.php
index ea60b4e8af9a..676e193b7ca4 100644
--- a/core/modules/filter/src/Tests/FilterFormTest.php
+++ b/core/modules/filter/src/Tests/FilterFormTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests form elements provided by Filter module.
+ * Tests form elements with associated text formats.
+ *
+ * @group filter
  */
 class FilterFormTest extends WebTestBase {
 
@@ -36,17 +38,6 @@ class FilterFormTest extends WebTestBase {
    */
   protected $webUser;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Text format form element',
-      'description' => 'Tests form elements with associated text formats.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/filter/src/Tests/FilterFormatAccessTest.php b/core/modules/filter/src/Tests/FilterFormatAccessTest.php
index c0aeb26ef947..8689305ea488 100644
--- a/core/modules/filter/src/Tests/FilterFormatAccessTest.php
+++ b/core/modules/filter/src/Tests/FilterFormatAccessTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the filter format access functionality in the Filter module.
+ * Tests access to text formats.
+ *
+ * @group filter
  */
 class FilterFormatAccessTest extends WebTestBase {
 
@@ -63,14 +65,6 @@ class FilterFormatAccessTest extends WebTestBase {
    */
   protected $disallowed_format;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter format access',
-      'description' => 'Tests access to text formats.',
-      'group' => 'Filter',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/filter/src/Tests/FilterHooksTest.php b/core/modules/filter/src/Tests/FilterHooksTest.php
index b23ed883dc63..670adf9b4f80 100644
--- a/core/modules/filter/src/Tests/FilterHooksTest.php
+++ b/core/modules/filter/src/Tests/FilterHooksTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for Filter's hook invocations.
+ * Tests hooks for text formats insert/update/disable.
+ *
+ * @group filter
  */
 class FilterHooksTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FilterHooksTest extends WebTestBase {
    */
   public static $modules = array('node', 'filter_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter format hooks',
-      'description' => 'Test hooks for text formats insert/update/disable.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * Tests hooks on format management.
    *
diff --git a/core/modules/filter/src/Tests/FilterHtmlImageSecureTest.php b/core/modules/filter/src/Tests/FilterHtmlImageSecureTest.php
index 4a11cdfc64ca..ebabb199bee1 100644
--- a/core/modules/filter/src/Tests/FilterHtmlImageSecureTest.php
+++ b/core/modules/filter/src/Tests/FilterHtmlImageSecureTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests restriction of IMG tags in HTML input.
+ *
+ * @group filter
  */
 class FilterHtmlImageSecureTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class FilterHtmlImageSecureTest extends WebTestBase {
    */
   public static $modules = array('filter', 'node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Local image input filter',
-      'description' => 'Tests restriction of IMG tags in HTML input.',
-      'group' => 'Filter',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/filter/src/Tests/FilterNoFormatTest.php b/core/modules/filter/src/Tests/FilterNoFormatTest.php
index 9f2090c7d063..64a8337eee78 100644
--- a/core/modules/filter/src/Tests/FilterNoFormatTest.php
+++ b/core/modules/filter/src/Tests/FilterNoFormatTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the behavior of check_markup() when it is called without text format.
+ *
+ * @group filter
  */
 class FilterNoFormatTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FilterNoFormatTest extends WebTestBase {
    */
   public static $modules = array('filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Unassigned text format functionality',
-      'description' => 'Test the behavior of check_markup() when it is called without a text format.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * Tests text without format.
    *
diff --git a/core/modules/filter/src/Tests/FilterSecurityTest.php b/core/modules/filter/src/Tests/FilterSecurityTest.php
index be9ee1fc2552..7d7b86d3f65c 100644
--- a/core/modules/filter/src/Tests/FilterSecurityTest.php
+++ b/core/modules/filter/src/Tests/FilterSecurityTest.php
@@ -11,7 +11,11 @@
 use Drupal\filter\Plugin\FilterInterface;
 
 /**
- * Security tests for missing/vanished text formats or filters.
+ * Tests the behavior of check_markup() when a filter or text format vanishes,
+ * or when check_markup() is called in such a way that it is instructed to skip
+ * all filters of the "FilterInterface::TYPE_HTML_RESTRICTOR" type.
+ *
+ * @group filter
  */
 class FilterSecurityTest extends WebTestBase {
 
@@ -29,14 +33,6 @@ class FilterSecurityTest extends WebTestBase {
    */
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter security',
-      'description' => 'Test the behavior of check_markup() when a filter or text format vanishes, or when check_markup() is called in such a way that it is instructed to skip all filters of the "FilterInterface::TYPE_HTML_RESTRICTOR" type.',
-      'group' => 'Filter',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/filter/src/Tests/FilterSettingsTest.php b/core/modules/filter/src/Tests/FilterSettingsTest.php
index f37d48b9f934..a3fd53dc3277 100644
--- a/core/modules/filter/src/Tests/FilterSettingsTest.php
+++ b/core/modules/filter/src/Tests/FilterSettingsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests filter settings.
+ *
+ * @group filter
  */
 class FilterSettingsTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class FilterSettingsTest extends DrupalUnitTestBase {
    */
   public static $modules = array('filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter settings',
-      'description' => 'Tests filter settings.',
-      'group' => 'Filter',
-    );
-  }
-
   /**
    * Tests explicit and implicit default settings for filters.
    */
diff --git a/core/modules/filter/src/Tests/FilterUnitTest.php b/core/modules/filter/src/Tests/FilterUnitTest.php
index b04a717dd2aa..1895588058cf 100644
--- a/core/modules/filter/src/Tests/FilterUnitTest.php
+++ b/core/modules/filter/src/Tests/FilterUnitTest.php
@@ -13,7 +13,9 @@
 use Drupal\filter\FilterBag;
 
 /**
- * Unit tests for core filters.
+ * Tests Filter module filters individually.
+ *
+ * @group filter
  */
 class FilterUnitTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class FilterUnitTest extends DrupalUnitTestBase {
    */
   protected $filters;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter module filters',
-      'description' => 'Tests Filter module filters individually.',
-      'group' => 'Filter',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('system'));
diff --git a/core/modules/forum/src/Tests/ForumBlockTest.php b/core/modules/forum/src/Tests/ForumBlockTest.php
index 1295c822aaf6..30d14d997eb9 100644
--- a/core/modules/forum/src/Tests/ForumBlockTest.php
+++ b/core/modules/forum/src/Tests/ForumBlockTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Datetime\DrupalDateTime;
 
 /**
- * Provides automated tests for the Forum blocks.
+ * Tests the forum blocks.
+ *
+ * @group forum
  */
 class ForumBlockTest extends WebTestBase {
 
@@ -27,14 +29,6 @@ class ForumBlockTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum blocks',
-      'description' => 'Tests the forum blocks.',
-      'group' => 'Forum',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/forum/src/Tests/ForumIndexTest.php b/core/modules/forum/src/Tests/ForumIndexTest.php
index 8c1f3ee76452..9e2e9ff42987 100644
--- a/core/modules/forum/src/Tests/ForumIndexTest.php
+++ b/core/modules/forum/src/Tests/ForumIndexTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the forum index listing.
+ *
+ * @group forum
  */
 class ForumIndexTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ForumIndexTest extends WebTestBase {
    */
   public static $modules = array('taxonomy', 'comment', 'forum');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum index',
-      'description' => 'Tests the forum index listing.',
-      'group' => 'Forum',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/forum/src/Tests/ForumNodeAccessTest.php b/core/modules/forum/src/Tests/ForumNodeAccessTest.php
index 99f8b259599e..7e23ae0bfe72 100644
--- a/core/modules/forum/src/Tests/ForumNodeAccessTest.php
+++ b/core/modules/forum/src/Tests/ForumNodeAccessTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests forum block view for private node access.
+ *
+ * @group forum
  */
 class ForumNodeAccessTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ForumNodeAccessTest extends WebTestBase {
    */
   public static $modules = array('node', 'comment', 'forum', 'taxonomy', 'tracker', 'node_access_test', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum private node access test',
-      'description' => 'Tests forum block view for private node access',
-      'group' => 'Forum',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     node_access_rebuild();
diff --git a/core/modules/forum/src/Tests/ForumTest.php b/core/modules/forum/src/Tests/ForumTest.php
index 621783588176..890d9555716f 100644
--- a/core/modules/forum/src/Tests/ForumTest.php
+++ b/core/modules/forum/src/Tests/ForumTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Provides automated tests for the Forum module.
+ * Create, view, edit, delete, and change forum entries and verify its
+ * consistency in the database.
+ *
+ * @group forum
  */
 class ForumTest extends WebTestBase {
 
@@ -62,14 +65,6 @@ class ForumTest extends WebTestBase {
    */
   protected $nids;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum functionality',
-      'description' => 'Create, view, edit, delete, and change forum entries and verify its consistency in the database.',
-      'group' => 'Forum',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/forum/src/Tests/ForumUninstallTest.php b/core/modules/forum/src/Tests/ForumUninstallTest.php
index 3b3887696d0e..914099ffd9fd 100644
--- a/core/modules/forum/src/Tests/ForumUninstallTest.php
+++ b/core/modules/forum/src/Tests/ForumUninstallTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests forum module uninstallation.
+ *
+ * @group forum
  */
 class ForumUninstallTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class ForumUninstallTest extends WebTestBase {
    */
   public static $modules = array('forum');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum uninstallation',
-      'description' => 'Tests forum module uninstallation.',
-      'group' => 'Forum',
-    );
-  }
-
   /**
    * Tests if forum module uninstallation properly deletes the field.
    */
diff --git a/core/modules/forum/src/Tests/Views/ForumIntegrationTest.php b/core/modules/forum/src/Tests/Views/ForumIntegrationTest.php
index 6e40370389fb..4bcaee45a7cc 100644
--- a/core/modules/forum/src/Tests/Views/ForumIntegrationTest.php
+++ b/core/modules/forum/src/Tests/Views/ForumIntegrationTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the forum integration into views.
+ *
+ * @group forum
  */
 class ForumIntegrationTest extends ViewTestBase {
 
@@ -30,14 +32,6 @@ class ForumIntegrationTest extends ViewTestBase {
    */
   public static $testViews = array('test_forum_index');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum: Views data',
-      'description' => 'Tests the forum integration into views.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/forum/tests/src/Breadcrumb/ForumBreadcrumbBuilderBaseTest.php b/core/modules/forum/tests/src/Breadcrumb/ForumBreadcrumbBuilderBaseTest.php
index 33449a38517b..ad5840be920e 100644
--- a/core/modules/forum/tests/src/Breadcrumb/ForumBreadcrumbBuilderBaseTest.php
+++ b/core/modules/forum/tests/src/Breadcrumb/ForumBreadcrumbBuilderBaseTest.php
@@ -10,27 +10,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the ForumManager.
- *
  * @coversDefaultClass \Drupal\forum\Breadcrumb\ForumBreadcrumbBuilderBase
- * @group Forum
- * @group Drupal
- *
- * @see \Drupal\forum\ForumManager
+ * @group forum
  */
 class ForumBreadcrumbBuilderBaseTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum Breadcrumb Base Test',
-      'description' => 'Tests the abstract base class for forum breadcrumbs.',
-      'group' => 'Forum',
-    );
-  }
-
   /**
    * Tests ForumBreadcrumbBuilderBase::__construct().
    *
diff --git a/core/modules/forum/tests/src/Breadcrumb/ForumListingBreadcrumbBuilderTest.php b/core/modules/forum/tests/src/Breadcrumb/ForumListingBreadcrumbBuilderTest.php
index 130545dcc568..e32e287959b6 100644
--- a/core/modules/forum/tests/src/Breadcrumb/ForumListingBreadcrumbBuilderTest.php
+++ b/core/modules/forum/tests/src/Breadcrumb/ForumListingBreadcrumbBuilderTest.php
@@ -11,27 +11,11 @@
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
 
 /**
- * Tests the listing class for forum breadcrumbs.
- *
  * @coversDefaultClass \Drupal\forum\Breadcrumb\ForumListingBreadcrumbBuilder
- * @group Forum
- * @group Drupal
- *
- * @see \Drupal\forum\ForumListingBreadcrumbBuilder
+ * @group forum
  */
 class ForumListingBreadcrumbBuilderTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum Breadcrumb Listing Test',
-      'description' => 'Tests the listing class for forum breadcrumbs.',
-      'group' => 'Forum',
-    );
-  }
-
   /**
    * Tests ForumListingBreadcrumbBuilder::applies().
    *
diff --git a/core/modules/forum/tests/src/Breadcrumb/ForumNodeBreadcrumbBuilderTest.php b/core/modules/forum/tests/src/Breadcrumb/ForumNodeBreadcrumbBuilderTest.php
index b1726c4d1d4b..2cacbb011a00 100644
--- a/core/modules/forum/tests/src/Breadcrumb/ForumNodeBreadcrumbBuilderTest.php
+++ b/core/modules/forum/tests/src/Breadcrumb/ForumNodeBreadcrumbBuilderTest.php
@@ -11,27 +11,11 @@
 use Symfony\Cmf\Component\Routing\RouteObjectInterface;
 
 /**
- * Tests the listing class for forum breadcrumbs.
- *
- * @group Forum
- * @group Drupal
- *
- * @see \Drupal\forum\ForumNodeBreadcrumbBuilder
  * @coversDefaultClass \Drupal\forum\Breadcrumb\ForumNodeBreadcrumbBuilder
+ * @group forum
  */
 class ForumNodeBreadcrumbBuilderTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum Breadcrumb Node Test',
-      'description' => 'Tests the node class for forum breadcrumbs.',
-      'group' => 'Forum',
-    );
-  }
-
   /**
    * Tests ForumNodeBreadcrumbBuilder::applies().
    *
diff --git a/core/modules/forum/tests/src/ForumManagerTest.php b/core/modules/forum/tests/src/ForumManagerTest.php
index 0b0c7fa137f6..8a785e606d12 100644
--- a/core/modules/forum/tests/src/ForumManagerTest.php
+++ b/core/modules/forum/tests/src/ForumManagerTest.php
@@ -10,23 +10,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the ForumManager.
- *
- * @group Forum
- * @group Drupal
- *
- * @see \Drupal\forum\ForumManager
+ * @coversDefaultClass \Drupal\forum\ForumManager
+ * @group forum
  */
 class ForumManagerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Forum Manager',
-      'description' => 'Tests the forum manager functionality.',
-      'group' => 'Forum',
-    );
-  }
-
   /**
    * Tests ForumManager::getIndex().
    */
diff --git a/core/modules/hal/src/Tests/DenormalizeTest.php b/core/modules/hal/src/Tests/DenormalizeTest.php
index 32bc279a333f..90215347ac8d 100644
--- a/core/modules/hal/src/Tests/DenormalizeTest.php
+++ b/core/modules/hal/src/Tests/DenormalizeTest.php
@@ -10,18 +10,12 @@
 use Symfony\Component\Serializer\Exception\UnexpectedValueException;
 
 /**
- * Test the HAL normalizer's denormalize function.
+ * Tests that entities can be denormalized from HAL.
+ *
+ * @group hal
  */
 class DenormalizeTest extends NormalizerTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Denormalize Test',
-      'description' => 'Test that entities can be denormalized from HAL.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * Tests that the type link relation in incoming data is handled correctly.
    */
diff --git a/core/modules/hal/src/Tests/EntityTest.php b/core/modules/hal/src/Tests/EntityTest.php
index d9a9004e95cf..d2817045990f 100644
--- a/core/modules/hal/src/Tests/EntityTest.php
+++ b/core/modules/hal/src/Tests/EntityTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\hal\Tests;
 
 /**
- * Test the HAL normalizer on various entities
+ * Tests that nodes and terms are correctly normalized and denormalized.
+ *
+ * @group hal
  */
 class EntityTest extends NormalizerTestBase {
 
@@ -19,17 +21,6 @@ class EntityTest extends NormalizerTestBase {
    */
   public static $modules = array('node', 'taxonomy', 'comment');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity normalizer Test',
-      'description' => 'Test that nodes and terms are correctly normalized and denormalized.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/hal/src/Tests/FileDenormalizeTest.php b/core/modules/hal/src/Tests/FileDenormalizeTest.php
index de0c3e12f605..853b06d74fdd 100644
--- a/core/modules/hal/src/Tests/FileDenormalizeTest.php
+++ b/core/modules/hal/src/Tests/FileDenormalizeTest.php
@@ -11,8 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests denormalization of the FileEntityNormalizer class.
+ * Tests that file entities can be denormalized in HAL.
  *
+ * @group hal
  * @see \Drupal\hal\Normalizer\FileEntityNormalizer
  */
 class FileDenormalizeTest extends WebTestBase {
@@ -24,14 +25,6 @@ class FileDenormalizeTest extends WebTestBase {
    */
   public static $modules = array('hal', 'file', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File denormalize Test',
-      'description' => 'Test that file entities can be denormalized in HAL.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * Tests file entity denormalization.
    */
diff --git a/core/modules/hal/src/Tests/FileNormalizeTest.php b/core/modules/hal/src/Tests/FileNormalizeTest.php
index a3ecbf191846..796cf8fdb569 100644
--- a/core/modules/hal/src/Tests/FileNormalizeTest.php
+++ b/core/modules/hal/src/Tests/FileNormalizeTest.php
@@ -18,18 +18,12 @@
 
 
 /**
- * Test the HAL normalizer.
+ * Tests that file entities can be normalized in HAL.
+ *
+ * @group hal
  */
 class FileNormalizeTest extends NormalizerTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File Normalize Test',
-      'description' => 'Test that file entities can be normalized in HAL.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * Modules to enable.
    *
diff --git a/core/modules/hal/src/Tests/NormalizeTest.php b/core/modules/hal/src/Tests/NormalizeTest.php
index 396f40ae36c5..63b7fc6c79b0 100644
--- a/core/modules/hal/src/Tests/NormalizeTest.php
+++ b/core/modules/hal/src/Tests/NormalizeTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\hal\Tests;
 
 /**
- * Test the HAL normalizer.
+ * Tests that entities can be normalized in HAL.
+ *
+ * @group hal
  */
 class NormalizeTest extends NormalizerTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Normalize Test',
-      'description' => 'Test that entities can be normalized in HAL.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/hal/tests/src/FieldItemNormalizerDenormalizeExceptionsUnitTest.php b/core/modules/hal/tests/src/FieldItemNormalizerDenormalizeExceptionsUnitTest.php
index dc73cbdc716b..5026e6100fc1 100644
--- a/core/modules/hal/tests/src/FieldItemNormalizerDenormalizeExceptionsUnitTest.php
+++ b/core/modules/hal/tests/src/FieldItemNormalizerDenormalizeExceptionsUnitTest.php
@@ -11,23 +11,10 @@
 
 /**
  * @coversDefaultClass \Drupal\hal\Normalizer\FieldItemNormalizer
- *
- * @group Drupal
- * @group HAL
+ * @group hal
  */
 class FieldItemNormalizerDenormalizeExceptionsUnitTest extends NormalizerDenormalizeExceptionsUnitTestBase {
 
-  /**
-   * @inheritdoc
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'FieldItemNormalizer::denormalize() Unit Test',
-      'description' => 'Test that FieldItemNormalizer::denormalize() throws proper exceptions.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * Tests that the FieldItemNormalizer::denormalize() throws proper exceptions.
    *
diff --git a/core/modules/hal/tests/src/FieldNormalizerDenormalizeExceptionsUnitTest.php b/core/modules/hal/tests/src/FieldNormalizerDenormalizeExceptionsUnitTest.php
index c39ffa0480c7..941c658d654e 100644
--- a/core/modules/hal/tests/src/FieldNormalizerDenormalizeExceptionsUnitTest.php
+++ b/core/modules/hal/tests/src/FieldNormalizerDenormalizeExceptionsUnitTest.php
@@ -11,23 +11,10 @@
 
 /**
  * @coversDefaultClass \Drupal\hal\Normalizer\FieldNormalizer
- *
- * @group Drupal
- * @group HAL
+ * @group hal
  */
 class FieldNormalizerDenormalizeExceptionsUnitTest extends NormalizerDenormalizeExceptionsUnitTestBase {
 
-  /**
-   * @inheritdoc
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'FieldNormalizer::denormalize() Unit Test',
-      'description' => 'Test that FieldNormalizer::denormalize() throws proper exceptions.',
-      'group' => 'HAL',
-    );
-  }
-
   /**
    * Tests that the FieldNormalizer::denormalize() throws proper exceptions.
    *
diff --git a/core/modules/help/src/Tests/HelpTest.php b/core/modules/help/src/Tests/HelpTest.php
index 99d69a077b60..f1ce708037a0 100644
--- a/core/modules/help/src/Tests/HelpTest.php
+++ b/core/modules/help/src/Tests/HelpTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests help display and user access for all modules implementing help.
+ * Verify help display and user access to help based on permissions.
+ *
+ * @group help
  */
 class HelpTest extends WebTestBase {
 
@@ -34,14 +36,6 @@ class HelpTest extends WebTestBase {
    */
   protected $anyUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Help functionality',
-      'description' => 'Verify help display and user access to help based on permissions.',
-      'group' => 'Help',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/help/src/Tests/NoHelpTest.php b/core/modules/help/src/Tests/NoHelpTest.php
index 6cd83064c986..beb9d1b22939 100644
--- a/core/modules/help/src/Tests/NoHelpTest.php
+++ b/core/modules/help/src/Tests/NoHelpTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests a module without help to verify it is not listed in the help page.
+ * Verify no help is displayed for modules not providing any help.
+ *
+ * @group help
  */
 class NoHelpTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class NoHelpTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'No help',
-      'description' => 'Verify no help is displayed for modules not providing any help.',
-      'group' => 'Help',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->adminUser = $this->drupalCreateUser(array('access administration pages'));
diff --git a/core/modules/history/src/Tests/HistoryTest.php b/core/modules/history/src/Tests/HistoryTest.php
index 13b36ff2719a..9010511bb403 100644
--- a/core/modules/history/src/Tests/HistoryTest.php
+++ b/core/modules/history/src/Tests/HistoryTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the History endpoints.
+ *
+ * @group history
  */
 class HistoryTest extends WebTestBase {
 
@@ -36,14 +38,6 @@ class HistoryTest extends WebTestBase {
    */
   protected $test_node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'History endpoints',
-      'description' => 'Tests the History endpoints',
-      'group' => 'History'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/history/src/Tests/Views/HistoryTimestampTest.php b/core/modules/history/src/Tests/Views/HistoryTimestampTest.php
index fe0c1cbdbe02..252d24ccf0c9 100644
--- a/core/modules/history/src/Tests/Views/HistoryTimestampTest.php
+++ b/core/modules/history/src/Tests/Views/HistoryTimestampTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the history timestamp handlers.
  *
+ * @group history
  * @see \Drupal\history\Plugin\views\field\HistoryTimestamp.
  * @see \Drupal\history\Plugin\views\filter\HistoryTimestamp.
  */
@@ -32,14 +33,6 @@ class HistoryTimestampTest extends ViewTestBase {
    */
   public static $testViews = array('test_history');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'History Integration',
-      'description' => 'Tests the history timestamp handlers.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the handlers.
    */
diff --git a/core/modules/image/src/Tests/FileMoveTest.php b/core/modules/image/src/Tests/FileMoveTest.php
index 13518e0ae0ba..4f3c8ddd038d 100644
--- a/core/modules/image/src/Tests/FileMoveTest.php
+++ b/core/modules/image/src/Tests/FileMoveTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the file move function for images and image styles.
+ *
+ * @group image
  */
 class FileMoveTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FileMoveTest extends WebTestBase {
    */
   public static $modules = array('image');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image moving',
-      'description' => 'Tests the file move function for managed files.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Tests moving a randomly generated image.
    */
diff --git a/core/modules/image/src/Tests/ImageAdminStylesTest.php b/core/modules/image/src/Tests/ImageAdminStylesTest.php
index bcad6fcc5b2f..990c93fd1ccd 100644
--- a/core/modules/image/src/Tests/ImageAdminStylesTest.php
+++ b/core/modules/image/src/Tests/ImageAdminStylesTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests creation, deletion, and editing of image styles and effects.
+ *
+ * @group image
  */
 class ImageAdminStylesTest extends ImageFieldTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image styles and effects UI configuration',
-      'description' => 'Tests creation, deletion, and editing of image styles and effects at the UI level.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Given an image style, generate an image.
    */
diff --git a/core/modules/image/src/Tests/ImageDimensionsTest.php b/core/modules/image/src/Tests/ImageDimensionsTest.php
index 48016eaa5fee..3d787d98803d 100644
--- a/core/modules/image/src/Tests/ImageDimensionsTest.php
+++ b/core/modules/image/src/Tests/ImageDimensionsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests that images have correct dimensions when styled.
+ *
+ * @group image
  */
 class ImageDimensionsTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class ImageDimensionsTest extends WebTestBase {
 
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image dimensions',
-      'description' => 'Tests that images have correct dimensions when styled.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Test styled image dimensions cumulatively.
    */
diff --git a/core/modules/image/src/Tests/ImageEffectsTest.php b/core/modules/image/src/Tests/ImageEffectsTest.php
index f30f31ae289d..9cd289d0c6da 100644
--- a/core/modules/image/src/Tests/ImageEffectsTest.php
+++ b/core/modules/image/src/Tests/ImageEffectsTest.php
@@ -10,8 +10,9 @@
 use Drupal\system\Tests\Image\ToolkitTestBase;
 
 /**
- * Use the image_test.module's mock toolkit to ensure that the effects are
- * properly passing parameters to the image toolkit.
+ * Tests that the image effects pass parameters to the toolkit correctly.
+ *
+ * @group image
  */
 class ImageEffectsTest extends ToolkitTestBase {
 
@@ -29,14 +30,6 @@ class ImageEffectsTest extends ToolkitTestBase {
    */
   protected $manager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image effects',
-      'description' => 'Test that the image effects pass parameters to the toolkit correctly.',
-      'group' => 'Image',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->manager = $this->container->get('plugin.manager.image.effect');
diff --git a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
index f4626a4fd65c..cbb9202ce1a1 100644
--- a/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
+++ b/core/modules/image/src/Tests/ImageFieldDefaultImagesTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\image\Tests;
 
 /**
- * Tests default image settings.
+ * Tests setting up default images both to the field and field instance.
+ *
+ * @group image
  */
 class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
 
@@ -19,14 +21,6 @@ class ImageFieldDefaultImagesTest extends ImageFieldTestBase {
    */
   public static $modules = array('field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image field default images tests',
-      'description' => 'Tests setting up default images both to the field and field instance.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Tests CRUD for fields and fields instances with default images.
    */
diff --git a/core/modules/image/src/Tests/ImageFieldDisplayTest.php b/core/modules/image/src/Tests/ImageFieldDisplayTest.php
index 5058d2fa5d66..fd768c0d8bf2 100644
--- a/core/modules/image/src/Tests/ImageFieldDisplayTest.php
+++ b/core/modules/image/src/Tests/ImageFieldDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Test class to check that formatters and display settings are working.
+ * Tests the display of image fields.
+ *
+ * @group image
  */
 class ImageFieldDisplayTest extends ImageFieldTestBase {
 
@@ -24,14 +26,6 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
    */
   public static $modules = array('field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image field display tests',
-      'description' => 'Test the display of image fields.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Test image formatters on node display for public files.
    */
diff --git a/core/modules/image/src/Tests/ImageFieldValidateTest.php b/core/modules/image/src/Tests/ImageFieldValidateTest.php
index b8b4a75fc5dc..96670e86b0b1 100644
--- a/core/modules/image/src/Tests/ImageFieldValidateTest.php
+++ b/core/modules/image/src/Tests/ImageFieldValidateTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\image\Tests;
 
 /**
- * Test class to check for various validations.
+ * Tests validation functions such as min/max resolution.
+ *
+ * @group image
  */
 class ImageFieldValidateTest extends ImageFieldTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Image field validation tests',
-      'description' => 'Tests validation functions such as min/max resolution.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Test min/max resolution settings.
    */
diff --git a/core/modules/image/src/Tests/ImageItemTest.php b/core/modules/image/src/Tests/ImageItemTest.php
index 53472a816388..8f59e06585cd 100644
--- a/core/modules/image/src/Tests/ImageItemTest.php
+++ b/core/modules/image/src/Tests/ImageItemTest.php
@@ -13,7 +13,9 @@
 use Drupal\field\Tests\FieldUnitTestBase;
 
 /**
- * Tests the new entity API for the image field type.
+ * Tests using entity fields of the image field type.
+ *
+ * @group image
  */
 class ImageItemTest extends FieldUnitTestBase {
 
@@ -36,14 +38,6 @@ class ImageItemTest extends FieldUnitTestBase {
    */
   protected $imageFactory;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image field item API',
-      'description' => 'Tests using entity fields of the image field type.',
-      'group' => 'Image',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/image/src/Tests/ImageStyleFlushTest.php b/core/modules/image/src/Tests/ImageStyleFlushTest.php
index 1cbe4e866054..7db6de8139bd 100644
--- a/core/modules/image/src/Tests/ImageStyleFlushTest.php
+++ b/core/modules/image/src/Tests/ImageStyleFlushTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests flushing of image styles.
+ *
+ * @group image
  */
 class ImageStyleFlushTest extends ImageFieldTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image style flushing',
-      'description' => 'Tests flushing of image styles.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Given an image style and a wrapper, generate an image.
    */
diff --git a/core/modules/image/src/Tests/ImageStylesPathAndUrlTest.php b/core/modules/image/src/Tests/ImageStylesPathAndUrlTest.php
index 4b1653027b0f..fcd50a4e9d24 100644
--- a/core/modules/image/src/Tests/ImageStylesPathAndUrlTest.php
+++ b/core/modules/image/src/Tests/ImageStylesPathAndUrlTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the functions for generating paths and URLs for image styles.
+ *
+ * @group image
  */
 class ImageStylesPathAndUrlTest extends WebTestBase {
 
@@ -27,14 +29,6 @@ class ImageStylesPathAndUrlTest extends WebTestBase {
    */
   protected $style;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image styles path and URL functions',
-      'description' => 'Tests functions for generating paths and URLs to image styles.',
-      'group' => 'Image',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/image/src/Tests/ImageThemeFunctionTest.php b/core/modules/image/src/Tests/ImageThemeFunctionTest.php
index 64bfdf165eb7..24d20ac339a8 100644
--- a/core/modules/image/src/Tests/ImageThemeFunctionTest.php
+++ b/core/modules/image/src/Tests/ImageThemeFunctionTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests image theme functions.
+ *
+ * @group image
  */
 class ImageThemeFunctionTest extends WebTestBase {
 
@@ -34,14 +36,6 @@ class ImageThemeFunctionTest extends WebTestBase {
    */
   protected $imageFactory;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image theme functions',
-      'description' => 'Tests the image theme functions.',
-      'group' => 'Image',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/Condition/LanguageConditionTest.php b/core/modules/language/src/Tests/Condition/LanguageConditionTest.php
index c90417e75f07..bb3ea54eebe4 100644
--- a/core/modules/language/src/Tests/Condition/LanguageConditionTest.php
+++ b/core/modules/language/src/Tests/Condition/LanguageConditionTest.php
@@ -12,7 +12,10 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests the language condition.
+ * Tests that the language condition, provided by the language module, is
+ * working properly.
+ *
+ * @group language
  */
 class LanguageConditionTest extends DrupalUnitTestBase {
 
@@ -37,14 +40,6 @@ class LanguageConditionTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language Condition Plugin',
-      'description' => 'Tests that the language condition, provided by the language module, is working properly.',
-      'group' => 'Condition API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php b/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
index 55716687e9ca..2c35dcb8cd91 100644
--- a/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
+++ b/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
@@ -13,20 +13,14 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Test browser language detection.
+ * Tests browser language detection.
+ *
+ * @group language
  */
 class LanguageBrowserDetectionUnitTest extends WebTestBase {
 
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Browser language detection',
-      'description' => 'Tests for the browser language detection.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Unit tests for the language_from_browser() function.
    *
diff --git a/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php b/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
index 30a5232d1a16..92204762f6f8 100644
--- a/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigOverrideImportTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests synchronization of language configuration overrides.
+ * Ensures the language config overrides can be synchronized.
+ *
+ * @group language
  */
 class LanguageConfigOverrideImportTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LanguageConfigOverrideImportTest extends WebTestBase {
    */
   public static $modules = array('language', 'config', 'locale', 'config_translation');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language config override synchronize',
-      'description' => 'Ensures the language config overrides can be synchronized.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Tests that language can be enabled and overrides are created during a sync.
    */
diff --git a/core/modules/language/src/Tests/LanguageConfigOverrideInstallTest.php b/core/modules/language/src/Tests/LanguageConfigOverrideInstallTest.php
index ccf56ad977ef..281ca3e3b2fb 100644
--- a/core/modules/language/src/Tests/LanguageConfigOverrideInstallTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigOverrideInstallTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\KernelTestBase;
 
 /**
- * Tests language config override installation.
+ * Ensures the language config overrides can be installed.
+ *
+ * @group language
  */
 class LanguageConfigOverrideInstallTest extends KernelTestBase {
 
@@ -21,14 +23,6 @@ class LanguageConfigOverrideInstallTest extends KernelTestBase {
    */
   public static $modules = array('language', 'config_events_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language config override installation',
-      'description' => 'Ensures the language config overrides can be installed.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Tests the configuration events are not fired during install of overrides.
    */
diff --git a/core/modules/language/src/Tests/LanguageConfigSchemaTest.php b/core/modules/language/src/Tests/LanguageConfigSchemaTest.php
index 35e207afbf28..e4862bcb0a7f 100644
--- a/core/modules/language/src/Tests/LanguageConfigSchemaTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigSchemaTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the language config schema.
+ * Ensures the language config schema is correct.
+ *
+ * @group language
  */
 class LanguageConfigSchemaTest extends WebTestBase {
 
@@ -31,14 +33,6 @@ class LanguageConfigSchemaTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language config schema',
-      'description' => 'Ensures the language config schema is correct.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/language/src/Tests/LanguageConfigurationElementTest.php b/core/modules/language/src/Tests/LanguageConfigurationElementTest.php
index c7c85f150440..26ad991d6f53 100644
--- a/core/modules/language/src/Tests/LanguageConfigurationElementTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigurationElementTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Functional tests for language configuration's effect on negotiation setup.
+ * Tests the features of the language configuration element field.
+ *
+ * @group language
  */
 class LanguageConfigurationElementTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LanguageConfigurationElementTest extends WebTestBase {
    */
   public static $modules = array('node', 'language', 'language_elements_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language configuration form element tests',
-      'description' => 'Tests the features of the language configuration element field.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Tests the language settings have been saved.
    */
diff --git a/core/modules/language/src/Tests/LanguageConfigurationTest.php b/core/modules/language/src/Tests/LanguageConfigurationTest.php
index 3ca652895646..6612cba4304d 100644
--- a/core/modules/language/src/Tests/LanguageConfigurationTest.php
+++ b/core/modules/language/src/Tests/LanguageConfigurationTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for language configuration's effect on negotiation setup.
+ * Adds and configures languages to check negotiation changes.
+ *
+ * @group language
  */
 class LanguageConfigurationTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LanguageConfigurationTest extends WebTestBase {
    */
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language negotiation autoconfiguration',
-      'description' => 'Adds and configures languages to check negotiation changes.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Functional tests for adding, editing and deleting languages.
    */
diff --git a/core/modules/language/src/Tests/LanguageCustomLanguageConfigurationTest.php b/core/modules/language/src/Tests/LanguageCustomLanguageConfigurationTest.php
index bf48f58094f6..a4c8a5d169db 100644
--- a/core/modules/language/src/Tests/LanguageCustomLanguageConfigurationTest.php
+++ b/core/modules/language/src/Tests/LanguageCustomLanguageConfigurationTest.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Functional tests for language configuration.
+ * Adds and configures custom languages.
+ *
+ * @group language
  */
 class LanguageCustomLanguageConfigurationTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class LanguageCustomLanguageConfigurationTest extends WebTestBase {
    */
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom Language configuration',
-      'description' => 'Adds and configures custom languages.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Functional tests for adding, editing and deleting languages.
    */
diff --git a/core/modules/language/src/Tests/LanguageDependencyInjectionTest.php b/core/modules/language/src/Tests/LanguageDependencyInjectionTest.php
index b07ed1a4ac74..caed431249a1 100644
--- a/core/modules/language/src/Tests/LanguageDependencyInjectionTest.php
+++ b/core/modules/language/src/Tests/LanguageDependencyInjectionTest.php
@@ -12,21 +12,13 @@
 use Drupal\language\Exception\DeleteDefaultLanguageException;
 
 /**
- * Test for dependency injected language object.
+ * Compares the default language from $GLOBALS against the dependency injected
+ * language object.
+ *
+ * @group language
  */
 class LanguageDependencyInjectionTest extends LanguageTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Language dependency injection',
-      'description' => 'Compares the default language from $GLOBALS against the dependency injected language object.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Test dependency injected languages against a new Language object.
    *
diff --git a/core/modules/language/src/Tests/LanguageFallbackTest.php b/core/modules/language/src/Tests/LanguageFallbackTest.php
index 13bb82149994..3b15601ded04 100644
--- a/core/modules/language/src/Tests/LanguageFallbackTest.php
+++ b/core/modules/language/src/Tests/LanguageFallbackTest.php
@@ -12,17 +12,11 @@
 
 /**
  * Tests the language fallback behavior.
+ *
+ * @group language
  */
 class LanguageFallbackTest extends LanguageTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language fallback',
-      'description' => 'Tests the language fallback behavior.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/language/src/Tests/LanguageListModuleInstallTest.php b/core/modules/language/src/Tests/LanguageListModuleInstallTest.php
index 17e433e4347a..891ddf892da1 100644
--- a/core/modules/language/src/Tests/LanguageListModuleInstallTest.php
+++ b/core/modules/language/src/Tests/LanguageListModuleInstallTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the language list configuration forms.
+ * Tests enabling Language if a module exists that calls language_list during
+ * installation.
+ *
+ * @group language
  */
 class LanguageListModuleInstallTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class LanguageListModuleInstallTest extends WebTestBase {
    */
   public static $modules = array('language_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language list during module install',
-      'description' => 'Tests enabling Language if a module exists that calls language_list during installation.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Tests enabling Language.
    */
diff --git a/core/modules/language/src/Tests/LanguageListTest.php b/core/modules/language/src/Tests/LanguageListTest.php
index cf3d2ff194fc..8a32f834b205 100644
--- a/core/modules/language/src/Tests/LanguageListTest.php
+++ b/core/modules/language/src/Tests/LanguageListTest.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Functional tests for the language list configuration forms.
+ * Adds a new language and tests changing its status and the default language.
+ *
+ * @group language
  */
 class LanguageListTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class LanguageListTest extends WebTestBase {
    */
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language list configuration',
-      'description' => 'Adds a new language and tests changing its status and the default language.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * Functional tests for adding, editing and deleting languages.
    */
diff --git a/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php b/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php
index 81e4dff71efb..345773607586 100644
--- a/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php
+++ b/core/modules/language/src/Tests/LanguageNegotiationInfoTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional test for language types/negotiation info.
+ * Tests alterations to language types/negotiation info.
+ *
+ * @group language
  */
 class LanguageNegotiationInfoTest extends WebTestBase {
 
@@ -23,17 +25,6 @@ class LanguageNegotiationInfoTest extends WebTestBase {
    */
   public static $modules = array('language');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Language negotiation info',
-      'description' => 'Tests alterations to language types/negotiation info.',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/language/src/Tests/LanguagePathMonolingualTest.php b/core/modules/language/src/Tests/LanguagePathMonolingualTest.php
index 73e5b854ccbc..b99dd7f67ce7 100644
--- a/core/modules/language/src/Tests/LanguagePathMonolingualTest.php
+++ b/core/modules/language/src/Tests/LanguagePathMonolingualTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that paths are not prefixed on a monolingual site.
+ * Confirm that paths are not changed on monolingual non-English sites.
+ *
+ * @group language
  */
 class LanguagePathMonolingualTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class LanguagePathMonolingualTest extends WebTestBase {
    */
   public static $modules = array('language', 'path');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Paths on non-English monolingual sites',
-      'description' => 'Confirm that paths are not changed on monolingual non-English sites',
-      'group' => 'Language',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/LanguageSwitchingTest.php b/core/modules/language/src/Tests/LanguageSwitchingTest.php
index 4a2d24577d3c..dd9a8507a007 100644
--- a/core/modules/language/src/Tests/LanguageSwitchingTest.php
+++ b/core/modules/language/src/Tests/LanguageSwitchingTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Functional tests for the language switching feature.
+ *
+ * @group language
  */
 class LanguageSwitchingTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LanguageSwitchingTest extends WebTestBase {
    */
   public static $modules = array('language', 'block', 'language_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language switching',
-      'description' => 'Tests for the language switching feature.',
-      'group' => 'Language',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/LanguageUILanguageNegotiationTest.php b/core/modules/language/src/Tests/LanguageUILanguageNegotiationTest.php
index a3fe8e8a5a0f..86a62bf83ac6 100644
--- a/core/modules/language/src/Tests/LanguageUILanguageNegotiationTest.php
+++ b/core/modules/language/src/Tests/LanguageUILanguageNegotiationTest.php
@@ -19,7 +19,7 @@
 use Drupal\language\LanguageNegotiatorInterface;
 
 /**
- * Test UI language negotiation
+ * Tests UI language switching.
  *
  * 1. URL (PATH) > DEFAULT
  *    UI Language base on URL prefix, browser language preference has no
@@ -43,6 +43,8 @@
  *          UI language in site default
  *        http://example.cn/admin/config
  *          UI language in Chinese
+ *
+ * @group language
  */
 class LanguageUILanguageNegotiationTest extends WebTestBase {
 
@@ -57,14 +59,6 @@ class LanguageUILanguageNegotiationTest extends WebTestBase {
    */
   public static $modules = array('locale', 'language_test', 'block', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'UI language negotiation',
-      'description' => 'Test UI language switching.',
-      'group' => 'Language',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/LanguageUrlRewritingTest.php b/core/modules/language/src/Tests/LanguageUrlRewritingTest.php
index 1079031e533a..ef3b7820715d 100644
--- a/core/modules/language/src/Tests/LanguageUrlRewritingTest.php
+++ b/core/modules/language/src/Tests/LanguageUrlRewritingTest.php
@@ -12,7 +12,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Test that URL rewriting works as expected.
+ * Tests that URL rewriting works as expected.
+ *
+ * @group language
  */
 class LanguageUrlRewritingTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class LanguageUrlRewritingTest extends WebTestBase {
    */
   public static $modules = array('language', 'language_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'URL rewriting',
-      'description' => 'Test that URL rewriting works as expected.',
-      'group' => 'Language',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/language/src/Tests/Views/ArgumentLanguageTest.php b/core/modules/language/src/Tests/Views/ArgumentLanguageTest.php
index 83111d7d42a2..2403b68154ea 100644
--- a/core/modules/language/src/Tests/Views/ArgumentLanguageTest.php
+++ b/core/modules/language/src/Tests/Views/ArgumentLanguageTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the argument language handler.
  *
+ * @group language
  * @see \Drupal\language\Plugin\views\argument\Language.php
  */
 class ArgumentLanguageTest extends LanguageTestBase {
@@ -23,14 +24,6 @@ class ArgumentLanguageTest extends LanguageTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument: Language',
-      'description' => 'Tests the argument language handler.',
-      'group' => 'Views Handlers'
-    );
-  }
-
   /**
    * Tests the language argument.
    */
diff --git a/core/modules/language/src/Tests/Views/FieldLanguageTest.php b/core/modules/language/src/Tests/Views/FieldLanguageTest.php
index bc082e31d560..78845ee76ed1 100644
--- a/core/modules/language/src/Tests/Views/FieldLanguageTest.php
+++ b/core/modules/language/src/Tests/Views/FieldLanguageTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the field language handler.
  *
+ * @group language
  * @see \Drupal\language\Plugin\views\field\Language
  */
 class FieldLanguageTest extends LanguageTestBase {
@@ -23,14 +24,6 @@ class FieldLanguageTest extends LanguageTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Language',
-      'description' => 'Tests the field language handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the language field.
    */
diff --git a/core/modules/language/src/Tests/Views/FilterLanguageTest.php b/core/modules/language/src/Tests/Views/FilterLanguageTest.php
index f3db7c561688..591ad179c2a9 100644
--- a/core/modules/language/src/Tests/Views/FilterLanguageTest.php
+++ b/core/modules/language/src/Tests/Views/FilterLanguageTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the filter language handler.
  *
+ * @group language
  * @see \Drupal\language\Plugin\views\filter\Language
  */
 class FilterLanguageTest extends LanguageTestBase {
@@ -23,14 +24,6 @@ class FilterLanguageTest extends LanguageTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Language',
-      'description' => 'Tests the filter language handler.',
-      'group' => 'Views Handlers'
-    );
-  }
-
   /**
    * Tests the language filter.
    */
diff --git a/core/modules/language/tests/src/LanguageNegotiationUrlTest.php b/core/modules/language/tests/src/LanguageNegotiationUrlTest.php
index 6a4df28c3c2a..6d1ef6529d1a 100644
--- a/core/modules/language/tests/src/LanguageNegotiationUrlTest.php
+++ b/core/modules/language/tests/src/LanguageNegotiationUrlTest.php
@@ -13,25 +13,14 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the URL and domain language negotiation.
- *
- * @group Language
- *
- * @see \Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl
+ * @coversDefaultClass \Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl
+ * @group language
  */
 class LanguageNegotiationUrlTest extends UnitTestCase {
 
   protected $languageManager;
   protected $user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language negotiation URL',
-      'description' => 'Tests the URL/domain Language negotiation plugin',
-      'group' => 'Language',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/language/tests/src/Menu/LanguageLocalTasksTest.php b/core/modules/language/tests/src/Menu/LanguageLocalTasksTest.php
index 8770e62e5e09..c7aa1f874c0d 100644
--- a/core/modules/language/tests/src/Menu/LanguageLocalTasksTest.php
+++ b/core/modules/language/tests/src/Menu/LanguageLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of language local tasks.
  *
- * @group Drupal
  * @group language
  */
 class LanguageLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language local tasks test',
-      'description' => 'Test existence of language local tasks.',
-      'group' => 'Language',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'language' => 'core/modules/language',
diff --git a/core/modules/link/src/Tests/LinkFieldTest.php b/core/modules/link/src/Tests/LinkFieldTest.php
index 99976bc41482..99401e8b3476 100644
--- a/core/modules/link/src/Tests/LinkFieldTest.php
+++ b/core/modules/link/src/Tests/LinkFieldTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests link field widgets and formatters.
+ *
+ * @group link
  */
 class LinkFieldTest extends WebTestBase {
 
@@ -44,14 +46,6 @@ class LinkFieldTest extends WebTestBase {
    */
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Link field',
-      'description' => 'Tests link field widgets and formatters.',
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/link/src/Tests/LinkFieldUITest.php b/core/modules/link/src/Tests/LinkFieldUITest.php
index 97fda35656fe..cdcbe047f78c 100644
--- a/core/modules/link/src/Tests/LinkFieldUITest.php
+++ b/core/modules/link/src/Tests/LinkFieldUITest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests link field UI functionality.
+ *
+ * @group link
  */
 class LinkFieldUITest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class LinkFieldUITest extends WebTestBase {
    */
   public static $modules = array('node', 'link', 'field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Link field UI',
-      'description' => 'Tests link field UI functionality.',
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/link/src/Tests/LinkItemTest.php b/core/modules/link/src/Tests/LinkItemTest.php
index 8125790818ad..2d81cdc40bc5 100644
--- a/core/modules/link/src/Tests/LinkItemTest.php
+++ b/core/modules/link/src/Tests/LinkItemTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests the new entity API for the link field type.
+ *
+ * @group link
  */
 class LinkItemTest extends FieldUnitTestBase {
 
@@ -24,14 +26,6 @@ class LinkItemTest extends FieldUnitTestBase {
    */
   public static $modules = array('link');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Link field item',
-      'description' => 'Tests the new entity API for the link field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/locale/src/Tests/LocaleConfigManagerTest.php b/core/modules/locale/src/Tests/LocaleConfigManagerTest.php
index 50cbc7d30ccc..80c51496a0fd 100644
--- a/core/modules/locale/src/Tests/LocaleConfigManagerTest.php
+++ b/core/modules/locale/src/Tests/LocaleConfigManagerTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Provides tests for \Drupal\locale\LocaleConfigManager
+ * Tests that the locale config manager operates correctly.
+ *
+ * @group locale
  */
 class LocaleConfigManagerTest extends DrupalUnitTestBase {
 
@@ -24,17 +26,6 @@ class LocaleConfigManagerTest extends DrupalUnitTestBase {
    */
   public static $modules = array('language', 'locale', 'locale_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Locale config manager',
-      'description' => 'Tests that the locale config manager operates correctly.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    * Tests hasTranslation().
    */
diff --git a/core/modules/locale/src/Tests/LocaleConfigTranslationTest.php b/core/modules/locale/src/Tests/LocaleConfigTranslationTest.php
index 0c4366a256f7..94ec34d71a54 100644
--- a/core/modules/locale/src/Tests/LocaleConfigTranslationTest.php
+++ b/core/modules/locale/src/Tests/LocaleConfigTranslationTest.php
@@ -12,7 +12,9 @@
 use Drupal\core\language\languageInterface;
 
 /**
- * Tests Metadata for configuration objects.
+ * Tests translation of configuration strings.
+ *
+ * @group locale
  */
 class LocaleConfigTranslationTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class LocaleConfigTranslationTest extends WebTestBase {
    */
   public static $modules = array('locale', 'contact');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration translation',
-      'description' => 'Tests translation of configuration strings.',
-      'group' => 'Locale',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Add a default locale storage for all these tests.
diff --git a/core/modules/locale/src/Tests/LocaleContentTest.php b/core/modules/locale/src/Tests/LocaleContentTest.php
index 79d9981a0894..a72d7a91a1d7 100644
--- a/core/modules/locale/src/Tests/LocaleContentTest.php
+++ b/core/modules/locale/src/Tests/LocaleContentTest.php
@@ -11,7 +11,10 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Functional tests for multilingual support on nodes.
+ * Tests you can enable multilingual support on content types and configure a
+ * language for a node.
+ *
+ * @group locale
  */
 class LocaleContentTest extends WebTestBase {
 
@@ -22,14 +25,6 @@ class LocaleContentTest extends WebTestBase {
    */
   public static $modules = array('node', 'locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content language settings',
-      'description' => 'Checks you can enable multilingual support on content types and configure a language for a node.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    * Verifies that machine name fields are always LTR.
    */
diff --git a/core/modules/locale/src/Tests/LocaleExportTest.php b/core/modules/locale/src/Tests/LocaleExportTest.php
index cf69ddbb11d0..be1f94f36c19 100644
--- a/core/modules/locale/src/Tests/LocaleExportTest.php
+++ b/core/modules/locale/src/Tests/LocaleExportTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for the export of translation files.
+ * Tests the exportation of locale files.
+ *
+ * @group locale
  */
 class LocaleExportTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class LocaleExportTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Translation export',
-      'description' => 'Tests the exportation of locale files.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    * A user able to create languages and export translations.
    */
diff --git a/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php b/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
index 24a40da906ba..be3c22ad69d7 100644
--- a/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
+++ b/core/modules/locale/src/Tests/LocaleImportFunctionalTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Functional tests for the import of translation files.
+ * Tests the import of locale files.
+ *
+ * @group locale
  */
 class LocaleImportFunctionalTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LocaleImportFunctionalTest extends WebTestBase {
    */
   public static $modules = array('locale', 'dblog');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Translation import',
-      'description' => 'Tests the import of locale files.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    * A user able to create languages and import translations.
    */
diff --git a/core/modules/locale/src/Tests/LocaleJavascriptTranslationTest.php b/core/modules/locale/src/Tests/LocaleJavascriptTranslationTest.php
index 5a20769304d8..f970646bfd98 100644
--- a/core/modules/locale/src/Tests/LocaleJavascriptTranslationTest.php
+++ b/core/modules/locale/src/Tests/LocaleJavascriptTranslationTest.php
@@ -11,7 +11,9 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Functional tests for JavaScript parsing for translatable strings.
+ * Tests parsing js files for translatable strings.
+ *
+ * @group locale
  */
 class LocaleJavascriptTranslationTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LocaleJavascriptTranslationTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Javascript translation',
-      'description' => 'Tests parsing js files for translatable strings',
-      'group' => 'Locale',
-    );
-  }
-
   function testFileParsing() {
     $filename = drupal_get_path('module', 'locale') . '/tests/locale_test.js';
 
diff --git a/core/modules/locale/src/Tests/LocaleLibraryInfoAlterTest.php b/core/modules/locale/src/Tests/LocaleLibraryInfoAlterTest.php
index 1bf13735f2e4..5645e9a5d40e 100644
--- a/core/modules/locale/src/Tests/LocaleLibraryInfoAlterTest.php
+++ b/core/modules/locale/src/Tests/LocaleLibraryInfoAlterTest.php
@@ -12,6 +12,8 @@
  * Tests localization of the JavaScript libraries.
  *
  * Currently, only the jQuery datepicker is localized using Drupal translations.
+ *
+ * @group locale
  */
 class LocaleLibraryInfoAlterTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LocaleLibraryInfoAlterTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Javascript library localization',
-      'description' => 'Tests localization of the JavaScript libraries.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
      * Verifies that the datepicker can be localized.
      *
diff --git a/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php b/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php
index 7c27253732a1..b25d639abc76 100644
--- a/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php
+++ b/core/modules/locale/src/Tests/LocaleLocaleLookupTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests that LocaleLookup does not cause circular references.
+ *
+ * @group locale
  */
 class LocaleLocaleLookupTest extends WebTestBase {
 
@@ -22,17 +24,6 @@ class LocaleLocaleLookupTest extends WebTestBase {
    */
   public static $modules = array('locale', 'menu_link');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Test LocaleLookup',
-      'description' => 'Tests LocaleLookup does not cause circular references.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    * Tests hasTranslation().
    */
diff --git a/core/modules/locale/src/Tests/LocalePathTest.php b/core/modules/locale/src/Tests/LocalePathTest.php
index 6d07c946c8fb..54a84c9d9f2a 100644
--- a/core/modules/locale/src/Tests/LocalePathTest.php
+++ b/core/modules/locale/src/Tests/LocalePathTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for configuring a different path alias per language.
+ * Tests you can configure a language for individual URL aliases.
+ *
+ * @group locale
  */
 class LocalePathTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LocalePathTest extends WebTestBase {
    */
   public static $modules = array('node', 'locale', 'path', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path language settings',
-      'description' => 'Checks you can configure a language for individual URL aliases.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/locale/src/Tests/LocalePluralFormatTest.php b/core/modules/locale/src/Tests/LocalePluralFormatTest.php
index c8adf970c29f..8d992a336a53 100644
--- a/core/modules/locale/src/Tests/LocalePluralFormatTest.php
+++ b/core/modules/locale/src/Tests/LocalePluralFormatTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests plural format handling functionality.
+ * Tests plural handling for various languages.
+ *
+ * @group locale
  */
 class LocalePluralFormatTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class LocalePluralFormatTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Plural handling',
-      'description' => 'Tests plural handling for various languages.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/locale/src/Tests/LocaleStringTest.php b/core/modules/locale/src/Tests/LocaleStringTest.php
index 1c9ddd905138..5b76e2ebf64a 100644
--- a/core/modules/locale/src/Tests/LocaleStringTest.php
+++ b/core/modules/locale/src/Tests/LocaleStringTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for the locale string data API.
+ * Tests the locale string storage, string objects and data API.
+ *
+ * @group locale
  */
 class LocaleStringTest extends WebTestBase {
 
@@ -29,17 +31,6 @@ class LocaleStringTest extends WebTestBase {
    */
   protected $storage;
 
-  /**
-   * @return multitype:string
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'String storage and objects',
-      'description' => 'Tests the locale string storage, string objects and data API.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Add a default locale storage for all these tests.
diff --git a/core/modules/locale/src/Tests/LocaleTranslateStringTourTest.php b/core/modules/locale/src/Tests/LocaleTranslateStringTourTest.php
index 10db3b94667d..8c2f5f32076b 100644
--- a/core/modules/locale/src/Tests/LocaleTranslateStringTourTest.php
+++ b/core/modules/locale/src/Tests/LocaleTranslateStringTourTest.php
@@ -10,7 +10,9 @@
 use Drupal\tour\Tests\TourTestBase;
 
 /**
- * Tests tour functionality.
+ * Tests the Translate Interface tour.
+ *
+ * @group locale
  */
 class LocaleTranslateStringTourTest extends TourTestBase {
 
@@ -28,14 +30,6 @@ class LocaleTranslateStringTourTest extends TourTestBase {
    */
   public static $modules = array('locale', 'tour');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Translate Interface tour tests',
-      'description' => 'Tests the Translate Interface tour.',
-      'group' => 'Tour',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->adminUser = $this->drupalCreateUser(array('translate interface', 'access tour', 'administer languages'));
diff --git a/core/modules/locale/src/Tests/LocaleTranslationUiTest.php b/core/modules/locale/src/Tests/LocaleTranslationUiTest.php
index 3f247317a6a4..9e654405bf47 100644
--- a/core/modules/locale/src/Tests/LocaleTranslationUiTest.php
+++ b/core/modules/locale/src/Tests/LocaleTranslationUiTest.php
@@ -13,7 +13,10 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Functional test for string translation and validation.
+ * Adds a new locale and translates its name. Checks the validation of
+ * translation strings and search results.
+ *
+ * @group locale
  */
 class LocaleTranslationUiTest extends WebTestBase {
 
@@ -24,14 +27,6 @@ class LocaleTranslationUiTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'String translate, search and validate',
-      'description' => 'Adds a new locale and translates its name. Checks the validation of translation strings and search results.',
-      'group' => 'Locale',
-    );
-  }
-
   /**
    *  Enable interface translation to English
    */
diff --git a/core/modules/locale/src/Tests/LocaleUpdateCronTest.php b/core/modules/locale/src/Tests/LocaleUpdateCronTest.php
index d0da24ebe99e..64d3739fca57 100644
--- a/core/modules/locale/src/Tests/LocaleUpdateCronTest.php
+++ b/core/modules/locale/src/Tests/LocaleUpdateCronTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\locale\Tests;
 
 /**
- * Tests for translation update using cron.
+ * Tests for using cron to update project interface translations.
+ *
+ * @group locale
  */
 class LocaleUpdateCronTest extends LocaleUpdateBase {
 
@@ -21,14 +23,6 @@ class LocaleUpdateCronTest extends LocaleUpdateBase {
    */
   public static $modules = array('update', 'locale', 'locale_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update translations using cron',
-      'description' => 'Tests for using cron to update project interface translations.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer modules', 'administer site configuration', 'administer languages', 'access administration pages', 'translate interface'));
diff --git a/core/modules/locale/src/Tests/LocaleUpdateInterfaceTest.php b/core/modules/locale/src/Tests/LocaleUpdateInterfaceTest.php
index 0a502b659b4b..2304aa54d587 100644
--- a/core/modules/locale/src/Tests/LocaleUpdateInterfaceTest.php
+++ b/core/modules/locale/src/Tests/LocaleUpdateInterfaceTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for the locale translation update status user interfaces.
+ * Tests for the user interface of project interface translations.
+ *
+ * @group locale
  */
 class LocaleUpdateInterfaceTest extends LocaleUpdateBase {
 
@@ -21,14 +23,6 @@ class LocaleUpdateInterfaceTest extends LocaleUpdateBase {
    */
   public static $modules = array('update', 'locale', 'locale_test_translate');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update translations user interface',
-      'description' => 'Tests for the user interface of project interface translations.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer modules', 'administer site configuration', 'administer languages', 'access administration pages', 'translate interface'));
diff --git a/core/modules/locale/src/Tests/LocaleUpdateTest.php b/core/modules/locale/src/Tests/LocaleUpdateTest.php
index 1c87532bc2f7..661c77b146a9 100644
--- a/core/modules/locale/src/Tests/LocaleUpdateTest.php
+++ b/core/modules/locale/src/Tests/LocaleUpdateTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for update translations.
+ * Tests for updating the interface translations of projects.
+ *
+ * @group locale
  */
 class LocaleUpdateTest extends LocaleUpdateBase {
 
@@ -22,14 +24,6 @@ class LocaleUpdateTest extends LocaleUpdateBase {
    */
   public static $modules = array('update', 'locale', 'locale_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update translations',
-      'description' => 'Tests for updating the interface translations of projects.',
-      'group' => 'Locale',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     module_load_include('compare.inc', 'locale');
diff --git a/core/modules/locale/tests/src/LocaleLookupTest.php b/core/modules/locale/tests/src/LocaleLookupTest.php
index a62e40d908ca..fb5d9afb883d 100644
--- a/core/modules/locale/tests/src/LocaleLookupTest.php
+++ b/core/modules/locale/tests/src/LocaleLookupTest.php
@@ -12,12 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests locale translation language fallback.
- *
- * @group Drupal
- * @group Locale
- *
  * @coversDefaultClass \Drupal\locale\LocaleLookup
+ * @group locale
  */
 class LocaleLookupTest extends UnitTestCase {
 
@@ -63,17 +59,6 @@ class LocaleLookupTest extends UnitTestCase {
    */
   protected $languageManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Locale language fallback tests',
-      'description' => 'Test locale module language fallback implementation.',
-      'group' => 'locale',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/locale/tests/src/LocaleTranslationTest.php b/core/modules/locale/tests/src/LocaleTranslationTest.php
index 34c24a8a1655..befc3b732ca7 100644
--- a/core/modules/locale/tests/src/LocaleTranslationTest.php
+++ b/core/modules/locale/tests/src/LocaleTranslationTest.php
@@ -11,9 +11,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests for locale translation class.
- *
- * @see \Drupal\locale\LocaleTranslation
+ * @coversDefaultClass \Drupal\locale\LocaleTranslation
  * @group locale
  */
 class LocaleTranslationTest extends UnitTestCase {
@@ -32,14 +30,6 @@ class LocaleTranslationTest extends UnitTestCase {
    */
   protected $languageManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Locale translation tests',
-      'description' => 'Test locale module translation implementation.',
-      'group' => 'locale',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/locale/tests/src/Menu/LocaleLocalTasksTest.php b/core/modules/locale/tests/src/Menu/LocaleLocalTasksTest.php
index 16edc7e89cd1..c190b85051ea 100644
--- a/core/modules/locale/tests/src/Menu/LocaleLocalTasksTest.php
+++ b/core/modules/locale/tests/src/Menu/LocaleLocalTasksTest.php
@@ -10,21 +10,12 @@
 use Drupal\Tests\Core\Menu\LocalTaskIntegrationTest;
 
 /**
- * Tests existence of locale local tasks.
+ * Tests locale local tasks.
  *
- * @group Drupal
- * @group Locale
+ * @group locale
  */
 class LocaleLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Locale local tasks test',
-      'description' => 'Test locale local tasks.',
-      'group' => 'Locale',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'locale' => 'core/modules/locale',
diff --git a/core/modules/menu_link/tests/src/MenuTreeTest.php b/core/modules/menu_link/tests/src/MenuTreeTest.php
index bd77a45f7b0b..747335ad4a61 100644
--- a/core/modules/menu_link/tests/src/MenuTreeTest.php
+++ b/core/modules/menu_link/tests/src/MenuTreeTest.php
@@ -21,12 +21,8 @@
 }
 
 /**
- * Tests the menu tree.
- *
- * @group Drupal
- * @group menu_link
- *
  * @coversDefaultClass \Drupal\menu_link\MenuTree
+ * @group menu_link
  */
 class MenuTreeTest extends UnitTestCase {
 
@@ -105,17 +101,6 @@ class MenuTreeTest extends UnitTestCase {
     'weight' => 0,
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\menu_link\MenuTree',
-      'description' => '',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php b/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
index 8c7334857ffa..c863b8d8cceb 100644
--- a/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuCacheTagsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the Menu and Menu Link entities' cache tags.
+ *
+ * @group menu_ui
  */
 class MenuCacheTagsTest extends PageCacheTagsTestBase {
 
@@ -19,17 +21,6 @@ class MenuCacheTagsTest extends PageCacheTagsTestBase {
    */
   public static $modules = array('menu_ui', 'block', 'test_page_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => "Menu & Menu link entities cache tags",
-      'description' => "Test the Menu & Menu link entities' cache tags.",
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * Tests cache tags presence and invalidation of the Menu entity.
    *
diff --git a/core/modules/menu_ui/src/Tests/MenuLanguageTest.php b/core/modules/menu_ui/src/Tests/MenuLanguageTest.php
index 8d9890e2f9c0..9267c2847240 100644
--- a/core/modules/menu_ui/src/Tests/MenuLanguageTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuLanguageTest.php
@@ -12,7 +12,10 @@
 use Drupal\system\Entity\Menu;
 
 /**
- * Defines a test class for testing menu language functionality.
+ * Create menu and menu links in non-English language, and edit language
+ * settings.
+ *
+ * @group menu_ui
  */
 class MenuLanguageTest extends MenuWebTestBase {
 
@@ -26,14 +29,6 @@ class MenuLanguageTest extends MenuWebTestBase {
   protected $admin_user;
   protected $menu;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu language',
-      'description' => 'Create menu and menu links in non-English language, and edit language settings.',
-      'group' => 'Menu',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/menu_ui/src/Tests/MenuNodeTest.php b/core/modules/menu_ui/src/Tests/MenuNodeTest.php
index 9c1c67ee675c..819bd5632b73 100644
--- a/core/modules/menu_ui/src/Tests/MenuNodeTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuNodeTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test menu settings for nodes.
+ * Add, edit, and delete a node with menu link.
+ *
+ * @group menu_ui
  */
 class MenuNodeTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class MenuNodeTest extends WebTestBase {
    */
   public static $modules = array('menu_ui', 'test_page_test', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu settings for nodes',
-      'description' => 'Add, edit, and delete a node with menu link.',
-      'group' => 'Menu',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page'));
diff --git a/core/modules/menu_ui/src/Tests/MenuTest.php b/core/modules/menu_ui/src/Tests/MenuTest.php
index e9ce5ef04c53..f707eb9cf1e2 100644
--- a/core/modules/menu_ui/src/Tests/MenuTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuTest.php
@@ -11,7 +11,10 @@
 use Drupal\system\Entity\Menu;
 
 /**
- * Defines a test class for testing menu and menu link functionality.
+ * Add a custom menu, add menu links to the custom menu and Tools menu, check
+ * their data, and delete them using the UI.
+ *
+ * @group menu_ui
  */
 class MenuTest extends MenuWebTestBase {
 
@@ -50,14 +53,6 @@ class MenuTest extends MenuWebTestBase {
    */
   protected $items;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu link creation/deletion',
-      'description' => 'Add a custom menu, add menu links to the custom menu and Tools menu, check their data, and delete them using the UI.',
-      'group' => 'Menu'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/menu_ui/src/Tests/MenuUninstallTest.php b/core/modules/menu_ui/src/Tests/MenuUninstallTest.php
index 28fc5b73235e..c8309ffb3b7e 100644
--- a/core/modules/menu_ui/src/Tests/MenuUninstallTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuUninstallTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests that uninstalling menu does not remove custom menus.
+ *
+ * @group menu_ui
  */
 class MenuUninstallTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class MenuUninstallTest extends WebTestBase {
    */
   public static $modules = array('menu_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Uninstall menu test',
-      'description' => 'Tests that uninstalling menu does not remove custom menus.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * Tests Menu uninstall.
    */
diff --git a/core/modules/migrate/tests/src/MigrateExecutableTest.php b/core/modules/migrate/tests/src/MigrateExecutableTest.php
index fd0da23683b0..4499771724cb 100644
--- a/core/modules/migrate/tests/src/MigrateExecutableTest.php
+++ b/core/modules/migrate/tests/src/MigrateExecutableTest.php
@@ -13,12 +13,8 @@
 use Drupal\migrate\Row;
 
 /**
- * Tests the migrate executable.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\migrate\Tests\MigrateExecutableTest
  * @group migrate
- *
- * @covers \Drupal\migrate\Tests\MigrateExecutableTest
  */
 class MigrateExecutableTest extends MigrateTestCase {
 
@@ -47,17 +43,6 @@ class MigrateExecutableTest extends MigrateTestCase {
     'id' => 'test',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate executable',
-      'description' => 'Tests the migrate executable.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/MigrateExecuteableMemoryExceededTest.php b/core/modules/migrate/tests/src/MigrateExecuteableMemoryExceededTest.php
index e4b6e2495f76..c296f3089d4e 100644
--- a/core/modules/migrate/tests/src/MigrateExecuteableMemoryExceededTest.php
+++ b/core/modules/migrate/tests/src/MigrateExecuteableMemoryExceededTest.php
@@ -10,7 +10,6 @@
 /**
  * Tests the \Drupal\migrate\MigrateExecutable::memoryExceeded() method.
  *
- * @group Drupal
  * @group migrate
  */
 class MigrateExecuteableMemoryExceededTest extends MigrateTestCase {
@@ -50,17 +49,6 @@ class MigrateExecuteableMemoryExceededTest extends MigrateTestCase {
    */
   protected $memoryLimit = 10000000;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate executable memory exceeded',
-      'description' => 'Tests the migrate executable memoryExceeded method.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/MigrateSqlIdMapEnsureTablesTest.php b/core/modules/migrate/tests/src/MigrateSqlIdMapEnsureTablesTest.php
index 6727aabba2c1..d353d2dd38e4 100644
--- a/core/modules/migrate/tests/src/MigrateSqlIdMapEnsureTablesTest.php
+++ b/core/modules/migrate/tests/src/MigrateSqlIdMapEnsureTablesTest.php
@@ -10,9 +10,8 @@
 use Drupal\migrate\Plugin\MigrateIdMapInterface;
 
 /**
- * Tests the \Drupal\migrate\Plugin\migrate\id_map\Sql::ensureTables() method.
+ * Tests the SQL ID map plugin ensureTables() method.
  *
- * @group Drupal
  * @group migrate
  */
 class MigrateSqlIdMapEnsureTablesTest extends MigrateTestCase {
@@ -26,17 +25,6 @@ class MigrateSqlIdMapEnsureTablesTest extends MigrateTestCase {
     'id' => 'sql_idmap_test',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Sql::ensureTables()',
-      'description' => 'Tests the SQL ID map plugin ensureTables() method.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Tests the ensureTables method when the tables do not exist.
    */
diff --git a/core/modules/migrate/tests/src/MigrateSqlIdMapTest.php b/core/modules/migrate/tests/src/MigrateSqlIdMapTest.php
index 577006fa39a4..f7828a2335c0 100644
--- a/core/modules/migrate/tests/src/MigrateSqlIdMapTest.php
+++ b/core/modules/migrate/tests/src/MigrateSqlIdMapTest.php
@@ -13,9 +13,8 @@
 use Drupal\migrate\Row;
 
 /**
- * Tests the SQL based ID map implementation.
+ * Tests the SQL ID map plugin.
  *
- * @group Drupal
  * @group migrate
  */
 class MigrateSqlIdMapTest extends MigrateTestCase {
@@ -44,17 +43,6 @@ class MigrateSqlIdMapTest extends MigrateTestCase {
    */
   protected $database;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'SQL ID map plugin',
-      'description' => 'Tests the SQL ID map plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Creates a test SQL ID map plugin.
    *
diff --git a/core/modules/migrate/tests/src/RowTest.php b/core/modules/migrate/tests/src/RowTest.php
index 6ccfd6e22e7c..7f01333dbf1e 100644
--- a/core/modules/migrate/tests/src/RowTest.php
+++ b/core/modules/migrate/tests/src/RowTest.php
@@ -12,12 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests for Row class.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\migrate\Row
  * @group migrate
- *
- * @covers \Drupal\migrate\Row
  */
 class RowTest extends UnitTestCase {
 
@@ -54,17 +50,6 @@ class RowTest extends UnitTestCase {
    */
   protected $testHashMod = '9476aab0b62b3f47342cc6530441432e5612dcba7ca84115bbab5cceaca1ecb3';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Row class functionality',
-      'description' => 'Tests Row class functionality.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Tests object creation: empty.
    */
diff --git a/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php b/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
index d36acb4e07a9..ac26f3aa2758 100644
--- a/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
+++ b/core/modules/migrate/tests/src/destination/PerComponentEntityDisplayTest.php
@@ -14,22 +14,10 @@
 /**
  * Tests the entity display destination plugin.
  *
- * @group Drupal
  * @group migrate
  */
 class PerComponentEntityDisplayTest extends MigrateTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity display destination plugin',
-      'description' => 'Tests the entity display destination plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Tests the entity display import method.
    */
diff --git a/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php b/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
index 8d24988fbb9f..d1aa648bfc13 100644
--- a/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
+++ b/core/modules/migrate/tests/src/destination/PerComponentEntityFormDisplayTest.php
@@ -14,22 +14,10 @@
 /**
  * Tests the entity display destination plugin.
  *
- * @group Drupal
  * @group migrate
  */
 class PerComponentEntityFormDisplayTest extends MigrateTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity display destination plugin',
-      'description' => 'Tests the entity display destination plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Tests the entity display import method.
    */
diff --git a/core/modules/migrate/tests/src/process/CallbackTest.php b/core/modules/migrate/tests/src/process/CallbackTest.php
index 1a29ab902db8..1176791c1896 100644
--- a/core/modules/migrate/tests/src/process/CallbackTest.php
+++ b/core/modules/migrate/tests/src/process/CallbackTest.php
@@ -13,21 +13,9 @@
  * Tests the callback process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class CallbackTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Callback process plugin',
-      'description' => 'Tests the callback process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/ConcatTest.php b/core/modules/migrate/tests/src/process/ConcatTest.php
index a189fe1dbf12..f55a997d28b2 100644
--- a/core/modules/migrate/tests/src/process/ConcatTest.php
+++ b/core/modules/migrate/tests/src/process/ConcatTest.php
@@ -13,21 +13,9 @@
  * Tests the concat process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class ConcatTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Concat process plugin',
-      'description' => 'Tests the concat process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/DedupeEntityTest.php b/core/modules/migrate/tests/src/process/DedupeEntityTest.php
index 6f9512d37e92..1e4bee5f6902 100644
--- a/core/modules/migrate/tests/src/process/DedupeEntityTest.php
+++ b/core/modules/migrate/tests/src/process/DedupeEntityTest.php
@@ -10,12 +10,8 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Test the deduplication entity process plugin.
- *
+ * @coversDefaultClass \Drupal\migrate\Plugin\migrate\process\DedupeEntity
  * @group migrate
- * @group Drupal
- *
- * @see \Drupal\migrate\Plugin\migrate\process\DedupeEntity
  */
 class DedupeEntityTest extends MigrateProcessTestCase {
 
@@ -43,17 +39,6 @@ class DedupeEntityTest extends MigrateProcessTestCase {
     'id' => 'test',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Dedupe entity process plugin',
-      'description' => 'Tests the entity deduplication process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/ExtractTest.php b/core/modules/migrate/tests/src/process/ExtractTest.php
index 5266abf85898..f4f3d1ce07db 100644
--- a/core/modules/migrate/tests/src/process/ExtractTest.php
+++ b/core/modules/migrate/tests/src/process/ExtractTest.php
@@ -9,25 +9,11 @@
 use Drupal\migrate\Plugin\migrate\process\Extract;
 
 /**
- * Tests the extract plugin.
- *
- * @see \Drupal\migrate\Plugin\migrate\process\Extract
- * @group Drupal
+ * @coversDefaultClass \Drupal\migrate\Plugin\migrate\process\Extract
  * @group migrate
  */
 class ExtractTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Extract process plugin',
-      'description' => 'Tests the extract process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/FlattenTest.php b/core/modules/migrate/tests/src/process/FlattenTest.php
index d1f8c356935f..179b830d9fec 100644
--- a/core/modules/migrate/tests/src/process/FlattenTest.php
+++ b/core/modules/migrate/tests/src/process/FlattenTest.php
@@ -11,22 +11,10 @@
 /**
  * Tests the flatten plugin.
  *
- * @group Drupal
  * @group migrate
  */
 class FlattenTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Flatten process plugin',
-      'description' => 'Tests the flatten process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Test that various array flatten operations work properly.
    */
diff --git a/core/modules/migrate/tests/src/process/GetTest.php b/core/modules/migrate/tests/src/process/GetTest.php
index daedc089c955..ac84b429706e 100644
--- a/core/modules/migrate/tests/src/process/GetTest.php
+++ b/core/modules/migrate/tests/src/process/GetTest.php
@@ -13,21 +13,9 @@
  * Tests the get process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class GetTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Get process plugin',
-      'description' => 'Tests the get process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/IteratorTest.php b/core/modules/migrate/tests/src/process/IteratorTest.php
index 9ca2f6252ebf..a879c22d417f 100644
--- a/core/modules/migrate/tests/src/process/IteratorTest.php
+++ b/core/modules/migrate/tests/src/process/IteratorTest.php
@@ -17,7 +17,6 @@
  * Tests the iterator process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class IteratorTest extends MigrateTestCase {
 
@@ -35,17 +34,6 @@ class IteratorTest extends MigrateTestCase {
     'id' => 'test',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Iterator process plugin',
-      'description' => 'Tests the iterator process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * Tests the iterator process plugin.
    */
diff --git a/core/modules/migrate/tests/src/process/MachineNameTest.php b/core/modules/migrate/tests/src/process/MachineNameTest.php
index c1c41c6c2128..4a48672a4d2f 100644
--- a/core/modules/migrate/tests/src/process/MachineNameTest.php
+++ b/core/modules/migrate/tests/src/process/MachineNameTest.php
@@ -12,7 +12,6 @@
  * Tests the machine name process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class MachineNameTest extends MigrateProcessTestCase {
 
@@ -23,17 +22,6 @@ class MachineNameTest extends MigrateProcessTestCase {
    */
   protected $transliteration;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Machine mame process plugin',
-      'description' => 'Tests the machine name process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate/tests/src/process/StaticMapTest.php b/core/modules/migrate/tests/src/process/StaticMapTest.php
index 90445267773b..a3f90c0e7635 100644
--- a/core/modules/migrate/tests/src/process/StaticMapTest.php
+++ b/core/modules/migrate/tests/src/process/StaticMapTest.php
@@ -12,21 +12,9 @@
  * Tests the static map process plugin.
  *
  * @group migrate
- * @group Drupal
  */
 class StaticMapTest extends MigrateProcessTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Map process plugin',
-      'description' => 'Tests the map process plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateActionConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateActionConfigsTest.php
index 729dbc92b989..36b71c67b6ea 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateActionConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateActionConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Action module.
+ * Upgrade variables to action.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateActionConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateActionConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('action');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to action.settings.yml',
-      'description'  => 'Upgrade variables to action.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorConfigsTest.php
index 9bf5759660db..12af08c64973 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Aggregator module.
+ * Upgrade variables to aggregator.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('aggregator');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to aggregator.settings.yml',
-      'description'  => 'Upgrade variables to aggregator.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
index 6b57800e59cc..1317bca5d2d0 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorFeedTest.php
@@ -13,23 +13,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of aggregator feed entities.
+ * Upgrade variables to aggregator_feed entities.
+ *
+ * @group migrate_drupal
  */
 class MigrateAggregatorFeedTest extends MigrateDrupalTestBase {
 
   static $modules = array('aggregator');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to aggregator_feed entities.',
-      'description'  => 'Upgrade variables to aggregator_feed entities',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
index 520dccf4c7ab..1c9839874fba 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateAggregatorItemTest.php
@@ -13,23 +13,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Test Drupal 6 aggregator item migration to Drupal 8.
+ * Upgrade aggregator items.
+ *
+ * @group migrate_drupal
  */
 class MigrateAggregatorItemTest extends MigrateDrupalTestBase {
 
   static $modules = array('aggregator');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate aggregator items',
-      'description'  => 'Upgrade aggregator items',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
index 460371a6f5a1..ba48b43a53ba 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockContentTest.php
@@ -14,23 +14,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 custom block to Drupal 8 migration.
+ * Upgrade custom blocks.
+ *
+ * @group migrate_drupal
  */
 class MigrateBlockContentTest extends MigrateDrupalTestBase {
 
   static $modules = array('block', 'block_content');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate custom blocks.',
-      'description'  => 'Upgrade custom blocks.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
index 313e7802558b..2a3d3304008d 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBlockTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Test the block settings migration.
+ * Upgrade block settings to block.block.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateBlockTest extends MigrateDrupalTestBase {
 
@@ -29,17 +31,6 @@ class MigrateBlockTest extends MigrateDrupalTestBase {
     'node',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate block settings to block.block.*.yml',
-      'description'  => 'Upgrade block settings to block.block.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
index 890a235342b7..006e2ebe7633 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Book module.
+ * Upgrade variables to book.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateBookConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateBookConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('book');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to book.settings.yml',
-      'description'  => 'Upgrade variables to book.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
index d7fc9a315f49..d944d991e0ac 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateBookTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 book structure to Drupal 8 migration.
+ * Upgrade book structure.
+ *
+ * @group migrate_drupal
  */
 class MigrateBookTest extends MigrateDrupalTestBase {
 
   public static $modules = array('book');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate book',
-      'description'  => 'Upgrade book structure',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldRevisionTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldRevisionTest.php
index 17171c2e104d..9f82faf24595 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldRevisionTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldRevisionTest.php
@@ -10,7 +10,9 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Test cck field revision migration from Drupal 6 to 8.
+ * CCK field revision migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateCckFieldRevisionTest extends MigrateNodeTestBase {
 
@@ -21,17 +23,6 @@ class MigrateCckFieldRevisionTest extends MigrateNodeTestBase {
    */
   public static $modules = array('field', 'filter', 'node', 'text');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate CCK field revisions',
-      'description'  => 'CCK field revision migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
index 1d5c3ce803bc..b68f579a671e 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCckFieldValuesTest.php
@@ -10,7 +10,9 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Test cck field migration from Drupal 6 to 8.
+ * CCK field content migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateCckFieldValuesTest extends MigrateNodeTestBase {
 
@@ -21,17 +23,6 @@ class MigrateCckFieldValuesTest extends MigrateNodeTestBase {
    */
   public static $modules = array('node', 'text');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate CCK fields',
-      'description'  => 'CCK field content migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
index d07b02b9f981..f043a5ba61cc 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTest.php
@@ -13,24 +13,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 to Drupal 8 comment migration.
+ * Upgrade comments.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentTest extends MigrateDrupalTestBase {
 
   static $modules = array('node', 'comment');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comments.',
-      'description'  => 'Upgrade comments.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
index e31159e84d2c..1a3a6b8fefd6 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentTypeTest.php
@@ -11,24 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 to Drupal 8 comment type migration.
+ * Upgrade comment type.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentTypeTest extends MigrateDrupalTestBase {
 
   static $modules = array('node', 'comment');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comment type.',
-      'description'  => 'Upgrade comment type.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityDisplayTest.php
index 0e1a17138a61..c0f058ebc813 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityDisplayTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\migrate_drupal\Tests\d6;
 
 /**
- * Tests comment variables migrated into an entity display.
+ * Upgrade comment variables to entity.display.node.*.default.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentVariableEntityDisplayTest extends MigrateCommentVariableDisplayBase {
 
@@ -22,17 +24,6 @@ class MigrateCommentVariableEntityDisplayTest extends MigrateCommentVariableDisp
    */
   protected $types = array('page', 'story');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comment variables to entity displays,',
-      'description'  => 'Upgrade comment variables to entity.display.node.*.default.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * Tests comment variables migrated into an entity display.
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
index adefa717b763..47efbfcd9be5 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableEntityFormDisplayTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\migrate_drupal\Tests\d6;
 
 /**
- * Tests comment variables migrated into an entity display.
+ * Upgrade comment variables to entity.form_display.node.*.default.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentVariableEntityFormDisplayTest extends MigrateCommentVariableDisplayBase {
 
@@ -17,17 +19,6 @@ class MigrateCommentVariableEntityFormDisplayTest extends MigrateCommentVariable
    */
   const MIGRATION = 'd6_comment_entity_form_display';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comment variables to entity form displays,',
-      'description'  => 'Upgrade comment variables to entity.form_display.node.*.default.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * Tests comment variables migrated into an entity display.
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableFieldTest.php
index 0bc53090e86d..f2a9dc734041 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableFieldTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests comment variables migrated into a field entity.
+ * Upgrade comment variables  to field.field.node.comment.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentVariableFieldTest extends MigrateDrupalTestBase {
 
   static $modules = array('comment', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comment variables to a field,',
-      'description'  => 'Upgrade comment variables  to field.field.node.comment.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableInstanceTest.php
index f35fc45b89e1..10f3fb8676d6 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateCommentVariableInstanceTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests comment variables migrated into a field instance.
+ * Upgrade comment variables to field.instance.node.*.comment.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateCommentVariableInstanceTest extends MigrateDrupalTestBase {
 
   static $modules = array('comment', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate comment variables to a field instance,',
-      'description'  => 'Upgrade comment variables to field.instance.node.*.comment.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateContactCategoryTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateContactCategoryTest.php
index e73c323351b2..06767051b683 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateContactCategoryTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateContactCategoryTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * The Drupal 6 contact categories to Drupal 8 migration.
+ * Migrate contact categories to contact.category.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateContactCategoryTest extends MigrateDrupalTestBase {
 
@@ -23,17 +25,6 @@ class MigrateContactCategoryTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('contact');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate contact categories.',
-      'description'  => 'Migrate contact categories to contact.category.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateContactConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateContactConfigsTest.php
index 601d109dbc0a..3f9b521e4b28 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateContactConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateContactConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Contact module.
+ * Upgrade variables to contact.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateContactConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateContactConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('contact');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to contact.settings',
-      'description'  => 'Upgrade variables to contact.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDateFormatTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDateFormatTest.php
index c334d9407500..ba9090969807 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDateFormatTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDateFormatTest.php
@@ -9,21 +9,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests the Drupal 6 date formats to Drupal 8 migration.
+ * Upgrade date formats to system.date_format.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateDateFormatTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate date formats to system.date_format.*.yml',
-      'description'  => 'Upgrade date formats to system.date_format.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDblogConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDblogConfigsTest.php
index f99b084f7861..01adea4fe418 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDblogConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDblogConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the dblog module.
+ * Upgrade variables to dblog.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateDblogConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateDblogConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('dblog');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to dblog.settings.yml',
-      'description'  => 'Upgrade variables to dblog.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
index d8f38a2b374d..cdcfa3d7998a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateDrupal6Test.php
@@ -10,7 +10,9 @@
 use Drupal\migrate_drupal\Tests\MigrateFullDrupalTestBase;
 
 /**
- * Test the complete Drupal 6 migration.
+ * Tests the complete Drupal 6 migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
 
@@ -136,17 +138,6 @@ class MigrateDrupal6Test extends MigrateFullDrupalTestBase {
     'd6_vocabulary_field',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate Drupal 6',
-      'description'  => 'Test every Drupal 6 migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
index fdea39e6dba5..a67ad86a43b4 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldFormatterSettingsTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Test formatter settings to display modes.
+ * Upgrade field formatter settings to entity.display.*.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateFieldFormatterSettingsTest extends MigrateDrupalTestBase {
 
@@ -22,18 +24,6 @@ class MigrateFieldFormatterSettingsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('node', 'field', 'datetime', 'image', 'text', 'link', 'file', 'telephone');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate field formatter settings to entity.display.*.*.yml',
-      'description'  => 'Upgrade field formatter settings to entity.display.*.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
index dfaa2a3c6687..67c170a5ee0a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldInstanceTest.php
@@ -12,7 +12,9 @@
 use Drupal\link\LinkItemInterface;
 
 /**
- * Tests migration of field instances.
+ * Migrate field instances.
+ *
+ * @group migrate_drupal
  */
 class MigrateFieldInstanceTest extends MigrateDrupalTestBase {
 
@@ -31,17 +33,6 @@ class MigrateFieldInstanceTest extends MigrateDrupalTestBase {
     'field',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate field instances to field.instance.*.*.*.yml',
-      'description' => 'Migrate field instances.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
index b8912319d6b9..11818d1aac19 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 field to Drupal 8 migration.
+ * Migrate fields.
+ *
+ * @group migrate_drupal
  */
 class MigrateFieldTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateFieldTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('field', 'telephone', 'link', 'file', 'image', 'datetime', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate fields to field.*.*.yml',
-      'description'  => 'Migrate fields',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
index 930e77b62dbd..c27320b7d245 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFieldWidgetSettingsTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of field instances.
+ * Migrate field widget settings.
+ *
+ * @group migrate_drupal
  */
 class MigrateFieldWidgetSettingsTest extends MigrateDrupalTestBase {
 
@@ -30,17 +32,6 @@ class MigrateFieldWidgetSettingsTest extends MigrateDrupalTestBase {
     'node',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate field widget settings to entity.form_display.*.*.default.yml',
-      'description' => 'Migrate field widget settings.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileConfigsTest.php
index 71f0cbf4fa24..ff8bd2d11709 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the File module.
+ * Upgrade variables to file.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateFileConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateFileConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('file');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to file.settings.yml',
-      'description'  => 'Upgrade variables to file.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
index 9e5c6ab3df87..48645c110086 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFileTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 files to Drupal 8 migration.
+ * file migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateFileTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateFileTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('file');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate files',
-      'description' => 'file migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateFilterFormatTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateFilterFormatTest.php
index 47a3f3238089..c1529b8b6bfb 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateFilterFormatTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateFilterFormatTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 filter format to Drupal 8 migration.
+ * Upgrade variables to filter.formats.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateFilterFormatTest extends MigrateDrupalTestBase {
 
@@ -20,18 +22,6 @@ class MigrateFilterFormatTest extends MigrateDrupalTestBase {
    */
   static $modules = array('filter');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to filter.formats.*.yml',
-      'description'  => 'Upgrade variables to filter.formats.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
index 75a1c42bf7cc..3cee8b628fc1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateForumConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables for the Forum module.
+ * Upgrade variables to forum.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateForumConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateForumConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('forum');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to forum.settings.yml',
-      'description'  => 'Upgrade variables to forum.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
index 5c87f5bb4770..d9f02934a2e2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateLocaleConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Locale module.
+ * Upgrade variables to locale.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateLocaleConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateLocaleConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('locale');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to locale.settings.yml',
-      'description'  => 'Upgrade variables to locale.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuConfigsTest.php
index 58a00dd5774b..b0e037455f5e 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables for the Menu UI module.
+ * Upgrade variables to menu_ui.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateMenuConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateMenuConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('menu_ui');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to menu_ui.settings.yml',
-      'description'  => 'Upgrade variables to menu_ui.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuTest.php
index d2839cb5715f..e34254bfa397 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateMenuTest.php
@@ -13,21 +13,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests the Drupal 6 menu to Drupal 8 migration.
+ * Upgrade menus to system.menu.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateMenuTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate menus',
-      'description'  => 'Upgrade menus to system.menu.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeConfigsTest.php
index fec195333758..d1a047056dd1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests Drupal 6 node settings to Drupal 8 migration.
+ * Upgrade variables to node.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateNodeConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateNodeConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to node.settings.yml',
-      'description'  => 'Upgrade variables to node.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeRevisionTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeRevisionTest.php
index b121227d6320..65b6e7bfb11b 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeRevisionTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeRevisionTest.php
@@ -10,21 +10,12 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Test node revisions migration from Drupal 6 to 8.
+ * Node content revisions migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateNodeRevisionTest extends MigrateNodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate nodes',
-      'description'  => 'Node content revisions migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTest.php
index e08d85f41e89..b3562d103f7e 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTest.php
@@ -11,21 +11,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Test node migration from Drupal 6 to 8.
+ * Node content migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateNodeTest extends MigrateNodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate nodes',
-      'description'  => 'Node content migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
index 599c1459df48..094ca3d7199f 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateNodeTypeTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests Drupal 6 node type to Drupal 8 migration.
+ * Upgrade node types to node.type.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateNodeTypeTest extends MigrateDrupalTestBase {
 
@@ -23,17 +25,6 @@ class MigrateNodeTypeTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate node type to node.type.*.yml',
-      'description' => 'Upgrade node types to node.type.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php
index b117a643016d..d111798bc45f 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateProfileValuesTest.php
@@ -14,7 +14,9 @@
 use Drupal\user\Entity\User;
 
 /**
- * Tests Drupal 6 profile values to Drupal 8 migration.
+ * User profile values migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateProfileValuesTest extends MigrateDrupalTestBase {
 
@@ -32,17 +34,6 @@ class MigrateProfileValuesTest extends MigrateDrupalTestBase {
     'image',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user profile values',
-      'description'  => 'User profile values migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchConfigsTest.php
index 51f5f162e9c8..54363227ee77 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables for the Search module.
+ * Upgrade variables to search.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSearchConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateSearchConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('search');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to search.settings.yml',
-      'description'  => 'Upgrade variables to search.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchPageTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchPageTest.php
index 838116b839ca..31e4c36a036c 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchPageTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSearchPageTest.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests Drupal 6 search settings to Drupal 8 search page entity migration.
+ * Upgrade search rank settings to search.page.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSearchPageTest extends MigrateDrupalTestBase {
 
@@ -23,17 +25,6 @@ class MigrateSearchPageTest extends MigrateDrupalTestBase {
    */
   static $modules = array('node', 'search');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate search settings to search.page.*.yml',
-      'description'  => 'Upgrade search rank settings to search.page.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
index e6bc1c13c42b..9f857b619daf 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSimpletestConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Simpletest module.
+ * Upgrade variables to simpletest.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('simpletest');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to simpletest.settings.yml',
-      'description'  => 'Upgrade variables to simpletest.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateStatisticsConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateStatisticsConfigsTest.php
index c1228204c9ed..25474a627a85 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateStatisticsConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateStatisticsConfigsTest.php
@@ -13,7 +13,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Statistics module.
+ * Upgrade variables to statistics.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase {
 
@@ -26,17 +28,6 @@ class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('statistics');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to statistics.settings.yml',
-      'description'  => 'Upgrade variables to statistics.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSyslogConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSyslogConfigsTest.php
index d5c432f887eb..8b1bd7684929 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSyslogConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSyslogConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Syslog module.
+ * Upgrade variables to syslog.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSyslogConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateSyslogConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('syslog');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to syslog.settings.yml',
-      'description'  => 'Upgrade variables to syslog.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemCronTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemCronTest.php
index 764dbac0e122..a9afa6b00c01 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemCronTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemCronTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 cron variables to Drupal 8 system.cron config migration.
+ * Upgrade cron variable to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemCronTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate cron variable to system.*.yml',
-      'description'  => 'Upgrade cron variable to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFileTest.php
index d5c216ab77a0..c2809b4bc46b 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFileTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of filesystem variables to configuration.
+ * Upgrade variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemFileTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to system.*.yml',
-      'description'  => 'Upgrade variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFilterTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFilterTest.php
index d501cc528eca..66991860da52 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFilterTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemFilterTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 system filter variables to Drupal 8 system.filter config migration.
+ * Upgrade filter variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemFilterTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate filter variables to system.*.yml',
-      'description'  => 'Upgrade filter variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageGdTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageGdTest.php
index 6e688e5521e6..2020d5f0d29b 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageGdTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageGdTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of image GD toolkit variables to configuration.
+ * Upgrade image gd variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemImageGdTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate image gd variables to system.*.yml',
-      'description'  => 'Upgrade image gd variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageTest.php
index 5b9c18da7292..f53c732bdaaa 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemImageTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of image toolkit variables to configuration.
+ * Upgrade image variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemImageTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate image variables to system.*.yml',
-      'description'  => 'Upgrade image variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemLoggingTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemLoggingTest.php
index fe475bb9f6a0..25ae285d8523 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemLoggingTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemLoggingTest.php
@@ -12,23 +12,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system error_level variables to configuration.
+ * Upgrade error_level variable to system.logging.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemLoggingTest extends MigrateDrupalTestBase {
 
   use SchemaCheckTestTrait;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate error_level variable to system.logging.yml',
-      'description'  => 'Upgrade error_level variable to system.logging.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemMaintenanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemMaintenanceTest.php
index 660172f006d7..11f2cebd884a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemMaintenanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemMaintenanceTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system maintenance mode variables to configuration.
+ * Upgrade maintenance variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemMaintenanceTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate maintenance variables to system.*.yml',
-      'description'  => 'Upgrade maintenance variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemPerformanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemPerformanceTest.php
index 0eaca21a6066..777231b79f82 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemPerformanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemPerformanceTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system performance variables to configuration.
+ * Upgrade performance variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemPerformanceTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate performance variables to system.*.yml',
-      'description'  => 'Upgrade performance variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemRssTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemRssTest.php
index 1bb05c103605..ad93ad3a799f 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemRssTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemRssTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system RSS/feed variables to configuration.
+ * Upgrade rss variable to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemRssTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate rss variable to system.*.yml',
-      'description'  => 'Upgrade rss variable to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemSiteTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemSiteTest.php
index 197f11140920..141f533d6d76 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemSiteTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemSiteTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system site variables to configuration.
+ * Upgrade site variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemSiteTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate site variables to system.*.yml',
-      'description'  => 'Upgrade site variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemThemeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemThemeTest.php
index 4669c122047e..bb8dd300cdce 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemThemeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateSystemThemeTest.php
@@ -12,21 +12,12 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of system theme variables to configuration.
+ * Upgrade theme variables to system.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateSystemThemeTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate theme variables to system.*.yml',
-      'description'  => 'Upgrade theme variables to system.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyConfigsTest.php
index 5c31f48adbfc..5426165f45fd 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Taxonomy module.
+ * Upgrade variables to taxonomy.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to taxonomy.settings.yml',
-      'description'  => 'Upgrade variables to taxonomy.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
index 5969543e20e5..d4f253e5620a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyTermTest.php
@@ -12,23 +12,14 @@
 use Drupal\taxonomy\Entity\Term;
 
 /**
- * Tests the Drupal 6 taxonomy term to Drupal 8 migration.
+ * Upgrade taxonomy terms.
+ *
+ * @group migrate_drupal
  */
 class MigrateTaxonomyTermTest extends MigrateDrupalTestBase {
 
   static $modules = array('taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate taxonomy terms',
-      'description'  => 'Upgrade taxonomy terms',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyVocabularyTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyVocabularyTest.php
index c2f6aad04bc9..607d4d789919 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyVocabularyTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTaxonomyVocabularyTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 taxonomy vocabularies to Drupal 8 migration.
+ * Migrate taxonomy vocabularies to taxonomy.vocabulary.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateTaxonomyVocabularyTest extends MigrateDrupalTestBase {
 
@@ -22,18 +24,6 @@ class MigrateTaxonomyVocabularyTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate taxonomy vocabularies.',
-      'description'  => 'Migrate taxonomy vocabularies to taxonomy.vocabulary.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeRevisionTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeRevisionTest.php
index 20c4a0ffadf1..2dd4419a2cd2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeRevisionTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeRevisionTest.php
@@ -10,21 +10,12 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Tests the Drupal 6 term-node revision association to Drupal 8 migration.
+ * Upgrade taxonomy term node associations.
+ *
+ * @group migrate_drupal
  */
 class MigrateTermNodeRevisionTest extends MigrateTermNodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate taxonomy term node revisions',
-      'description'  => 'Upgrade taxonomy term node associations',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTest.php
index 2b3ab48363ad..dd3d42102841 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTermNodeTest.php
@@ -10,21 +10,12 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Tests the Drupal 6 term-node association to Drupal 8 migration.
+ * Upgrade taxonomy term node associations.
+ *
+ * @group migrate_drupal
  */
 class MigrateTermNodeTest extends MigrateTermNodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate taxonomy term node',
-      'description'  => 'Upgrade taxonomy term node associations',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateTextConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateTextConfigsTest.php
index c0ba9e2e4ff0..c2b967e64930 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateTextConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateTextConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Text module.
+ * Upgrade variables to text.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateTextConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateTextConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('text');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to text.settings.yml',
-      'description'  => 'Upgrade variables to text.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUpdateConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUpdateConfigsTest.php
index 64b6d112084d..578d2e8a32dc 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUpdateConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUpdateConfigsTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the Update module.
+ * Upgrade variables to update.settings.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateUpdateConfigsTest extends MigrateDrupalTestBase {
 
@@ -25,17 +27,6 @@ class MigrateUpdateConfigsTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('update');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to update.settings.yml',
-      'description'  => 'Upgrade variables to update.settings.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityDisplayTest.php
index ec994b6f4e71..29e289035c87 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 upload settings to Drupal 8 entity display migration.
+ * Upload entity display.
+ *
+ * @group migrate_drupal
  */
 class MigrateUploadEntityDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUploadEntityDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('node', 'file');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate upload entity display.',
-      'description'  => 'Upload entity display',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityFormDisplayTest.php
index 9d58993bf00b..5141fb9f2dcb 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadEntityFormDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 upload settings to Drupal 8 entity form display migration.
+ * Upload form entity display.
+ *
+ * @group migrate_drupal
  */
 class MigrateUploadEntityFormDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUploadEntityFormDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('file', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate upload entity form display.',
-      'description'  => 'Upload form entity display',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadFieldTest.php
index ceac43769180..380e7d2a51db 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadFieldTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 upload settings to Drupal 8 field migration.
+ * Uploads migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUploadFieldTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUploadFieldTest extends MigrateDrupalTestBase {
    */
   static $modules = array('file', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate uploads',
-      'description'  => 'Uploads migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadInstanceTest.php
index ebd61fae8034..91ee0ada71e9 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadInstanceTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 upload settings to Drupal 8 field instance migration.
+ * Upload field instance migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUploadInstanceTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUploadInstanceTest extends MigrateDrupalTestBase {
    */
   static $modules = array('file', 'node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate upload field instance.',
-      'description'  => 'Upload field instance migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadTest.php
index 1c2f95bb5f8e..cdc76c3586d1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUploadTest.php
@@ -10,21 +10,12 @@
 use Drupal\migrate\MigrateExecutable;
 
 /**
- * Test upload migration from Drupal 6 to Drupal 8.
+ * Migrate association data between nodes and files.
+ *
+ * @group migrate_drupal
  */
 class MigrateUploadTest extends MigrateUploadBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate upload',
-      'description'  => 'Migrate association data between nodes and files.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
index bec9a4ea0086..8449cba6d0c1 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUrlAliasTest.php
@@ -13,21 +13,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Test the url alias migration.
+ * Url alias migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUrlAliasTest extends MigrateDrupalTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Url alias migration.',
-      'description'  => 'Url alias migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserConfigsTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserConfigsTest.php
index ed8cc1ce6831..0796d763b43a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserConfigsTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserConfigsTest.php
@@ -12,23 +12,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of variables from the User module.
+ * Upgrade variables to user.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserConfigsTest extends MigrateDrupalTestBase {
 
   use SchemaCheckTestTrait;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate variables to user.*.yml',
-      'description'  => 'Upgrade variables to user.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityDisplayTest.php
index 3919c7f22932..f55b4227045c 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 user picture to Drupal 8 entity display migration.
+ * User picture entity display.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserPictureEntityDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUserPictureEntityDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('image');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user picture entity display.',
-      'description'  => 'User picture entity display',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityFormDisplayTest.php
index c4de81bbf279..51ffe950a574 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureEntityFormDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 user picture to Drupal 8 entity form display migration.
+ * User picture entity form display.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserPictureEntityFormDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUserPictureEntityFormDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('image');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user picture entity form display.',
-      'description'  => 'User picture entity form display',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
index 9184d2cb6348..025e6f800960 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFieldTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Test the user_picture field migration.
+ * User picture field migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserPictureFieldTest extends MigrateDrupalTestBase {
 
   static $modules = array('image');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user picture field',
-      'description'  => 'User picture field migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
index 7fe2895ab8b2..b55983675b32 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureFileTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 user pictures to Drupal 8 migration.
+ * User pictures migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserPictureFileTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUserPictureFileTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('file');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Migrate user pictures',
-      'description' => 'User pictures migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
index f6881de5a05a..ee1a69bc2af2 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserPictureInstanceTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 user picture to Drupal 8 picture field instance migration.
+ * User picture field instance migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserPictureInstanceTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUserPictureInstanceTest extends MigrateDrupalTestBase {
    */
   static $modules = array('image');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user picture field instance.',
-      'description'  => 'User picture field instance migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
index 1b8b36bd83a8..de2d4497d677 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityDisplayTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\Dump\Drupal6UserProfileFields;
 
 /**
- * Tests migration of user profile fields.
+ * Tests the user profile entity display migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserProfileEntityDisplayTest extends MigrateDrupalTestBase {
 
@@ -23,17 +25,6 @@ class MigrateUserProfileEntityDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('link', 'options', 'datetime');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user profile entity display',
-      'description'  => 'Test the user profile entity display migration.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
index e999001be1ae..5dcd93a836af 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileEntityFormDisplayTest.php
@@ -12,23 +12,14 @@
 use Drupal\migrate_drupal\Tests\Dump\Drupal6UserProfileFields;
 
 /**
- * Tests migration of user profile entity form display.
+ * Tests the user profile entity form display migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserProfileEntityFormDisplayTest extends MigrateDrupalTestBase {
 
   static $modules = array('link', 'options', 'datetime');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user profile entity form display',
-      'description'  => 'Test the user profile entity form display migration.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldInstanceTest.php
index 394984dd8e09..8822f2b5d39a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldInstanceTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of user profile fields.
+ * Tests the user profile field instance migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserProfileFieldInstanceTest extends MigrateDrupalTestBase {
 
   static $modules = array('field', 'link', 'options', 'datetime', 'text');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user profile field instance',
-      'description'  => 'Test the user profile field instance migration.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
index f41b91f0f37d..fc555593170f 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserProfileFieldTest.php
@@ -11,23 +11,14 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests migration of user profile fields.
+ * Tests the user profile field migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserProfileFieldTest extends MigrateDrupalTestBase {
 
   static $modules = array('link', 'options', 'datetime');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user profile fields',
-      'description'  => 'Test the user profile field migration.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserRoleTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserRoleTest.php
index 98183e8ecc91..52ad84a1a68f 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserRoleTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserRoleTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 user roles to Drupal 8 migration.
+ * Upgrade user roles to user.role.*.yml.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserRoleTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateUserRoleTest extends MigrateDrupalTestBase {
    */
   static $modules = array('filter');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate user roles to user.role.*.yml',
-      'description'  => 'Upgrade user roles to user.role.*.yml',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
index d894b1c44898..9dc19d144b47 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateUserTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal6 user to Drupal 8 migration.
+ * Users migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateUserTest extends MigrateDrupalTestBase {
 
@@ -30,17 +32,6 @@ class MigrateUserTest extends MigrateDrupalTestBase {
     'image',
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate users',
-      'description'  => 'Users migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateViewModesTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateViewModesTest.php
index 2c43aeea191d..902606cc4c2a 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateViewModesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateViewModesTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests Drupal 6 view modes to Drupal 8 migration.
+ * Migrate view modes.
+ *
+ * @group migrate_drupal
  */
 class MigrateViewModesTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateViewModesTest extends MigrateDrupalTestBase {
    */
   public static $modules = array('node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate view modes to entity.view_mode.*.*.yml',
-      'description'  => 'Migrate view modes',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
index 4b7066c8b0c0..b829e526eaf0 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 vocabulary-node type association to Drupal 8 migration.
+ * Vocabulary entity display migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateVocabularyEntityDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateVocabularyEntityDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('field', 'node', 'taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Vocabulary entity display migration',
-      'description'  => 'Vocabulary entity display migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
index 00022f62194d..aad01868fa69 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyEntityFormDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 vocabulary-node type association to Drupal 8 migration.
+ * Vocabulary entity form display migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateVocabularyEntityFormDisplayTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateVocabularyEntityFormDisplayTest extends MigrateDrupalTestBase {
    */
   static $modules = array('taxonomy', 'field');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Vocabulary entity form display migration',
-      'description'  => 'Vocabulary entity form display migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
index 53b78c4f6f5d..9001af0104ac 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php
@@ -12,7 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 vocabulary-node type association to Drupal 8 migration.
+ * Vocabulary field instance migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateVocabularyFieldInstanceTest extends MigrateDrupalTestBase {
 
@@ -23,17 +25,6 @@ class MigrateVocabularyFieldInstanceTest extends MigrateDrupalTestBase {
    */
   static $modules = array('node', 'field', 'taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Vocabulary field instance migration',
-      'description'  => 'Vocabulary field instance migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
index df4781ceb19a..ff15c540bd98 100644
--- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
+++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php
@@ -11,7 +11,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Tests the Drupal 6 vocabulary-node type association to Drupal 8 migration.
+ * Vocabulary field migration.
+ *
+ * @group migrate_drupal
  */
 class MigrateVocabularyFieldTest extends MigrateDrupalTestBase {
 
@@ -22,17 +24,6 @@ class MigrateVocabularyFieldTest extends MigrateDrupalTestBase {
    */
   static $modules = array('taxonomy', 'field');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Vocabulary field migration',
-      'description'  => 'Vocabulary field migration',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php b/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php
index 32941fbfa6ea..e5168b0ea22c 100644
--- a/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php
+++ b/core/modules/migrate_drupal/src/Tests/dependencies/MigrateDependenciesTest.php
@@ -12,8 +12,9 @@
 use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
 
 /**
- * Test the migrate dependencies
+ * Ensure the consistency among the dependencies for migrate.
  *
+ * @group migrate_drupal
  * @group Drupal
  * @group migrate_drupal
  */
@@ -21,17 +22,6 @@ class MigrateDependenciesTest extends MigrateDrupalTestBase {
 
   static $modules = array('aggregator');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name'  => 'Migrate dependency tests',
-      'description'  => 'Ensure the consistency among the dependencies for migrate',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * Tests that the order is correct when loading several migrations.
    */
diff --git a/core/modules/migrate_drupal/src/Tests/destination/ConfigDestinationTest.php b/core/modules/migrate_drupal/src/Tests/destination/ConfigDestinationTest.php
index 172b2a083433..2bbbc11e5d77 100644
--- a/core/modules/migrate_drupal/src/Tests/destination/ConfigDestinationTest.php
+++ b/core/modules/migrate_drupal/src/Tests/destination/ConfigDestinationTest.php
@@ -11,10 +11,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Test the raw config destination.
- *
- * @see \Drupal\migrate_drupal\Plugin\migrate\destination\Config
- * @group Drupal
+ * @coversDefaultClass \Drupal\migrate_drupal\Plugin\migrate\destination\Config
  * @group migrate_drupal
  */
 class ConfigDestinationTest extends UnitTestCase {
@@ -50,15 +47,4 @@ public function testImport() {
     $destination->import($row);
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Destination test',
-      'description' => 'Tests for destination plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
 }
diff --git a/core/modules/migrate_drupal/tests/src/source/VariableMultiRowSourceWithHighwaterTest.php b/core/modules/migrate_drupal/tests/src/source/VariableMultiRowSourceWithHighwaterTest.php
index 55341dc5bd0d..5e930392b64d 100644
--- a/core/modules/migrate_drupal/tests/src/source/VariableMultiRowSourceWithHighwaterTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/VariableMultiRowSourceWithHighwaterTest.php
@@ -11,21 +11,9 @@
  * Tests variable multirow source w/ highwater handling.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class VariableMultiRowSourceWithHighwaterTest extends VariableMultiRowTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 variable multirow source + highwater',
-      'description' => 'Tests D6 variable multirow source plugin with highwater handling.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/VariableMultiRowTest.php b/core/modules/migrate_drupal/tests/src/source/VariableMultiRowTest.php
index 5941b188781d..7c75e3baa52a 100644
--- a/core/modules/migrate_drupal/tests/src/source/VariableMultiRowTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/VariableMultiRowTest.php
@@ -8,22 +8,10 @@
 namespace Drupal\migrate_drupal\Tests\source;
 
 /**
- * Tests the Drupal 6 variable multirow source.
+ * Tests D6 variable multirow source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class VariableMultiRowTest extends VariableMultiRowTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 variable multirow source functionality',
-      'description' => 'Tests D6 variable multirow source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
diff --git a/core/modules/migrate_drupal/tests/src/source/VariableTest.php b/core/modules/migrate_drupal/tests/src/source/VariableTest.php
index 9b1f0b7b64e8..b62a46bf421c 100644
--- a/core/modules/migrate_drupal/tests/src/source/VariableTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/VariableTest.php
@@ -13,7 +13,6 @@
  * Tests the variable source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class VariableTest extends MigrateSqlSourceTestCase {
 
@@ -46,17 +45,6 @@ class VariableTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Variable source functionality',
-      'description' => 'Tests variable source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/ActionTest.php b/core/modules/migrate_drupal/tests/src/source/d6/ActionTest.php
index d6dd2ea561ba..1f128b9dd054 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/ActionTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/ActionTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests Drupal action migration source.
+ * Tests D6 actions source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class ActionTest extends MigrateSqlSourceTestCase {
 
@@ -65,17 +64,6 @@ class ActionTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 action source functionality',
-      'description' => 'Tests D6 actions source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/AggregatorFeedTest.php b/core/modules/migrate_drupal/tests/src/source/d6/AggregatorFeedTest.php
index 9184dea5025c..61590d8db660 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/AggregatorFeedTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/AggregatorFeedTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 aggregator feed source.
+ * Tests D6 aggregator feed source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class AggregatorFeedTest extends MigrateSqlSourceTestCase {
 
@@ -56,17 +55,6 @@ class AggregatorFeedTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 aggregator feed source functionality',
-      'description' => 'Tests D6 aggregator feed source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
   * {@inheritdoc}
   */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/AggregatorItemTest.php b/core/modules/migrate_drupal/tests/src/source/d6/AggregatorItemTest.php
index cfa88cc94963..b34d1433022c 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/AggregatorItemTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/AggregatorItemTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 aggregator item source.
+ * Tests D6 aggregator item source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class AggregatorItemTest extends MigrateSqlSourceTestCase {
 
@@ -55,17 +54,6 @@ class AggregatorItemTest extends MigrateSqlSourceTestCase {
     ),
   ));
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 aggregator item source functionality',
-      'description' => 'Tests D6 aggregator item source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/BlockTest.php b/core/modules/migrate_drupal/tests/src/source/d6/BlockTest.php
index 2a02af9e2336..84a167a2458c 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/BlockTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/BlockTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 block source.
+ * Tests D6 block source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class BlockTest extends MigrateSqlSourceTestCase {
 
@@ -83,17 +82,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 block source functionality',
-      'description' => 'Tests D6 block source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/BoxTest.php b/core/modules/migrate_drupal/tests/src/source/d6/BoxTest.php
index d43cf5d6f163..adc72539bc10 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/BoxTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/BoxTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 box source.
+ * Tests D6 block boxes source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class BoxTest extends MigrateSqlSourceTestCase {
 
@@ -57,17 +56,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 block boxes source functionality',
-      'description' => 'Tests D6 block boxes source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/CommentSourceWithHighwaterTest.php b/core/modules/migrate_drupal/tests/src/source/d6/CommentSourceWithHighwaterTest.php
index 1e4c4dd72108..40e1f894dd8a 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/CommentSourceWithHighwaterTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/CommentSourceWithHighwaterTest.php
@@ -11,21 +11,9 @@
  * Tests the Drupal 6 comment source w/ highwater handling.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class CommentSourceWithHighwaterTest extends CommentTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 comment source + highwater',
-      'description' => 'Tests D6 comment source plugin with highwater handling.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   const ORIGINAL_HIGHWATER = 1382255613;
 
   /**
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/CommentTest.php b/core/modules/migrate_drupal/tests/src/source/d6/CommentTest.php
index 519e681c9caf..58b0c228e3e9 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/CommentTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/CommentTest.php
@@ -8,22 +8,10 @@
 namespace Drupal\migrate_drupal\Tests\source\d6;
 
 /**
- * Tests the Drupal 6 comment source.
+ * Tests D6 comment source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class CommentTest extends CommentTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 comment source functionality',
-      'description' => 'Tests D6 comment source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/ContactCategoryTest.php b/core/modules/migrate_drupal/tests/src/source/d6/ContactCategoryTest.php
index 7da67f7e2b90..5921a557fcbf 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/ContactCategoryTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/ContactCategoryTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 contact category source.
+ * Tests D6 contact category source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class ContactCategoryTest extends MigrateSqlSourceTestCase {
 
@@ -46,17 +45,6 @@ class ContactCategoryTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 contact category source functionality',
-      'description' => 'Tests D6 contact category source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/Drupal6SqlBaseTest.php b/core/modules/migrate_drupal/tests/src/source/d6/Drupal6SqlBaseTest.php
index 5cb192e0a25d..838203e64acb 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/Drupal6SqlBaseTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/Drupal6SqlBaseTest.php
@@ -13,7 +13,6 @@
  * Tests the D6 SQL base class.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class Drupal6SqlBaseTest extends MigrateTestCase {
 
@@ -64,17 +63,6 @@ class Drupal6SqlBaseTest extends MigrateTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 SQL base class tests',
-      'description' => 'Tests D6 SQL base class.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/FieldInstancePerViewModeTest.php b/core/modules/migrate_drupal/tests/src/source/d6/FieldInstancePerViewModeTest.php
index ae0e47005c67..714fe1f53707 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/FieldInstancePerViewModeTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/FieldInstancePerViewModeTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 field instance per view mode source.
+ * Tests D6 fields per view mode source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class FieldInstancePerViewModeTest extends MigrateSqlSourceTestCase {
 
@@ -80,17 +79,6 @@ class FieldInstancePerViewModeTest extends MigrateSqlSourceTestCase {
   );
 
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 per view mode source functionality',
-      'description' => 'Tests D6 fields per view mode source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/FieldInstanceTest.php b/core/modules/migrate_drupal/tests/src/source/d6/FieldInstanceTest.php
index 3c8abcfd5dbb..83ce076cfad4 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/FieldInstanceTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/FieldInstanceTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 field instance source.
+ * Tests D6 field instance source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class FieldInstanceTest extends MigrateSqlSourceTestCase {
 
@@ -95,17 +94,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * Provide meta information about this battery of tests.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 field instance source functionality',
-      'description' => 'Tests D6 field instance source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/FieldTest.php b/core/modules/migrate_drupal/tests/src/source/d6/FieldTest.php
index e1403d11b9f3..304183aa1b42 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/FieldTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/FieldTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 field source.
+ * Tests D6 field source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class FieldTest extends MigrateSqlSourceTestCase {
 
@@ -78,17 +77,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * Provide meta information about this battery of tests.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 field source functionality',
-      'description' => 'Tests D6 field source plugin.',
-      'group' => 'Migrate',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/FileTest.php b/core/modules/migrate_drupal/tests/src/source/d6/FileTest.php
index c8a750515965..c4c166c988b3 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/FileTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/FileTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 file source.
+ * Tests D6 file source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class FileTest extends MigrateSqlSourceTestCase {
 
@@ -53,17 +52,6 @@ class FileTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 file source functionality',
-      'description' => 'Tests D6 file source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/FilterFormatTest.php b/core/modules/migrate_drupal/tests/src/source/d6/FilterFormatTest.php
index 11468dfa59c3..267ace8a63e5 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/FilterFormatTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/FilterFormatTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests comment migration from D6 to D8.
+ * Tests D6 filter_formats table source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class FilterFormatTest extends MigrateSqlSourceTestCase {
 
@@ -94,17 +93,6 @@ class FilterFormatTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 Filter Formats source functionality',
-      'description' => 'Tests D6 filter_formats table source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/MenuTest.php b/core/modules/migrate_drupal/tests/src/source/d6/MenuTest.php
index 081c462dae66..744d769c1597 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/MenuTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/MenuTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 menu source.
+ * Tests D6 menu source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class MenuTest extends MigrateSqlSourceTestCase {
 
@@ -49,17 +48,6 @@ class MenuTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 menu source functionality',
-      'description' => 'Tests D6 menu source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/NodeRevisionTest.php b/core/modules/migrate_drupal/tests/src/source/d6/NodeRevisionTest.php
index d895ed5f3c35..54f64fcb63d7 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/NodeRevisionTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/NodeRevisionTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 node revision source.
+ * Tests D6 node revision source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class NodeRevisionTest extends MigrateSqlSourceTestCase {
 
@@ -275,17 +274,6 @@ class NodeRevisionTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 node revision source functionality',
-      'description' => 'Tests D6 node revision source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/NodeTest.php b/core/modules/migrate_drupal/tests/src/source/d6/NodeTest.php
index 311f9387d4d5..e3f5fa6ca04d 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/NodeTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/NodeTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 node source
+ * Tests D6 node source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class NodeTest extends MigrateSqlSourceTestCase {
 
@@ -100,17 +99,6 @@ class NodeTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 node source functionality',
-      'description' => 'Tests D6 node source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/NodeTypeTest.php b/core/modules/migrate_drupal/tests/src/source/d6/NodeTypeTest.php
index ab22f18ecca6..adbef4aa3071 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/NodeTypeTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/NodeTypeTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 node type source.
+ * Tests D6 node type source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class NodeTypeTest extends MigrateSqlSourceTestCase {
 
@@ -75,17 +74,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 node type source functionality',
-      'description' => 'Tests D6 node type source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/ProfileFieldTest.php b/core/modules/migrate_drupal/tests/src/source/d6/ProfileFieldTest.php
index 01e10da91d23..246f5c01ee19 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/ProfileFieldTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/ProfileFieldTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 profile source.
+ * Tests D6 profile field source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class ProfileFieldTest extends MigrateSqlSourceTestCase {
 
@@ -91,17 +90,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * Provide meta information about this battery of tests.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 profile field source functionality',
-      'description' => 'Tests D6 profile field source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/RoleTest.php b/core/modules/migrate_drupal/tests/src/source/d6/RoleTest.php
index a346a797eec9..e6903108cea2 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/RoleTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/RoleTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 user role source.
+ * Tests D6 role source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class RoleTest extends MigrateSqlSourceTestCase {
 
@@ -67,17 +66,6 @@ class RoleTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 role source functionality',
-      'description' => 'Tests D6 role source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/TermSourceWithVocabularyFilterTest.php b/core/modules/migrate_drupal/tests/src/source/d6/TermSourceWithVocabularyFilterTest.php
index 81490941f269..a0a30cf5e082 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/TermSourceWithVocabularyFilterTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/TermSourceWithVocabularyFilterTest.php
@@ -11,21 +11,9 @@
  * Tests the Drupal 6 taxonomy term source with vocabulary filter.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class TermSourceWithVocabularyFilterTest extends TermTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 taxonomy term source with vocabulary filter functionality',
-      'description' => 'Tests D6 taxonomy term source plugin with vocabulary filter.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/TermTest.php b/core/modules/migrate_drupal/tests/src/source/d6/TermTest.php
index e9754411c0e7..056fdb6d653b 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/TermTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/TermTest.php
@@ -8,22 +8,10 @@
 namespace Drupal\migrate_drupal\Tests\source\d6;
 
 /**
- * Tests the Drupal 6 taxonomy term source.
+ * Tests D6 taxonomy term source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class TermTest extends TermTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 taxonomy term source functionality',
-      'description' => 'Tests D6 taxonomy term source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/UrlAliasTest.php b/core/modules/migrate_drupal/tests/src/source/d6/UrlAliasTest.php
index c5d584e0a4d2..d70c523a6167 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/UrlAliasTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/UrlAliasTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 url alias source.
+ * Tests the D6 url alias migrations.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class UrlAliasTest extends MigrateSqlSourceTestCase {
 
@@ -53,17 +52,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 url alias source functionality',
-      'description' => 'Tests the D6 url alias migrations.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/UserPictureTest.php b/core/modules/migrate_drupal/tests/src/source/d6/UserPictureTest.php
index ce6beed76c96..fb249d0d440b 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/UserPictureTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/UserPictureTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 user picture source.
+ * Tests D6 user picture source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class UserPictureTest extends MigrateSqlSourceTestCase {
 
@@ -48,17 +47,6 @@ protected function setUp() {
     parent::setUp();
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 user picture source functionality',
-      'description' => 'Tests D6 user picture source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
 }
 
 namespace Drupal\migrate_drupal\Tests\source\d6;
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/UserTest.php b/core/modules/migrate_drupal/tests/src/source/d6/UserTest.php
index 17e93bb7d5e3..8300fc57f26e 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/UserTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/UserTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 user source.
+ * Tests D6 user source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class UserTest extends MigrateSqlSourceTestCase {
 
@@ -69,17 +68,6 @@ class UserTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 user source functionality',
-      'description' => 'Tests D6 user source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/ViewModeTest.php b/core/modules/migrate_drupal/tests/src/source/d6/ViewModeTest.php
index 8e07a8eb3605..60e184f5cc55 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/ViewModeTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/ViewModeTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 per view mode source.
+ * Tests D6 view mode source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class ViewModeTest extends MigrateSqlSourceTestCase {
 
@@ -48,17 +47,6 @@ class ViewModeTest extends MigrateSqlSourceTestCase {
   );
 
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 view mode source functionality',
-      'description' => 'Tests D6 view mode source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/migrate_drupal/tests/src/source/d6/VocabularyTest.php b/core/modules/migrate_drupal/tests/src/source/d6/VocabularyTest.php
index d4b6ab0cbb89..0ba30fd7bed5 100644
--- a/core/modules/migrate_drupal/tests/src/source/d6/VocabularyTest.php
+++ b/core/modules/migrate_drupal/tests/src/source/d6/VocabularyTest.php
@@ -10,10 +10,9 @@
 use Drupal\migrate\Tests\MigrateSqlSourceTestCase;
 
 /**
- * Tests the Drupal 6 vocabulary source.
+ * Tests D6 vocabulary source plugin.
  *
  * @group migrate_drupal
- * @group Drupal
  */
 class VocabularyTest extends MigrateSqlSourceTestCase {
 
@@ -61,17 +60,6 @@ class VocabularyTest extends MigrateSqlSourceTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'D6 vocabulary source functionality',
-      'description' => 'Tests D6 vocabulary source plugin.',
-      'group' => 'Migrate Drupal',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/node/src/Tests/Condition/NodeConditionTest.php b/core/modules/node/src/Tests/Condition/NodeConditionTest.php
index e429de54d28f..d362c227ff23 100644
--- a/core/modules/node/src/Tests/Condition/NodeConditionTest.php
+++ b/core/modules/node/src/Tests/Condition/NodeConditionTest.php
@@ -10,20 +10,14 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * Tests the node conditions.
+ * Tests that conditions, provided by the node module, are working properly.
+ *
+ * @group node
  */
 class NodeConditionTest extends EntityUnitTestBase {
 
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node Condition Plugins',
-      'description' => 'Tests that conditions, provided by the node module, are working properly.',
-      'group' => 'Condition API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('node');
diff --git a/core/modules/node/src/Tests/Config/NodeImportChangeTest.php b/core/modules/node/src/Tests/Config/NodeImportChangeTest.php
index d38062bf4c80..addc0cbb6471 100644
--- a/core/modules/node/src/Tests/Config/NodeImportChangeTest.php
+++ b/core/modules/node/src/Tests/Config/NodeImportChangeTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests updating content types as part of config import.
+ * Change content types during config create method invocation.
+ *
+ * @group node
  */
 class NodeImportChangeTest extends DrupalUnitTestBase {
 
@@ -31,14 +33,6 @@ public function setUp() {
     $this->installConfig(array('field', 'node_test_config'));
   }
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node config change tests',
-      'description' => 'Change content types during config create method invocation.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests importing an updated content type.
    */
diff --git a/core/modules/node/src/Tests/Config/NodeImportCreateTest.php b/core/modules/node/src/Tests/Config/NodeImportCreateTest.php
index fadc70612b05..c0d5bc758ca2 100644
--- a/core/modules/node/src/Tests/Config/NodeImportCreateTest.php
+++ b/core/modules/node/src/Tests/Config/NodeImportCreateTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests content types as part of config import.
+ * Create content types during config create method invocation.
+ *
+ * @group node
  */
 class NodeImportCreateTest extends DrupalUnitTestBase {
 
@@ -33,14 +35,6 @@ public function setUp() {
     $this->installConfig(array('field'));
   }
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node config create tests',
-      'description' => 'Create content types during config create method invocation.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests creating a content type during default config import.
    */
diff --git a/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php b/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php
index 67bdbe334460..3baab9155b84 100644
--- a/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php
+++ b/core/modules/node/src/Tests/MultiStepNodeFormBasicOptionsTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests basic options of multi-step node forms.
+ * Tests the persistence of basic options through multiple steps.
+ *
+ * @group node
  */
 class MultiStepNodeFormBasicOptionsTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class MultiStepNodeFormBasicOptionsTest extends NodeTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multistep node form basic options',
-      'description' => 'Test the persistence of basic options through multiple steps.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests changing the default values of basic options to ensure they persist.
    */
diff --git a/core/modules/node/src/Tests/NodeAccessBaseTableTest.php b/core/modules/node/src/Tests/NodeAccessBaseTableTest.php
index a590f28a4dd7..ec05c8c88dcd 100644
--- a/core/modules/node/src/Tests/NodeAccessBaseTableTest.php
+++ b/core/modules/node/src/Tests/NodeAccessBaseTableTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests for Node Access with a non-node base table.
+ * Tests behavior of the node access subsystem if the base table is not node.
+ *
+ * @group node
  */
 class NodeAccessBaseTableTest extends NodeTestBase {
 
@@ -28,14 +30,6 @@ class NodeAccessBaseTableTest extends NodeTestBase {
    */
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access on any table',
-      'description' => 'Checks behavior of the node access subsystem if the base table is not node.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessFieldTest.php b/core/modules/node/src/Tests/NodeAccessFieldTest.php
index dfcb72fbdf8c..2815c127c3f5 100644
--- a/core/modules/node/src/Tests/NodeAccessFieldTest.php
+++ b/core/modules/node/src/Tests/NodeAccessFieldTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the interaction of the node access system with fields.
+ *
+ * @group node
  */
 class NodeAccessFieldTest extends NodeTestBase {
 
@@ -40,14 +42,6 @@ class NodeAccessFieldTest extends NodeTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access and fields',
-      'description' => 'Tests the interaction of the node access system with fields.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php b/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php
index 7af28166604a..1eeb584a3737 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php
+++ b/core/modules/node/src/Tests/NodeAccessLanguageAwareCombinationTest.php
@@ -10,7 +10,10 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests node access with multiple languages and access control modules.
+ * Tests node access functionality with multiple languages and two node access
+ * modules.
+ *
+ * @group node
  */
 class NodeAccessLanguageAwareCombinationTest extends NodeTestBase {
 
@@ -42,14 +45,6 @@ class NodeAccessLanguageAwareCombinationTest extends NodeTestBase {
    */
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access language-aware combination',
-      'description' => 'Tests node access functionality with multiple languages and two node access modules.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php b/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php
index 6012dfc5d7c4..08eec39d8304 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php
+++ b/core/modules/node/src/Tests/NodeAccessLanguageAwareTest.php
@@ -10,7 +10,10 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests node access functionality for multiple languages.
+ * Tests node_access and db_select() with node_access tag functionality with
+ * multiple languages with node_access_test_language which is language-aware.
+ *
+ * @group node
  */
 class NodeAccessLanguageAwareTest extends NodeTestBase {
 
@@ -35,14 +38,6 @@ class NodeAccessLanguageAwareTest extends NodeTestBase {
    */
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access language-aware',
-      'description' => 'Test node_access and db_select() with node_access tag functionality with multiple languages with node_access_test_language which is language-aware.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessLanguageTest.php b/core/modules/node/src/Tests/NodeAccessLanguageTest.php
index 619fcace845a..526439f92816 100644
--- a/core/modules/node/src/Tests/NodeAccessLanguageTest.php
+++ b/core/modules/node/src/Tests/NodeAccessLanguageTest.php
@@ -11,7 +11,10 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Verifies node access functionality for multiple languages.
+ * Tests node_access and db_select() with node_access tag functionality with
+ * multiple languages with a test node access module that is not language-aware.
+ *
+ * @group node
  */
 class NodeAccessLanguageTest extends NodeTestBase {
 
@@ -22,14 +25,6 @@ class NodeAccessLanguageTest extends NodeTestBase {
    */
   public static $modules = array('language', 'node_access_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access language',
-      'description' => 'Test node_access and db_select() with node_access tag functionality with multiple languages with a test node access module that is not language-aware.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessPagerTest.php b/core/modules/node/src/Tests/NodeAccessPagerTest.php
index 75a17c90a61a..4e2c01869528 100644
--- a/core/modules/node/src/Tests/NodeAccessPagerTest.php
+++ b/core/modules/node/src/Tests/NodeAccessPagerTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests pagination with a node access module enabled.
+ * Tests access controlled node views have the right amount of comment pages.
+ *
+ * @group node
  */
 class NodeAccessPagerTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class NodeAccessPagerTest extends WebTestBase {
    */
   public static $modules = array('node_access_test', 'comment', 'forum');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access pagination',
-      'description' => 'Test access controlled node views have the right amount of comment pages.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessRebuildTest.php b/core/modules/node/src/Tests/NodeAccessRebuildTest.php
index dc2e01579ed1..dfc62733891e 100644
--- a/core/modules/node/src/Tests/NodeAccessRebuildTest.php
+++ b/core/modules/node/src/Tests/NodeAccessRebuildTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\node\Tests;
 
 /**
- * Verifies the rebuild functionality for the node_access table.
+ * Ensures that node access rebuild functions work correctly.
+ *
+ * @group node
  */
 class NodeAccessRebuildTest extends NodeTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access rebuild',
-      'description' => 'Ensures that node access rebuild functions work correctly.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeAccessRecordsTest.php b/core/modules/node/src/Tests/NodeAccessRecordsTest.php
index cfeaf0afe5d4..fc0141fd5700 100644
--- a/core/modules/node/src/Tests/NodeAccessRecordsTest.php
+++ b/core/modules/node/src/Tests/NodeAccessRecordsTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests hook_node_access_records() functionality.
+ * Tests hook_node_access_records when acquiring grants.
+ *
+ * @group node
  */
 class NodeAccessRecordsTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeAccessRecordsTest extends NodeTestBase {
    */
   public static $modules = array('node_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access records',
-      'description' => 'Test hook_node_access_records when acquiring grants.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Creates a node and tests the creation of node access rules.
    */
diff --git a/core/modules/node/src/Tests/NodeAccessTest.php b/core/modules/node/src/Tests/NodeAccessTest.php
index 127ea5dfb1d9..f91d6f86faf6 100644
--- a/core/modules/node/src/Tests/NodeAccessTest.php
+++ b/core/modules/node/src/Tests/NodeAccessTest.php
@@ -12,17 +12,10 @@
  *
  * Note that hook_node_access_records() is covered in another test class.
  *
+ * @group node
  * @todo Cover hook_node_access in a separate test class.
  */
 class NodeAccessTest extends NodeTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Node access',
-      'description' => 'Test node_access function',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Clear permissions for authenticated users.
diff --git a/core/modules/node/src/Tests/NodeAdminTest.php b/core/modules/node/src/Tests/NodeAdminTest.php
index 576fedf02aab..6a6931562794 100644
--- a/core/modules/node/src/Tests/NodeAdminTest.php
+++ b/core/modules/node/src/Tests/NodeAdminTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests node administration page functionality.
+ *
+ * @group node
  */
 class NodeAdminTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeAdminTest extends NodeTestBase {
    */
   public static $modules = array('views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node administration',
-      'description' => 'Test node administration page functionality.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeBlockFunctionalTest.php b/core/modules/node/src/Tests/NodeBlockFunctionalTest.php
index c0f5760b140d..9562a45b9b12 100644
--- a/core/modules/node/src/Tests/NodeBlockFunctionalTest.php
+++ b/core/modules/node/src/Tests/NodeBlockFunctionalTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Functional tests for the node module blocks.
+ * Tests node block functionality.
+ *
+ * @group node
  */
 class NodeBlockFunctionalTest extends NodeTestBase {
 
@@ -33,14 +35,6 @@ class NodeBlockFunctionalTest extends NodeTestBase {
    */
   public static $modules = array('block', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node blocks',
-      'description' => 'Test node block functionality.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeCacheTagsTest.php b/core/modules/node/src/Tests/NodeCacheTagsTest.php
index 962f2f844d47..6e5f9660f628 100644
--- a/core/modules/node/src/Tests/NodeCacheTagsTest.php
+++ b/core/modules/node/src/Tests/NodeCacheTagsTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Node entity's cache tags.
+ *
+ * @group node
  */
 class NodeCacheTagsTest extends EntityWithUriCacheTagsTestBase {
 
@@ -20,13 +22,6 @@ class NodeCacheTagsTest extends EntityWithUriCacheTagsTestBase {
    */
   public static $modules = array('node');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('Node', 'Node');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/node/src/Tests/NodeCreationTest.php b/core/modules/node/src/Tests/NodeCreationTest.php
index 62846cfd4183..7ea8b4d2329b 100644
--- a/core/modules/node/src/Tests/NodeCreationTest.php
+++ b/core/modules/node/src/Tests/NodeCreationTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests creating and saving a node.
+ * Create a node and test saving it.
+ *
+ * @group node
  */
 class NodeCreationTest extends NodeTestBase {
 
@@ -24,14 +26,6 @@ class NodeCreationTest extends NodeTestBase {
    */
   public static $modules = array('node_test_exception', 'dblog', 'test_page_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node creation',
-      'description' => 'Create a node and test saving it.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeEntityViewModeAlterTest.php b/core/modules/node/src/Tests/NodeEntityViewModeAlterTest.php
index 156e37d00604..4f6345c4df81 100644
--- a/core/modules/node/src/Tests/NodeEntityViewModeAlterTest.php
+++ b/core/modules/node/src/Tests/NodeEntityViewModeAlterTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests changing view modes for nodes.
+ *
+ * @group node
  */
 class NodeEntityViewModeAlterTest extends NodeTestBase {
 
@@ -17,14 +19,6 @@ class NodeEntityViewModeAlterTest extends NodeTestBase {
    */
   public static $modules = array('node_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node entity view mode',
-      'description' => 'Test changing view mode.',
-      'group' => 'Node'
-    );
-  }
-
   /**
    * Create a "Basic page" node and verify its consistency in the database.
    */
diff --git a/core/modules/node/src/Tests/NodeFieldMultilingualTest.php b/core/modules/node/src/Tests/NodeFieldMultilingualTest.php
index 5139bb5bc14f..b28574bb7cd8 100644
--- a/core/modules/node/src/Tests/NodeFieldMultilingualTest.php
+++ b/core/modules/node/src/Tests/NodeFieldMultilingualTest.php
@@ -14,7 +14,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Functional test for multilingual fields.
+ * Tests multilingual support for fields.
+ *
+ * @group node
  */
 class NodeFieldMultilingualTest extends WebTestBase {
 
@@ -25,14 +27,6 @@ class NodeFieldMultilingualTest extends WebTestBase {
    */
   public static $modules = array('node', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multilingual fields',
-      'description' => 'Test multilingual support for fields.',
-      'group' => 'Field API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeFormButtonsTest.php b/core/modules/node/src/Tests/NodeFormButtonsTest.php
index 9a6831db078f..b1f72036e70a 100644
--- a/core/modules/node/src/Tests/NodeFormButtonsTest.php
+++ b/core/modules/node/src/Tests/NodeFormButtonsTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the node form buttons.
+ * Tests all the different buttons on the node form.
+ *
+ * @group node
  */
 class NodeFormButtonsTest extends NodeTestBase {
 
@@ -16,14 +18,6 @@ class NodeFormButtonsTest extends NodeTestBase {
 
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node form buttons',
-      'description' => 'Test all the different buttons on the node form.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeLastChangedTest.php b/core/modules/node/src/Tests/NodeLastChangedTest.php
index aa1dbfa41d17..f3e20fd5c524 100644
--- a/core/modules/node/src/Tests/NodeLastChangedTest.php
+++ b/core/modules/node/src/Tests/NodeLastChangedTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the node_last_changed() function.
+ *
+ * @group node
  */
 class NodeLastChangedTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class NodeLastChangedTest extends DrupalUnitTestBase {
    */
   public static $modules = array('entity', 'user', 'node', 'field', 'text', 'filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node Last Changed',
-      'description' => 'Tests the node_last_changed() function.',
-      'group' => 'Node',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('node');
diff --git a/core/modules/node/src/Tests/NodeLoadMultipleTest.php b/core/modules/node/src/Tests/NodeLoadMultipleTest.php
index c858376a442f..e57ca8fbbd0b 100644
--- a/core/modules/node/src/Tests/NodeLoadMultipleTest.php
+++ b/core/modules/node/src/Tests/NodeLoadMultipleTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the node_load_multiple() function.
+ * Tests the loading of multiple nodes.
+ *
+ * @group node
  */
 class NodeLoadMultipleTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeLoadMultipleTest extends NodeTestBase {
    */
   public static $modules = array('views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Load multiple nodes',
-      'description' => 'Test the loading of multiple nodes.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $web_user = $this->drupalCreateUser(array('create article content', 'create page content'));
diff --git a/core/modules/node/src/Tests/NodePostSettingsTest.php b/core/modules/node/src/Tests/NodePostSettingsTest.php
index 7cfaa7edada3..f0b74ccfbe41 100644
--- a/core/modules/node/src/Tests/NodePostSettingsTest.php
+++ b/core/modules/node/src/Tests/NodePostSettingsTest.php
@@ -8,18 +8,13 @@
 namespace Drupal\node\Tests;
 
 /**
- * Checks that the post information displays when enabled for a content type.
+ * Tests that the post information (submitted by Username on date) text displays
+ * appropriately.
+ *
+ * @group node
  */
 class NodePostSettingsTest extends NodeTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node post information display',
-      'description' => 'Check that the post information (submitted by Username on date) text displays appropriately.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeQueryAlterTest.php b/core/modules/node/src/Tests/NodeQueryAlterTest.php
index ad80d73f56d1..1066386bdac9 100644
--- a/core/modules/node/src/Tests/NodeQueryAlterTest.php
+++ b/core/modules/node/src/Tests/NodeQueryAlterTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests node_query_node_access_alter().
+ * Tests that node access queries are properly altered by the node module.
+ *
+ * @group node
  */
 class NodeQueryAlterTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeQueryAlterTest extends NodeTestBase {
    */
   public static $modules = array('node_access_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node query alter',
-      'description' => 'Test that node access queries are properly altered by the node module.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * User with permission to view content.
    */
diff --git a/core/modules/node/src/Tests/NodeRSSContentTest.php b/core/modules/node/src/Tests/NodeRSSContentTest.php
index 64f8a2a19a9d..1ab9347ca66c 100644
--- a/core/modules/node/src/Tests/NodeRSSContentTest.php
+++ b/core/modules/node/src/Tests/NodeRSSContentTest.php
@@ -13,6 +13,8 @@
  * Create a node, enable the node_test module to ensure that extra data is
  * added to the node's renderable array, then verify that the data appears on
  * the site-wide RSS feed at rss.xml.
+ *
+ * @group node
  */
 class NodeRSSContentTest extends NodeTestBase {
 
@@ -23,14 +25,6 @@ class NodeRSSContentTest extends NodeTestBase {
    */
   public static $modules = array('node_test', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node RSS Content',
-      'description' => 'Ensure that data added to nodes by other modules appears in RSS feeds.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeRevisionPermissionsTest.php b/core/modules/node/src/Tests/NodeRevisionPermissionsTest.php
index b3e48eff048c..bba2587c0464 100644
--- a/core/modules/node/src/Tests/NodeRevisionPermissionsTest.php
+++ b/core/modules/node/src/Tests/NodeRevisionPermissionsTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests user permissions for node revisions.
+ *
+ * @group node
  */
 class NodeRevisionPermissionsTest extends NodeTestBase {
   protected $node_revisions = array();
@@ -28,14 +30,6 @@ class NodeRevisionPermissionsTest extends NodeTestBase {
     'delete' => 'delete page revisions',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node revision permissions',
-      'description' => 'Tests user permissions for node revision operations.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsAllTest.php b/core/modules/node/src/Tests/NodeRevisionsAllTest.php
index df2556a87832..ddaa1e90c364 100644
--- a/core/modules/node/src/Tests/NodeRevisionsAllTest.php
+++ b/core/modules/node/src/Tests/NodeRevisionsAllTest.php
@@ -8,21 +8,16 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests actions against revisions for user with access to all revisions.
+ * Create a node with revisions and test viewing, saving, reverting, and
+ * deleting revisions for user with access to all.
+ *
+ * @group node
  */
 class NodeRevisionsAllTest extends NodeTestBase {
   protected $nodes;
   protected $revisionLogs;
   protected $profile = "standard";
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node revisions all',
-      'description' => 'Create a node with revisions and test viewing, saving, reverting, and deleting revisions for user with access to all.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsTest.php b/core/modules/node/src/Tests/NodeRevisionsTest.php
index 549b3540228c..16bb759acb41 100644
--- a/core/modules/node/src/Tests/NodeRevisionsTest.php
+++ b/core/modules/node/src/Tests/NodeRevisionsTest.php
@@ -8,20 +8,15 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the node revision functionality.
+ * Create a node with revisions and test viewing, saving, reverting, and
+ * deleting revisions for users with access for this content type.
+ *
+ * @group node
  */
 class NodeRevisionsTest extends NodeTestBase {
   protected $nodes;
   protected $revisionLogs;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node revisions by type',
-      'description' => 'Create a node with revisions and test viewing, saving, reverting, and deleting revisions for users with access for this content type.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeRevisionsUiTest.php b/core/modules/node/src/Tests/NodeRevisionsUiTest.php
index a0bb54d91a91..d0a2bc79dcc3 100644
--- a/core/modules/node/src/Tests/NodeRevisionsUiTest.php
+++ b/core/modules/node/src/Tests/NodeRevisionsUiTest.php
@@ -8,21 +8,12 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the node revision functionality.
+ * Tests the UI for controlling node revision behavior.
+ *
+ * @group node
  */
 class NodeRevisionsUiTest extends NodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Node revisions UI test',
-      'description' => 'Checks the UI for controlling node revision behavior.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/node/src/Tests/NodeSaveTest.php b/core/modules/node/src/Tests/NodeSaveTest.php
index 0377705ba2df..eaafdd5dd086 100644
--- a/core/modules/node/src/Tests/NodeSaveTest.php
+++ b/core/modules/node/src/Tests/NodeSaveTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests node save related functionality, including import-save.
+ * Tests $node->save() for saving content.
+ *
+ * @group node
  */
 class NodeSaveTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeSaveTest extends NodeTestBase {
    */
   public static $modules = array('node_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node save',
-      'description' => 'Test $node->save() for saving content.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeSyndicateBlockTest.php b/core/modules/node/src/Tests/NodeSyndicateBlockTest.php
index 06a618f9826b..b5bc4a248cdc 100644
--- a/core/modules/node/src/Tests/NodeSyndicateBlockTest.php
+++ b/core/modules/node/src/Tests/NodeSyndicateBlockTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the availability of the syndicate block.
+ * Tests if the syndicate block is available.
+ *
+ * @group node
  */
 class NodeSyndicateBlockTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeSyndicateBlockTest extends NodeTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Syndicate block',
-      'description' => 'Check if the syndicate block is available.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php b/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php
index fbf03e9dad5e..fef6aa04921e 100644
--- a/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php
+++ b/core/modules/node/src/Tests/NodeTemplateSuggestionsTest.php
@@ -8,21 +8,12 @@
 namespace Drupal\node\Tests;
 
 /**
- * Checks node template suggestions.
+ * Tests node template suggestions.
+ *
+ * @group node
  */
 class NodeTemplateSuggestionsTest extends NodeTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Node template suggestions',
-      'description' => 'Tests the node template suggestions.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests if template_preprocess_node() generates the correct suggestions.
    */
diff --git a/core/modules/node/src/Tests/NodeTitleTest.php b/core/modules/node/src/Tests/NodeTitleTest.php
index c1177459b0c7..f9c2f8403474 100644
--- a/core/modules/node/src/Tests/NodeTitleTest.php
+++ b/core/modules/node/src/Tests/NodeTitleTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests node title functionality.
+ * Tests node title.
+ *
+ * @group node
  */
 class NodeTitleTest extends NodeTestBase {
 
@@ -21,14 +23,6 @@ class NodeTitleTest extends NodeTestBase {
 
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node title',
-      'description' => 'Test node title.',
-      'group' => 'Node'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeTitleXSSTest.php b/core/modules/node/src/Tests/NodeTitleXSSTest.php
index 4eb58b7be5ca..37537b0482e4 100644
--- a/core/modules/node/src/Tests/NodeTitleXSSTest.php
+++ b/core/modules/node/src/Tests/NodeTitleXSSTest.php
@@ -8,17 +8,12 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests XSS functionality with a node entity.
+ * Create a node with dangerous tags in its title and test that they are
+ * escaped.
+ *
+ * @group node
  */
 class NodeTitleXSSTest extends NodeTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Node title XSS filtering',
-      'description' => 'Create a node with dangerous tags in its title and test that they are escaped.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests XSS functionality with a node entity.
    */
diff --git a/core/modules/node/src/Tests/NodeTokenReplaceTest.php b/core/modules/node/src/Tests/NodeTokenReplaceTest.php
index e9c1a1feecaf..a80ed796db67 100644
--- a/core/modules/node/src/Tests/NodeTokenReplaceTest.php
+++ b/core/modules/node/src/Tests/NodeTokenReplaceTest.php
@@ -11,7 +11,10 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Test node token replacement in strings.
+ * Generates text using placeholders for dummy content to check node token
+ * replacement.
+ *
+ * @group node
  */
 class NodeTokenReplaceTest extends TokenReplaceUnitTestBase {
 
@@ -22,17 +25,6 @@ class NodeTokenReplaceTest extends TokenReplaceUnitTestBase {
    */
   public static $modules = array('node', 'filter');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Node token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check node token replacement.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/node/src/Tests/NodeTranslationUITest.php b/core/modules/node/src/Tests/NodeTranslationUITest.php
index dd79a7ca5e23..b6dde0372cd1 100644
--- a/core/modules/node/src/Tests/NodeTranslationUITest.php
+++ b/core/modules/node/src/Tests/NodeTranslationUITest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Node Translation UI.
+ *
+ * @group node
  */
 class NodeTranslationUITest extends ContentTranslationUITest {
 
@@ -29,14 +31,6 @@ class NodeTranslationUITest extends ContentTranslationUITest {
    */
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node translation UI',
-      'description' => 'Tests the node translation UI.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     $this->entityTypeId = 'node';
     $this->bundle = 'article';
diff --git a/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php b/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php
index ae17434aa272..19edadf557c6 100644
--- a/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php
+++ b/core/modules/node/src/Tests/NodeTypeInitialLanguageTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests related to node type initial language.
+ * Tests node type initial language settings.
+ *
+ * @group node
  */
 class NodeTypeInitialLanguageTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeTypeInitialLanguageTest extends NodeTestBase {
    */
   public static $modules = array('language', 'field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node type initial language',
-      'description' => 'Tests node type initial language settings.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/NodeTypePersistenceTest.php b/core/modules/node/src/Tests/NodeTypePersistenceTest.php
index 1dd4c9652ad3..683b07ca8058 100644
--- a/core/modules/node/src/Tests/NodeTypePersistenceTest.php
+++ b/core/modules/node/src/Tests/NodeTypePersistenceTest.php
@@ -8,19 +8,13 @@
 namespace Drupal\node\Tests;
 
 /**
- * Test node type customizations persistence.
+ * Ensures that node type customization survives module enabling and disabling.
+ *
+ * @group node
  */
 class NodeTypePersistenceTest extends NodeTestBase {
   // Enable the prerequisite modules for forum
   public static $modules = array('history', 'taxonomy', 'options', 'comment');
-  public static function getInfo() {
-    return array(
-      'name' => 'Node type persist',
-      'description' => 'Ensures that node type customization survives module enabling and disabling.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests that node type customizations persist through disable and uninstall.
    */
diff --git a/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php b/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
index 072e8f37b198..e817b8bfce37 100644
--- a/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
+++ b/core/modules/node/src/Tests/NodeTypeRenameConfigImportTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests importing renamed node type via configuration synchronisation.
+ *
+ * @group node
  */
 class NodeTypeRenameConfigImportTest extends WebTestBase {
 
@@ -24,17 +26,6 @@ class NodeTypeRenameConfigImportTest extends WebTestBase {
    */
   public static $modules = array('node', 'text', 'config');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Import renamed node type',
-      'description' => 'Tests importing renamed node type via configuration synchronisation.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/node/src/Tests/NodeTypeTest.php b/core/modules/node/src/Tests/NodeTypeTest.php
index 7fdb99d8c8c8..10bfbb9942e0 100644
--- a/core/modules/node/src/Tests/NodeTypeTest.php
+++ b/core/modules/node/src/Tests/NodeTypeTest.php
@@ -9,7 +9,9 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Tests related to node types.
+ * Ensures that node type functions work correctly.
+ *
+ * @group node
  */
 class NodeTypeTest extends NodeTestBase {
 
@@ -20,14 +22,6 @@ class NodeTypeTest extends NodeTestBase {
    */
   public static $modules = array('field_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node types',
-      'description' => 'Ensures that node type functions work correctly.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Ensures that node type functions (node_type_get_*) work correctly.
    *
diff --git a/core/modules/node/src/Tests/NodeValidationTest.php b/core/modules/node/src/Tests/NodeValidationTest.php
index 94c7ca38028a..3e1d4ba796cc 100644
--- a/core/modules/node/src/Tests/NodeValidationTest.php
+++ b/core/modules/node/src/Tests/NodeValidationTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests node validation constraints.
+ *
+ * @group node
  */
 class NodeValidationTest extends EntityUnitTestBase {
 
@@ -21,14 +23,6 @@ class NodeValidationTest extends EntityUnitTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node Validation',
-      'description' => 'Tests the node validation constraints.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Set the default field storage backend for fields created during tests.
    */
diff --git a/core/modules/node/src/Tests/NodeViewLanguageTest.php b/core/modules/node/src/Tests/NodeViewLanguageTest.php
index f2bdf7fb30bc..dbb07ae7c004 100644
--- a/core/modules/node/src/Tests/NodeViewLanguageTest.php
+++ b/core/modules/node/src/Tests/NodeViewLanguageTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the node language extra field display.
+ *
+ * @group node
  */
 class NodeViewLanguageTest extends NodeTestBase {
 
@@ -21,14 +23,6 @@ class NodeViewLanguageTest extends NodeTestBase {
    */
   public static $modules = array('node', 'datetime', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node view language field',
-      'description' => 'Tests the language extra field display.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests the language extra field display.
    */
diff --git a/core/modules/node/src/Tests/NodeViewTest.php b/core/modules/node/src/Tests/NodeViewTest.php
index 5f04e45465d4..03c00358cbbd 100644
--- a/core/modules/node/src/Tests/NodeViewTest.php
+++ b/core/modules/node/src/Tests/NodeViewTest.php
@@ -10,18 +10,11 @@
 /**
  * Tests the node/{node} page.
  *
+ * @group node
  * @see \Drupal\node\Controller\NodeController
  */
 class NodeViewTest extends NodeTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node view page',
-      'description' => 'Tests the node/{node} page.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests the html head links.
    */
diff --git a/core/modules/node/src/Tests/PageEditTest.php b/core/modules/node/src/Tests/PageEditTest.php
index 2361d13107af..9ab628e26d4c 100644
--- a/core/modules/node/src/Tests/PageEditTest.php
+++ b/core/modules/node/src/Tests/PageEditTest.php
@@ -8,20 +8,14 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the node edit functionality.
+ * Create a node and test node edit functionality.
+ *
+ * @group node
  */
 class PageEditTest extends NodeTestBase {
   protected $web_user;
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node edit',
-      'description' => 'Create a node and test node edit functionality.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/PagePreviewTest.php b/core/modules/node/src/Tests/PagePreviewTest.php
index d1635c5b327c..b40ea57ecf01 100644
--- a/core/modules/node/src/Tests/PagePreviewTest.php
+++ b/core/modules/node/src/Tests/PagePreviewTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the node entity preview functionality.
+ *
+ * @group node
  */
 class PagePreviewTest extends NodeTestBase {
 
@@ -28,14 +30,6 @@ class PagePreviewTest extends NodeTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node preview',
-      'description' => 'Test node preview functionality.',
-      'group' => 'Node',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/PageViewTest.php b/core/modules/node/src/Tests/PageViewTest.php
index 7186d45878df..0d8319309445 100644
--- a/core/modules/node/src/Tests/PageViewTest.php
+++ b/core/modules/node/src/Tests/PageViewTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the functionality of node entity edit permissions.
+ * Create a node and test edit permissions.
+ *
+ * @group node
  */
 class PageViewTest extends NodeTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Node edit permissions',
-      'description' => 'Create a node and test edit permissions.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests an anonymous and unpermissioned user attempting to edit the node.
    */
diff --git a/core/modules/node/src/Tests/SummaryLengthTest.php b/core/modules/node/src/Tests/SummaryLengthTest.php
index 8568d44bf634..7b82d290b0c7 100644
--- a/core/modules/node/src/Tests/SummaryLengthTest.php
+++ b/core/modules/node/src/Tests/SummaryLengthTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\node\Tests;
 
 /**
- * Tests the summary length functionality.
+ * Tests summary length.
+ *
+ * @group node
  */
 class SummaryLengthTest extends NodeTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Summary length',
-      'description' => 'Test summary length.',
-      'group' => 'Node',
-    );
-  }
-
   /**
    * Tests the node summary length functionality.
    */
diff --git a/core/modules/node/src/Tests/Views/BulkFormTest.php b/core/modules/node/src/Tests/Views/BulkFormTest.php
index af0b2d1a88fb..53600e9ed8d1 100644
--- a/core/modules/node/src/Tests/Views/BulkFormTest.php
+++ b/core/modules/node/src/Tests/Views/BulkFormTest.php
@@ -8,8 +8,9 @@
 namespace Drupal\node\Tests\Views;
 
 /**
- * Tests the views bulk form test.
+ * Tests a node bulk form.
  *
+ * @group node
  * @see \Drupal\node\Plugin\views\field\BulkForm
  */
 class BulkFormTest extends NodeTestBase {
@@ -21,14 +22,6 @@ class BulkFormTest extends NodeTestBase {
    */
   public static $testViews = array('test_node_bulk_form');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Bulk form',
-      'description' => 'Tests a node bulk form.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the node bulk form.
    */
diff --git a/core/modules/node/src/Tests/Views/FieldTypeTest.php b/core/modules/node/src/Tests/Views/FieldTypeTest.php
index e8f1e2c3ec02..7f20b5557627 100644
--- a/core/modules/node/src/Tests/Views/FieldTypeTest.php
+++ b/core/modules/node/src/Tests/Views/FieldTypeTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the Drupal\node\Plugin\views\field\Type handler.
+ *
+ * @group node
  */
 class FieldTypeTest extends NodeTestBase {
 
@@ -21,14 +23,6 @@ class FieldTypeTest extends NodeTestBase {
    */
   public static $testViews = array('test_field_type');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Node Type field',
-      'description' => 'Tests the Drupal\node\Plugin\views\field\Type handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   public function testFieldType() {
     $node = $this->drupalCreateNode();
     $expected_result[] = array(
diff --git a/core/modules/node/src/Tests/Views/FilterUidRevisionTest.php b/core/modules/node/src/Tests/Views/FilterUidRevisionTest.php
index 1e38fb412130..60216b031c6b 100644
--- a/core/modules/node/src/Tests/Views/FilterUidRevisionTest.php
+++ b/core/modules/node/src/Tests/Views/FilterUidRevisionTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the node_uid_revision handler.
+ *
+ * @group node
  */
 class FilterUidRevisionTest extends NodeTestBase {
 
@@ -21,15 +23,6 @@ class FilterUidRevisionTest extends NodeTestBase {
    */
   public static $testViews = array('test_filter_node_uid_revision');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: User has revision Filter',
-      'description' => 'Tests the node_uid_revision handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
-
   /**
    * Tests the node_uid_revision filter.
    */
diff --git a/core/modules/node/src/Tests/Views/FrontPageTest.php b/core/modules/node/src/Tests/Views/FrontPageTest.php
index b1f00ef61118..b68ab0f41005 100644
--- a/core/modules/node/src/Tests/Views/FrontPageTest.php
+++ b/core/modules/node/src/Tests/Views/FrontPageTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the default frontpage provided by views.
+ *
+ * @group node
  */
 class FrontPageTest extends ViewTestBase {
 
@@ -30,14 +32,6 @@ class FrontPageTest extends ViewTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Frontpage view',
-      'description' => 'Tests the default frontpage provided by views.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/Views/NodeContextualLinksTest.php b/core/modules/node/src/Tests/Views/NodeContextualLinksTest.php
index e8f679182f8b..c77df9c3a5db 100644
--- a/core/modules/node/src/Tests/Views/NodeContextualLinksTest.php
+++ b/core/modules/node/src/Tests/Views/NodeContextualLinksTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests views contextual links on nodes.
+ *
+ * @group node
  */
 class NodeContextualLinksTest extends NodeTestBase {
 
@@ -29,14 +31,6 @@ class NodeContextualLinksTest extends NodeTestBase {
    */
   public static $testViews = array('test_contextual_links');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: contextual links',
-      'description' => 'Tests views contextual links on nodes.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests contextual links.
    */
diff --git a/core/modules/node/src/Tests/Views/NodeIntegrationTest.php b/core/modules/node/src/Tests/Views/NodeIntegrationTest.php
index 9995c9923f33..2be15a0a83c3 100644
--- a/core/modules/node/src/Tests/Views/NodeIntegrationTest.php
+++ b/core/modules/node/src/Tests/Views/NodeIntegrationTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\node\Tests\Views;
 
 /**
- * Tests Node module's Views integration.
+ * Tests the node integration into views.
+ *
+ * @group node
  */
 class NodeIntegrationTest extends NodeTestBase {
 
@@ -19,14 +21,6 @@ class NodeIntegrationTest extends NodeTestBase {
    */
   public static $testViews = array('test_node_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Views data',
-      'description' => 'Tests the node integration into views.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests basic node view with a node type argument.
    */
diff --git a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
index 360131069ed0..d2d08eddc0aa 100644
--- a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
+++ b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
@@ -13,21 +13,11 @@
 /**
  * Tests the wizard with node_revision as base table.
  *
+ * @group node
  * @see \Drupal\node\Plugin\views\wizard\NodeRevision
  */
 class NodeRevisionWizardTest extends WizardTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Node revision wizard',
-      'description' => 'Tests the wizard with node_revision as base table.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * Tests creating a node revision view.
    */
diff --git a/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php b/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
index 891a92c40849..1f862e9ab6f9 100644
--- a/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
+++ b/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
@@ -11,7 +11,9 @@
 use Drupal\views\Tests\ViewTestData;
 
 /**
- * Tests basic node_revision table integration into views.
+ * Tests the integration of node_revision table of node module.
+ *
+ * @group node
  */
 class RevisionRelationshipsTest extends ViewTestBase {
 
@@ -35,14 +37,6 @@ protected function setUp() {
    */
   public static $testViews = array('test_node_revision_nid', 'test_node_revision_vid');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Revision integration',
-      'description' => 'Tests the integration of node_revision table of node module',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Create a node with revision and rest result count for both views.
    */
diff --git a/core/modules/node/src/Tests/Views/RowPluginTest.php b/core/modules/node/src/Tests/Views/RowPluginTest.php
index 7d83d3a65503..698c86df6097 100644
--- a/core/modules/node/src/Tests/Views/RowPluginTest.php
+++ b/core/modules/node/src/Tests/Views/RowPluginTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the node row plugin.
  *
+ * @group node
  * @see \Drupal\node\Plugin\views\row\NodeRow
  */
 class RowPluginTest extends NodeTestBase {
@@ -44,14 +45,6 @@ class RowPluginTest extends NodeTestBase {
    */
   protected $nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Row plugin',
-      'description' => 'Tests the node row plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/node/src/Tests/Views/StatusExtraTest.php b/core/modules/node/src/Tests/Views/StatusExtraTest.php
index 73962e1b39b1..ad6f60843952 100644
--- a/core/modules/node/src/Tests/Views/StatusExtraTest.php
+++ b/core/modules/node/src/Tests/Views/StatusExtraTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the node.status_extra field handler.
  *
+ * @group node
  * @see \Drupal\node\Plugin\views\filter\Status
  */
 class StatusExtraTest extends NodeTestBase {
@@ -21,14 +22,6 @@ class StatusExtraTest extends NodeTestBase {
    */
   public static $testViews = array('test_status_extra');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Status extra filter',
-      'description' => 'Tests the node.status_extra filter handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the status extra filter.
    */
diff --git a/core/modules/node/tests/src/Plugin/views/field/NodeBulkFormTest.php b/core/modules/node/tests/src/Plugin/views/field/NodeBulkFormTest.php
index 5deb7c53769d..21c4a9434290 100644
--- a/core/modules/node/tests/src/Plugin/views/field/NodeBulkFormTest.php
+++ b/core/modules/node/tests/src/Plugin/views/field/NodeBulkFormTest.php
@@ -12,20 +12,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the node bulk form plugin.
- *
- * @see \Drupal\node\Plugin\views\field\NodeBulkForm
+ * @coversDefaultClass \Drupal\node\Plugin\views\field\NodeBulkForm
+ * @group node
  */
 class NodeBulkFormTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node: Bulk form',
-      'description' => 'Tests the node bulk form plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/options/src/Tests/OptionsDynamicValuesValidationTest.php b/core/modules/options/src/Tests/OptionsDynamicValuesValidationTest.php
index d4648501a668..d0410b458c30 100644
--- a/core/modules/options/src/Tests/OptionsDynamicValuesValidationTest.php
+++ b/core/modules/options/src/Tests/OptionsDynamicValuesValidationTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests the Options field allowed values function.
+ *
+ * @group options
  */
 class OptionsDynamicValuesValidationTest extends OptionsDynamicValuesTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Options field dynamic values',
-      'description' => 'Test the Options field allowed values function.',
-      'group' => 'Field types',
-    );
-  }
-
   /**
    * Test that allowed values function gets the entity.
    */
diff --git a/core/modules/options/src/Tests/OptionsFieldTest.php b/core/modules/options/src/Tests/OptionsFieldTest.php
index ed775b4d9b9f..925d5ce6ac6b 100644
--- a/core/modules/options/src/Tests/OptionsFieldTest.php
+++ b/core/modules/options/src/Tests/OptionsFieldTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests for the 'Options' field types.
+ *
+ * @group options
  */
 class OptionsFieldTest extends OptionsFieldUnitTestBase {
 
@@ -21,14 +23,6 @@ class OptionsFieldTest extends OptionsFieldUnitTestBase {
    */
   public static $modules = array('options');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Options field',
-      'description' => 'Test the Options field type.',
-      'group' => 'Field types',
-    );
-  }
-
   /**
    * Test that allowed values can be updated.
    */
diff --git a/core/modules/options/src/Tests/OptionsFieldUITest.php b/core/modules/options/src/Tests/OptionsFieldUITest.php
index baecfca93c25..bce68779508e 100644
--- a/core/modules/options/src/Tests/OptionsFieldUITest.php
+++ b/core/modules/options/src/Tests/OptionsFieldUITest.php
@@ -11,7 +11,9 @@
 use Drupal\field\Tests\FieldTestBase;
 
 /**
- * Options module UI tests.
+ * Tests the Options field UI functionality.
+ *
+ * @group options
  */
 class OptionsFieldUITest extends FieldTestBase {
 
@@ -29,14 +31,6 @@ class OptionsFieldUITest extends FieldTestBase {
    */
   protected $type_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Options field UI',
-      'description' => 'Test the Options field UI functionality.',
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/options/src/Tests/OptionsFormattersTest.php b/core/modules/options/src/Tests/OptionsFormattersTest.php
index 34cda3ad3fc9..f02503caf83a 100644
--- a/core/modules/options/src/Tests/OptionsFormattersTest.php
+++ b/core/modules/options/src/Tests/OptionsFormattersTest.php
@@ -8,21 +8,14 @@
 namespace Drupal\options\Tests;
 
 /**
- * Tests the formatters provided by the options module.
+ * Tests the Options field type formatters.
  *
+ * @group options
  * @see \Drupal\options\Plugin\field\formatter\OptionsDefaultFormatter
  * @see \Drupal\options\Plugin\field\formatter\OptionsKeyFormatter
  */
 class OptionsFormattersTest extends OptionsFieldUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Options field formatters',
-      'description' => 'Test the Options field type formatters.',
-      'group' => 'Field types',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/options/src/Tests/OptionsSelectDynamicValuesTest.php b/core/modules/options/src/Tests/OptionsSelectDynamicValuesTest.php
index 3fee9c5e8bac..d3989eb4117b 100644
--- a/core/modules/options/src/Tests/OptionsSelectDynamicValuesTest.php
+++ b/core/modules/options/src/Tests/OptionsSelectDynamicValuesTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests an options select with a dynamic allowed values function.
+ *
+ * @group options
  */
 class OptionsSelectDynamicValuesTest extends OptionsDynamicValuesTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Options select dynamic values',
-      'description' => 'Test an options select on a list field with a dynamic allowed values function.',
-      'group' => 'Field types',
-    );
-  }
-
   /**
    * Tests the 'options_select' widget (single select).
    */
diff --git a/core/modules/options/src/Tests/OptionsWidgetsTest.php b/core/modules/options/src/Tests/OptionsWidgetsTest.php
index bcec12cb8939..23787282be5d 100644
--- a/core/modules/options/src/Tests/OptionsWidgetsTest.php
+++ b/core/modules/options/src/Tests/OptionsWidgetsTest.php
@@ -10,7 +10,9 @@
 use Drupal\field\Tests\FieldTestBase;
 
 /**
- * Test the Options widgets.
+ * Tests the Options widgets.
+ *
+ * @group options
  */
 class OptionsWidgetsTest extends FieldTestBase {
 
@@ -50,14 +52,6 @@ class OptionsWidgetsTest extends FieldTestBase {
   protected $web_user;
 
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Options widgets',
-      'description'  => "Test the Options widgets.",
-      'group' => 'Field types'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/src/Tests/PathAdminTest.php b/core/modules/path/src/Tests/PathAdminTest.php
index 30ea7f46e1b8..f3b48a0218b5 100644
--- a/core/modules/path/src/Tests/PathAdminTest.php
+++ b/core/modules/path/src/Tests/PathAdminTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the Path admin UI.
+ *
+ * @group path
  */
 class PathAdminTest extends PathTestBase {
 
@@ -19,14 +21,6 @@ class PathAdminTest extends PathTestBase {
    */
   public static $modules = array('path');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path admin UI',
-      'description' => 'Tests the Path admin UI.',
-      'group' => 'Path',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/src/Tests/PathAliasTest.php b/core/modules/path/src/Tests/PathAliasTest.php
index db01fa9113cb..2aa65f4a0b30 100644
--- a/core/modules/path/src/Tests/PathAliasTest.php
+++ b/core/modules/path/src/Tests/PathAliasTest.php
@@ -8,7 +8,10 @@
 namespace Drupal\path\Tests;
 
 /**
- * Tests path alias functionality.
+ * Add, edit, delete, and change alias and verify its consistency in the
+ * database.
+ *
+ * @group path
  */
 class PathAliasTest extends PathTestBase {
 
@@ -19,14 +22,6 @@ class PathAliasTest extends PathTestBase {
    */
   public static $modules = array('path');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path alias functionality',
-      'description' => 'Add, edit, delete, and change alias and verify its consistency in the database.',
-      'group' => 'Path',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/src/Tests/PathLanguageTest.php b/core/modules/path/src/Tests/PathLanguageTest.php
index 958b4e87c475..6f241d750cee 100644
--- a/core/modules/path/src/Tests/PathLanguageTest.php
+++ b/core/modules/path/src/Tests/PathLanguageTest.php
@@ -10,7 +10,9 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Tests URL aliases for translated nodes.
+ * Confirm that paths work with translated nodes.
+ *
+ * @group path
  */
 class PathLanguageTest extends PathTestBase {
 
@@ -21,14 +23,6 @@ class PathLanguageTest extends PathTestBase {
    */
   public static $modules = array('path', 'locale', 'content_translation');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path aliases with translated nodes',
-      'description' => 'Confirm that paths work with translated nodes',
-      'group' => 'Path',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/src/Tests/PathLanguageUiTest.php b/core/modules/path/src/Tests/PathLanguageUiTest.php
index 5c97eff0c87b..59df2bf0245a 100644
--- a/core/modules/path/src/Tests/PathLanguageUiTest.php
+++ b/core/modules/path/src/Tests/PathLanguageUiTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\path\Tests;
 
 /**
- * Tests the user interface for creating path aliases, with languages.
+ * Confirm that the Path module user interface works with languages.
+ *
+ * @group path
  */
 class PathLanguageUiTest extends PathTestBase {
 
@@ -19,14 +21,6 @@ class PathLanguageUiTest extends PathTestBase {
    */
   public static $modules = array('path', 'locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path aliases with languages',
-      'description' => 'Confirm that the Path module user interface works with languages.',
-      'group' => 'Path',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/src/Tests/PathTaxonomyTermTest.php b/core/modules/path/src/Tests/PathTaxonomyTermTest.php
index 6c9d0e693582..c7ae9d3896f0 100644
--- a/core/modules/path/src/Tests/PathTaxonomyTermTest.php
+++ b/core/modules/path/src/Tests/PathTaxonomyTermTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests URL aliases for taxonomy terms.
+ *
+ * @group path
  */
 class PathTaxonomyTermTest extends PathTestBase {
 
@@ -19,14 +21,6 @@ class PathTaxonomyTermTest extends PathTestBase {
    */
   public static $modules = array('taxonomy');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term URL aliases',
-      'description' => 'Tests URL aliases for taxonomy terms.',
-      'group' => 'Path',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/path/tests/src/Field/PathFieldDefinitionTest.php b/core/modules/path/tests/src/Field/PathFieldDefinitionTest.php
index afc56f259bf0..a3adc6879a25 100644
--- a/core/modules/path/tests/src/Field/PathFieldDefinitionTest.php
+++ b/core/modules/path/tests/src/Field/PathFieldDefinitionTest.php
@@ -10,27 +10,11 @@
 use Drupal\Tests\Core\Field\FieldDefinitionTestBase;
 
 /**
- * Tests a field definition for a 'path' field.
- *
- * @see \Drupal\Core\Field\FieldDefinition
- * @see \Drupal\path\Plugin\Field\FieldType\PathItem
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Field\FieldDefinition
  * @group path
  */
 class PathFieldDefinitionTest extends FieldDefinitionTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Path field definitions',
-      'description' => 'Tests that field definitions for path fields work correctly.',
-      'group' => 'Path',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/quickedit/src/Tests/EditorSelectionTest.php b/core/modules/quickedit/src/Tests/EditorSelectionTest.php
index 03ce9681025f..4faa33527792 100644
--- a/core/modules/quickedit/src/Tests/EditorSelectionTest.php
+++ b/core/modules/quickedit/src/Tests/EditorSelectionTest.php
@@ -12,7 +12,9 @@
 use Drupal\quickedit\EditorSelector;
 
 /**
- * Test in-place field editor selection.
+ * Tests in-place field editor selection.
+ *
+ * @group quickedit
  */
 class EditorSelectionTest extends QuickEditTestBase {
 
@@ -30,14 +32,6 @@ class EditorSelectionTest extends QuickEditTestBase {
    */
   protected $editorSelector;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place field editor selection',
-      'description' => 'Tests in-place field editor selection.',
-      'group' => 'Quick Edit',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/quickedit/src/Tests/MetadataGeneratorTest.php b/core/modules/quickedit/src/Tests/MetadataGeneratorTest.php
index 7418ec07f0a1..5fd0425ad033 100644
--- a/core/modules/quickedit/src/Tests/MetadataGeneratorTest.php
+++ b/core/modules/quickedit/src/Tests/MetadataGeneratorTest.php
@@ -14,7 +14,9 @@
 use Drupal\quickedit_test\MockEditEntityFieldAccessCheck;
 
 /**
- * Test in-place field editing metadata.
+ * Tests in-place field editing metadata.
+ *
+ * @group quickedit
  */
 class MetadataGeneratorTest extends QuickEditTestBase {
 
@@ -46,14 +48,6 @@ class MetadataGeneratorTest extends QuickEditTestBase {
    */
   protected $accessChecker;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place field editing metadata',
-      'description' => 'Tests in-place field editing metadata generation.',
-      'group' => 'Quick Edit',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/quickedit/src/Tests/QuickEditAutocompleteTermTest.php b/core/modules/quickedit/src/Tests/QuickEditAutocompleteTermTest.php
index 1e2f83889824..94b493fa2b92 100644
--- a/core/modules/quickedit/src/Tests/QuickEditAutocompleteTermTest.php
+++ b/core/modules/quickedit/src/Tests/QuickEditAutocompleteTermTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests using in-place editing for an autocomplete entity reference widget.
+ * Tests in-place editing of autocomplete tags.
+ *
+ * @group quickedit
  */
 class QuickEditAutocompleteTermTest extends WebTestBase {
 
@@ -59,14 +61,6 @@ class QuickEditAutocompleteTermTest extends WebTestBase {
    */
   protected $field_name;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place editing of autocomplete tags',
-      'description' => 'Tests in-place editing of autocomplete tags.',
-      'group' => 'Quick Edit',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php b/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
index ad6b1f385d51..1f3984251069 100644
--- a/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
+++ b/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
@@ -14,7 +14,10 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Tests loading of Quick Edit and lazy-loading of in-place editors.
+ * Tests loading of in-place editing functionality and lazy loading of its
+ * in-place editors.
+ *
+ * @group quickedit
  */
 class QuickEditLoadingTest extends WebTestBase {
 
@@ -25,14 +28,6 @@ class QuickEditLoadingTest extends WebTestBase {
    */
   public static $modules = array('contextual', 'quickedit', 'filter', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'In-place editing loading',
-      'description' => 'Tests loading of in-place editing functionality and lazy loading of its in-place editors.',
-      'group' => 'Quick Edit',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/quickedit/tests/src/Access/EditEntityAccessCheckTest.php b/core/modules/quickedit/tests/src/Access/EditEntityAccessCheckTest.php
index 6596ccb77dd3..33d4ed4eaa67 100644
--- a/core/modules/quickedit/tests/src/Access/EditEntityAccessCheckTest.php
+++ b/core/modules/quickedit/tests/src/Access/EditEntityAccessCheckTest.php
@@ -14,12 +14,8 @@
 use Drupal\Core\Entity\EntityInterface;
 
 /**
- * Tests the edit entity access controller.
- *
- * @group Drupal
- * @group QuickEdit
- *
- * @see \Drupal\quickedit\Access\EditEntityAccessCheck
+ * @coversDefaultClass \Drupal\quickedit\Access\EditEntityAccessCheck
+ * @group quickedit
  */
 class EditEntityAccessCheckTest extends UnitTestCase {
 
@@ -44,14 +40,6 @@ class EditEntityAccessCheckTest extends UnitTestCase {
    */
   protected $entityStorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Edit entity access check test',
-      'description' => 'Unit test of edit entity access check.',
-      'group' => 'Quick Edit'
-    );
-  }
-
   protected function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
 
diff --git a/core/modules/quickedit/tests/src/Access/EditEntityFieldAccessCheckTest.php b/core/modules/quickedit/tests/src/Access/EditEntityFieldAccessCheckTest.php
index d02c092fb112..f30630dcd3bd 100644
--- a/core/modules/quickedit/tests/src/Access/EditEntityFieldAccessCheckTest.php
+++ b/core/modules/quickedit/tests/src/Access/EditEntityFieldAccessCheckTest.php
@@ -16,12 +16,8 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests the edit entity field access controller.
- *
- * @group Drupal
- * @group QuickEdit
- *
- * @see \Drupal\quickedit\Access\EditEntityFieldAccessCheck
+ * @coversDefaultClass \Drupal\quickedit\Access\EditEntityFieldAccessCheck
+ * @group quickedit
  */
 class EditEntityFieldAccessCheckTest extends UnitTestCase {
 
@@ -46,14 +42,6 @@ class EditEntityFieldAccessCheckTest extends UnitTestCase {
    */
   protected $entityStorage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Edit entity field access check test',
-      'description' => 'Unit test of edit entity field access check.',
-      'group' => 'Quick Edit'
-    );
-  }
-
   protected function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
 
diff --git a/core/modules/rdf/src/Tests/CommentAttributesTest.php b/core/modules/rdf/src/Tests/CommentAttributesTest.php
index d47d1ff0b998..e8b15d7a4a65 100644
--- a/core/modules/rdf/src/Tests/CommentAttributesTest.php
+++ b/core/modules/rdf/src/Tests/CommentAttributesTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the RDFa markup of comments.
+ *
+ * @group rdf
  */
 class CommentAttributesTest extends CommentTestBase {
 
@@ -23,14 +25,6 @@ class CommentAttributesTest extends CommentTestBase {
    */
   public static $modules = array('views', 'node', 'comment', 'rdf');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for comments',
-      'description' => 'Tests the RDFa markup of comments.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/CrudTest.php b/core/modules/rdf/src/Tests/CrudTest.php
index 26f793d99749..772ec4fa6a1b 100644
--- a/core/modules/rdf/src/Tests/CrudTest.php
+++ b/core/modules/rdf/src/Tests/CrudTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the RDF mapping CRUD functions.
+ *
+ * @group rdf
  */
 class CrudTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class CrudTest extends DrupalUnitTestBase {
    */
   public static $modules = array('entity_test', 'rdf', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDF mapping CRUD functions',
-      'description' => 'Test the RDF mapping CRUD functions.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->prefix = 'rdf.mapping';
diff --git a/core/modules/rdf/src/Tests/Field/DateTimeFieldRdfaTest.php b/core/modules/rdf/src/Tests/Field/DateTimeFieldRdfaTest.php
index 2c7b3b208b27..391a56d39f1f 100644
--- a/core/modules/rdf/src/Tests/Field/DateTimeFieldRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/DateTimeFieldRdfaTest.php
@@ -9,7 +9,9 @@
 use Drupal\rdf\Tests\Field\FieldRdfaTestBase;
 
 /**
- * Tests the placement of RDFa in text field formatters.
+ * Tests RDFa output by datetime field formatters.
+ *
+ * @group rdf
  */
 class DateTimeFieldRdfaTest extends FieldRdfaTestBase {
 
@@ -30,14 +32,6 @@ class DateTimeFieldRdfaTest extends FieldRdfaTestBase {
   */
   public static $modules = array('datetime');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field formatter: datetime',
-      'description'  => 'Tests RDFa output by datetime field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/EmailFieldRdfaTest.php b/core/modules/rdf/src/Tests/Field/EmailFieldRdfaTest.php
index fa9775fea8df..7eb8d3313db8 100644
--- a/core/modules/rdf/src/Tests/Field/EmailFieldRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/EmailFieldRdfaTest.php
@@ -9,7 +9,9 @@
 use Drupal\rdf\Tests\Field\FieldRdfaTestBase;
 
 /**
- * Tests the placement of RDFa in email field formatters.
+ * Tests RDFa output by email field formatters.
+ *
+ * @group rdf
  */
 class EmailFieldRdfaTest extends FieldRdfaTestBase {
 
@@ -23,14 +25,6 @@ class EmailFieldRdfaTest extends FieldRdfaTestBase {
    */
   public static $modules = array('email', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field formatter: email',
-      'description'  => 'Tests RDFa output by email field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/EntityReferenceRdfaTest.php b/core/modules/rdf/src/Tests/Field/EntityReferenceRdfaTest.php
index 891d60533d9e..1f04d0a92ebb 100644
--- a/core/modules/rdf/src/Tests/Field/EntityReferenceRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/EntityReferenceRdfaTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the RDFa output of the entity reference field formatter.
+ *
+ * @group rdf
  */
 class EntityReferenceRdfaTest extends FieldRdfaTestBase {
 
@@ -46,14 +48,6 @@ class EntityReferenceRdfaTest extends FieldRdfaTestBase {
    */
   public static $modules = array('entity', 'entity_reference', 'options', 'text', 'filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field formatter: entity reference',
-      'description' => 'Tests RDFa output by entity reference field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/FieldRdfaDatatypeCallbackTest.php b/core/modules/rdf/src/Tests/Field/FieldRdfaDatatypeCallbackTest.php
index b6e64136eadd..7d62d0e97abb 100644
--- a/core/modules/rdf/src/Tests/Field/FieldRdfaDatatypeCallbackTest.php
+++ b/core/modules/rdf/src/Tests/Field/FieldRdfaDatatypeCallbackTest.php
@@ -8,6 +8,8 @@
 
 /**
  * Tests the RDFa output of a text field formatter with a datatype callback.
+ *
+ * @group rdf
  */
 class FieldRdfaDatatypeCallbackTest extends FieldRdfaTestBase {
 
@@ -21,14 +23,6 @@ class FieldRdfaDatatypeCallbackTest extends FieldRdfaTestBase {
    */
   public static $modules = array('text', 'filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field formatter: datatype callback',
-      'description' => 'Tests RDFa output for field formatters with a datatype callback.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/TaxonomyTermReferenceRdfaTest.php b/core/modules/rdf/src/Tests/Field/TaxonomyTermReferenceRdfaTest.php
index ed49cfcce752..37e270942c02 100644
--- a/core/modules/rdf/src/Tests/Field/TaxonomyTermReferenceRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/TaxonomyTermReferenceRdfaTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the RDFa output of the taxonomy term reference field formatter.
+ *
+ * @group rdf
  */
 class TaxonomyTermReferenceRdfaTest extends FieldRdfaTestBase {
 
@@ -40,14 +42,6 @@ class TaxonomyTermReferenceRdfaTest extends FieldRdfaTestBase {
    */
   public static $modules = array('taxonomy', 'options', 'text', 'filter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field formatter: taxonomy term reference',
-      'description' => 'Tests RDFa output by taxonomy term reference field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/TelephoneFieldRdfaTest.php b/core/modules/rdf/src/Tests/Field/TelephoneFieldRdfaTest.php
index 32d6825be21c..b1446a53782e 100644
--- a/core/modules/rdf/src/Tests/Field/TelephoneFieldRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/TelephoneFieldRdfaTest.php
@@ -7,7 +7,9 @@
 namespace Drupal\rdf\Tests\Field;
 
 /**
- * Tests the placement of RDFa in telephone field formatters.
+ * Tests RDFa output by telephone field formatters.
+ *
+ * @group rdf
  */
 class TelephoneFieldRdfaTest extends FieldRdfaTestBase {
 
@@ -28,14 +30,6 @@ class TelephoneFieldRdfaTest extends FieldRdfaTestBase {
    */
   public static $modules = array('telephone', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field formatter: telephone',
-      'description'  => 'Tests RDFa output by telephone field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/Field/TextFieldRdfaTest.php b/core/modules/rdf/src/Tests/Field/TextFieldRdfaTest.php
index 5cbf841671da..6fdbdaf45742 100644
--- a/core/modules/rdf/src/Tests/Field/TextFieldRdfaTest.php
+++ b/core/modules/rdf/src/Tests/Field/TextFieldRdfaTest.php
@@ -9,7 +9,9 @@
 use Drupal\rdf\Tests\Field\FieldRdfaTestBase;
 
 /**
- * Tests the placement of RDFa in text field formatters.
+ * Tests RDFa output by text field formatters.
+ *
+ * @group rdf
  */
 class TextFieldRdfaTest extends FieldRdfaTestBase {
 
@@ -37,14 +39,6 @@ class TextFieldRdfaTest extends FieldRdfaTestBase {
    */
   public static $modules = array('text', 'filter');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field formatter: text',
-      'description'  => 'Tests RDFa output by text field formatters.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/FileFieldAttributesTest.php b/core/modules/rdf/src/Tests/FileFieldAttributesTest.php
index 238139518dcd..3253fffdff10 100644
--- a/core/modules/rdf/src/Tests/FileFieldAttributesTest.php
+++ b/core/modules/rdf/src/Tests/FileFieldAttributesTest.php
@@ -10,7 +10,9 @@
 use Drupal\file\Tests\FileFieldTestBase;
 
 /**
- * Tests RDFa markup generation for File fields.
+ * Tests the RDFa markup of filefields.
+ *
+ * @group rdf
  */
 class FileFieldAttributesTest extends FileFieldTestBase {
 
@@ -42,14 +44,6 @@ class FileFieldAttributesTest extends FileFieldTestBase {
    */
   protected $node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for files',
-      'description' => 'Tests the RDFa markup of filefields.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->fieldName = strtolower($this->randomName());
diff --git a/core/modules/rdf/src/Tests/GetNamespacesTest.php b/core/modules/rdf/src/Tests/GetNamespacesTest.php
index 0457ee406400..da09739ac32a 100644
--- a/core/modules/rdf/src/Tests/GetNamespacesTest.php
+++ b/core/modules/rdf/src/Tests/GetNamespacesTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for RDF namespaces XML serialization.
+ * Confirm that the serialization of RDF namespaces in present in the HTML
+ * markup.
+ *
+ * @group rdf
  */
 class GetNamespacesTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class GetNamespacesTest extends WebTestBase {
    */
   public static $modules = array('rdf', 'rdf_test_namespaces');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDF namespaces serialization test',
-      'description' => 'Confirm that the serialization of RDF namespaces in present in the HTML markup.',
-      'group' => 'RDF',
-    );
-  }
-
   /**
    * Tests RDF namespaces.
    */
diff --git a/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php b/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php
index db9ef148813d..bf38c6bb5632 100644
--- a/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php
+++ b/core/modules/rdf/src/Tests/GetRdfNamespacesTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for RDF namespaces declaration with hook_rdf_namespaces().
+ * Tests hook_rdf_namespaces().
+ *
+ * @group rdf
  */
 class GetRdfNamespacesTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class GetRdfNamespacesTest extends WebTestBase {
    */
   public static $modules = array('rdf', 'rdf_test_namespaces');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDF namespaces',
-      'description' => 'Test hook_rdf_namespaces().',
-      'group' => 'RDF',
-    );
-  }
-
   /**
    * Tests getting RDF namespaces.
    */
diff --git a/core/modules/rdf/src/Tests/ImageFieldAttributesTest.php b/core/modules/rdf/src/Tests/ImageFieldAttributesTest.php
index 39e52b7e5640..300fac540780 100644
--- a/core/modules/rdf/src/Tests/ImageFieldAttributesTest.php
+++ b/core/modules/rdf/src/Tests/ImageFieldAttributesTest.php
@@ -10,7 +10,9 @@
 use Drupal\image\Tests\ImageFieldTestBase;
 
 /**
- * Tests RDFa markup generation for image fields.
+ * Tests the RDFa markup of imagefields.
+ *
+ * @group rdf
  */
 class ImageFieldAttributesTest extends ImageFieldTestBase {
 
@@ -42,14 +44,6 @@ class ImageFieldAttributesTest extends ImageFieldTestBase {
    */
   protected $node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for imagefield',
-      'description' => 'Tests the RDFa markup of imagefields.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/NodeAttributesTest.php b/core/modules/rdf/src/Tests/NodeAttributesTest.php
index 76e1af616de8..8b2badf93875 100644
--- a/core/modules/rdf/src/Tests/NodeAttributesTest.php
+++ b/core/modules/rdf/src/Tests/NodeAttributesTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the RDFa markup of Nodes.
+ *
+ * @group rdf
  */
 class NodeAttributesTest extends NodeTestBase {
 
@@ -21,14 +23,6 @@ class NodeAttributesTest extends NodeTestBase {
    */
   public static $modules = array('rdf');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for nodes',
-      'description' => 'Tests the RDFa markup of nodes.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/RdfaAttributesTest.php b/core/modules/rdf/src/Tests/RdfaAttributesTest.php
index 726e78bf458e..3da1c657abfb 100644
--- a/core/modules/rdf/src/Tests/RdfaAttributesTest.php
+++ b/core/modules/rdf/src/Tests/RdfaAttributesTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests RDFa attribute generation.
+ * Tests RDFa attribute generation from RDF mapping.
+ *
+ * @group rdf
  */
 class RdfaAttributesTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class RdfaAttributesTest extends DrupalUnitTestBase {
    */
   public static $modules = array('rdf');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa attributes',
-      'description' => 'Test RDFa attribute generation from RDF mapping.',
-      'group' => 'RDF',
-    );
-  }
-
   /**
    * Test attribute creation for mappings which use 'property'.
    */
diff --git a/core/modules/rdf/src/Tests/StandardProfileTest.php b/core/modules/rdf/src/Tests/StandardProfileTest.php
index 5919d54300ed..be714fa584e8 100644
--- a/core/modules/rdf/src/Tests/StandardProfileTest.php
+++ b/core/modules/rdf/src/Tests/StandardProfileTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that the standard profile mappings are set and exposed as expected.
+ * Tests the RDF mappings and RDFa markup of the standard profile.
+ *
+ * @group rdf
  */
 class StandardProfileTest extends WebTestBase {
 
@@ -99,14 +101,6 @@ class StandardProfileTest extends WebTestBase {
    */
   protected $commenterUri;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Standard profile RDF',
-      'description' => 'Tests the RDF mappings and RDFa markup of the standard profile.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php b/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php
index 1172fbc091e9..8d3c43fccfc8 100644
--- a/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php
+++ b/core/modules/rdf/src/Tests/TaxonomyAttributesTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the RDFa markup of Taxonomy terms.
+ *
+ * @group rdf
  */
 class TaxonomyAttributesTest extends TaxonomyTestBase {
 
@@ -21,14 +23,6 @@ class TaxonomyAttributesTest extends TaxonomyTestBase {
    */
   public static $modules = array('rdf');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for taxonomy terms',
-      'description' => 'Tests the RDFa markup of taxonomy terms.',
-      'group' => 'RDF',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/TaxonomyTermFieldAttributesTest.php b/core/modules/rdf/src/Tests/TaxonomyTermFieldAttributesTest.php
index 2c84d0f723cd..70fcf1b98eb0 100644
--- a/core/modules/rdf/src/Tests/TaxonomyTermFieldAttributesTest.php
+++ b/core/modules/rdf/src/Tests/TaxonomyTermFieldAttributesTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests RDFa markup generation for taxonomy term fields.
+ *
+ * @group rdf
  */
 class TaxonomyTermFieldAttributesTest extends TaxonomyTestBase {
 
@@ -36,14 +38,6 @@ class TaxonomyTermFieldAttributesTest extends TaxonomyTestBase {
    */
   protected $vocabulary;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for taxonomy term fields',
-      'description' => 'Tests the RDFa markup of taxonomy term fields.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rdf/src/Tests/UserAttributesTest.php b/core/modules/rdf/src/Tests/UserAttributesTest.php
index 847d89306395..a6d11d3ae345 100644
--- a/core/modules/rdf/src/Tests/UserAttributesTest.php
+++ b/core/modules/rdf/src/Tests/UserAttributesTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the RDFa markup of Users.
+ *
+ * @group rdf
  */
 class UserAttributesTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserAttributesTest extends WebTestBase {
    */
   public static $modules = array('rdf', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'RDFa markup for users',
-      'description' => 'Tests the RDFa markup of users.',
-      'group' => 'RDF',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     rdf_get_mapping('user', 'user')
diff --git a/core/modules/rdf/tests/src/RdfMappingConfigEntityUnitTest.php b/core/modules/rdf/tests/src/RdfMappingConfigEntityUnitTest.php
index 6c2793d84e50..c1b63dbb91f3 100644
--- a/core/modules/rdf/tests/src/RdfMappingConfigEntityUnitTest.php
+++ b/core/modules/rdf/tests/src/RdfMappingConfigEntityUnitTest.php
@@ -13,9 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\rdf\Entity\RdfMapping
- *
- * @group Drupal
- * @group Config
+ * @group rdf
  */
 class RdfMappingConfigEntityUnitTest extends UnitTestCase {
 
@@ -47,17 +45,6 @@ class RdfMappingConfigEntityUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\field\Entity\RdfMapping unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/responsive_image/src/Tests/ResponsiveImageAdminUITest.php b/core/modules/responsive_image/src/Tests/ResponsiveImageAdminUITest.php
index b752a16f267a..ca65b1d20010 100644
--- a/core/modules/responsive_image/src/Tests/ResponsiveImageAdminUITest.php
+++ b/core/modules/responsive_image/src/Tests/ResponsiveImageAdminUITest.php
@@ -11,7 +11,9 @@
 use Drupal\breakpoint\Entity\Breakpoint;
 
 /**
- * Tests for breakpoint sets admin interface.
+ * Thoroughly test the administrative interface of the Responsive Image module.
+ *
+ * @group responsive_image
  */
 class ResponsiveImageAdminUITest extends WebTestBase {
 
@@ -29,17 +31,6 @@ class ResponsiveImageAdminUITest extends WebTestBase {
    */
   public static $modules = array('responsive_image');
 
-  /**
-   * Drupal\simpletest\WebTestBase\getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Responsive Image administration functionality',
-      'description' => 'Thoroughly test the administrative interface of the Responsive Image module.',
-      'group' => 'Responsive Image',
-    );
-  }
-
   /**
    * Drupal\simpletest\WebTestBase\setUp().
    */
diff --git a/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php b/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
index 952a0a6b85fa..d6a09bcbce80 100644
--- a/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
+++ b/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
@@ -11,7 +11,9 @@
 use Drupal\image\Tests\ImageFieldTestBase;
 
 /**
- * Test class to check that formatters and display settings are working.
+ * Tests responsive image display formatter.
+ *
+ * @group responsive_image
  */
 class ResponsiveImageFieldDisplayTest extends ImageFieldTestBase {
 
@@ -24,17 +26,6 @@ class ResponsiveImageFieldDisplayTest extends ImageFieldTestBase {
    */
   public static $modules = array('field_ui', 'responsive_image');
 
-  /**
-   * Drupal\simpletest\WebTestBase\getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Responsive Image field display tests',
-      'description' => 'Test responsive image display formatter.',
-      'group' => 'Responsive Image',
-    );
-  }
-
   /**
    * Drupal\simpletest\WebTestBase\setUp().
    */
diff --git a/core/modules/responsive_image/tests/src/ResponsiveImageMappingEntityTest.php b/core/modules/responsive_image/tests/src/ResponsiveImageMappingEntityTest.php
index 8565c3bec5f5..ff7abd19b3cd 100644
--- a/core/modules/responsive_image/tests/src/ResponsiveImageMappingEntityTest.php
+++ b/core/modules/responsive_image/tests/src/ResponsiveImageMappingEntityTest.php
@@ -13,9 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\responsive_image\Entity\ResponsiveImageMapping
- *
- * @group Drupal
- * @group Responsive_image
+ * @group responsive_image
  */
 class ResponsiveImageMappingEntityTest extends UnitTestCase {
 
@@ -68,17 +66,6 @@ class ResponsiveImageMappingEntityTest extends UnitTestCase {
    */
   protected $breakpointGroupStorage;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\responsive_image\Entity\ResponsiveImageMapping unit test',
-      'group' => 'Responsive Image',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/rest/src/Tests/AuthTest.php b/core/modules/rest/src/Tests/AuthTest.php
index a1ae295118e8..b53beaf9cf85 100644
--- a/core/modules/rest/src/Tests/AuthTest.php
+++ b/core/modules/rest/src/Tests/AuthTest.php
@@ -10,7 +10,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests authenticated operations on test entities.
+ * Tests authentication provider restrictions.
+ *
+ * @group rest
  */
 class AuthTest extends RESTTestBase {
 
@@ -21,17 +23,6 @@ class AuthTest extends RESTTestBase {
    */
   public static $modules = array('basic_auth', 'hal', 'rest', 'entity_test', 'comment');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Resource authentication',
-      'description' => 'Tests authentication provider restrictions.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Tests reading from an authenticated resource.
    */
diff --git a/core/modules/rest/src/Tests/CreateTest.php b/core/modules/rest/src/Tests/CreateTest.php
index 3ac369a97742..5476dbf2c181 100644
--- a/core/modules/rest/src/Tests/CreateTest.php
+++ b/core/modules/rest/src/Tests/CreateTest.php
@@ -10,7 +10,9 @@
 use Drupal\Component\Serialization\Json;
 
 /**
- * Tests resource creation on user, node and test entities.
+ * Tests the creation of resources.
+ *
+ * @group rest
  */
 class CreateTest extends RESTTestBase {
 
@@ -21,14 +23,6 @@ class CreateTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Create resource',
-      'description' => 'Tests the creation of resources.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Tests several valid and invalid create requests on all entity types.
    */
diff --git a/core/modules/rest/src/Tests/CsrfTest.php b/core/modules/rest/src/Tests/CsrfTest.php
index f1a6aa7dc1cf..9d526c929137 100644
--- a/core/modules/rest/src/Tests/CsrfTest.php
+++ b/core/modules/rest/src/Tests/CsrfTest.php
@@ -6,7 +6,9 @@
 namespace Drupal\rest\Tests;
 
 /**
- * Tests the CSRF access check.
+ * Tests the CSRF protection.
+ *
+ * @group rest
  */
 class CsrfTest extends RESTTestBase {
 
@@ -31,17 +33,6 @@ class CsrfTest extends RESTTestBase {
    */
   protected $serialized;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'CSRF access',
-      'description' => 'Tests the CSRF protection.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/rest/src/Tests/DeleteTest.php b/core/modules/rest/src/Tests/DeleteTest.php
index 799862e51e61..402325c485b8 100644
--- a/core/modules/rest/src/Tests/DeleteTest.php
+++ b/core/modules/rest/src/Tests/DeleteTest.php
@@ -10,7 +10,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests resource deletion on user, node and test entities.
+ * Tests the deletion of resources.
+ *
+ * @group rest
  */
 class DeleteTest extends RESTTestBase {
 
@@ -21,14 +23,6 @@ class DeleteTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Delete resource',
-      'description' => 'Tests the deletion of resources.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Tests several valid and invalid delete requests on all entity types.
    */
diff --git a/core/modules/rest/src/Tests/NodeTest.php b/core/modules/rest/src/Tests/NodeTest.php
index a85774ba75af..4cd2bc984584 100644
--- a/core/modules/rest/src/Tests/NodeTest.php
+++ b/core/modules/rest/src/Tests/NodeTest.php
@@ -10,7 +10,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests resource read operations on test entities, nodes and users.
+ * Tests special cases for node entities.
+ *
+ * @group rest
  */
 class NodeTest extends RESTTestBase {
 
@@ -23,14 +25,6 @@ class NodeTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Node resource',
-      'description' => 'Test special cases for node entities.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Enables node specific REST API configuration and authentication.
    *
diff --git a/core/modules/rest/src/Tests/ReadTest.php b/core/modules/rest/src/Tests/ReadTest.php
index 6777cf52699d..dda6bc803bdc 100644
--- a/core/modules/rest/src/Tests/ReadTest.php
+++ b/core/modules/rest/src/Tests/ReadTest.php
@@ -11,7 +11,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests resource read operations on test entities, nodes and users.
+ * Tests the retrieval of resources.
+ *
+ * @group rest
  */
 class ReadTest extends RESTTestBase {
 
@@ -22,14 +24,6 @@ class ReadTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Read resource',
-      'description' => 'Tests the retrieval of resources.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Tests several valid and invalid read requests on all entity types.
    */
diff --git a/core/modules/rest/src/Tests/ResourceTest.php b/core/modules/rest/src/Tests/ResourceTest.php
index 92d207445587..729af5c3fd4a 100644
--- a/core/modules/rest/src/Tests/ResourceTest.php
+++ b/core/modules/rest/src/Tests/ResourceTest.php
@@ -10,7 +10,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests the REST resource structure.
+ * Tests the structure of a REST resource.
+ *
+ * @group rest
  */
 class ResourceTest extends RESTTestBase {
 
@@ -21,17 +23,6 @@ class ResourceTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'entity_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Resource structure',
-      'description' => 'Tests the structure of a REST resource',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/rest/src/Tests/UpdateTest.php b/core/modules/rest/src/Tests/UpdateTest.php
index 7afedfa95445..e5a01934bd34 100644
--- a/core/modules/rest/src/Tests/UpdateTest.php
+++ b/core/modules/rest/src/Tests/UpdateTest.php
@@ -11,7 +11,9 @@
 use Drupal\rest\Tests\RESTTestBase;
 
 /**
- * Tests resource updates on test entities.
+ * Tests the update of resources.
+ *
+ * @group rest
  */
 class UpdateTest extends RESTTestBase {
 
@@ -22,14 +24,6 @@ class UpdateTest extends RESTTestBase {
    */
   public static $modules = array('hal', 'rest', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update resource',
-      'description' => 'Tests the update of resources.',
-      'group' => 'REST',
-    );
-  }
-
   /**
    * Tests several valid and invalid partial update requests on test entities.
    */
diff --git a/core/modules/rest/src/Tests/Views/StyleSerializerTest.php b/core/modules/rest/src/Tests/Views/StyleSerializerTest.php
index e2ff66ea3f88..fa2e95489654 100644
--- a/core/modules/rest/src/Tests/Views/StyleSerializerTest.php
+++ b/core/modules/rest/src/Tests/Views/StyleSerializerTest.php
@@ -15,6 +15,7 @@
 /**
  * Tests the serializer style plugin.
  *
+ * @group rest
  * @see \Drupal\rest\Plugin\views\display\RestExport
  * @see \Drupal\rest\Plugin\views\style\Serializer
  * @see \Drupal\rest\Plugin\views\row\DataEntityRow
@@ -41,14 +42,6 @@ class StyleSerializerTest extends PluginTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Serializer plugin',
-      'description' => 'Tests the serializer style plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/rest/tests/src/CollectRoutesTest.php b/core/modules/rest/tests/src/CollectRoutesTest.php
index f5111923deae..9baf9d16729b 100644
--- a/core/modules/rest/tests/src/CollectRoutesTest.php
+++ b/core/modules/rest/tests/src/CollectRoutesTest.php
@@ -14,7 +14,9 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Defines tests for the collectRoutes() method.
+ * Tests the REST export view plugin.
+ *
+ * @group rest
  */
 class CollectRoutesTest extends UnitTestCase {
 
@@ -30,14 +32,6 @@ class CollectRoutesTest extends UnitTestCase {
    */
   protected $routes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'routes: REST export plugin',
-      'description' => 'Tests the REST export view plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/search/src/Tests/SearchAdvancedSearchFormTest.php b/core/modules/search/src/Tests/SearchAdvancedSearchFormTest.php
index fc6ce6a44434..5a55cee91d14 100644
--- a/core/modules/search/src/Tests/SearchAdvancedSearchFormTest.php
+++ b/core/modules/search/src/Tests/SearchAdvancedSearchFormTest.php
@@ -9,18 +9,12 @@
 
 /**
  * Indexes content and tests the advanced search form.
+ *
+ * @group search
  */
 class SearchAdvancedSearchFormTest extends SearchTestBase {
   protected $node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Advanced search form',
-      'description' => 'Indexes content and tests the advanced search form.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Create and login user.
diff --git a/core/modules/search/src/Tests/SearchBlockTest.php b/core/modules/search/src/Tests/SearchBlockTest.php
index 311f69af1853..d700df803e4f 100644
--- a/core/modules/search/src/Tests/SearchBlockTest.php
+++ b/core/modules/search/src/Tests/SearchBlockTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests the rendering of the search block.
+ * Tests if the search form block is available.
+ *
+ * @group search
  */
 class SearchBlockTest extends SearchTestBase {
 
@@ -19,14 +21,6 @@ class SearchBlockTest extends SearchTestBase {
    */
   public static $modules = array('block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Block availability',
-      'description' => 'Check if the search form block is available.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchCommentCountToggleTest.php b/core/modules/search/src/Tests/SearchCommentCountToggleTest.php
index 64c11719c245..4fdebaa0c40c 100644
--- a/core/modules/search/src/Tests/SearchCommentCountToggleTest.php
+++ b/core/modules/search/src/Tests/SearchCommentCountToggleTest.php
@@ -10,7 +10,7 @@
 use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
 
 /**
- * Tests that comment count display toggles properly on comment status of node
+ * Tests that comment count display toggles properly on comment status of node.
  *
  * Issue 537278
  *
@@ -18,6 +18,8 @@
  * - Nodes with comment status set to Closed should show comment counts
  *     only when there are comments
  * - Nodes with comment status set to Hidden should never show comment counts
+ *
+ * @group search
  */
 class SearchCommentCountToggleTest extends SearchTestBase {
 
@@ -31,14 +33,6 @@ class SearchCommentCountToggleTest extends SearchTestBase {
   protected $searching_user;
   protected $searchable_nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment count toggle',
-      'description' => 'Verify that comment count display toggles properly on comment status of node.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchCommentTest.php b/core/modules/search/src/Tests/SearchCommentTest.php
index c825d2a7566e..a918910195c0 100644
--- a/core/modules/search/src/Tests/SearchCommentTest.php
+++ b/core/modules/search/src/Tests/SearchCommentTest.php
@@ -12,7 +12,9 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Test integration searching comments.
+ * Tests integration searching comments.
+ *
+ * @group search
  */
 class SearchCommentTest extends SearchTestBase {
 
@@ -25,14 +27,6 @@ class SearchCommentTest extends SearchTestBase {
 
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Comment Search tests',
-      'description' => 'Test integration searching comments.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php b/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
index 0c7f541d1280..6e57d955f24c 100644
--- a/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
+++ b/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\search\Tests;
 
 /**
- * Test config page.
+ * Verify the search config settings form.
+ *
+ * @group search
  */
 class SearchConfigSettingsFormTest extends SearchTestBase {
 
@@ -33,14 +35,6 @@ class SearchConfigSettingsFormTest extends SearchTestBase {
    */
   public $search_node;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Config settings form',
-      'description' => 'Verify the search config settings form.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchEmbedFormTest.php b/core/modules/search/src/Tests/SearchEmbedFormTest.php
index 985eae1a2abf..9c3441abbb2b 100644
--- a/core/modules/search/src/Tests/SearchEmbedFormTest.php
+++ b/core/modules/search/src/Tests/SearchEmbedFormTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests that we can embed a form in search results and submit it.
+ * Verifies that a form embedded in search results works.
+ *
+ * @group search
  */
 class SearchEmbedFormTest extends SearchTestBase {
 
@@ -29,14 +31,6 @@ class SearchEmbedFormTest extends SearchTestBase {
    */
   public $submit_count = 0;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Embedded forms',
-      'description' => 'Verifies that a form embedded in search results works',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchExactTest.php b/core/modules/search/src/Tests/SearchExactTest.php
index 12d1b12c9e00..60855bb4ca44 100644
--- a/core/modules/search/src/Tests/SearchExactTest.php
+++ b/core/modules/search/src/Tests/SearchExactTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests that searching for a phrase gets the correct page count.
+ *
+ * @group search
  */
 class SearchExactTest extends SearchTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Search engine phrase queries',
-      'description' => 'Tests that searching for a phrase gets the correct page count.',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * Tests that the correct number of pager links are found for both keywords and phrases.
    */
diff --git a/core/modules/search/src/Tests/SearchExcerptTest.php b/core/modules/search/src/Tests/SearchExcerptTest.php
index ff7eaeb8b0d6..257b9b8ccef2 100644
--- a/core/modules/search/src/Tests/SearchExcerptTest.php
+++ b/core/modules/search/src/Tests/SearchExcerptTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the search_excerpt() function.
+ *
+ * @group search
  */
 class SearchExcerptTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class SearchExcerptTest extends WebTestBase {
    */
   public static $modules = array('search', 'search_langcode_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search excerpt extraction',
-      'description' => 'Tests that the search_excerpt() function works.',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * Tests search_excerpt() with several simulated search keywords.
    *
diff --git a/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php b/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php
index ea15f9e39009..d1217cfce3a7 100644
--- a/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php
+++ b/core/modules/search/src/Tests/SearchKeywordsConditionsTest.php
@@ -8,11 +8,13 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests the searching without keywords.
+ * Verify the search without keywords set and extra conditions.
  *
  * Verifies that a plugin can override the isSearchExecutable() method to allow
  * searching without keywords set and that GET query parameters are made
  * available to plugins during search execution.
+ *
+ * @group search
  */
 class SearchKeywordsConditionsTest extends SearchTestBase {
 
@@ -23,14 +25,6 @@ class SearchKeywordsConditionsTest extends SearchTestBase {
    */
   public static $modules = array('comment', 'search_extra_type');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Keywords and conditions',
-      'description' => 'Verify the search without keywords set and extra conditions.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchLanguageTest.php b/core/modules/search/src/Tests/SearchLanguageTest.php
index ffcf33d67782..afa774b65a44 100644
--- a/core/modules/search/src/Tests/SearchLanguageTest.php
+++ b/core/modules/search/src/Tests/SearchLanguageTest.php
@@ -11,7 +11,9 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Test node search with multiple languages.
+ * Tests advanced search with different languages added.
+ *
+ * @group search
  */
 class SearchLanguageTest extends SearchTestBase {
 
@@ -22,14 +24,6 @@ class SearchLanguageTest extends SearchTestBase {
    */
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search language selection',
-      'description' => 'Tests advanced search with different languages added.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchMatchTest.php b/core/modules/search/src/Tests/SearchMatchTest.php
index 14ea0247f896..66ec5b137879 100644
--- a/core/modules/search/src/Tests/SearchMatchTest.php
+++ b/core/modules/search/src/Tests/SearchMatchTest.php
@@ -17,16 +17,10 @@
 
 /**
  * Indexes content and queries it.
+ *
+ * @group search
  */
 class SearchMatchTest extends SearchTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Search engine queries',
-      'description' => 'Indexes content and queries it.',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * Test search indexing.
    */
diff --git a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php b/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
index 54f21a44875c..af98aedf554a 100644
--- a/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
+++ b/core/modules/search/src/Tests/SearchMultilingualEntityTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests entities with multilingual fields.
+ *
+ * @group search
  */
 class SearchMultilingualEntityTest extends SearchTestBase {
 
@@ -31,14 +33,6 @@ class SearchMultilingualEntityTest extends SearchTestBase {
 
   public static $modules = array('language', 'locale', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multilingual entities',
-      'description' => 'Tests entities with multilingual fields.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchNodePunctuationTest.php b/core/modules/search/src/Tests/SearchNodePunctuationTest.php
index 863fc192e1dd..479138e47113 100644
--- a/core/modules/search/src/Tests/SearchNodePunctuationTest.php
+++ b/core/modules/search/src/Tests/SearchNodePunctuationTest.php
@@ -8,20 +8,14 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests node search with punctuation.
+ * Tests search functionality with punctuation.
+ *
+ * @group search
  */
 class SearchNodePunctuationTest extends SearchTestBase {
 
   public $test_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search with punctuation',
-      'description' => 'Tests search functionality with punctuation.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     node_access_rebuild();
diff --git a/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php b/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
index b03b1c83c413..c8e6405fb236 100644
--- a/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
+++ b/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
@@ -7,7 +7,9 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests search index info is updated properly on node updates / deletions.
+ * Tests search index is updated properly when nodes are removed or updated.
+ *
+ * @group search
  */
 class SearchNodeUpdateAndDeletionTest extends SearchTestBase {
 
@@ -20,14 +22,6 @@ class SearchNodeUpdateAndDeletionTest extends SearchTestBase {
 
   public $test_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search index synchronization on node updating / removal',
-      'description' => 'Tests search index is updated properly when nodes are removed or updated.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchNumberMatchingTest.php b/core/modules/search/src/Tests/SearchNumberMatchingTest.php
index 65d2bfdaff0d..b63b97b045d7 100644
--- a/core/modules/search/src/Tests/SearchNumberMatchingTest.php
+++ b/core/modules/search/src/Tests/SearchNumberMatchingTest.php
@@ -10,21 +10,15 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests that various number formats match each other in searching.
+ * Tests that numbers can be searched with more complex matching.
+ *
+ * @group search
  */
 class SearchNumberMatchingTest extends SearchTestBase {
   protected $test_user;
   protected $numbers;
   protected $nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search number matching',
-      'description' => 'Check that numbers can be searched with more complex matching',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchNumbersTest.php b/core/modules/search/src/Tests/SearchNumbersTest.php
index 41a41aeca241..8b0b27f22807 100644
--- a/core/modules/search/src/Tests/SearchNumbersTest.php
+++ b/core/modules/search/src/Tests/SearchNumbersTest.php
@@ -10,21 +10,15 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests that numbers with different formats can be searched.
+ * Tests that numbers can be searched.
+ *
+ * @group search
  */
 class SearchNumbersTest extends SearchTestBase {
   protected $test_user;
   protected $numbers;
   protected $nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search numbers',
-      'description' => 'Check that numbers can be searched',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchPageCacheTagsTest.php b/core/modules/search/src/Tests/SearchPageCacheTagsTest.php
index 2478e66ab999..db92e4f23a30 100644
--- a/core/modules/search/src/Tests/SearchPageCacheTagsTest.php
+++ b/core/modules/search/src/Tests/SearchPageCacheTagsTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the search_page entity cache tags on the search results pages.
+ *
+ * @group search
  */
 class SearchPageCacheTagsTest extends SearchTestBase {
 
@@ -16,14 +18,6 @@ class SearchPageCacheTagsTest extends SearchTestBase {
 
   protected $searching_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search page cache tags',
-      'description' => 'Tests the presence of the SearchPage entity\'s cache tags on the search results pages.',
-      'group' => 'Search'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchPageOverrideTest.php b/core/modules/search/src/Tests/SearchPageOverrideTest.php
index 8a313f22e3dc..3855eb2ef94a 100644
--- a/core/modules/search/src/Tests/SearchPageOverrideTest.php
+++ b/core/modules/search/src/Tests/SearchPageOverrideTest.php
@@ -12,6 +12,8 @@
  *
  * Verifies that a plugin can override the buildResults() method to
  * control what the search results page looks like.
+ *
+ * @group search
  */
 class SearchPageOverrideTest extends SearchTestBase {
 
@@ -24,14 +26,6 @@ class SearchPageOverrideTest extends SearchTestBase {
 
   public $search_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search page override',
-      'description' => 'Verifies that the result page can be overridden.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchPageTextTest.php b/core/modules/search/src/Tests/SearchPageTextTest.php
index 7d65e6f985bc..901751a76e53 100644
--- a/core/modules/search/src/Tests/SearchPageTextTest.php
+++ b/core/modules/search/src/Tests/SearchPageTextTest.php
@@ -9,18 +9,12 @@
 
 /**
  * Tests the bike shed text on no results page, and text on the search page.
+ *
+ * @group search
  */
 class SearchPageTextTest extends SearchTestBase {
   protected $searching_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search page text',
-      'description' => 'Tests the bike shed text on the no results page, and various other text on search pages.',
-      'group' => 'Search'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchPreprocessLangcodeTest.php b/core/modules/search/src/Tests/SearchPreprocessLangcodeTest.php
index 6e9951b6d855..bddabc603d2e 100644
--- a/core/modules/search/src/Tests/SearchPreprocessLangcodeTest.php
+++ b/core/modules/search/src/Tests/SearchPreprocessLangcodeTest.php
@@ -8,6 +8,8 @@
 
 /**
  * Tests that the search prepocessing uses the correct language code.
+ *
+ * @group search
  */
 class SearchPreprocessLangcodeTest extends SearchTestBase {
 
@@ -18,14 +20,6 @@ class SearchPreprocessLangcodeTest extends SearchTestBase {
    */
   public static $modules = array('search_langcode_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search preprocess langcode',
-      'description' => 'Tests that the search prepocessing uses the correct language code.',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchQueryAlterTest.php b/core/modules/search/src/Tests/SearchQueryAlterTest.php
index 1e29749a90d6..b1811a22cecf 100644
--- a/core/modules/search/src/Tests/SearchQueryAlterTest.php
+++ b/core/modules/search/src/Tests/SearchQueryAlterTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests that the node search query can be altered via the query alter hook.
+ *
+ * @group search
  */
 class SearchQueryAlterTest extends SearchTestBase {
   /**
@@ -18,14 +20,6 @@ class SearchQueryAlterTest extends SearchTestBase {
    */
   public static $modules = array('search_query_alter');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search query alter',
-      'description' => 'Tests that the node search query can be altered via the query alter hook.',
-      'group' => 'Search'
-    );
-  }
-
   /**
    * Tests that the query alter works.
    */
diff --git a/core/modules/search/src/Tests/SearchRankingTest.php b/core/modules/search/src/Tests/SearchRankingTest.php
index 48410d66f276..92d218cdea19 100644
--- a/core/modules/search/src/Tests/SearchRankingTest.php
+++ b/core/modules/search/src/Tests/SearchRankingTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Indexes content and tests ranking factors.
+ *
+ * @group search
  */
 class SearchRankingTest extends SearchTestBase {
 
@@ -28,14 +30,6 @@ class SearchRankingTest extends SearchTestBase {
    */
   public static $modules = array('statistics', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search engine ranking',
-      'description' => 'Indexes content and tests ranking factors.',
-      'group' => 'Search',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchSetLocaleTest.php b/core/modules/search/src/Tests/SearchSetLocaleTest.php
index 6e58b8fced2d..dacc1819a11e 100644
--- a/core/modules/search/src/Tests/SearchSetLocaleTest.php
+++ b/core/modules/search/src/Tests/SearchSetLocaleTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\search\Tests;
 
 /**
- * Tests searching with locale values set.
+ * Tests that search works with numeric locale settings.
+ *
+ * @group search
  */
 class SearchSetLocaleTest extends SearchTestBase {
 
@@ -26,14 +28,6 @@ class SearchSetLocaleTest extends SearchTestBase {
    */
   protected $nodeSearchPlugin;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Search with numeric locale set',
-      'description' => 'Check that search works with numeric locale settings',
-      'group' => 'Search',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/search/src/Tests/SearchSimplifyTest.php b/core/modules/search/src/Tests/SearchSimplifyTest.php
index 5b1e5d4abe0d..a850750f3734 100644
--- a/core/modules/search/src/Tests/SearchSimplifyTest.php
+++ b/core/modules/search/src/Tests/SearchSimplifyTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\search\Tests;
 
 /**
- * Test search_simplify() on every Unicode character, and some other cases.
+ * Tests that the search_simply() function works as intended.
+ *
+ * @group search
  */
 class SearchSimplifyTest extends SearchTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Search simplify',
-      'description' => 'Check that the search_simply() function works as intended.',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * Tests that all Unicode characters simplify correctly.
    */
diff --git a/core/modules/search/src/Tests/SearchTokenizerTest.php b/core/modules/search/src/Tests/SearchTokenizerTest.php
index 361cebfcf181..360bc70060ce 100644
--- a/core/modules/search/src/Tests/SearchTokenizerTest.php
+++ b/core/modules/search/src/Tests/SearchTokenizerTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\search\Tests;
 
 /**
- * Test the CJK tokenizer.
+ * Tests that CJK tokenizer works as intended.
+ *
+ * @group search
  */
 class SearchTokenizerTest extends SearchTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'CJK tokenizer',
-      'description' => 'Check that CJK tokenizer works as intended.',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * Verifies that strings of CJK characters are tokenized.
    *
diff --git a/core/modules/search/tests/src/SearchPageRepositoryTest.php b/core/modules/search/tests/src/SearchPageRepositoryTest.php
index 334f995e856b..fb7d17963ca8 100644
--- a/core/modules/search/tests/src/SearchPageRepositoryTest.php
+++ b/core/modules/search/tests/src/SearchPageRepositoryTest.php
@@ -12,12 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the search page repository.
- *
- * @see \Drupal\search\SearchPageRepository
- *
- * @group Drupal
- * @group Search
+ * @coversDefaultClass \Drupal\search\SearchPageRepository
+ * @group search
  */
 class SearchPageRepositoryTest extends UnitTestCase {
 
@@ -49,17 +45,6 @@ class SearchPageRepositoryTest extends UnitTestCase {
    */
   protected $configFactory;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Search page repository test',
-      'description' => 'Tests methods on the \Drupal\search\SearchPageRepository class',
-      'group' => 'Search',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/search/tests/src/SearchPluginBagTest.php b/core/modules/search/tests/src/SearchPluginBagTest.php
index c2cf9af51dbd..3ac5c425f1a9 100644
--- a/core/modules/search/tests/src/SearchPluginBagTest.php
+++ b/core/modules/search/tests/src/SearchPluginBagTest.php
@@ -11,12 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the search plugin bag.
- *
- * @see \Drupal\search\Plugin\SearchPluginBag
- *
- * @group Drupal
- * @group Search
+ * @coversDefaultClass \Drupal\search\Plugin\SearchPluginBag
+ * @group search
  */
 class SearchPluginBagTest extends UnitTestCase {
 
@@ -41,16 +37,6 @@ class SearchPluginBagTest extends UnitTestCase {
    */
   protected $pluginInstances;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Search plugin bag test',
-      'description' => 'Tests the \Drupal\search\Plugin\SearchPluginBag class',
-      'group' => 'Search',
-    );
-  }
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/serialization/src/Tests/EntityResolverTest.php b/core/modules/serialization/src/Tests/EntityResolverTest.php
index 3f4d0dd222bc..3162b4c294b3 100644
--- a/core/modules/serialization/src/Tests/EntityResolverTest.php
+++ b/core/modules/serialization/src/Tests/EntityResolverTest.php
@@ -7,7 +7,9 @@
 namespace Drupal\serialization\Tests;
 
 /**
- * Tests the entity reference resolver.
+ * Tests that entities references can be resolved.
+ *
+ * @group serialization
  */
 class EntityResolverTest extends NormalizerTestBase {
 
@@ -25,14 +27,6 @@ class EntityResolverTest extends NormalizerTestBase {
    */
   protected $format = 'hal_json';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity resolver tests',
-      'description' => 'Tests that entities references can be resolved.',
-      'group' => 'Serialization',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/serialization/src/Tests/EntitySerializationTest.php b/core/modules/serialization/src/Tests/EntitySerializationTest.php
index fc01ced7da91..8a9158932bb1 100644
--- a/core/modules/serialization/src/Tests/EntitySerializationTest.php
+++ b/core/modules/serialization/src/Tests/EntitySerializationTest.php
@@ -11,7 +11,9 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests entity normalization and serialization of supported core formats.
+ * Tests that entities can be serialized to supported core formats.
+ *
+ * @group serialization
  */
 class EntitySerializationTest extends NormalizerTestBase {
 
@@ -43,14 +45,6 @@ class EntitySerializationTest extends NormalizerTestBase {
    */
   protected $entityClass = 'Drupal\entity_test\Entity\EntityTest';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity serialization tests',
-      'description' => 'Tests that entities can be serialized to supported core formats.',
-      'group' => 'Serialization',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/serialization/src/Tests/SerializationTest.php b/core/modules/serialization/src/Tests/SerializationTest.php
index 10c500c78478..772999c70497 100644
--- a/core/modules/serialization/src/Tests/SerializationTest.php
+++ b/core/modules/serialization/src/Tests/SerializationTest.php
@@ -11,7 +11,9 @@
 use Symfony\Component\Serializer\Exception\UnexpectedValueException;
 
 /**
- * Tests generic registration of module provided normalizers and encoders.
+ * Funtional tests for serialization system.
+ *
+ * @group serialization
  */
 class SerializationTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class SerializationTest extends DrupalUnitTestBase {
    */
   protected $serializer;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Serialization tests',
-      'description' => 'Funtional tests for serialization system.',
-      'group' => 'Serialization',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->serializer = $this->container->get('serializer');
diff --git a/core/modules/serialization/tests/src/Encoder/JsonEncoderTest.php b/core/modules/serialization/tests/src/Encoder/JsonEncoderTest.php
index f4dcc1b4bdb5..7878dc364ede 100644
--- a/core/modules/serialization/tests/src/Encoder/JsonEncoderTest.php
+++ b/core/modules/serialization/tests/src/Encoder/JsonEncoderTest.php
@@ -11,20 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the JsonEncoder class.
- *
- * @see \Drupal\serialization\Encoder\JsonEncoder
+ * @coversDefaultClass \Drupal\serialization\Encoder\JsonEncoder
+ * @group serialization
  */
 class JsonEncoderTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'JsonEncoderTest',
-      'description' => 'Tests the JsonEncoder class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * Tests the supportsEncoding() method.
    */
diff --git a/core/modules/serialization/tests/src/Encoder/XmlEncoderTest.php b/core/modules/serialization/tests/src/Encoder/XmlEncoderTest.php
index eef24b978ab3..4af83ab70601 100644
--- a/core/modules/serialization/tests/src/Encoder/XmlEncoderTest.php
+++ b/core/modules/serialization/tests/src/Encoder/XmlEncoderTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the XmlEncoder class.
- *
- * @see \Drupal\serialization\Encoder\XmlEncoder
+ * @coversDefaultClass \Drupal\serialization\Encoder\XmlEncoder
+ * @group serialization
  */
 class XmlEncoderTest extends UnitTestCase {
 
@@ -36,14 +35,6 @@ class XmlEncoderTest extends UnitTestCase {
    */
   protected $testArray = array('test' => 'test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'XmlEncoderTest',
-      'description' => 'Tests the XmlEncoder class.',
-      'group' => 'Serialization',
-    );
-  }
-
   public function setUp() {
     $this->baseEncoder = $this->getMock('Symfony\Component\Serializer\Encoder\XmlEncoder');
     $this->encoder = new XmlEncoder();
diff --git a/core/modules/serialization/tests/src/EntityResolver/ChainEntityResolverTest.php b/core/modules/serialization/tests/src/EntityResolver/ChainEntityResolverTest.php
index 5deda2f4d236..0f05311fc567 100644
--- a/core/modules/serialization/tests/src/EntityResolver/ChainEntityResolverTest.php
+++ b/core/modules/serialization/tests/src/EntityResolver/ChainEntityResolverTest.php
@@ -11,12 +11,8 @@
 use Drupal\serialization\EntityResolver\ChainEntityResolver;
 
 /**
- * Tests the ChainEntityResolver class.
- *
- * @see \Drupal\serialization\EntityResolver\ChainEntityResolver
- *
- * @group Drupal
- * @group Serialization
+ * @coversDefaultClass \Drupal\serialization\EntityResolver\ChainEntityResolver
+ * @group serialization
  */
 class ChainEntityResolverTest extends UnitTestCase {
 
@@ -41,17 +37,6 @@ class ChainEntityResolverTest extends UnitTestCase {
    */
   protected $testEntityType = 'test_type';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'ChainEntityResolver',
-      'description' => 'Tests the Drupal\serialization\EntityResolver\ChainEntityResolver class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/serialization/tests/src/EntityResolver/UuidResolverTest.php b/core/modules/serialization/tests/src/EntityResolver/UuidResolverTest.php
index 9d49dce20bb1..9430cf01fce8 100644
--- a/core/modules/serialization/tests/src/EntityResolver/UuidResolverTest.php
+++ b/core/modules/serialization/tests/src/EntityResolver/UuidResolverTest.php
@@ -11,12 +11,8 @@
 use Drupal\serialization\EntityResolver\UuidResolver;
 
 /**
- * Tests the UuidResolver class.
- *
- * @see \Drupal\serialization\EntityResolver\UuidResolver
- *
- * @group Drupal
- * @group Serialization
+ * @coversDefaultClass \Drupal\serialization\EntityResolver\UuidResolver
+ * @group serialization
  */
 class UuidResolverTest extends UnitTestCase {
 
@@ -34,17 +30,6 @@ class UuidResolverTest extends UnitTestCase {
    */
   protected $entityManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'UuidResolver',
-      'description' => 'Tests the UuidResolver class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/serialization/tests/src/Normalizer/ConfigEntityNormalizerTest.php b/core/modules/serialization/tests/src/Normalizer/ConfigEntityNormalizerTest.php
index 795ad6db7fa6..9670cc1b5507 100644
--- a/core/modules/serialization/tests/src/Normalizer/ConfigEntityNormalizerTest.php
+++ b/core/modules/serialization/tests/src/Normalizer/ConfigEntityNormalizerTest.php
@@ -11,25 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the ConfigEntityNormalizer class.
- *
- * @group Serialization
- *
  * @coversDefaultClass \Drupal\serialization\Normalizer\ConfigEntityNormalizer
+ * @group serialization
  */
 class ConfigEntityNormalizerTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'ConfigEntityNormalizer',
-      'description' => 'Tests the ConfigEntityNormalizer class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * Tests the normalize() method.
    *
diff --git a/core/modules/serialization/tests/src/Normalizer/EntityNormalizerTest.php b/core/modules/serialization/tests/src/Normalizer/EntityNormalizerTest.php
index 968ebfb28776..ace7d2e5aba3 100644
--- a/core/modules/serialization/tests/src/Normalizer/EntityNormalizerTest.php
+++ b/core/modules/serialization/tests/src/Normalizer/EntityNormalizerTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the EntityNormalizer class.
- *
  * @coversDefaultClass \Drupal\serialization\Normalizer\EntityNormalizer
+ * @group serialization
  */
 class EntityNormalizerTest extends UnitTestCase {
 
@@ -38,17 +37,6 @@ class EntityNormalizerTest extends UnitTestCase {
    */
   protected $entityNormalizer;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'ListNormalizer',
-      'description' => 'Tests the ListNormalizer class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/serialization/tests/src/Normalizer/ListNormalizerTest.php b/core/modules/serialization/tests/src/Normalizer/ListNormalizerTest.php
index 2462b4af8893..1a5afcc39723 100644
--- a/core/modules/serialization/tests/src/Normalizer/ListNormalizerTest.php
+++ b/core/modules/serialization/tests/src/Normalizer/ListNormalizerTest.php
@@ -13,12 +13,8 @@
 use Drupal\Core\TypedData\Plugin\DataType\ItemList;
 
 /**
- * Tests the ListNormalizer class.
- *
- * @see \Drupal\serialization\Normalizer\ListNormalizer
- *
- * @group Drupal
- * @group Serialization
+ * @coversDefaultClass \Drupal\serialization\Normalizer\ListNormalizer
+ * @group serialization
  */
 class ListNormalizerTest extends UnitTestCase {
 
@@ -43,14 +39,6 @@ class ListNormalizerTest extends UnitTestCase {
    */
   protected $expectedListValues = array('test', 'test', 'test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'ListNormalizer',
-      'description' => 'Tests the ListNormalizer class.',
-      'group' => 'Serialization',
-    );
-  }
-
   public function setUp() {
     // Mock the TypedDataManager to return a TypedDataInterface mock.
     $typed_data = $this->getMock('Drupal\Core\TypedData\TypedDataInterface');
diff --git a/core/modules/serialization/tests/src/Normalizer/NormalizerBaseTest.php b/core/modules/serialization/tests/src/Normalizer/NormalizerBaseTest.php
index f03755cb7b19..dbb67d95b5f0 100644
--- a/core/modules/serialization/tests/src/Normalizer/NormalizerBaseTest.php
+++ b/core/modules/serialization/tests/src/Normalizer/NormalizerBaseTest.php
@@ -11,25 +11,11 @@
 use Drupal\serialization\Normalizer\NormalizerBase;
 
 /**
- * Tests the NormalizerBase class.
- *
- * @see \Drupal\serialization\Normalizer\NormalizerBase
- *
- * @group Serialization
+ * @coversDefaultClass \Drupal\serialization\Normalizer\NormalizerBase
+ * @group serialization
  */
 class NormalizerBaseTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'NormalizerBase',
-      'description' => 'Tests the abstract NormalizerBase class.',
-      'group' => 'Serialization',
-    );
-  }
-
   /**
    * Tests the supportsNormalization method.
    *
diff --git a/core/modules/serialization/tests/src/Normalizer/TypedDataNormalizerTest.php b/core/modules/serialization/tests/src/Normalizer/TypedDataNormalizerTest.php
index 3e1dafdbfdde..52f270208d5f 100644
--- a/core/modules/serialization/tests/src/Normalizer/TypedDataNormalizerTest.php
+++ b/core/modules/serialization/tests/src/Normalizer/TypedDataNormalizerTest.php
@@ -11,11 +11,8 @@
 use Drupal\serialization\Normalizer\TypedDataNormalizer;
 
 /**
- * Tests the TypedDataNormalizer class.
- *
- * @see \Drupal\serialization\Normalizer\TypedDataNormalizer
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\serialization\Normalizer\TypedDataNormalizer
+ * @group serialization
  */
 class TypedDataNormalizerTest extends UnitTestCase {
 
@@ -33,14 +30,6 @@ class TypedDataNormalizerTest extends UnitTestCase {
    */
   protected $typedData;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'TypedDataNormalizer',
-      'description' => 'Tests the TypedDataNormalizer class.',
-      'group' => 'Serialization',
-    );
-  }
-
   public function setUp() {
     $this->normalizer = new TypedDataNormalizer();
     $this->typedData = $this->getMock('Drupal\Core\TypedData\TypedDataInterface');
diff --git a/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php b/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php
index 3188e0a91e07..780bca80d08a 100644
--- a/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php
+++ b/core/modules/shortcut/src/Tests/ShortcutCacheTagsTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Shortcut entity's cache tags.
+ *
+ * @group shortcut
  */
 class ShortcutCacheTagsTest extends EntityCacheTagsTestBase {
 
@@ -20,13 +22,6 @@ class ShortcutCacheTagsTest extends EntityCacheTagsTestBase {
    */
   public static $modules = array('shortcut');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('Shortcut link', 'Shortcut');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/shortcut/src/Tests/ShortcutLinksTest.php b/core/modules/shortcut/src/Tests/ShortcutLinksTest.php
index abc017e01a00..2b65d21ad6d9 100644
--- a/core/modules/shortcut/src/Tests/ShortcutLinksTest.php
+++ b/core/modules/shortcut/src/Tests/ShortcutLinksTest.php
@@ -10,7 +10,9 @@
 use Drupal\shortcut\Entity\ShortcutSet;
 
 /**
- * Defines shortcut links test cases.
+ * Create, view, edit, delete, and change shortcut links.
+ *
+ * @group shortcut
  */
 class ShortcutLinksTest extends ShortcutTestBase {
 
@@ -21,14 +23,6 @@ class ShortcutLinksTest extends ShortcutTestBase {
    */
   public static $modules = array('router_test', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Shortcut link functionality',
-      'description' => 'Create, view, edit, delete, and change shortcut links.',
-      'group' => 'Shortcut',
-    );
-  }
-
   /**
    * Tests that creating a shortcut works properly.
    */
diff --git a/core/modules/shortcut/src/Tests/ShortcutSetsTest.php b/core/modules/shortcut/src/Tests/ShortcutSetsTest.php
index c17316d2bdad..c4c26c7c6005 100644
--- a/core/modules/shortcut/src/Tests/ShortcutSetsTest.php
+++ b/core/modules/shortcut/src/Tests/ShortcutSetsTest.php
@@ -9,18 +9,12 @@
 use Drupal\shortcut\Entity\ShortcutSet;
 
 /**
- * Defines shortcut set test cases.
+ * Create, view, edit, delete, and change shortcut sets.
+ *
+ * @group shortcut
  */
 class ShortcutSetsTest extends ShortcutTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Shortcut set functionality',
-      'description' => 'Create, view, edit, delete, and change shortcut sets.',
-      'group' => 'Shortcut',
-    );
-  }
-
   /**
    * Tests creating a shortcut set.
    */
diff --git a/core/modules/shortcut/tests/src/Menu/ShortcutLocalTasksTest.php b/core/modules/shortcut/tests/src/Menu/ShortcutLocalTasksTest.php
index 25c0a8fa4e1b..f99f0e0d7fd3 100644
--- a/core/modules/shortcut/tests/src/Menu/ShortcutLocalTasksTest.php
+++ b/core/modules/shortcut/tests/src/Menu/ShortcutLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of shortcut local tasks.
  *
- * @group Drupal
- * @group Shortcut
+ * @group shortcut
  */
 class ShortcutLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Shortcut local tasks test',
-      'description' => 'Test shortcut local tasks.',
-      'group' => 'Shortcut',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array(
       'shortcut' => 'core/modules/shortcut',
diff --git a/core/modules/simpletest/css/simpletest.module.css b/core/modules/simpletest/css/simpletest.module.css
index 611cc4a92b22..71f7eea132b1 100644
--- a/core/modules/simpletest/css/simpletest.module.css
+++ b/core/modules/simpletest/css/simpletest.module.css
@@ -4,7 +4,7 @@
   width: 1em;
 }
 th.simpletest-test-label {
-  width: 16em;
+  width: 40%;
 }
 
 .simpletest-image {
diff --git a/core/modules/simpletest/simpletest.api.php b/core/modules/simpletest/simpletest.api.php
index dad9a397806d..e5251b78bc9f 100644
--- a/core/modules/simpletest/simpletest.api.php
+++ b/core/modules/simpletest/simpletest.api.php
@@ -14,9 +14,9 @@
  * Alter the list of tests.
  *
  * @param $groups
- *   A two dimension array, the first key is the test group (as defined in
- *   getInfo) the second is the name of the class and the value is the return
- *   value of the getInfo method.
+ *   A two dimensional array, the first key is the test group, the second is the
+ *   name of the test class, and the value is in associative array containing
+ *   'name', 'description', 'group', and 'requires' keys.
  */
 function hook_simpletest_alter(&$groups) {
   // An alternative session handler module would not want to run the original
diff --git a/core/modules/simpletest/simpletest.module b/core/modules/simpletest/simpletest.module
index 1b1a71c96211..1144e9de322e 100644
--- a/core/modules/simpletest/simpletest.module
+++ b/core/modules/simpletest/simpletest.module
@@ -6,6 +6,7 @@
 use Drupal\Core\Render\Element;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\simpletest\TestBase;
+use Drupal\simpletest\TestDiscovery;
 use Symfony\Component\Process\PhpExecutableFinder;
 
 /**
@@ -129,40 +130,34 @@ function _simpletest_format_summary_line($summary) {
  *
  * @param $test_list
  *   List of tests to run.
- * @param $reporter
- *   Which reporter to use. Allowed values are: text, xml, html and drupal,
- *   drupal being the default.
  *
  * @return string
  *   The test ID.
  */
-function simpletest_run_tests($test_list, $reporter = 'drupal') {
+function simpletest_run_tests($test_list) {
   $test_id = db_insert('simpletest_test_id')
     ->useDefaults(array('test_id'))
     ->execute();
 
-  $phpunit_tests = isset($test_list['UnitTest']) ? $test_list['UnitTest'] : array();
-  if ($phpunit_tests) {
+  if (!empty($test_list['phpunit'])) {
     $phpunit_results = simpletest_run_phpunit_tests($test_id, $phpunit_tests);
     simpletest_process_phpunit_results($phpunit_results);
   }
 
-  if (!array_key_exists('WebTest', $test_list) || empty($test_list['WebTest'])) {
-    // Early return if there are no WebTests to run.
+  // Early return if there are no further tests to run.
+  if (empty($test_list['simpletest'])) {
     return $test_id;
   }
 
-  // Contine with SimpleTests only.
-  $test_list = $test_list['WebTest'];
+  // Continue with SimpleTests only.
+  $test_list = $test_list['simpletest'];
 
   // Clear out the previous verbose files.
   file_unmanaged_delete_recursive('public://simpletest/verbose');
 
   // Get the info for the first test being run.
-  $first_test = array_shift($test_list);
-  $first_instance = new $first_test();
-  array_unshift($test_list, $first_test);
-  $info = $first_instance->getInfo();
+  $first_test = reset($test_list);
+  $info = TestDiscovery::getTestInfo(new \ReflectionClass($first_test));
 
   $batch = array(
     'title' => t('Running tests'),
@@ -336,7 +331,7 @@ function _simpletest_batch_operation($test_list_init, $test_id, &$context) {
   $test = new $test_class($test_id);
   $test->run();
   $size = count($test_list);
-  $info = $test->getInfo();
+  $info = TestDiscovery::getTestInfo(new \ReflectionClass($test));
 
   \Drupal::moduleHandler()->invokeAll('test_finished', array($test->results));
 
@@ -472,8 +467,8 @@ function simpletest_log_read($test_id, $database_prefix, $test_class) {
  *   returned.
  *
  * @return array[]
- *   An array of tests keyed with the groups specified in each of the tests'
- *   getInfo() methods and then keyed by the test classes. For example:
+ *   An array of tests keyed with the groups, and then keyed by test classes.
+ *   For example:
  *   @code
  *     $groups['Block'] => array(
  *       'BlockTestCase' => array(
@@ -485,159 +480,14 @@ function simpletest_log_read($test_id, $database_prefix, $test_class) {
  *   @endcode
  */
 function simpletest_test_get_all($module = NULL) {
-  static $all_groups = array();
-  $cid = "simpletest:$module";
-
-  if (!isset($all_groups[$cid])) {
-    $all_groups[$cid] = array();
-    $groups = &$all_groups[$cid];
-    // Register namespaces (extensions are not necessarily enabled).
-    simpletest_classloader_register();
-
-    // Load test information from cache if available, otherwise retrieve the
-    // information from each tests getInfo() method.
-    if ($cache = \Drupal::cache()->get($cid)) {
-      $groups = $cache->data;
-    }
-    else {
-      // Select all PSR-0 classes in the Tests namespace of all modules.
-      $listing = new ExtensionDiscovery();
-      // Ensure that tests in all profiles are discovered.
-      $listing->setProfileDirectories(array());
-      $all_data = $listing->scan('module', TRUE);
-      // If module is set then we keep only that one module.
-      if (isset($module)) {
-        $all_data = array(
-          $module => $all_data[$module],
-        );
-      }
-      else {
-        $all_data += $listing->scan('profile', TRUE);
-        $all_data += $listing->scan('theme', TRUE);
-      }
-
-      // Scan all extension folders for class files.
-      $classes = array();
-      foreach ($all_data as $name => $data) {
-
-        // Build the directory in which simpletest test classes would reside.
-        $tests_dir = DRUPAL_ROOT . '/' . $data->getPath() . '/src/Tests';
-
-        // Check if the directory exists.
-        if (!is_dir($tests_dir)) {
-          // This extension has no directory for simpletest cases.
-          continue;
-        }
-
-        // Scan the directory for class files.
-        $files = file_scan_directory($tests_dir, '/\.php$/');
-        if (empty($files)) {
-          // No class files found.
-          continue;
-        }
-
-        // Convert the file names into the namespaced class names.
-        $strlen = strlen($tests_dir) + 1;
-        $namespace = 'Drupal\\' . $name . '\Tests\\';
-        foreach ($files as $file) {
-          $classes[] = $namespace . str_replace('/', '\\', substr($file->uri, $strlen, -4));
-        }
-      }
-
-      // Check that each class has a getInfo() method and store the information
-      // in an array keyed with the group specified in the test information.
-      $groups = array();
-      foreach ($classes as $class) {
-        // Test classes need to implement getInfo() to be valid.
-        if (class_exists($class) && method_exists($class, 'getInfo')) {
-          $reflectionClass = new ReflectionClass($class);
-          // Skip abstract classes and interfaces.
-          if ($reflectionClass->isInstantiable()) {
-            $reflectionMethod = new ReflectionMethod($class, 'getInfo');
-            $declaringClass = $reflectionMethod->getDeclaringClass()->getName();
-            // Avoid testing intermediate classes which do not implement the
-            // method.
-            if ($class == $declaringClass) {
-              $info = call_user_func(array($class, 'getInfo'));
-            }
-            else {
-              continue;
-            }
-          }
-          else {
-            continue;
-          }
-          // If this test class requires a non-existing module, skip it.
-          if (!empty($info['dependencies'])) {
-            foreach ($info['dependencies'] as $dependency) {
-              if (!isset($dependency_data[$dependency])) {
-                continue 2;
-              }
-            }
-          }
-
-          $groups[$info['group']][$class] = $info;
-        }
-      }
-
-      // Sort the groups and tests within the groups by name.
-      uksort($groups, 'strnatcasecmp');
-      foreach ($groups as &$tests) {
-        uksort($tests, 'strnatcasecmp');
-      }
-
-      // Allow modules extending core tests to disable originals.
-      \Drupal::moduleHandler()->alter('simpletest', $groups);
-      \Drupal::cache()->set($cid, $groups);
-    }
-  }
-  return $all_groups[$cid];
+  return \Drupal::service('test_discovery')->getTestClasses($module);
 }
 
 /**
  * Registers namespaces for disabled modules.
  */
 function simpletest_classloader_register() {
-  // Use the same cache prefix as simpletest_test_get_all().
-  $cid = "simpletest::all";
-  $types = array(
-    'theme_engine',
-    'module',
-    'theme',
-    'profile',
-  );
-
-  if ($cache = \Drupal::cache()->get($cid)) {
-    $extensions = $cache->data;
-  }
-  else {
-    $listing = new ExtensionDiscovery();
-    // Ensure that tests in all profiles are discovered.
-    $listing->setProfileDirectories(array());
-    $extensions = array();
-    foreach ($types as $type) {
-      foreach ($listing->scan($type, TRUE) as $name => $file) {
-        $extensions[$type][$name] = $file->getPathname();
-      }
-    }
-    \Drupal::cache()->set($cid, $extensions);
-  }
-
-  $classloader = drupal_classloader();
-  foreach ($types as $type) {
-    foreach ($extensions[$type] as $name => $uri) {
-      drupal_classloader_register($name, dirname($uri));
-      $classloader->addPsr4('Drupal\\' . $name . '\\Tests\\', array(
-        DRUPAL_ROOT . '/' . dirname($uri) . '/tests/Drupal/' . $name . '/Tests',
-        DRUPAL_ROOT . '/' . dirname($uri) . '/tests/src',
-      ));
-      // While being there, prime drupal_get_filename().
-      drupal_get_filename($type, $name, $uri);
-    }
-  }
-
-  // Register the core test directory so we can find \Drupal\UnitTestCase.
-  $classloader->add('Drupal\\Tests', DRUPAL_ROOT . '/core/tests');
+  \Drupal::service('test_discovery')->registerTestNamespaces();
 }
 
 /**
@@ -797,60 +647,6 @@ function simpletest_mail_alter(&$message) {
   }
 }
 
-/**
- * Gets PHPUnit classes.
- *
- * @param string $module
- *   Name of a module. If set then only tests belonging to this module is
- *   returned.
- *
- * @return array
- *   Returns an array of test classes.
- *
- * @throws \RuntimeException
- *   This is thrown when anything is wrong with a test.
- */
-function simpletest_phpunit_get_available_tests($module = NULL) {
-  // Try to load the class names array from cache.
-  $cid = 'simpletest_phpunit:' . $module;
-  if ($cache = \Drupal::cache()->get($cid)) {
-    $test_classes = $cache->data;
-  }
-  else {
-    if ($module) {
-      $prefix = 'Drupal\\' . $module . '\\';
-      $n = strlen($prefix);
-    }
-    // If there was no cached data available we have to find the tests.
-    // Load the PHPUnit configuration file, which tells us where to find the
-    // tests.
-    $phpunit_config = simpletest_phpunit_configuration_filepath();
-    $configuration = PHPUnit_Util_Configuration::getInstance($phpunit_config);
-    // Find all the tests and get a list of unique class names.
-    $test_suite = $configuration->getTestSuiteConfiguration(NULL);
-    $test_classes = array();
-    /** @var $test_suite \PHPUnit_Framework_TestSuite[] */
-    foreach ($test_suite as $test) {
-      // PHPUnit returns a warning message if something is wrong with a test,
-      // throw an exception to avoid an error when trying to call getInfo() on
-      // this.
-      if ($test instanceof PHPUnit_Framework_Warning) {
-        throw new RuntimeException($test->getMessage());
-      }
-
-      $name = $test->getName();
-      if (!array_key_exists($name, $test_classes) && (!$module || substr($name, 0, $n) == $prefix)) {
-        $test_classes[$name] = $name::getInfo();
-      }
-    }
-
-    // Since we have recalculated, we now need to store the new data into cache.
-    \Drupal::cache()->set($cid, $test_classes);
-  }
-
-  return $test_classes;
-}
-
 /**
  * Converts PHPUnit's JUnit XML output to an array.
  *
diff --git a/core/modules/simpletest/simpletest.services.yml b/core/modules/simpletest/simpletest.services.yml
new file mode 100644
index 000000000000..56d48ca9a452
--- /dev/null
+++ b/core/modules/simpletest/simpletest.services.yml
@@ -0,0 +1,4 @@
+services:
+  test_discovery:
+    class: Drupal\simpletest\TestDiscovery
+    arguments: ['@class_loader', '@?cache.discovery']
diff --git a/core/modules/simpletest/src/Form/SimpletestResultsForm.php b/core/modules/simpletest/src/Form/SimpletestResultsForm.php
index 7c55197e5595..3889ee19d5dc 100644
--- a/core/modules/simpletest/src/Form/SimpletestResultsForm.php
+++ b/core/modules/simpletest/src/Form/SimpletestResultsForm.php
@@ -9,6 +9,7 @@
 
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Form\FormBase;
+use Drupal\simpletest\TestDiscovery;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 
@@ -148,7 +149,7 @@ public function buildForm(array $form, array &$form_state, $test_id = NULL) {
     $form['result']['results'] = array();
     foreach ($results as $group => $assertions) {
       // Create group details with summary information.
-      $info = call_user_func(array($group, 'getInfo'));
+      $info = TestDiscovery::getTestInfo(new \ReflectionClass($group));
       $form['result']['results'][$group] = array(
         '#type' => 'details',
         '#title' => $info['name'],
diff --git a/core/modules/simpletest/src/Form/SimpletestTestForm.php b/core/modules/simpletest/src/Form/SimpletestTestForm.php
index e3876a5723e7..ab9b55e5ecd4 100644
--- a/core/modules/simpletest/src/Form/SimpletestTestForm.php
+++ b/core/modules/simpletest/src/Form/SimpletestTestForm.php
@@ -27,6 +27,20 @@ public function getFormId() {
    * {@inheritdoc}
    */
   public function buildForm(array $form, array &$form_state) {
+    $form['actions'] = array('#type' => 'actions');
+    $form['actions']['submit'] = array(
+      '#type' => 'submit',
+      '#value' => $this->t('Run tests'),
+      '#tableselect' => TRUE,
+      '#button_type' => 'primary',
+    );
+
+    // Do not needlessly re-execute a full test discovery if the user input
+    // already contains an explicit list of test classes to run.
+    if (!empty($form_state['input']['tests'])) {
+      return $form;
+    }
+
     // JavaScript-only table filters.
     $form['filters'] = array(
       '#type' => 'container',
@@ -96,9 +110,6 @@ public function buildForm(array $form, array &$form_state) {
 
     // Generate the list of tests arranged by group.
     $groups = simpletest_test_get_all();
-    $groups['PHPUnit'] = simpletest_phpunit_get_available_tests();
-    $form_state['storage']['PHPUnit'] = $groups['PHPUnit'];
-
     foreach ($groups as $group => $tests) {
       $form['tests'][$group] = array(
         '#attributes' => array('class' => array('simpletest-group')),
@@ -131,11 +142,6 @@ public function buildForm(array $form, array &$form_state) {
         ),
       );
 
-      // Sort test classes within group alphabetically by name/label.
-      uasort($tests, function ($a, $b) {
-        return SortArray::sortByKeyString($a, $b, 'name');
-      });
-
       // Cycle through each test within the current group.
       foreach ($tests as $class => $info) {
         $form['tests'][$class] = array(
@@ -150,10 +156,7 @@ public function buildForm(array $form, array &$form_state) {
         );
         $form['tests'][$class]['description'] = array(
           '#prefix' => '<div class="description">',
-          '#markup' => String::format('@description (@class)', array(
-            '@description' => $info['description'],
-            '@class' => $class,
-          )),
+          '#markup' => String::checkPlain($info['description']),
           '#suffix' => '</div>',
           '#wrapper_attributes' => array(
             'class' => array('simpletest-test-description', 'table-filter-text-source'),
@@ -162,15 +165,6 @@ public function buildForm(array $form, array &$form_state) {
       }
     }
 
-    // Action buttons.
-    $form['actions'] = array('#type' => 'actions');
-    $form['actions']['submit'] = array(
-      '#type' => 'submit',
-      '#value' => $this->t('Run tests'),
-      '#tableselect' => TRUE,
-      '#button_type' => 'primary',
-    );
-
     $form['clean'] = array(
       '#type' => 'fieldset',
       '#title' => $this->t('Clean test environment'),
@@ -190,16 +184,31 @@ public function buildForm(array $form, array &$form_state) {
    * {@inheritdoc}
    */
   public function submitForm(array &$form, array &$form_state) {
+    // Test discovery does not run upon form submission.
     simpletest_classloader_register();
 
-    $phpunit_all = array_keys($form_state['storage']['PHPUnit']);
+    // This form accepts arbitrary user input for 'tests'.
+    // An invalid value will cause the $class_name lookup below to die with a
+    // fatal error. Regular user access mechanisms to this form are intact.
+    // The only validation effectively being skipped is the validation of
+    // available checkboxes vs. submitted checkboxes.
+    // @todo Refactor Form API to allow to POST values without constructing the
+    //   entire form more easily, BUT retaining routing access security and
+    //   retaining Form API CSRF #token security validation, and without having
+    //   to rely on form caching.
+    if (empty($form_state['values']['tests']) && !empty($form_state['input']['tests'])) {
+      $form_state['values']['tests'] = $form_state['input']['tests'];
+    }
 
     $tests_list = array();
     foreach ($form_state['values']['tests'] as $class_name => $value) {
-      // Since class_exists() will likely trigger an autoload lookup,
-      // we do the fast check first.
-      if ($value === $class_name && class_exists($class_name)) {
-        $test_type = in_array($class_name, $phpunit_all) ? 'UnitTest' : 'WebTest';
+      if ($value === $class_name) {
+        if (is_subclass_of($class_name, 'PHPUnit_Framework_TestCase')) {
+          $test_type = 'phpunit';
+        }
+        else {
+          $test_type = 'simpletest';
+        }
         $tests_list[$test_type][] = $class_name;
       }
     }
diff --git a/core/modules/simpletest/src/TestBase.php b/core/modules/simpletest/src/TestBase.php
index dd583f542f85..a48cd6f97f1d 100644
--- a/core/modules/simpletest/src/TestBase.php
+++ b/core/modules/simpletest/src/TestBase.php
@@ -211,27 +211,6 @@ public function __construct($test_id = NULL) {
     $this->testId = $test_id;
   }
 
-  /**
-   * Provides meta information about this test case, such as test name.
-   *
-   * @return array
-   *   An array of untranslated strings with the following keys:
-   *   - name: An overview of what is tested by the class; for example, "User
-   *     access rules".
-   *   - description: One sentence describing the test, starting with a verb.
-   *   - group: The human-readable name of the module ("Node", "Statistics"), or
-   *     the human-readable name of the Drupal facility tested (e.g. "Form API"
-   *     or "XML-RPC").
-   */
-  public static function getInfo() {
-    // PHP does not allow us to declare this method as abstract public static,
-    // so we simply throw an exception here if this has not been implemented by
-    // a child class.
-    throw new \RuntimeException(String::format('@class must implement \Drupal\simpletest\TestBase::getInfo().', array(
-      '@class' => get_called_class(),
-    )));
-  }
-
   /**
    * Performs setup tasks before each individual test method is run.
    */
diff --git a/core/modules/simpletest/src/TestDiscovery.php b/core/modules/simpletest/src/TestDiscovery.php
new file mode 100644
index 000000000000..144e2a492fc3
--- /dev/null
+++ b/core/modules/simpletest/src/TestDiscovery.php
@@ -0,0 +1,453 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\simpletest\TestDiscovery.
+ */
+
+namespace Drupal\simpletest;
+
+use Composer\Autoload\ClassLoader;
+use Drupal\Core\Cache\CacheBackendInterface;
+use Drupal\Core\Extension\Extension;
+use Drupal\Core\Extension\ExtensionDiscovery;
+use PHPUnit_Util_Test;
+
+/**
+ * Discovers available tests.
+ */
+class TestDiscovery {
+
+  /**
+   * The class loader.
+   *
+   * @var \Composer\Autoload\ClassLoader
+   */
+  protected $classLoader;
+
+  /**
+   * Backend for caching discovery results.
+   *
+   * @var \Drupal\Core\Cache\CacheBackendInterface
+   */
+  protected $cacheBackend;
+
+  /**
+   * Cached map of all test namespaces to respective directories.
+   *
+   * @var array
+   */
+  protected $testNamespaces;
+
+  /**
+   * Cached list of all available extension names, keyed by extension type.
+   *
+   * @var array
+   */
+  protected $availableExtensions;
+
+  /**
+   * Constructs a new test discovery.
+   *
+   * @param \Composer\Autoload\ClassLoader $class_loader
+   *   The class loader.
+   * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend
+   *   (optional) Backend for caching discovery results.
+   */
+  public function __construct(ClassLoader $class_loader, CacheBackendInterface $cache_backend = NULL) {
+    $this->classLoader = $class_loader;
+    $this->cacheBackend = $cache_backend;
+  }
+
+  /**
+   * Registers test namespaces of all available extensions.
+   *
+   * @return array
+   *   An associative array whose keys are PSR-4 namespace prefixes and whose
+   *   values are directory names.
+   */
+  public function registerTestNamespaces() {
+    if (isset($this->testNamespaces)) {
+      return $this->testNamespaces;
+    }
+    $this->testNamespaces = array();
+
+    $existing = $this->classLoader->getPrefixesPsr4();
+
+    // Add PHPUnit test namespace of Drupal core.
+    $this->testNamespaces['Drupal\\Tests\\'] = [DRUPAL_ROOT . '/core/tests/Drupal/Tests'];
+
+    $this->availableExtensions = array();
+    foreach ($this->getExtensions() as $name => $extension) {
+      $this->availableExtensions[$extension->getType()][$name] = $name;
+
+      $base_namespace = "Drupal\\$name\\";
+      $base_path = DRUPAL_ROOT . '/' . $extension->getPath();
+
+      // Add namespace of disabled/uninstalled extensions.
+      if (!isset($existing[$base_namespace])) {
+        $this->classLoader->addPsr4($base_namespace, "$base_path/src");
+      }
+      // Add Simpletest test namespace.
+      $this->testNamespaces[$base_namespace . 'Tests\\'][] = "$base_path/src/Tests";
+
+      // Add PHPUnit test namespace.
+      // @todo Move PHPUnit namespace of extensions into Drupal\Tests\$name.
+      // @see https://www.drupal.org/node/2260121
+      $this->testNamespaces[$base_namespace . 'Tests\\'][] = "$base_path/tests/src";
+    }
+
+    foreach ($this->testNamespaces as $prefix => $paths) {
+      $this->classLoader->addPsr4($prefix, $paths);
+    }
+
+    return $this->testNamespaces;
+  }
+
+  /**
+   * Discovers all available tests in all extensions.
+   *
+   * @param string $extension
+   *   (optional) The name of an extension to limit discovery to; e.g., 'node'.
+   *
+   * @return array
+   *   An array of tests keyed by the first @group specified in each test's
+   *   PHPDoc comment block, and then keyed by class names. For example:
+   *   @code
+   *     $groups['block'] => array(
+   *       'Drupal\block\Tests\BlockTest' => array(
+   *         'name' => 'Drupal\block\Tests\BlockTest',
+   *         'description' => 'Tests block UI CRUD functionality.',
+   *         'group' => 'block',
+   *       ),
+   *     );
+   *   @endcode
+   *
+   * @throws \ReflectionException
+   *   If a discovered test class does not match the expected class name.
+   *
+   * @todo Remove singular grouping; retain list of groups in 'group' key.
+   * @see https://www.drupal.org/node/2296615
+   * @todo Add base class groups 'Kernel' + 'Web', complementing 'PHPUnit'.
+   */
+  public function getTestClasses($extension = NULL) {
+    if (!isset($extension)) {
+      if ($this->cacheBackend && $cache = $this->cacheBackend->get('simpletest:discovery:classes')) {
+        return $cache->data;
+      }
+    }
+    $list = array();
+
+    $classmap = $this->findAllClassFiles($extension);
+
+    // Prevent expensive class loader lookups for each reflected test class by
+    // registering the complete classmap of test classes to the class loader.
+    // This also ensures that test classes are loaded from the discovered
+    // pathnames; a namespace/classname mismatch will throw an exception.
+    $this->classLoader->addClassMap($classmap);
+
+    foreach ($classmap as $classname => $pathname) {
+      try {
+        $class = new \ReflectionClass($classname);
+      }
+      catch (\ReflectionException $e) {
+        // Re-throw with expected pathname.
+        $message = $e->getMessage() . " in expected $pathname";
+        throw new \ReflectionException($message, $e->getCode(), $e);
+      }
+      // Skip interfaces, abstract classes, and traits.
+      if (!$class->isInstantiable()) {
+        continue;
+      }
+      // Skip non-test classes.
+      if (!$class->isSubclassOf('Drupal\simpletest\TestBase') && !$class->isSubclassOf('PHPUnit_Framework_TestCase')) {
+        continue;
+      }
+      $info = static::getTestInfo($class);
+
+      // Skip this test class if it requires unavailable modules.
+      // @todo PHPUnit skips tests with unmet requirements when executing a test
+      //   (instead of excluding them upfront). Refactor test runner to follow
+      //   that approach.
+      // @see https://www.drupal.org/node/1273478
+      if (!empty($info['requires']['module'])) {
+        if (array_diff($info['requires']['module'], $this->availableExtensions['module'])) {
+          continue;
+        }
+      }
+
+      $list[$info['group']][$classname] = $info;
+    }
+
+    // Sort the groups and tests within the groups by name.
+    uksort($list, 'strnatcasecmp');
+    foreach ($list as &$tests) {
+      uksort($tests, 'strnatcasecmp');
+    }
+
+    // Allow modules extending core tests to disable originals.
+    \Drupal::moduleHandler()->alter('simpletest', $list);
+
+    if (!isset($extension)) {
+      if ($this->cacheBackend) {
+        $this->cacheBackend->set('simpletest:discovery:classes', $list);
+      }
+    }
+    return $list;
+  }
+
+  /**
+   * Discovers all class files in all available extensions.
+   *
+   * @param string $extension
+   *   (optional) The name of an extension to limit discovery to; e.g., 'node'.
+   *
+   * @return array
+   *   A classmap containing all discovered class files; i.e., a map of
+   *   fully-qualified classnames to pathnames.
+   */
+  public function findAllClassFiles($extension = NULL) {
+    $classmap = array();
+    $namespaces = $this->registerTestNamespaces();
+    if (isset($extension)) {
+      $namespaces = array_intersect_key($namespaces, array_flip(preg_grep('/' . preg_quote("Drupal\\$extension\\", '/') . '/', array_keys($namespaces))));
+    }
+    foreach ($namespaces as $namespace => $paths) {
+      foreach ($paths as $path) {
+        if (!is_dir($path)) {
+          continue;
+        }
+        $classmap += static::scanDirectory($namespace, $path);
+      }
+    }
+    return $classmap;
+  }
+
+  /**
+   * Scans a given directory for class files.
+   *
+   * @param string $namespace_prefix
+   *   The namespace prefix to use for discovered classes. Must contain a
+   *   trailing namespace separator (backslash).
+   *   For example: 'Drupal\\node\\Tests\\'
+   * @param string $path
+   *   The directory path to scan.
+   *   For example: '/path/to/drupal/core/modules/node/tests/src'
+   *
+   * @return array
+   *   An associative array whose keys are fully-qualified class names and whose
+   *   values are corresponding filesystem pathnames.
+   *
+   * @throws \InvalidArgumentException
+   *   If $namespace_prefix does not end in a namespace separator (backslash).
+   *
+   * @todo Limit to '*Test.php' files (~10% less files to reflect/introspect).
+   * @see https://www.drupal.org/node/2296635
+   */
+  public static function scanDirectory($namespace_prefix, $path) {
+    if (substr($namespace_prefix, -1) !== '\\') {
+      throw new \InvalidArgumentException("Namespace prefix for $path must contain a trailing namespace separator.");
+    }
+    $flags = \FilesystemIterator::UNIX_PATHS;
+    $flags |= \FilesystemIterator::SKIP_DOTS;
+    $flags |= \FilesystemIterator::FOLLOW_SYMLINKS;
+    $flags |= \FilesystemIterator::CURRENT_AS_SELF;
+
+    $iterator = new \RecursiveDirectoryIterator($path, $flags);
+    $filter = new \RecursiveCallbackFilterIterator($iterator, function ($current, $key, $iterator) {
+      if ($iterator->hasChildren()) {
+        return TRUE;
+      }
+      return $current->isFile() && $current->getExtension() === 'php';
+    });
+    $files = new \RecursiveIteratorIterator($filter);
+    $classes = array();
+    foreach ($files as $fileinfo) {
+      $class = $namespace_prefix;
+      if ('' !== $subpath = $fileinfo->getSubPath()) {
+        $class .= strtr($subpath, '/', '\\') . '\\';
+      }
+      $class .= $fileinfo->getBasename('.php');
+      $classes[$class] = $fileinfo->getPathname();
+    }
+    return $classes;
+  }
+
+  /**
+   * Retrieves information about a test class for UI purposes.
+   *
+   * @param \ReflectionClass $class
+   *   The reflected test class.
+   *
+   * @return array
+   *   An associative array containing:
+   *   - name: The test class name.
+   *   - description: The test (PHPDoc) summary.
+   *   - group: The test's first @group (parsed from PHPDoc annotations).
+   *   - requires: An associative array containing test requirements parsed from
+   *     PHPDoc annotations:
+   *     - module: List of Drupal module extension names the test depends on.
+   *
+   * @throws \LogicException
+   *   If the class does not have a PHPDoc summary line or @coversDefaultClass
+   *   annotation.
+   * @throws \LogicException
+   *   If the class does not have a @group annotation.
+   */
+  public static function getTestInfo(\ReflectionClass $class) {
+    $classname = $class->getName();
+    $info = array(
+      'name' => $classname,
+    );
+
+    // Automatically convert @coversDefaultClass into summary.
+    $annotations = static::parseTestClassAnnotations($class);
+    if (isset($annotations['coversDefaultClass'][0])) {
+      $info['description'] = 'Tests ' . $annotations['coversDefaultClass'][0] . '.';
+    }
+    elseif ($summary = static::parseTestClassSummary($class)) {
+      $info['description'] = $summary;
+    }
+    else {
+      throw new \LogicException(sprintf('Missing PHPDoc summary line on %s in %s.', $classname, $class->getFileName()));
+    }
+
+    // Reduce to @group and @requires.
+    $info += array_intersect_key($annotations, array('group' => 1, 'requires' => 1));
+
+    // @todo Remove legacy getInfo() methods.
+    if (method_exists($classname, 'getInfo')) {
+      $legacy_info = $classname::getInfo();
+
+      // Derive the primary @group from the namespace to ensure that legacy
+      // tests are not located in different groups than converted tests.
+      $classparts = explode('\\', $classname);
+      if ($classparts[1] === 'Tests') {
+        if ($classparts[2] === 'Component' || $classparts[2] === 'Core') {
+          // Drupal\Tests\Component\{group}\...
+          $info['group'][] = $classparts[3];
+        }
+        else {
+          // Drupal\Tests\{group}\...
+          // @see https://www.drupal.org/node/2260121
+          $info['group'][] = $classparts[2];
+        }
+      }
+      elseif ($classparts[1] === 'system' && $classparts[3] !== 'System') {
+        // Drupal\system\Tests\{group}\...
+        $info['group'][] = $classparts[3];
+      }
+      else {
+        // Drupal\{group}\Tests\...
+        $info['group'][] = $classparts[1];
+      }
+
+      if (isset($legacy_info['dependencies'])) {
+        $info += array('requires' => array());
+        $info['requires'] += array('module' => array());
+        $info['requires']['module'] = array_merge($info['requires']['module'], $legacy_info['dependencies']);
+      }
+    }
+
+    // Process @group information.
+    // @todo Support multiple @groups + change UI to expose a group select
+    //   dropdown to filter tests by group instead of collapsible table rows.
+    // @see https://www.drupal.org/node/2296615
+    // @todo Replace single enforced PHPUnit group with base class groups.
+    if ($class->isSubclassOf('PHPUnit_Framework_TestCase')) {
+      $info['group'] = 'PHPUnit';
+    }
+    else {
+      if (empty($info['group'])) {
+        throw new \LogicException("Missing @group for $classname.");
+      }
+      $info['group'] = reset($info['group']);
+    }
+
+    return $info;
+  }
+
+  /**
+   * Parses the phpDoc summary line of a test class.
+   *
+   * @param \ReflectionClass $class
+   *   The reflected test class.
+   *
+   * @return string
+   *   The parsed phpDoc summary line.
+   */
+  public static function parseTestClassSummary(\ReflectionClass $class) {
+    $phpDoc = $class->getDocComment();
+    // Normalize line endings.
+    $phpDoc = preg_replace('/\r\n|\r/', '\n', $phpDoc);
+    // Strip leading and trailing doc block lines.
+    //$phpDoc = trim($phpDoc, "* /\n");
+    $phpDoc = substr($phpDoc, 4, -4);
+
+    // Extract actual phpDoc content.
+    $phpDoc = explode("\n", $phpDoc);
+    array_walk($phpDoc, function (&$value) {
+      $value = trim($value, "* /\n");
+    });
+
+    // Extract summary; allowed to it wrap and continue on next line.
+    list($summary) = explode("\n\n", implode("\n", $phpDoc));
+    if ($summary === '') {
+      throw new \LogicException(sprintf('Missing phpDoc on %s.', $class->getName()));
+    }
+    return $summary;
+  }
+
+  /**
+   * Parses annotations in the phpDoc of a test class.
+   *
+   * @param \ReflectionClass $class
+   *   The reflected test class.
+   *
+   * @return array
+   *   An associative array that contains all annotations on the test class;
+   *   typically including:
+   *   - group: A list of @group values.
+   *   - requires: An associative array of @requires values; e.g.:
+   *     - module: A list of Drupal module dependencies that are required to
+   *       exist.
+   *
+   * @see PHPUnit_Util_Test::parseTestMethodAnnotations()
+   * @see http://phpunit.de/manual/current/en/incomplete-and-skipped-tests.html#incomplete-and-skipped-tests.skipping-tests-using-requires
+   */
+  public static function parseTestClassAnnotations(\ReflectionClass $class) {
+    $annotations = PHPUnit_Util_Test::parseTestMethodAnnotations($class->getName())['class'];
+
+    // @todo Enhance PHPUnit upstream to allow for custom @requires identifiers.
+    // @see PHPUnit_Util_Test::getRequirements()
+    // @todo Add support for 'PHP', 'OS', 'function', 'extension'.
+    // @see https://www.drupal.org/node/1273478
+    if (isset($annotations['requires'])) {
+      foreach ($annotations['requires'] as $i => $value) {
+        list($type, $value) = explode(' ', $value, 2);
+        if ($type === 'module') {
+          $annotations['requires']['module'][$value] = $value;
+          unset($annotations['requires'][$i]);
+        }
+      }
+    }
+    return $annotations;
+  }
+
+  /**
+   * Returns all available extensions.
+   *
+   * @return \Drupal\Core\Extension\Extension[]
+   *   An array of Extension objects, keyed by extension name.
+   */
+  protected function getExtensions() {
+    $listing = new ExtensionDiscovery();
+    // Ensure that tests in all profiles are discovered.
+    $listing->setProfileDirectories(array());
+    $extensions = $listing->scan('module', TRUE);
+    $extensions += $listing->scan('profile', TRUE);
+    $extensions += $listing->scan('theme', TRUE);
+    return $extensions;
+  }
+
+}
diff --git a/core/modules/simpletest/src/Tests/BrokenSetUpTest.php b/core/modules/simpletest/src/Tests/BrokenSetUpTest.php
index 43f9443f0da9..35c80d19491c 100644
--- a/core/modules/simpletest/src/Tests/BrokenSetUpTest.php
+++ b/core/modules/simpletest/src/Tests/BrokenSetUpTest.php
@@ -10,13 +10,14 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests a test case that does not run parent::setUp() in its setUp() method.
+ * Tests a test case that does not call parent::setUp().
  *
  * If a test case does not call parent::setUp(), running
  * \Drupal\simpletest\WebTestBase::tearDown() would destroy the main site's
  * database tables. Therefore, we ensure that tests which are not set up
  * properly are skipped.
  *
+ * @group simpletest
  * @see \Drupal\simpletest\WebTestBase
  */
 class BrokenSetUpTest extends WebTestBase {
@@ -35,14 +36,6 @@ class BrokenSetUpTest extends WebTestBase {
    */
   protected $sharedTriggerFile;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Broken SimpleTest method',
-      'description' => 'Tests a test case that does not call parent::setUp().',
-      'group' => 'SimpleTest'
-    );
-  }
-
   function setUp() {
     // If the test is being run from the main site, set up normally.
     if (!$this->isInChildSite()) {
diff --git a/core/modules/simpletest/src/Tests/BrowserTest.php b/core/modules/simpletest/src/Tests/BrowserTest.php
index ef484a8b9fc0..d744550ccde3 100644
--- a/core/modules/simpletest/src/Tests/BrowserTest.php
+++ b/core/modules/simpletest/src/Tests/BrowserTest.php
@@ -10,17 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test internal testing framework browser.
+ * Tests the internal browser of the testing framework.
+ *
+ * @group simpletest
  */
 class BrowserTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'SimpleTest browser',
-      'description' => 'Test the internal browser of the testing framework.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   /**
    * Test \Drupal\simpletest\WebTestBase::getAbsoluteUrl().
    */
diff --git a/core/modules/simpletest/src/Tests/FolderTest.php b/core/modules/simpletest/src/Tests/FolderTest.php
index 878bda75b250..9df2b3349cc0 100644
--- a/core/modules/simpletest/src/Tests/FolderTest.php
+++ b/core/modules/simpletest/src/Tests/FolderTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test Folder creation
+ * This test will check SimpleTest's treatment of hook_install during setUp. 
+ * Image module is used for test.
+ *
+ * @group simpletest
  */
 class FolderTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class FolderTest extends WebTestBase {
    */
   public static $modules = array('image');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Testing SimpleTest setUp',
-      'description' => "This test will check SimpleTest's treatment of hook_install during setUp.  Image module is used for test.",
-      'group' => 'SimpleTest',
-    );
-  }
-
   function testFolderSetup() {
     $directory = file_default_scheme() . '://styles';
     $this->assertTrue(file_prepare_directory($directory, FALSE), 'Directory created.');
diff --git a/core/modules/simpletest/src/Tests/InstallationProfileModuleTestsTest.php b/core/modules/simpletest/src/Tests/InstallationProfileModuleTestsTest.php
index 994fb3613af0..454135c2a7d2 100644
--- a/core/modules/simpletest/src/Tests/InstallationProfileModuleTestsTest.php
+++ b/core/modules/simpletest/src/Tests/InstallationProfileModuleTestsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Verifies that tests bundled with installation profile modules are found.
+ *
+ * @group simpletest
  */
 class InstallationProfileModuleTestsTest extends WebTestBase {
 
@@ -35,14 +37,6 @@ class InstallationProfileModuleTestsTest extends WebTestBase {
    */
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installation profile module tests',
-      'description' => 'Verifies that tests bundled with installation profile modules are found.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
@@ -55,7 +49,7 @@ function setUp() {
    */
   function testInstallationProfileTests() {
     $this->drupalGet('admin/config/development/testing');
-    $this->assertText('Installation profile module tests helper');
+    $this->assertText('Drupal\drupal_system_listing_compatible_test\Tests\SystemListingCompatibleTest');
     $edit = array(
       'tests[Drupal\drupal_system_listing_compatible_test\Tests\SystemListingCompatibleTest]' => TRUE,
     );
diff --git a/core/modules/simpletest/src/Tests/KernelTestBaseTest.php b/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
index 41347e0abf4c..6bff4876346b 100644
--- a/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
+++ b/core/modules/simpletest/src/Tests/KernelTestBaseTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests KernelTestBase functionality.
+ *
+ * @group simpletest
  */
 class KernelTestBaseTest extends KernelTestBase {
 
@@ -21,14 +23,6 @@ class KernelTestBaseTest extends KernelTestBase {
    */
   public static $modules = array('entity', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'KernelTestBase',
-      'description' => 'Tests KernelTestBase functionality.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/simpletest/src/Tests/MailCaptureTest.php b/core/modules/simpletest/src/Tests/MailCaptureTest.php
index 6b4b30473fbe..bbbd026a3acb 100644
--- a/core/modules/simpletest/src/Tests/MailCaptureTest.php
+++ b/core/modules/simpletest/src/Tests/MailCaptureTest.php
@@ -10,20 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests Simpletest email capturing (TestMailCollector) and assertion methods.
+ * Tests the SimpleTest email capturing logic, the assertMail assertion and the
+ * drupalGetMails function.
+ *
+ * @group simpletest
  */
 class MailCaptureTest extends WebTestBase {
-  /**
-   * Implement getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'SimpleTest email capturing',
-      'description' => 'Test the SimpleTest email capturing logic, the assertMail assertion and the drupalGetMails function.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   /**
    * Test to see if the wrapper function is executed correctly.
    */
diff --git a/core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php b/core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php
index 0f63734b4e5d..bb81e111dd25 100644
--- a/core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php
+++ b/core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests missing requirements to run test.
+ * Tests a test case with missing requirements.
+ *
+ * @group simpletest
  */
 class MissingCheckedRequirementsTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class MissingCheckedRequirementsTest extends WebTestBase {
    */
   public static $modules = array('simpletest');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Broken requirements test',
-      'description' => 'Tests a test case with missing requirements.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer unit tests'));
diff --git a/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php b/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php
index 08874bdcf322..6873170d8bcc 100644
--- a/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php
+++ b/core/modules/simpletest/src/Tests/MissingDependentModuleUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Test required modules for tests.
+ * This test should not load since it requires a module that is not found.
+ *
+ * @group simpletest
+ * @requires module simpletest_missing_module
  */
 class MissingDependentModuleUnitTest extends UnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Testing dependent module test',
-      'description' => 'This test should not load since it requires a module that is not found.',
-      'group' => 'SimpleTest',
-      'dependencies' => array('simpletest_missing_module'),
-    );
-  }
-
   /**
    * 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/src/Tests/OtherInstallationProfileTestsTest.php
index aa848e14ccfb..fecc4680543c 100644
--- a/core/modules/simpletest/src/Tests/OtherInstallationProfileTestsTest.php
+++ b/core/modules/simpletest/src/Tests/OtherInstallationProfileTestsTest.php
@@ -12,6 +12,7 @@
 /**
  * Verifies that tests in other installation profiles are found.
  *
+ * @group simpletest
  * @see SimpleTestInstallationProfileModuleTestsTestCase
  */
 class OtherInstallationProfileTestsTest extends WebTestBase {
@@ -37,14 +38,6 @@ class OtherInstallationProfileTestsTest extends WebTestBase {
    */
   protected $profile = 'minimal';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Other Installation profiles',
-      'description' => 'Verifies that tests in modules contained in other installation profiles are found.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
@@ -63,8 +56,7 @@ function testOtherInstallationProfile() {
 
     // Assert the existence of a test for a module in a different installation
     // profile than the current.
-    $this->drupalGet('admin/config/development/testing');
-    $this->assertText('Installation profile module tests helper');
+    $this->assertText('Drupal\drupal_system_listing_compatible_test\Tests\SystemListingCompatibleTest');
   }
 
 }
diff --git a/core/modules/simpletest/src/Tests/SimpleTestTest.php b/core/modules/simpletest/src/Tests/SimpleTestTest.php
index 9d16df38b155..6e8703a50f59 100644
--- a/core/modules/simpletest/src/Tests/SimpleTestTest.php
+++ b/core/modules/simpletest/src/Tests/SimpleTestTest.php
@@ -10,7 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Simpletest UI test runner and internal browser.
+ * Tests SimpleTest's web interface: check that the intended tests were run and
+ * ensure that test reports display the intended results. Also test SimpleTest's
+ * internal browser and APIs both explicitly and implicitly.
+ *
+ * @group simpletest
  */
 class SimpleTestTest extends WebTestBase {
 
@@ -33,17 +37,6 @@ class SimpleTestTest extends WebTestBase {
    */
   protected $test_ids = array();
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'SimpleTest functionality',
-      'description' => "Test SimpleTest's web interface: check that the intended tests were run and ensure that test reports display the intended results. Also test SimpleTest's internal browser and APIs both explicitly and implicitly.",
-      'group' => 'SimpleTest'
-    );
-  }
-
   function setUp() {
     if (!$this->isInChildSite()) {
       $php = <<<'EOD'
@@ -369,9 +362,8 @@ function getTestResults() {
    */
   function getResultFieldSet() {
     $all_details = $this->xpath('//details');
-    $info = $this->getInfo();
     foreach ($all_details as $details) {
-      if ($this->asText($details->summary) == $info['name']) {
+      if ($this->asText($details->summary) == __CLASS__) {
         return $details;
       }
     }
diff --git a/core/modules/simpletest/src/Tests/UserHelpersTest.php b/core/modules/simpletest/src/Tests/UserHelpersTest.php
index 269e00979d50..fb15567a9220 100644
--- a/core/modules/simpletest/src/Tests/UserHelpersTest.php
+++ b/core/modules/simpletest/src/Tests/UserHelpersTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests User related helper methods of WebTestBase.
+ *
+ * @group simpletest
  */
 class UserHelpersTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User helper methods',
-      'description' => 'Tests User related helper methods of WebTestBase.',
-      'group' => 'SimpleTest',
-    );
-  }
-
   /**
    * Tests WebTestBase::drupalUserIsLoggedIn().
    */
diff --git a/core/modules/simpletest/tests/src/PhpUnitAutoloaderTest.php b/core/modules/simpletest/tests/src/PhpUnitAutoloaderTest.php
index bcb940e4f5cc..3f1fa375fdda 100644
--- a/core/modules/simpletest/tests/src/PhpUnitAutoloaderTest.php
+++ b/core/modules/simpletest/tests/src/PhpUnitAutoloaderTest.php
@@ -10,21 +10,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Test PHPUnit autoloader works correctly.
+ * Tests that classes are correctly loaded during PHPUnit initialization.
  *
- * @group Drupal
  * @group simpletest
  */
 class PhpUnitAutoloaderTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'PHPUnit autoloader',
-      'description' => 'Test that classes are correctly loaded during PHPUnit initialization.',
-      'group' => 'Simpletest',
-    );
-  }
-
   /**
    * Test loading of classes provided by test sub modules.
    */
diff --git a/core/modules/simpletest/tests/src/PhpUnitErrorTest.php b/core/modules/simpletest/tests/src/PhpUnitErrorTest.php
index fdd38fa64e08..4139859f719e 100644
--- a/core/modules/simpletest/tests/src/PhpUnitErrorTest.php
+++ b/core/modules/simpletest/tests/src/PhpUnitErrorTest.php
@@ -5,22 +5,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Test PHPUnit errors are getting converted to Simpletest errors.
+ * Tests PHPUnit errors are getting converted to Simpletest errors.
  *
- * @group Drupal
  * @group simpletest
  */
 class PhpUnitErrorTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'PHPUnit errors',
-      'description' => 'Test PHPUnit errors getting converted to Simpletest errors.',
-      'group' => 'Simpletest',
-
-    );
-  }
-
   /**
    * Test errors reported.
    *
diff --git a/core/modules/simpletest/tests/src/TestBaseTest.php b/core/modules/simpletest/tests/src/TestBaseTest.php
index 79b0345f5cf1..50e08b5ae068 100644
--- a/core/modules/simpletest/tests/src/TestBaseTest.php
+++ b/core/modules/simpletest/tests/src/TestBaseTest.php
@@ -10,10 +10,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests helper methods provided by the abstract TestBase class.
- *
  * @coversDefaultClass \Drupal\simpletest\TestBase
- * @group Drupal
  * @group simpletest
  */
 class TestBaseTest extends UnitTestCase {
@@ -25,15 +22,6 @@ class TestBaseTest extends UnitTestCase {
    */
   protected $stub;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'TestBase helper functions test',
-      'description' => 'Test helper functions provided by the TestBase abstract class.',
-      'group' => 'Simpletest',
-
-    );
-  }
-
   protected function setUp() {
     $this->stub = $this->getMockForAbstractClass('Drupal\simpletest\TestBase');
   }
diff --git a/core/modules/simpletest/tests/src/WebTestBaseTest.php b/core/modules/simpletest/tests/src/WebTestBaseTest.php
index 47bfe62ab84c..0c2cb1c9835c 100644
--- a/core/modules/simpletest/tests/src/WebTestBaseTest.php
+++ b/core/modules/simpletest/tests/src/WebTestBaseTest.php
@@ -10,25 +10,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests helper methods provided by the abstract WebTestBase class.
- *
- * @group Drupal
- * @group simpletest
  * @coversDefaultClass \Drupal\simpletest\WebTestBase
+ * @group simpletest
  */
 class WebTestBaseTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'WebTestBase helper functions test',
-      'description' => 'Test helper functions provided by the WebTestBase abstract class.',
-      'group' => 'Simpletest',
-    );
-  }
-
   /**
    * Provides data for testing the assertFieldByName() helper.
    *
diff --git a/core/modules/statistics/src/Tests/StatisticsAdminTest.php b/core/modules/statistics/src/Tests/StatisticsAdminTest.php
index ad68b72f3f76..5c8c2d128e6c 100644
--- a/core/modules/statistics/src/Tests/StatisticsAdminTest.php
+++ b/core/modules/statistics/src/Tests/StatisticsAdminTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the statistics administration screen.
+ * Tests the statistics admin.
+ *
+ * @group statistics
  */
 class StatisticsAdminTest extends WebTestBase {
 
@@ -44,14 +46,6 @@ class StatisticsAdminTest extends WebTestBase {
    */
   protected $client;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Test statistics admin.',
-      'description' => 'Tests the statistics admin.',
-      'group' => 'Statistics'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/statistics/src/Tests/StatisticsLoggingTest.php b/core/modules/statistics/src/Tests/StatisticsLoggingTest.php
index 3effaf59360e..82a97641548a 100644
--- a/core/modules/statistics/src/Tests/StatisticsLoggingTest.php
+++ b/core/modules/statistics/src/Tests/StatisticsLoggingTest.php
@@ -10,10 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that logging via statistics_exit() works for all pages.
+ * Tests request logging for cached and uncached pages.
  *
  * We subclass WebTestBase rather than StatisticsTestBase, because we
  * want to test requests from an anonymous user.
+ *
+ * @group statistics
  */
 class StatisticsLoggingTest extends WebTestBase {
 
@@ -31,14 +33,6 @@ class StatisticsLoggingTest extends WebTestBase {
    */
   protected $client;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Statistics logging tests',
-      'description' => 'Tests request logging for cached and uncached pages.',
-      'group' => 'Statistics'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/statistics/src/Tests/StatisticsReportsTest.php b/core/modules/statistics/src/Tests/StatisticsReportsTest.php
index 3d8309aca97b..520e6a430ccc 100644
--- a/core/modules/statistics/src/Tests/StatisticsReportsTest.php
+++ b/core/modules/statistics/src/Tests/StatisticsReportsTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\statistics\Tests;
 
 /**
- * Tests that report pages render properly, and that access logging works.
+ * Tests display of statistics report blocks.
+ *
+ * @group statistics
  */
 class StatisticsReportsTest extends StatisticsTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Statistics reports tests',
-      'description' => 'Tests display of statistics report blocks.',
-      'group' => 'Statistics'
-    );
-  }
-
   /**
    * Tests the "popular content" block.
    */
diff --git a/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php b/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php
index e1f0f4b0c2a4..05b6aab982e5 100644
--- a/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php
+++ b/core/modules/statistics/src/Tests/StatisticsTokenReplaceTest.php
@@ -8,17 +8,12 @@
 namespace Drupal\statistics\Tests;
 
 /**
- * Tests statistics token replacement in strings.
+ * Generates text using placeholders for dummy content to check statistics token
+ * replacement.
+ *
+ * @group statistics
  */
 class StatisticsTokenReplaceTest extends StatisticsTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Statistics token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check statistics token replacement.',
-      'group' => 'Statistics',
-    );
-  }
-
   /**
    * Creates a node, then tests the statistics tokens generated from it.
    */
diff --git a/core/modules/statistics/src/Tests/Views/IntegrationTest.php b/core/modules/statistics/src/Tests/Views/IntegrationTest.php
index f7fec462034f..5ef8610e0ff0 100644
--- a/core/modules/statistics/src/Tests/Views/IntegrationTest.php
+++ b/core/modules/statistics/src/Tests/Views/IntegrationTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests basic integration of views data from the statistics module.
  *
+ * @group statistics
  * @see
  */
 class IntegrationTest extends ViewTestBase {
@@ -46,14 +47,6 @@ class IntegrationTest extends ViewTestBase {
    */
   public static $testViews = array('test_statistics_integration');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Statistics: Integration tests',
-      'description' => 'Tests basic integration of views data from the statistics module.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/syslog/src/Tests/SyslogTest.php b/core/modules/syslog/src/Tests/SyslogTest.php
index 1e1a545953f7..6d479ac5939e 100644
--- a/core/modules/syslog/src/Tests/SyslogTest.php
+++ b/core/modules/syslog/src/Tests/SyslogTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Syslog module functionality.
+ * Tests syslog settings.
+ *
+ * @group syslog
  */
 class SyslogTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class SyslogTest extends WebTestBase {
    */
   public static $modules = array('syslog');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Syslog functionality',
-      'description' => 'Test syslog settings.',
-      'group' => 'Syslog'
-    );
-  }
-
   /**
    * Tests the syslog settings page.
    */
diff --git a/core/modules/system/src/Tests/Action/ActionUnitTest.php b/core/modules/system/src/Tests/Action/ActionUnitTest.php
index 70fc66318c6b..2a5934c56964 100644
--- a/core/modules/system/src/Tests/Action/ActionUnitTest.php
+++ b/core/modules/system/src/Tests/Action/ActionUnitTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests action plugins.
+ *
+ * @group Action
  */
 class ActionUnitTest extends DrupalUnitTestBase {
 
@@ -27,17 +29,6 @@ class ActionUnitTest extends DrupalUnitTestBase {
    */
   protected $actionManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Action Plugins',
-      'description' => 'Tests Action plugins.',
-      'group' => 'Action',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Ajax/CommandsTest.php b/core/modules/system/src/Tests/Ajax/CommandsTest.php
index eed4a5f67d22..945a763651b8 100644
--- a/core/modules/system/src/Tests/Ajax/CommandsTest.php
+++ b/core/modules/system/src/Tests/Ajax/CommandsTest.php
@@ -24,17 +24,11 @@
 use Drupal\Core\Ajax\SettingsCommand;
 
 /**
- * Tests Ajax framework commands.
+ * Performs tests on AJAX framework commands.
+ *
+ * @group Ajax
  */
 class CommandsTest extends AjaxTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'AJAX commands',
-      'description' => 'Performs tests on AJAX framework commands.',
-      'group' => 'AJAX',
-    );
-  }
-
   /**
    * Tests the various Ajax Commands.
    */
diff --git a/core/modules/system/src/Tests/Ajax/DialogTest.php b/core/modules/system/src/Tests/Ajax/DialogTest.php
index b41b6e2dbb67..127b8633723d 100644
--- a/core/modules/system/src/Tests/Ajax/DialogTest.php
+++ b/core/modules/system/src/Tests/Ajax/DialogTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Ajax;
 
 /**
- * Tests use of dialogs as wrappers for Ajax responses.
+ * Performs tests on opening and manipulating dialogs via AJAX commands.
+ *
+ * @group Ajax
  */
 class DialogTest extends AjaxTestBase {
 
@@ -19,17 +21,6 @@ class DialogTest extends AjaxTestBase {
    */
   public static $modules = array('ajax_test', 'ajax_forms_test', 'contact');
 
-  /**
-   * Declares test info.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'AJAX dialogs commands',
-      'description' => 'Performs tests on opening and manipulating dialogs via AJAX commands.',
-      'group' => 'AJAX',
-    );
-  }
-
   /**
    * Test sending non-JS and AJAX requests to open and manipulate modals.
    */
diff --git a/core/modules/system/src/Tests/Ajax/ElementValidationTest.php b/core/modules/system/src/Tests/Ajax/ElementValidationTest.php
index a6e9daa916f3..455ae464354a 100644
--- a/core/modules/system/src/Tests/Ajax/ElementValidationTest.php
+++ b/core/modules/system/src/Tests/Ajax/ElementValidationTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Ajax;
 
 /**
- * Tests using ajax_test module.
+ * Various tests of AJAX behavior.
+ *
+ * @group Ajax
  */
 class ElementValidationTest extends AjaxTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Miscellaneous AJAX tests',
-      'description' => 'Various tests of AJAX behavior',
-      'group' => 'AJAX',
-    );
-  }
-
   /**
    * Tries to post an Ajax change to a form that has a validated element.
    *
diff --git a/core/modules/system/src/Tests/Ajax/FormValuesTest.php b/core/modules/system/src/Tests/Ajax/FormValuesTest.php
index 6fb3ab18deab..b1c282217674 100644
--- a/core/modules/system/src/Tests/Ajax/FormValuesTest.php
+++ b/core/modules/system/src/Tests/Ajax/FormValuesTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Ajax\DataCommand;
 
 /**
- * Tests that $form_state['values'] is properly delivered to $ajax['callback'].
+ * Tests that form values are properly delivered to AJAX callbacks.
+ *
+ * @group Ajax
  */
 class FormValuesTest extends AjaxTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'AJAX command form values',
-      'description' => 'Tests that form values are properly delivered to AJAX callbacks.',
-      'group' => 'AJAX',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Ajax/FrameworkTest.php b/core/modules/system/src/Tests/Ajax/FrameworkTest.php
index aa51ab5b5309..f31148e6dacf 100644
--- a/core/modules/system/src/Tests/Ajax/FrameworkTest.php
+++ b/core/modules/system/src/Tests/Ajax/FrameworkTest.php
@@ -15,17 +15,11 @@
 use Drupal\Core\Ajax\SettingsCommand;
 
 /**
- * Tests primary Ajax framework functions.
+ * Performs tests on AJAX framework functions.
+ *
+ * @group Ajax
  */
 class FrameworkTest extends AjaxTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'AJAX framework',
-      'description' => 'Performs tests on AJAX framework functions.',
-      'group' => 'AJAX',
-    );
-  }
-
   /**
    * Ensures \Drupal\Core\Ajax\AjaxResponse::ajaxRender() returns JavaScript settings from the page request.
    */
diff --git a/core/modules/system/src/Tests/Ajax/MultiFormTest.php b/core/modules/system/src/Tests/Ajax/MultiFormTest.php
index dfbc42375019..bf55e6b495f2 100644
--- a/core/modules/system/src/Tests/Ajax/MultiFormTest.php
+++ b/core/modules/system/src/Tests/Ajax/MultiFormTest.php
@@ -10,7 +10,10 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 
 /**
- * Tests Ajax-enabled forms functionality with multiple instances of the form.
+ * Tests that AJAX-enabled forms work when multiple instances of the same form
+ * are on a page.
+ *
+ * @group Ajax
  */
 class MultiFormTest extends AjaxTestBase {
 
@@ -21,14 +24,6 @@ class MultiFormTest extends AjaxTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'AJAX multi form',
-      'description' => 'Tests that AJAX-enabled forms work when multiple instances of the same form are on a page.',
-      'group' => 'AJAX',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Batch/PageTest.php b/core/modules/system/src/Tests/Batch/PageTest.php
index 9c15510dcc27..1a30c6ce3215 100644
--- a/core/modules/system/src/Tests/Batch/PageTest.php
+++ b/core/modules/system/src/Tests/Batch/PageTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Batch API Progress page.
+ * Tests the content of the progress page.
+ *
+ * @group Batch
  */
 class PageTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class PageTest extends WebTestBase {
    */
   public static $modules = array('batch_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Batch progress page',
-      'description' => 'Test the content of the progress page.',
-      'group' => 'Batch API',
-    );
-  }
-
   /**
    * Tests that the batch API progress page uses the correct theme.
    */
diff --git a/core/modules/system/src/Tests/Batch/ProcessingTest.php b/core/modules/system/src/Tests/Batch/ProcessingTest.php
index 8450b9c1344e..837cad0cdd09 100644
--- a/core/modules/system/src/Tests/Batch/ProcessingTest.php
+++ b/core/modules/system/src/Tests/Batch/ProcessingTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Batch API.
+ * Tests batch processing in form and non-form workflow.
+ *
+ * @group Batch
  */
 class ProcessingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ProcessingTest extends WebTestBase {
    */
   public static $modules = array('batch_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Batch processing',
-      'description' => 'Test batch processing in form and non-form workflow.',
-      'group' => 'Batch API',
-    );
-  }
-
   /**
    * Tests batches triggered outside of form submission.
    */
diff --git a/core/modules/system/src/Tests/Block/SystemMenuBlockTest.php b/core/modules/system/src/Tests/Block/SystemMenuBlockTest.php
index 943a7cc1fc1f..0d1d00b247fd 100644
--- a/core/modules/system/src/Tests/Block/SystemMenuBlockTest.php
+++ b/core/modules/system/src/Tests/Block/SystemMenuBlockTest.php
@@ -8,8 +8,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests \Drupal\system\Plugin\Block\SystemMenuBlock
+ * Tests \Drupal\system\Plugin\Block\SystemMenuBlock.
  *
+ * @group Block
  * @todo Expand test coverage to all SystemMenuBlock functionality, including
  *   block_menu_delete().
  *
@@ -25,14 +26,6 @@ class SystemMenuBlockTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'menu_link', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'System menu block test',
-      'description' => 'Tests \Drupal\system\Plugin\Block\SystemMenuBlock.',
-      'group' => 'System blocks',
-    );
-  }
-
   /**
    * Tests calculation of a system menu block's configuration dependencies.
    */
diff --git a/core/modules/system/src/Tests/Bootstrap/GetFilenameUnitTest.php b/core/modules/system/src/Tests/Bootstrap/GetFilenameUnitTest.php
index c78a111cf5a3..c499d3891628 100644
--- a/core/modules/system/src/Tests/Bootstrap/GetFilenameUnitTest.php
+++ b/core/modules/system/src/Tests/Bootstrap/GetFilenameUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests drupal_get_filename()'s availability.
+ * Tests that drupal_get_filename() works correctly.
+ *
+ * @group Bootstrap
  */
 class GetFilenameUnitTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Get filename test',
-      'description' => 'Test that drupal_get_filename() works correctly.',
-      'group' => 'Bootstrap',
-    );
-  }
-
   /**
    * Tests that drupal_get_filename() works when the file is not in database.
    */
diff --git a/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php b/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php
index 55f7d1a53ae2..b2d4f3dba3f9 100644
--- a/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php
+++ b/core/modules/system/src/Tests/Bootstrap/PageCacheTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Enables the page cache and tests it with various HTTP requests.
+ *
+ * @group Bootstrap
  */
 class PageCacheTest extends WebTestBase {
 
@@ -26,14 +28,6 @@ class PageCacheTest extends WebTestBase {
    */
   public static $modules = array('test_page_test', 'system_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Page cache test',
-      'description' => 'Enable the page cache and test it with various HTTP requests.',
-      'group' => 'Bootstrap'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Bootstrap/ResettableStaticUnitTest.php b/core/modules/system/src/Tests/Bootstrap/ResettableStaticUnitTest.php
index 23a84b8a5eb0..8613902c9ccb 100644
--- a/core/modules/system/src/Tests/Bootstrap/ResettableStaticUnitTest.php
+++ b/core/modules/system/src/Tests/Bootstrap/ResettableStaticUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests that resetting static variables works.
+ * Tests that drupal_static() and drupal_static_reset() work.
+ *
+ * @group Bootstrap
  */
 class ResettableStaticUnitTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Resettable static variables test',
-      'description' => 'Test that drupal_static() and drupal_static_reset() work.',
-      'group' => 'Bootstrap',
-    );
-  }
-
   /**
    * Tests drupal_static() function.
    *
diff --git a/core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php b/core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
index 2aae6639c750..134de2cae656 100644
--- a/core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
+++ b/core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests the APCu cache backend.
+ *
+ * @group Cache
  */
 class ApcuBackendUnitTest extends GenericCacheBackendUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'APCu cache backend',
-      'description' => 'Tests the APCu cache backend.',
-      'group' => 'Cache',
-    );
-  }
-
   protected function checkRequirements() {
     $requirements = parent::checkRequirements();
     if (!extension_loaded('apc')) {
diff --git a/core/modules/system/src/Tests/Cache/BackendChainUnitTest.php b/core/modules/system/src/Tests/Cache/BackendChainUnitTest.php
index 3323b1a76a53..cbfaf16009ea 100644
--- a/core/modules/system/src/Tests/Cache/BackendChainUnitTest.php
+++ b/core/modules/system/src/Tests/Cache/BackendChainUnitTest.php
@@ -11,18 +11,12 @@
 use Drupal\Core\Cache\MemoryBackend;
 
 /**
- * Tests BackendChain using GenericCacheBackendUnitTestBase.
+ * Unit test of the backend chain using the generic cache unit test base.
+ *
+ * @group Cache
  */
 class BackendChainUnitTest extends GenericCacheBackendUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Backend chain',
-      'description' => 'Unit test of the backend chain using the generic cache unit test base.',
-      'group' => 'Cache',
-    );
-  }
-
   protected function createCacheBackend($bin) {
     $chain = new BackendChain($bin);
 
diff --git a/core/modules/system/src/Tests/Cache/ClearTest.php b/core/modules/system/src/Tests/Cache/ClearTest.php
index f8e94999175b..740ec8ed654d 100644
--- a/core/modules/system/src/Tests/Cache/ClearTest.php
+++ b/core/modules/system/src/Tests/Cache/ClearTest.php
@@ -8,20 +8,14 @@
 namespace Drupal\system\Tests\Cache;
 
 /**
- * Tests cache clearing methods.
+ * Tests our clearing is done the proper way.
+ *
+ * @group Cache
  */
 use Drupal\Core\Cache\Cache;
 
 class ClearTest extends CacheTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cache clear test',
-      'description' => 'Check our clearing is done the proper way.',
-      'group' => 'Cache'
-    );
-  }
-
   function setUp() {
     $this->default_bin = 'render';
     $this->default_value = $this->randomName(10);
diff --git a/core/modules/system/src/Tests/Cache/DatabaseBackendTagTest.php b/core/modules/system/src/Tests/Cache/DatabaseBackendTagTest.php
index 3b2b178ab559..e110d9ebcb98 100644
--- a/core/modules/system/src/Tests/Cache/DatabaseBackendTagTest.php
+++ b/core/modules/system/src/Tests/Cache/DatabaseBackendTagTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests DatabaseBackend cache tag implementation.
+ *
+ * @group Cache
  */
 class DatabaseBackendTagTest extends DrupalUnitTestBase {
 
@@ -24,14 +26,6 @@ class DatabaseBackendTagTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Database backend tag test',
-      'description' => 'Tests database backend cache tag implementation.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Cache/DatabaseBackendUnitTest.php b/core/modules/system/src/Tests/Cache/DatabaseBackendUnitTest.php
index 762ae8691d09..bd2952e9d4f5 100644
--- a/core/modules/system/src/Tests/Cache/DatabaseBackendUnitTest.php
+++ b/core/modules/system/src/Tests/Cache/DatabaseBackendUnitTest.php
@@ -10,7 +10,9 @@
 use Drupal\Core\Cache\DatabaseBackend;
 
 /**
- * Tests DatabaseBackend using GenericCacheBackendUnitTestBase.
+ * Unit test of the database backend using the generic cache unit test base.
+ *
+ * @group Cache
  */
 class DatabaseBackendUnitTest extends GenericCacheBackendUnitTestBase {
 
@@ -21,14 +23,6 @@ class DatabaseBackendUnitTest extends GenericCacheBackendUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Database backend',
-      'description' => 'Unit test of the database backend using the generic cache unit test base.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Creates a new instance of DatabaseBackend.
    *
diff --git a/core/modules/system/src/Tests/Cache/MemoryBackendUnitTest.php b/core/modules/system/src/Tests/Cache/MemoryBackendUnitTest.php
index d3a29e36fbd0..85edfdea5291 100644
--- a/core/modules/system/src/Tests/Cache/MemoryBackendUnitTest.php
+++ b/core/modules/system/src/Tests/Cache/MemoryBackendUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Cache\MemoryBackend;
 
 /**
- * Tests MemoryBackend using GenericCacheBackendUnitTestBase.
+ * Unit test of the memory cache backend using the generic cache unit test base.
+ *
+ * @group Cache
  */
 class MemoryBackendUnitTest extends GenericCacheBackendUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Memory cache backend',
-      'description' => 'Unit test of the memory cache backend using the generic cache unit test base.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Creates a new instance of MemoryBackend.
    *
diff --git a/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php b/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php
index bc384efb6a06..6dbfb51a33d8 100644
--- a/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php
+++ b/core/modules/system/src/Tests/Cache/PageCacheTagsIntegrationTest.php
@@ -13,6 +13,7 @@
 /**
  * Enables the page cache and tests its cache tags in various scenarios.
  *
+ * @group Cache
  * @see \Drupal\system\Tests\Bootstrap\PageCacheTest
  * @see \Drupal\node\Tests\NodePageCacheTest
  * @see \Drupal\menu_ui\Tests\MenuTest::testMenuBlockPageCacheTags()
@@ -23,14 +24,6 @@ class PageCacheTagsIntegrationTest extends WebTestBase {
 
   protected $dumpHeaders = TRUE;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Page cache tags integration test',
-      'description' => 'Enable the page cache and test its cache tags in various scenarios.',
-      'group' => 'Cache',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Cache/PhpBackendUnitTest.php b/core/modules/system/src/Tests/Cache/PhpBackendUnitTest.php
index 82c877c12537..57df19bb2e28 100644
--- a/core/modules/system/src/Tests/Cache/PhpBackendUnitTest.php
+++ b/core/modules/system/src/Tests/Cache/PhpBackendUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Cache\PhpBackend;
 
 /**
- * Tests PhpBackendUnitTest using GenericCacheBackendUnitTestBase.
+ * Unit test of the PHP cache backend using the generic cache unit test base.
+ *
+ * @group Cache
  */
 class PhpBackendUnitTest extends GenericCacheBackendUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Php cache backend',
-      'description' => 'Unit test of the PHP cache backend using the generic cache unit test base.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Creates a new instance of MemoryBackend.
    *
diff --git a/core/modules/system/src/Tests/Common/AddFeedTest.php b/core/modules/system/src/Tests/Common/AddFeedTest.php
index 9997813db073..3dd0c678f8db 100644
--- a/core/modules/system/src/Tests/Common/AddFeedTest.php
+++ b/core/modules/system/src/Tests/Common/AddFeedTest.php
@@ -12,17 +12,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests drupal_add_feed().
+ * Make sure that drupal_add_feed() works correctly with various constructs.
+ *
+ * @group Common
  */
 class AddFeedTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'drupal_add_feed() tests',
-      'description' => 'Make sure that drupal_add_feed() works correctly with various constructs.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests drupal_add_feed() with paths, URLs, and titles.
    */
diff --git a/core/modules/system/src/Tests/Common/AlterTest.php b/core/modules/system/src/Tests/Common/AlterTest.php
index e02c590da90d..d291275e2d83 100644
--- a/core/modules/system/src/Tests/Common/AlterTest.php
+++ b/core/modules/system/src/Tests/Common/AlterTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests alteration of arguments passed to \Drupal::moduleHandler->alter().
+ *
+ * @group Common
  */
 class AlterTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class AlterTest extends WebTestBase {
    */
   public static $modules = array('block', 'common_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Alter hook functionality',
-      'description' => 'Tests alteration of arguments passed to \Drupal::moduleHandler->alter().',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests if the theme has been altered.
    */
diff --git a/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php b/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php
index 9b7e454cdc80..d2b3614eb76a 100644
--- a/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php
+++ b/core/modules/system/src/Tests/Common/CascadingStylesheetsTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the Drupal CSS system.
+ * Tests adding various cascading stylesheets to the page.
+ *
+ * @group Common
  */
 class CascadingStylesheetsTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class CascadingStylesheetsTest extends DrupalUnitTestBase {
    */
   public static $modules = array('language', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cascading stylesheets',
-      'description' => 'Tests adding various cascading stylesheets to the page.',
-      'group' => 'Common',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Reset _drupal_add_css() before each test.
diff --git a/core/modules/system/src/Tests/Common/FormatDateTest.php b/core/modules/system/src/Tests/Common/FormatDateTest.php
index 7fd56839a4f1..fa5257df0508 100644
--- a/core/modules/system/src/Tests/Common/FormatDateTest.php
+++ b/core/modules/system/src/Tests/Common/FormatDateTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the format_date() function.
+ *
+ * @group Common
  */
 class FormatDateTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class FormatDateTest extends WebTestBase {
    */
   const LANGCODE = 'xx';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Format date',
-      'description' => 'Test the format_date() function.',
-      'group' => 'Common',
-    );
-  }
-
   function setUp() {
     parent::setUp('language');
 
diff --git a/core/modules/system/src/Tests/Common/HtmlIdentifierUnitTest.php b/core/modules/system/src/Tests/Common/HtmlIdentifierUnitTest.php
index ec9bbb486d89..c7fbbf957964 100644
--- a/core/modules/system/src/Tests/Common/HtmlIdentifierUnitTest.php
+++ b/core/modules/system/src/Tests/Common/HtmlIdentifierUnitTest.php
@@ -11,17 +11,12 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests cleaning HTML identifiers.
+ * Tests the functions drupal_html_class(), drupal_html_id() and
+ * drupal_clean_css_identifier() for expected behavior.
+ *
+ * @group Common
  */
 class HtmlIdentifierUnitTest extends UnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'HTML identifiers',
-      'description' => 'Test the functions drupal_html_class(), drupal_html_id() and drupal_clean_css_identifier() for expected behavior',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Common/JavaScriptTest.php b/core/modules/system/src/Tests/Common/JavaScriptTest.php
index f6f3da8bbd51..2f5dcae3a30f 100644
--- a/core/modules/system/src/Tests/Common/JavaScriptTest.php
+++ b/core/modules/system/src/Tests/Common/JavaScriptTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the JavaScript system.
+ *
+ * @group Common
  */
 class JavaScriptTest extends DrupalUnitTestBase {
 
@@ -28,14 +30,6 @@ class JavaScriptTest extends DrupalUnitTestBase {
    */
   protected $preprocess_js = NULL;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'JavaScript',
-      'description' => 'Tests the JavaScript system.',
-      'group' => 'Common',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // There are dependencies in drupal_get_js() on the theme layer so we need
diff --git a/core/modules/system/src/Tests/Common/MergeAttachmentsTest.php b/core/modules/system/src/Tests/Common/MergeAttachmentsTest.php
index 0aa9971e2a37..7eebe329624b 100644
--- a/core/modules/system/src/Tests/Common/MergeAttachmentsTest.php
+++ b/core/modules/system/src/Tests/Common/MergeAttachmentsTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests the merging of attachments.
+ *
+ * @group Common
  */
 class MergeAttachmentsTest extends DrupalUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Attachment merging',
-      'description' => 'Tests the merging of attachments.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests justs library asset merging.
    */
diff --git a/core/modules/system/src/Tests/Common/NoJavaScriptAnonymousTest.php b/core/modules/system/src/Tests/Common/NoJavaScriptAnonymousTest.php
index a13e38a45871..a143f363ce84 100644
--- a/core/modules/system/src/Tests/Common/NoJavaScriptAnonymousTest.php
+++ b/core/modules/system/src/Tests/Common/NoJavaScriptAnonymousTest.php
@@ -10,20 +10,15 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that anonymous users are not served any JavaScript.
+ * Tests that anonymous users are not served any JavaScript in the Standard
+ * installation profile.
+ *
+ * @group Common
  */
 class NoJavaScriptAnonymousTest extends WebTestBase {
 
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'No JavaScript for anonymous users in Standard profile',
-      'description' => 'Tests that anonymous users are not served any JavaScript in the Standard installation profile.',
-      'group' => 'Common',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Common/RegionContentTest.php b/core/modules/system/src/Tests/Common/RegionContentTest.php
index e8b8201e03d3..6b2d3a4dcb58 100644
--- a/core/modules/system/src/Tests/Common/RegionContentTest.php
+++ b/core/modules/system/src/Tests/Common/RegionContentTest.php
@@ -10,17 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests drupal_add_region_content() and drupal_get_region_content().
+ * Tests setting and retrieving content from theme regions.
+ *
+ * @group Common
  */
 class RegionContentTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Region content',
-      'description' => 'Tests setting and retrieving content from theme regions.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests setting and retrieving content for theme regions.
    */
diff --git a/core/modules/system/src/Tests/Common/RenderElementTypesTest.php b/core/modules/system/src/Tests/Common/RenderElementTypesTest.php
index 15a1904538a0..83a9cdf6b556 100644
--- a/core/modules/system/src/Tests/Common/RenderElementTypesTest.php
+++ b/core/modules/system/src/Tests/Common/RenderElementTypesTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the markup of core render element types passed to drupal_render().
+ *
+ * @group Common
  */
 class RenderElementTypesTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class RenderElementTypesTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Render element types',
-      'description' => 'Tests the markup of core render element types passed to drupal_render().',
-      'group' => 'Common',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('system'));
diff --git a/core/modules/system/src/Tests/Common/RenderTest.php b/core/modules/system/src/Tests/Common/RenderTest.php
index 7aadd033f340..e6732087762e 100644
--- a/core/modules/system/src/Tests/Common/RenderTest.php
+++ b/core/modules/system/src/Tests/Common/RenderTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests drupal_render().
+ * Performs functional tests on drupal_render().
+ *
+ * @group Common
  */
 class RenderTest extends DrupalUnitTestBase {
 
@@ -24,14 +26,6 @@ class RenderTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'common_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'drupal_render()',
-      'description' => 'Performs functional tests on drupal_render().',
-      'group' => 'Common',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // There are dependencies in drupal_get_js() on the theme layer so we need
diff --git a/core/modules/system/src/Tests/Common/RenderWebTest.php b/core/modules/system/src/Tests/Common/RenderWebTest.php
index 4eaba0758438..13ed7882df4b 100644
--- a/core/modules/system/src/Tests/Common/RenderWebTest.php
+++ b/core/modules/system/src/Tests/Common/RenderWebTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests drupal_render() in a full environment.
+ * Performs integration tests on drupal_render().
+ *
+ * @group Common
  */
 class RenderWebTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class RenderWebTest extends WebTestBase {
    */
   public static $modules = array('common_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'drupal_render() in a full environment',
-      'description' => 'Performs integration tests on drupal_render().',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests rendering form elements without passing through form_builder().
    */
diff --git a/core/modules/system/src/Tests/Common/SimpleTestErrorCollectorTest.php b/core/modules/system/src/Tests/Common/SimpleTestErrorCollectorTest.php
index b32c6fca9a44..ae419ffba54c 100644
--- a/core/modules/system/src/Tests/Common/SimpleTestErrorCollectorTest.php
+++ b/core/modules/system/src/Tests/Common/SimpleTestErrorCollectorTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests SimpleTest error and exception collector.
+ *
+ * @group Common
  */
 class SimpleTestErrorCollectorTest extends WebTestBase {
 
@@ -31,14 +33,6 @@ class SimpleTestErrorCollectorTest extends WebTestBase {
    */
   protected $collectedErrors = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'SimpleTest error collector',
-      'description' => 'Performs tests on the Simpletest error and exception collector.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests that simpletest collects errors from the tested site.
    */
diff --git a/core/modules/system/src/Tests/Common/SizeUnitTest.php b/core/modules/system/src/Tests/Common/SizeUnitTest.php
index c170fc4ec3b0..72e4d3b7010f 100644
--- a/core/modules/system/src/Tests/Common/SizeUnitTest.php
+++ b/core/modules/system/src/Tests/Common/SizeUnitTest.php
@@ -11,20 +11,15 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests file size parsing and formatting functions.
+ * Parse a predefined amount of bytes and compare the output with the expected
+ * value.
+ *
+ * @group Common
  */
 class SizeUnitTest extends UnitTestBase {
   protected $exact_test_cases;
   protected $rounded_test_cases;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Size parsing test',
-      'description' => 'Parse a predefined amount of bytes and compare the output with the expected value.',
-      'group' => 'Common',
-    );
-  }
-
   function setUp() {
     $kb = Bytes::KILOBYTE;
     $this->exact_test_cases = array(
diff --git a/core/modules/system/src/Tests/Common/SystemListingTest.php b/core/modules/system/src/Tests/Common/SystemListingTest.php
index 4aac4ce8a2a8..fc1cebf5c818 100644
--- a/core/modules/system/src/Tests/Common/SystemListingTest.php
+++ b/core/modules/system/src/Tests/Common/SystemListingTest.php
@@ -12,16 +12,10 @@
 
 /**
  * Tests scanning system directories in drupal_system_listing().
+ *
+ * @group Common
  */
 class SystemListingTest extends DrupalUnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Drupal system listing',
-      'description' => 'Tests scanning system directories in drupal_system_listing().',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests that files in different directories take precedence as expected.
    */
diff --git a/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php b/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php
index 28091bd0cb00..5ad57254ebe6 100644
--- a/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php
+++ b/core/modules/system/src/Tests/Common/TableSortExtenderUnitTest.php
@@ -12,18 +12,12 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests table sorting features implemented in tablesort.inc.
+ * Tests table sorting.
+ *
+ * @group Common
  */
 class TableSortExtenderUnitTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tablesort',
-      'description' => 'Tests table sorting.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Tests tablesort_init().
    */
diff --git a/core/modules/system/src/Tests/Common/UrlTest.php b/core/modules/system/src/Tests/Common/UrlTest.php
index 7cda6a3b11b9..045714688592 100644
--- a/core/modules/system/src/Tests/Common/UrlTest.php
+++ b/core/modules/system/src/Tests/Common/UrlTest.php
@@ -12,24 +12,21 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for URL generation functions.
+ * Confirm that url(),
+ * \Drupal\Component\Utility\UrlHelper::filterQueryParameters(),
+ * \Drupal\Component\Utility\UrlHelper::buildQuery(), and l() work correctly
+ * with various input.
  *
  * url() calls \Drupal::moduleHandler()->getImplementations(),
  * which may issue a db query, which requires
  * inheriting from a web test case rather than a unit test case.
+ *
+ * @group Common
  */
 class UrlTest extends WebTestBase {
 
   public static $modules = array('common_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'URL generation tests',
-      'description' => 'Confirm that url(), \Drupal\Component\Utility\UrlHelper::filterQueryParameters(), \Drupal\Component\Utility\UrlHelper::buildQuery(), and l() work correctly with various input.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Confirms that invalid URLs are filtered in link generating functions.
    */
diff --git a/core/modules/system/src/Tests/Common/WriteRecordTest.php b/core/modules/system/src/Tests/Common/WriteRecordTest.php
index f4ac5ff52492..59d37da5bc54 100644
--- a/core/modules/system/src/Tests/Common/WriteRecordTest.php
+++ b/core/modules/system/src/Tests/Common/WriteRecordTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests writing of data records with drupal_write_record().
+ *
+ * @group Common
  */
 class WriteRecordTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class WriteRecordTest extends DrupalUnitTestBase {
    */
   public static $modules = array('database_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Data record write functionality',
-      'description' => 'Tests writing of data records with drupal_write_record().',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests the drupal_write_record() API function.
    */
diff --git a/core/modules/system/src/Tests/Common/XssUnitTest.php b/core/modules/system/src/Tests/Common/XssUnitTest.php
index d54cc74ffb72..6f22713008cd 100644
--- a/core/modules/system/src/Tests/Common/XssUnitTest.php
+++ b/core/modules/system/src/Tests/Common/XssUnitTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests for \Drupal\Component\Utility\Xss::filter() and check_url().
+ * Confirm that \Drupal\Component\Utility\Xss::filter() and check_url() work
+ * correctly, including invalid multi-byte sequences.
+ *
+ * @group Common
  */
 class XssUnitTest extends DrupalUnitTestBase {
 
@@ -22,14 +25,6 @@ class XssUnitTest extends DrupalUnitTestBase {
    */
   public static $modules = array('filter', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'String filtering tests',
-      'description' => 'Confirm that \Drupal\Component\Utility\Xss::filter() and check_url() work correctly, including invalid multi-byte sequences.',
-      'group' => 'Common',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->installConfig(array('system'));
diff --git a/core/modules/system/src/Tests/Condition/ConditionFormTest.php b/core/modules/system/src/Tests/Condition/ConditionFormTest.php
index 2ad0d063d318..3bc69f429e57 100644
--- a/core/modules/system/src/Tests/Condition/ConditionFormTest.php
+++ b/core/modules/system/src/Tests/Condition/ConditionFormTest.php
@@ -10,24 +10,18 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests condition forms, configuration and execution.
+ * Tests that condtion plugins basic form handling is working.
  *
  * Checks condition forms and submission and gives a very cursory check to make
  * sure the configuration that was submitted actually causes the condition to
  * validate correctly.
+ *
+ * @group Condition
  */
 class ConditionFormTest extends WebTestBase {
 
   public static $modules = array('node', 'condition_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Condition Form Tests',
-      'description' => 'Tests that condtion plugins basic form handling is working.',
-      'group' => 'Condition API',
-    );
-  }
-
   /**
    * Submit the condition_node_type_test_form to test condition forms.
    */
diff --git a/core/modules/system/src/Tests/Condition/CurrentThemeConditionTest.php b/core/modules/system/src/Tests/Condition/CurrentThemeConditionTest.php
index 3057d08ee21e..26dd6eaaa1c2 100644
--- a/core/modules/system/src/Tests/Condition/CurrentThemeConditionTest.php
+++ b/core/modules/system/src/Tests/Condition/CurrentThemeConditionTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the CurrentThemeCondition plugin.
+ *
+ * @group Condition
  */
 class CurrentThemeConditionTest extends KernelTestBase {
 
@@ -20,17 +22,6 @@ class CurrentThemeConditionTest extends KernelTestBase {
    */
   public static $modules = array('system', 'theme_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Current Theme Condition Plugin',
-      'description' => 'Tests the CurrentThemeCondition plugin',
-      'group' => 'Condition API',
-    );
-  }
-
   /**
    * Tests the current theme condition.
    */
diff --git a/core/modules/system/src/Tests/Database/AlterTest.php b/core/modules/system/src/Tests/Database/AlterTest.php
index 4e45885eb543..6371b733e4bf 100644
--- a/core/modules/system/src/Tests/Database/AlterTest.php
+++ b/core/modules/system/src/Tests/Database/AlterTest.php
@@ -8,20 +8,13 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests alter queries.
+ * Tests the hook_query_alter capabilities of the Select builder.
  *
+ * @group Database
  * @see database_test_query_alter()
  */
 class AlterTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Query altering tests',
-      'description' => 'Test the hook_query_alter capabilities of the Select builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can do basic alters.
    */
diff --git a/core/modules/system/src/Tests/Database/BasicSyntaxTest.php b/core/modules/system/src/Tests/Database/BasicSyntaxTest.php
index 67286c51ec4c..ca6275cf19bb 100644
--- a/core/modules/system/src/Tests/Database/BasicSyntaxTest.php
+++ b/core/modules/system/src/Tests/Database/BasicSyntaxTest.php
@@ -8,21 +8,15 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests how the current database driver interprets the SQL syntax.
+ * Tests SQL syntax interpretation.
  *
  * In order to ensure consistent SQL handling throughout Drupal
  * across multiple kinds of database systems, we test that the
  * database system interprets SQL syntax in an expected fashion.
+ *
+ * @group Database
  */
 class BasicSyntaxTest extends DatabaseTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Basic SQL syntax tests',
-      'description' => 'Test SQL syntax interpretation.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests string concatenation.
    */
diff --git a/core/modules/system/src/Tests/Database/CaseSensitivityTest.php b/core/modules/system/src/Tests/Database/CaseSensitivityTest.php
index 1fe31c26d646..699707346b0d 100644
--- a/core/modules/system/src/Tests/Database/CaseSensitivityTest.php
+++ b/core/modules/system/src/Tests/Database/CaseSensitivityTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests case sensitivity handling.
+ * Tests handling case sensitive collation.
+ *
+ * @group Database
  */
 class CaseSensitivityTest extends DatabaseTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Case sensitivity',
-      'description' => 'Test handling case sensitive collation.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests BINARY collation in MySQL.
    */
diff --git a/core/modules/system/src/Tests/Database/ConnectionTest.php b/core/modules/system/src/Tests/Database/ConnectionTest.php
index 03d6a4d65865..4c9309448200 100644
--- a/core/modules/system/src/Tests/Database/ConnectionTest.php
+++ b/core/modules/system/src/Tests/Database/ConnectionTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests connection management.
+ * Tests of the core database system.
+ *
+ * @group Database
  */
 class ConnectionTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Connection tests',
-      'description' => 'Tests of the core database system.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that connections return appropriate connection objects.
    */
diff --git a/core/modules/system/src/Tests/Database/ConnectionUnitTest.php b/core/modules/system/src/Tests/Database/ConnectionUnitTest.php
index cb8b01fb5c96..a7a053dd56de 100644
--- a/core/modules/system/src/Tests/Database/ConnectionUnitTest.php
+++ b/core/modules/system/src/Tests/Database/ConnectionUnitTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests management of database connections.
+ *
+ * @group Database
  */
 class ConnectionUnitTest extends UnitTestBase {
 
@@ -21,14 +23,6 @@ class ConnectionUnitTest extends UnitTestBase {
   protected $monitor;
   protected $originalCount;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Connection unit tests',
-      'description' => 'Tests management of database connections.',
-      'group' => 'Database',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Database/DatabaseExceptionWrapperTest.php b/core/modules/system/src/Tests/Database/DatabaseExceptionWrapperTest.php
index 9d34e9ac6c78..34364bbb0d3c 100644
--- a/core/modules/system/src/Tests/Database/DatabaseExceptionWrapperTest.php
+++ b/core/modules/system/src/Tests/Database/DatabaseExceptionWrapperTest.php
@@ -12,17 +12,11 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests DatabaseExceptionWrapper thrown.
+ * Tests exceptions thrown by queries.
+ *
+ * @group Database
  */
 class DatabaseExceptionWrapperTest extends UnitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Database exceptiontests',
-      'description' => 'Tests exceptions thrown by queries.',
-      'group' => 'Database',
-    );
-  }
-
   function testDatabaseExceptionWrapper() {
     $connection = Database::getConnection();
     $query = $connection->prepare('bananas');
diff --git a/core/modules/system/src/Tests/Database/DeleteTruncateTest.php b/core/modules/system/src/Tests/Database/DeleteTruncateTest.php
index 6f98e7c0d46a..5c7b9776c4b2 100755
--- a/core/modules/system/src/Tests/Database/DeleteTruncateTest.php
+++ b/core/modules/system/src/Tests/Database/DeleteTruncateTest.php
@@ -17,17 +17,11 @@
  * The TRUNCATE tests are not extensive either, because the behavior of
  * TRUNCATE queries is not consistent across database engines. We only test
  * that a TRUNCATE query actually deletes all rows from the target table.
+ *
+ * @group Database
  */
 class DeleteTruncateTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Delete/Truncate tests',
-      'description' => 'Test the Delete and Truncate query builders.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that we can use a subselect in a delete successfully.
    */
diff --git a/core/modules/system/src/Tests/Database/FetchTest.php b/core/modules/system/src/Tests/Database/FetchTest.php
index e96cfbea65cd..30ae0accd58e 100644
--- a/core/modules/system/src/Tests/Database/FetchTest.php
+++ b/core/modules/system/src/Tests/Database/FetchTest.php
@@ -11,20 +11,14 @@
 use Drupal\Core\Database\StatementInterface;
 
 /**
- * Tests fetch actions.
+ * Tests the Database system's various fetch capabilities.
  *
  * We get timeout errors if we try to run too many tests at once.
+ *
+ * @group Database
  */
 class FetchTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Fetch tests',
-      'description' => 'Test the Database system\'s various fetch capabilities.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that we can fetch a record properly in default object mode.
    */
diff --git a/core/modules/system/src/Tests/Database/InsertDefaultsTest.php b/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
index c6642355671a..d5f60ddd2673 100644
--- a/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
+++ b/core/modules/system/src/Tests/Database/InsertDefaultsTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Database\Query\NoFieldsException;
 
 /**
- * Tests insertion for database default values.
+ * Tests the Insert query builder with default values.
+ *
+ * @group Database
  */
 class InsertDefaultsTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Insert tests, default fields',
-      'description' => 'Test the Insert query builder with default values.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can run a query that uses default values for everything.
    */
diff --git a/core/modules/system/src/Tests/Database/InsertLobTest.php b/core/modules/system/src/Tests/Database/InsertLobTest.php
index 63ffd294645e..2fcf182bcb91 100644
--- a/core/modules/system/src/Tests/Database/InsertLobTest.php
+++ b/core/modules/system/src/Tests/Database/InsertLobTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests inserts using LOB fields, which are weird on some databases.
+ * Tests the Insert query builder with LOB fields.
+ *
+ * @group Database
  */
 class InsertLobTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Insert tests, LOB fields',
-      'description' => 'Test the Insert query builder with LOB fields.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can insert a single blob field successfully.
    */
diff --git a/core/modules/system/src/Tests/Database/InsertTest.php b/core/modules/system/src/Tests/Database/InsertTest.php
index 46f66fba1d5f..75b24db3fa92 100644
--- a/core/modules/system/src/Tests/Database/InsertTest.php
+++ b/core/modules/system/src/Tests/Database/InsertTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the insert builder.
+ *
+ * @group Database
  */
 class InsertTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Insert tests',
-      'description' => 'Test the Insert query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests very basic insert functionality.
    */
diff --git a/core/modules/system/src/Tests/Database/InvalidDataTest.php b/core/modules/system/src/Tests/Database/InvalidDataTest.php
index 00bf68f26cfe..cbc7226bb3d9 100644
--- a/core/modules/system/src/Tests/Database/InvalidDataTest.php
+++ b/core/modules/system/src/Tests/Database/InvalidDataTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Database\IntegrityConstraintViolationException;
 
 /**
- * Tests invalid data handling.
+ * Tests handling of some invalid data.
+ *
+ * @group Database
  */
 class InvalidDataTest extends DatabaseTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Invalid data',
-      'description' => 'Test handling of some invalid data.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests aborting of traditional SQL database systems with invalid data.
    */
diff --git a/core/modules/system/src/Tests/Database/LoggingTest.php b/core/modules/system/src/Tests/Database/LoggingTest.php
index 225d77d02aae..c6034ec87621 100644
--- a/core/modules/system/src/Tests/Database/LoggingTest.php
+++ b/core/modules/system/src/Tests/Database/LoggingTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests query logging.
+ * Tests the query logging facility.
+ *
+ * @group Database
  */
 class LoggingTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Query logging',
-      'description' => 'Test the query logging facility.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can log the existence of a query.
    */
diff --git a/core/modules/system/src/Tests/Database/MergeTest.php b/core/modules/system/src/Tests/Database/MergeTest.php
index a5b1ae8274e9..b13c8864ec57 100644
--- a/core/modules/system/src/Tests/Database/MergeTest.php
+++ b/core/modules/system/src/Tests/Database/MergeTest.php
@@ -12,17 +12,11 @@
 
 /**
  * Tests the MERGE query builder.
+ *
+ * @group Database
  */
 class MergeTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Merge tests',
-      'description' => 'Test the Merge query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that we can merge-insert a record successfully.
    */
diff --git a/core/modules/system/src/Tests/Database/NextIdTest.php b/core/modules/system/src/Tests/Database/NextIdTest.php
index 23205fbecf8e..7a5e83f8ba3b 100644
--- a/core/modules/system/src/Tests/Database/NextIdTest.php
+++ b/core/modules/system/src/Tests/Database/NextIdTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Checks the sequences API.
+ * Tests the sequences API.
+ *
+ * @group Database
  */
 class NextIdTest extends DrupalUnitTestBase {
 
@@ -20,14 +22,6 @@ class NextIdTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Sequences API',
-      'description' => 'Test the secondary sequences API.',
-      'group' => 'Database',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installSchema('system', 'sequences');
diff --git a/core/modules/system/src/Tests/Database/QueryTest.php b/core/modules/system/src/Tests/Database/QueryTest.php
index 157267e888b7..ddfd1a581847 100644
--- a/core/modules/system/src/Tests/Database/QueryTest.php
+++ b/core/modules/system/src/Tests/Database/QueryTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests Drupal-specific SQL syntax tests.
+ * Tests Drupal's extended prepared statement syntax..
+ *
+ * @group Database
  */
 class QueryTest extends DatabaseTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom query syntax tests',
-      'description' => 'Test Drupal\'s extended prepared statement syntax..',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can pass an array of values directly in the query.
    */
diff --git a/core/modules/system/src/Tests/Database/RangeQueryTest.php b/core/modules/system/src/Tests/Database/RangeQueryTest.php
index 7821dbc665d7..c3f9d1dde574 100644
--- a/core/modules/system/src/Tests/Database/RangeQueryTest.php
+++ b/core/modules/system/src/Tests/Database/RangeQueryTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests range queries.
+ * Tests the Range query functionality.
+ *
+ * @group Database
  */
 class RangeQueryTest extends DatabaseTestBase {
 
@@ -19,14 +21,6 @@ class RangeQueryTest extends DatabaseTestBase {
    */
   public static $modules = array('database_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Range query test',
-      'description' => 'Test the Range query functionality.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that range queries work and return the correct result.
    */
diff --git a/core/modules/system/src/Tests/Database/RegressionTest.php b/core/modules/system/src/Tests/Database/RegressionTest.php
index f38b49f0640f..0836572d1ef6 100644
--- a/core/modules/system/src/Tests/Database/RegressionTest.php
+++ b/core/modules/system/src/Tests/Database/RegressionTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests for database regressions.
+ * Regression tests cases for the database layer.
+ *
+ * @group Database
  */
 class RegressionTest extends DatabaseTestBase {
 
@@ -19,14 +21,6 @@ class RegressionTest extends DatabaseTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Regression tests',
-      'description' => 'Regression tests cases for the database layer.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Ensures that non-ASCII UTF-8 data is stored in the database properly.
    */
diff --git a/core/modules/system/src/Tests/Database/SchemaTest.php b/core/modules/system/src/Tests/Database/SchemaTest.php
index 27826adfcf05..767332308e77 100644
--- a/core/modules/system/src/Tests/Database/SchemaTest.php
+++ b/core/modules/system/src/Tests/Database/SchemaTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests the Schema API.
+ * Tests table creation and modification via the schema API.
+ *
+ * @group Database
  */
 class SchemaTest extends UnitTestBase {
 
@@ -22,14 +24,6 @@ class SchemaTest extends UnitTestBase {
    */
   var $counter;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Schema API',
-      'description' => 'Tests table creation and modification via the schema API.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests database interactions.
    */
diff --git a/core/modules/system/src/Tests/Database/SelectCloneTest.php b/core/modules/system/src/Tests/Database/SelectCloneTest.php
index 63e825a40516..ad13685bef6b 100644
--- a/core/modules/system/src/Tests/Database/SelectCloneTest.php
+++ b/core/modules/system/src/Tests/Database/SelectCloneTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Test cloning Select queries.
+ * Tests cloning Select queries.
+ *
+ * @group Database
  */
 class SelectCloneTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Select tests, cloning',
-      'description' => 'Test cloning Select queries.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Test that subqueries as value within conditions are cloned properly.
    */
diff --git a/core/modules/system/src/Tests/Database/SelectComplexTest.php b/core/modules/system/src/Tests/Database/SelectComplexTest.php
index 02fa60726c66..13f6589568bb 100644
--- a/core/modules/system/src/Tests/Database/SelectComplexTest.php
+++ b/core/modules/system/src/Tests/Database/SelectComplexTest.php
@@ -10,7 +10,9 @@
 use \Drupal\Core\Database\RowCountException;
 
 /**
- * Tests more complex select statements.
+ * Tests the Select query builder with more complex queries.
+ *
+ * @group Database
  */
 class SelectComplexTest extends DatabaseTestBase {
 
@@ -21,14 +23,6 @@ class SelectComplexTest extends DatabaseTestBase {
    */
   public static $modules = array('node_access_test', 'field');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Select tests, complex',
-      'description' => 'Test the Select query builder with more complex queries.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests simple JOIN statements.
    */
diff --git a/core/modules/system/src/Tests/Database/SelectOrderedTest.php b/core/modules/system/src/Tests/Database/SelectOrderedTest.php
index 9e20c8a014bb..4436ce464dcf 100644
--- a/core/modules/system/src/Tests/Database/SelectOrderedTest.php
+++ b/core/modules/system/src/Tests/Database/SelectOrderedTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests SELECT with ORDER BY clauses.
+ * Tests the Select query builder.
+ *
+ * @group Database
  */
 class SelectOrderedTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Select tests, ordered',
-      'description' => 'Test the Select query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests basic ORDER BY.
    */
diff --git a/core/modules/system/src/Tests/Database/SelectPagerDefaultTest.php b/core/modules/system/src/Tests/Database/SelectPagerDefaultTest.php
index 79c93d210ab9..306f1d4e3d9c 100644
--- a/core/modules/system/src/Tests/Database/SelectPagerDefaultTest.php
+++ b/core/modules/system/src/Tests/Database/SelectPagerDefaultTest.php
@@ -10,17 +10,11 @@
 
 /**
  * Tests the pager query select extender.
+ *
+ * @group Database
  */
 class SelectPagerDefaultTest extends DatabaseWebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Pager query tests',
-      'description' => 'Test the pager query extender.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that a pager query returns the correct results.
    *
diff --git a/core/modules/system/src/Tests/Database/SelectSubqueryTest.php b/core/modules/system/src/Tests/Database/SelectSubqueryTest.php
index 544c7b1545d1..caa44a77779a 100644
--- a/core/modules/system/src/Tests/Database/SelectSubqueryTest.php
+++ b/core/modules/system/src/Tests/Database/SelectSubqueryTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests for subselects in a dynamic SELECT query.
+ * Tests the Select query builder.
+ *
+ * @group Database
  */
 class SelectSubqueryTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Select tests, subqueries',
-      'description' => 'Test the Select query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that we can use a subquery in a FROM clause.
    */
diff --git a/core/modules/system/src/Tests/Database/SelectTableSortDefaultTest.php b/core/modules/system/src/Tests/Database/SelectTableSortDefaultTest.php
index 200a82a13779..2102667cf59f 100644
--- a/core/modules/system/src/Tests/Database/SelectTableSortDefaultTest.php
+++ b/core/modules/system/src/Tests/Database/SelectTableSortDefaultTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the tablesort query extender.
+ *
+ * @group Database
  */
 class SelectTableSortDefaultTest extends DatabaseWebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tablesort query tests',
-      'description' => 'Test the tablesort query extender.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that a tablesort query returns the correct results.
    *
diff --git a/core/modules/system/src/Tests/Database/SelectTest.php b/core/modules/system/src/Tests/Database/SelectTest.php
index 7b90e07c95b6..996d26991de4 100644
--- a/core/modules/system/src/Tests/Database/SelectTest.php
+++ b/core/modules/system/src/Tests/Database/SelectTest.php
@@ -9,18 +9,12 @@
 use Drupal\Core\Database\InvalidQueryException;
 
 /**
- * Tests the SELECT builder.
+ * Tests the Select query builder.
+ *
+ * @group Database
  */
 class SelectTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Select tests',
-      'description' => 'Test the Select query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests rudimentary SELECT statements.
    */
diff --git a/core/modules/system/src/Tests/Database/SerializeQueryTest.php b/core/modules/system/src/Tests/Database/SerializeQueryTest.php
index 4d0727fa5373..91e533e05a4d 100644
--- a/core/modules/system/src/Tests/Database/SerializeQueryTest.php
+++ b/core/modules/system/src/Tests/Database/SerializeQueryTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests query serialization.
+ * Tests serializing and unserializing a query.
+ *
+ * @group Database
  */
 class SerializeQueryTest extends DatabaseTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Serialize query',
-      'description' => 'Test serializing and unserializing a query.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that a query can be serialized and unserialized.
    */
diff --git a/core/modules/system/src/Tests/Database/TaggingTest.php b/core/modules/system/src/Tests/Database/TaggingTest.php
index fe11cacb5f0d..37566feb6743 100644
--- a/core/modules/system/src/Tests/Database/TaggingTest.php
+++ b/core/modules/system/src/Tests/Database/TaggingTest.php
@@ -8,21 +8,15 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests SELECT query tagging.
+ * Tests the tagging capabilities of the Select builder.
  *
  * Tags are a way to flag queries for alter hooks so they know
  * what type of query it is, such as "node_access".
+ *
+ * @group Database
  */
 class TaggingTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Query tagging tests',
-      'description' => 'Test the tagging capabilities of the Select builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that a query has a tag added to it.
    */
diff --git a/core/modules/system/src/Tests/Database/TemporaryQueryTest.php b/core/modules/system/src/Tests/Database/TemporaryQueryTest.php
index c57d58751e3f..a3ac73100ce3 100644
--- a/core/modules/system/src/Tests/Database/TemporaryQueryTest.php
+++ b/core/modules/system/src/Tests/Database/TemporaryQueryTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests temporary queries.
+ * Tests the temporary query functionality.
+ *
+ * @group Database
  */
 class TemporaryQueryTest extends DatabaseWebTestBase {
 
@@ -19,14 +21,6 @@ class TemporaryQueryTest extends DatabaseWebTestBase {
    */
   public static $modules = array('database_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Temporary query test',
-      'description' => 'Test the temporary query functionality.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Returns the number of rows of a table.
    */
diff --git a/core/modules/system/src/Tests/Database/TransactionTest.php b/core/modules/system/src/Tests/Database/TransactionTest.php
index f2257ebdca6e..00ec45832ce9 100644
--- a/core/modules/system/src/Tests/Database/TransactionTest.php
+++ b/core/modules/system/src/Tests/Database/TransactionTest.php
@@ -12,7 +12,7 @@
 use Drupal\Core\Database\TransactionNoActiveException;
 
 /**
- * Tests transaction support, particularly nesting.
+ * Tests the transaction abstraction system.
  *
  * We test nesting by having two transaction layers, an outer and inner. The
  * outer layer encapsulates the inner layer. Our transaction nesting abstraction
@@ -30,17 +30,10 @@
  *     Do more stuff
  *     Should still be in transaction A
  *
+ * @group Database
  */
 class TransactionTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Transaction tests',
-      'description' => 'Test the transaction abstraction system.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Encapsulates a transaction's "inner layer" with an "outer layer".
    *
diff --git a/core/modules/system/src/Tests/Database/UpdateComplexTest.php b/core/modules/system/src/Tests/Database/UpdateComplexTest.php
index 99bd178d7ad8..19eff495024c 100644
--- a/core/modules/system/src/Tests/Database/UpdateComplexTest.php
+++ b/core/modules/system/src/Tests/Database/UpdateComplexTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests for more complex update statements.
+ * Tests the Update query builder, complex queries.
+ *
+ * @group Database
  */
 class UpdateComplexTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update tests, Complex',
-      'description' => 'Test the Update query builder, complex queries.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests updates with OR conditionals.
    */
diff --git a/core/modules/system/src/Tests/Database/UpdateLobTest.php b/core/modules/system/src/Tests/Database/UpdateLobTest.php
index 88a98d0d55a6..7b26fdf5c8ea 100644
--- a/core/modules/system/src/Tests/Database/UpdateLobTest.php
+++ b/core/modules/system/src/Tests/Database/UpdateLobTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Database;
 
 /**
- * Tests UPDATE queries involving LOB values.
+ * Tests the Update query builder with LOB fields.
+ *
+ * @group Database
  */
 class UpdateLobTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update tests, LOB',
-      'description' => 'Test the Update query builder with LOB fields.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that we can update a blob column.
    */
diff --git a/core/modules/system/src/Tests/Database/UpdateTest.php b/core/modules/system/src/Tests/Database/UpdateTest.php
index 8038f63a4a04..d48b706ecdd2 100644
--- a/core/modules/system/src/Tests/Database/UpdateTest.php
+++ b/core/modules/system/src/Tests/Database/UpdateTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the update query builder.
+ *
+ * @group Database
  */
 class UpdateTest extends DatabaseTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update tests',
-      'description' => 'Test the Update query builder.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Confirms that we can update a single record successfully.
    */
diff --git a/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php b/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php
index 781d6b06ff40..36a38e27381b 100644
--- a/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php
+++ b/core/modules/system/src/Tests/Datetime/DrupalDateTimeTest.php
@@ -12,20 +12,11 @@
 
 /**
  * Tests DrupalDateTime functionality.
+ *
+ * @group Datetime
  */
 class DrupalDateTimeTest extends WebTestBase {
 
-  /**
-   * Test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'DrupalDateTime',
-      'description' => 'Test DrupalDateTime functionality.',
-      'group' => 'Datetime',
-    );
-  }
-
   /**
    * Set up required modules.
    */
diff --git a/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php b/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php
index 13a845096bc9..f45f57438c8c 100644
--- a/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php
+++ b/core/modules/system/src/Tests/DrupalKernel/ContentNegotiationTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests content negotiation.
+ *
+ * @group DrupalKernel
  */
 class ContentNegotiationTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Content negotiation',
-      'description' => 'Tests content negotiation.',
-      'group' => 'DrupalKernel',
-    );
-  }
-
   /**
    * Verifies HTML responses for bogus Accept headers.
    *
diff --git a/core/modules/system/src/Tests/DrupalKernel/DrupalKernelSiteTest.php b/core/modules/system/src/Tests/DrupalKernel/DrupalKernelSiteTest.php
index 5813a2dbbe78..7e78d6b309f5 100644
--- a/core/modules/system/src/Tests/DrupalKernel/DrupalKernelSiteTest.php
+++ b/core/modules/system/src/Tests/DrupalKernel/DrupalKernelSiteTest.php
@@ -11,20 +11,11 @@
 
 /**
  * Tests site-specific service overrides.
+ *
+ * @group DrupalKernel
  */
 class DrupalKernelSiteTest extends DrupalUnitTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'DrupalKernel site service overrides',
-      'description' => 'Tests site-specific service overrides.',
-      'group' => 'DrupalKernel',
-    );
-  }
-
   /**
    * Tests services.yml in site directory.
    */
diff --git a/core/modules/system/src/Tests/DrupalKernel/DrupalKernelTest.php b/core/modules/system/src/Tests/DrupalKernel/DrupalKernelTest.php
index 14d20938235e..d92ef5945979 100644
--- a/core/modules/system/src/Tests/DrupalKernel/DrupalKernelTest.php
+++ b/core/modules/system/src/Tests/DrupalKernel/DrupalKernelTest.php
@@ -13,7 +13,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests compilation of the DIC.
+ * Tests DIC compilation to disk.
+ *
+ * @group DrupalKernel
  */
 class DrupalKernelTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class DrupalKernelTest extends DrupalUnitTestBase {
    */
   protected $classloader;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'DrupalKernel tests',
-      'description' => 'Tests DIC compilation to disk.',
-      'group' => 'DrupalKernel',
-    );
-  }
-
   function setUp() {
     // DrupalKernel relies on global $config_directories and requires those
     // directories to exist. Therefore, create the directories, but do not
diff --git a/core/modules/system/src/Tests/DrupalKernel/ServiceDestructionTest.php b/core/modules/system/src/Tests/DrupalKernel/ServiceDestructionTest.php
index a48e8836512e..57484470e667 100644
--- a/core/modules/system/src/Tests/DrupalKernel/ServiceDestructionTest.php
+++ b/core/modules/system/src/Tests/DrupalKernel/ServiceDestructionTest.php
@@ -12,18 +12,12 @@
 use Symfony\Component\HttpKernel\Event\PostResponseEvent;
 
 /**
- * Tests the service destruction functionality.
+ * Tests that services are correctly destructed.
+ *
+ * @group DrupalKernel
  */
 class ServiceDestructionTest extends DrupalUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Service destruction',
-      'description' => 'Tests that services are correctly destructed.',
-      'group' => 'DrupalKernel',
-    );
-  }
-
   /**
    * Verifies that services are destructed when used.
    */
diff --git a/core/modules/system/src/Tests/Entity/BundleConstraintValidatorTest.php b/core/modules/system/src/Tests/Entity/BundleConstraintValidatorTest.php
index 79906f0b009b..a8003c480e9d 100644
--- a/core/modules/system/src/Tests/Entity/BundleConstraintValidatorTest.php
+++ b/core/modules/system/src/Tests/Entity/BundleConstraintValidatorTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests validation constraints for BundleConstraintValidator.
+ *
+ * @group Entity
  */
 class BundleConstraintValidatorTest extends DrupalUnitTestBase {
 
@@ -25,14 +27,6 @@ class BundleConstraintValidatorTest extends DrupalUnitTestBase {
 
   public static $modules = array('entity', 'node', 'field', 'text', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity bundle constraint',
-      'description' => 'Tests validation constraints for BundleConstraintValidator.',
-      'group' => 'Validation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->typedData = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php b/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php
index 5fb79fbb5613..85cf0d292bdd 100644
--- a/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php
+++ b/core/modules/system/src/Tests/Entity/ConfigEntityImportTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests importing config entities.
+ * Tests ConfigEntity importing.
+ *
+ * @group Entity
  */
 class ConfigEntityImportTest extends WebTestBase {
 
@@ -22,17 +24,6 @@ class ConfigEntityImportTest extends WebTestBase {
    */
   public static $modules = array('action', 'block', 'filter', 'image', 'search', 'search_extra_type');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configuration entity import',
-      'description' => 'Tests ConfigEntity importing.',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Entity/ConfigEntityQueryTest.php b/core/modules/system/src/Tests/Entity/ConfigEntityQueryTest.php
index d0d8b366051b..d29ed004282e 100644
--- a/core/modules/system/src/Tests/Entity/ConfigEntityQueryTest.php
+++ b/core/modules/system/src/Tests/Entity/ConfigEntityQueryTest.php
@@ -10,8 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the config entity query.
+ * Tests Config Entity Query functionality.
  *
+ * @group Entity
  * @see \Drupal\Core\Config\Entity\Query
  */
 class ConfigEntityQueryTest extends DrupalUnitTestBase {
@@ -44,14 +45,6 @@ class ConfigEntityQueryTest extends DrupalUnitTestBase {
    */
   protected $entities;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Config Entity Query',
-      'description' => 'Tests Config Entity Query functionality.',
-      'group' => 'Configuration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityAccessTest.php b/core/modules/system/src/Tests/Entity/EntityAccessTest.php
index 296b32faf952..70f402bfd9c0 100644
--- a/core/modules/system/src/Tests/Entity/EntityAccessTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityAccessTest.php
@@ -13,18 +13,12 @@
 use Drupal\Core\Entity\EntityAccessController;
 
 /**
- * Tests the entity access controller.
+ * Tests entity access.
+ *
+ * @group Entity
  */
 class EntityAccessTest extends EntityLanguageTestBase  {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity access',
-      'description' => 'Tests entity access.',
-      'group' => 'Entity API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->installSchema('system', 'url_alias');
diff --git a/core/modules/system/src/Tests/Entity/EntityApiInfoTest.php b/core/modules/system/src/Tests/Entity/EntityApiInfoTest.php
index 252fb0926e30..17f5cbe81a41 100644
--- a/core/modules/system/src/Tests/Entity/EntityApiInfoTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityApiInfoTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests Entity API base functionality.
+ * Makes sure entity info is accurately cached.
+ *
+ * @group Entity
  */
 class EntityApiInfoTest extends WebTestBase  {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity info',
-      'description' => 'Makes sure entity info is accurately cached.',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * Ensures entity info cache is updated after changes.
    */
diff --git a/core/modules/system/src/Tests/Entity/EntityApiTest.php b/core/modules/system/src/Tests/Entity/EntityApiTest.php
index caa7bb830627..1f2dfde99ac1 100644
--- a/core/modules/system/src/Tests/Entity/EntityApiTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityApiTest.php
@@ -11,18 +11,12 @@
 use Drupal\user\UserInterface;
 
 /**
- * Tests the basic Entity API.
+ * Tests basic CRUD functionality.
+ *
+ * @group Entity
  */
 class EntityApiTest extends EntityUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity CRUD',
-      'description' => 'Tests basic CRUD functionality.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityBundleFieldTest.php b/core/modules/system/src/Tests/Entity/EntityBundleFieldTest.php
index 002339754a19..9b51d86631fd 100644
--- a/core/modules/system/src/Tests/Entity/EntityBundleFieldTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityBundleFieldTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests adding a custom bundle field.
+ *
+ * @group Entity
  */
 class EntityBundleFieldTest extends EntityUnitTestBase  {
 
@@ -33,17 +35,6 @@ class EntityBundleFieldTest extends EntityUnitTestBase  {
    */
   public static $modules = array('menu_link');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity bundle fields',
-      'description' => 'Tests providing a custom bundle field.',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php b/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
index ef2fea2a4d72..7067f9b6db9f 100644
--- a/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
@@ -13,7 +13,8 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests invocation of hooks when performing an action.
+ * Tests the invocation of hooks when creating, inserting, loading, updating or
+ * deleting an entity.
  *
  * Tested hooks are:
  * - hook_entity_insert()
@@ -23,6 +24,8 @@
  * - hook_entity_delete()
  * As well as all type-specific hooks, like hook_node_insert(),
  * hook_comment_update(), etc.
+ *
+ * @group Entity
  */
 class EntityCrudHookTest extends EntityUnitTestBase {
 
@@ -35,14 +38,6 @@ class EntityCrudHookTest extends EntityUnitTestBase {
 
   protected $ids = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity CRUD hooks',
-      'description' => 'Tests the invocation of hooks when creating, inserting, loading, updating or deleting an entity.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityFieldDefaultValueTest.php b/core/modules/system/src/Tests/Entity/EntityFieldDefaultValueTest.php
index 61b9aae6e340..1a0f79f997ea 100644
--- a/core/modules/system/src/Tests/Entity/EntityFieldDefaultValueTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityFieldDefaultValueTest.php
@@ -12,7 +12,9 @@
 use Drupal\Core\Language\LanguageInterface;
 
 /**
- * Tests Entity API default field value functionality.
+ * Tests default values for entity fields.
+ *
+ * @group Entity
  */
 class EntityFieldDefaultValueTest extends EntityUnitTestBase  {
 
@@ -23,14 +25,6 @@ class EntityFieldDefaultValueTest extends EntityUnitTestBase  {
    */
   protected $uuid;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Field Default Value',
-      'description' => 'Tests default values for entity fields.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Initiate the generator object.
diff --git a/core/modules/system/src/Tests/Entity/EntityFieldTest.php b/core/modules/system/src/Tests/Entity/EntityFieldTest.php
index b6859dc714b5..5d5b9e4f2594 100644
--- a/core/modules/system/src/Tests/Entity/EntityFieldTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityFieldTest.php
@@ -21,7 +21,9 @@
 use Drupal\node\Entity\NodeType;
 
 /**
- * Tests Entity API base functionality.
+ * Tests the Entity Field API.
+ *
+ * @group Entity
  */
 class EntityFieldTest extends EntityUnitTestBase  {
 
@@ -32,14 +34,6 @@ class EntityFieldTest extends EntityUnitTestBase  {
    */
   public static $modules = array('filter', 'text', 'node', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Field API',
-      'description' => 'Tests the Entity Field API',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityFormTest.php b/core/modules/system/src/Tests/Entity/EntityFormTest.php
index dabfab444137..fca9c009fc4c 100644
--- a/core/modules/system/src/Tests/Entity/EntityFormTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityFormTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Entity Form Controller.
+ * Tests the entity form.
+ *
+ * @group Entity
  */
 class EntityFormTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EntityFormTest extends WebTestBase {
    */
   public static $modules = array('entity_test', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity form',
-      'description' => 'Tests the entity form.',
-      'group' => 'Entity API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $web_user = $this->drupalCreateUser(array('administer entity_test content'));
diff --git a/core/modules/system/src/Tests/Entity/EntityOperationsTest.php b/core/modules/system/src/Tests/Entity/EntityOperationsTest.php
index fa75e9fa03ec..112f80a15cb4 100644
--- a/core/modules/system/src/Tests/Entity/EntityOperationsTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityOperationsTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for entity operations, that they can be altered.
+ * Tests that operations can be injected from the hook.
+ *
+ * @group Entity
  */
 class EntityOperationsTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EntityOperationsTest extends WebTestBase {
    */
   public static $modules = array('entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Operations',
-      'description' => 'Check that operations can be injected from the hook.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityQueryAggregateTest.php b/core/modules/system/src/Tests/Entity/EntityQueryAggregateTest.php
index 6ea5549a1da5..6875faffb691 100644
--- a/core/modules/system/src/Tests/Entity/EntityQueryAggregateTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityQueryAggregateTest.php
@@ -7,8 +7,9 @@
 namespace Drupal\system\Tests\Entity;
 
 /**
- * Defines a test for testing aggregation support for entity query.
+ * Tests the Entity Query Aggregation API.
  *
+ * @group Entity
  * @see \Drupal\entity_test\Entity\EntityTest
  */
 class EntityQueryAggregateTest extends EntityUnitTestBase {
@@ -41,14 +42,6 @@ class EntityQueryAggregateTest extends EntityUnitTestBase {
    */
   public $factory;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Query aggregation',
-      'description' => 'Tests the Entity Query Aggregation API',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityQueryRelationshipTest.php b/core/modules/system/src/Tests/Entity/EntityQueryRelationshipTest.php
index 8d676669aa12..a945b0dc35cb 100644
--- a/core/modules/system/src/Tests/Entity/EntityQueryRelationshipTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityQueryRelationshipTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Entity;
 
 /**
- * Tests Entity Query API relationship functionality.
+ * Tests the Entity Query relationship API.
+ *
+ * @group Entity
  */
 class EntityQueryRelationshipTest extends EntityUnitTestBase  {
 
@@ -59,14 +61,6 @@ class EntityQueryRelationshipTest extends EntityUnitTestBase  {
    */
   protected $queryResults;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Query relationship',
-      'description' => 'Tests the Entity Query relationship API',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityQueryTest.php b/core/modules/system/src/Tests/Entity/EntityQueryTest.php
index a3be1e8ced31..fbf093a83d20 100644
--- a/core/modules/system/src/Tests/Entity/EntityQueryTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityQueryTest.php
@@ -12,7 +12,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the basic Entity API.
+ * Tests Entity Query functionality.
+ *
+ * @group Entity
  */
 class EntityQueryTest extends EntityUnitTestBase {
 
@@ -47,14 +49,6 @@ class EntityQueryTest extends EntityUnitTestBase {
    */
   public $figures;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Query',
-      'description' => 'Tests Entity Query functionality.',
-      'group' => 'Entity API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php
index b64ec8935a1b..c7f7c5f81ffa 100644
--- a/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityRevisionsTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for the basic revisioning functionality of entities.
+ * Create a entity with revisions and test viewing, saving, reverting, and
+ * deleting revisions.
+ *
+ * @group Entity
  */
 class EntityRevisionsTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class EntityRevisionsTest extends WebTestBase {
    */
   public static $modules = array('entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity revisions',
-      'description' => 'Create a entity with revisions and test viewing, saving, reverting, and deleting revisions.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php b/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
index 41806e32a076..c2211e33ee3a 100644
--- a/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityTranslationFormTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests entity translation form.
+ *
+ * @group Entity
  */
 class EntityTranslationFormTest extends WebTestBase {
 
@@ -26,14 +28,6 @@ class EntityTranslationFormTest extends WebTestBase {
 
   protected $langcodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity translation form',
-      'description' => 'Tests entity translation form functionality.',
-      'group' => 'Entity API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Enable translations for the test entity type.
diff --git a/core/modules/system/src/Tests/Entity/EntityTranslationTest.php b/core/modules/system/src/Tests/Entity/EntityTranslationTest.php
index 8c2a440dbcf0..51117b41f55e 100644
--- a/core/modules/system/src/Tests/Entity/EntityTranslationTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityTranslationTest.php
@@ -11,18 +11,12 @@
 use Drupal\entity_test\Entity\EntityTestMulRev;
 
 /**
- * Tests entity translation.
+ * Tests entity translation functionality.
+ *
+ * @group Entity
  */
 class EntityTranslationTest extends EntityLanguageTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Translation',
-      'description' => 'Tests entity translation functionality.',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * Tests language related methods of the Entity class.
    */
diff --git a/core/modules/system/src/Tests/Entity/EntityTypeConstraintValidatorTest.php b/core/modules/system/src/Tests/Entity/EntityTypeConstraintValidatorTest.php
index 93b60cf26778..1794eaddb7bf 100644
--- a/core/modules/system/src/Tests/Entity/EntityTypeConstraintValidatorTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityTypeConstraintValidatorTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests validation constraints for EntityTypeConstraintValidator.
+ *
+ * @group Entity
  */
 class EntityTypeConstraintValidatorTest extends EntityUnitTestBase {
 
@@ -25,14 +27,6 @@ class EntityTypeConstraintValidatorTest extends EntityUnitTestBase {
 
   public static $modules = array('node', 'field', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity type constraint',
-      'description' => 'Tests validation constraints for EntityTypeConstraintValidator.',
-      'group' => 'Validation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->typedData = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/src/Tests/Entity/EntityTypedDataDefinitionTest.php b/core/modules/system/src/Tests/Entity/EntityTypedDataDefinitionTest.php
index 30eb21222a53..04aaa668a394 100644
--- a/core/modules/system/src/Tests/Entity/EntityTypedDataDefinitionTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityTypedDataDefinitionTest.php
@@ -19,6 +19,8 @@
 
 /**
  * Tests deriving metadata of entity and field data types.
+ *
+ * @group Entity
  */
 class EntityTypedDataDefinitionTest extends DrupalUnitTestBase {
 
@@ -36,14 +38,6 @@ class EntityTypedDataDefinitionTest extends DrupalUnitTestBase {
    */
   public static $modules = array('filter', 'text', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity typed data definitions',
-      'description' => 'Tests reading and deriving metadata of entity and field data types.',
-      'group' => 'Typed Data API',
-    );
-  }
-
   public function setUp() {
     parent::setup();
     $this->typedDataManager = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/src/Tests/Entity/EntityUUIDTest.php b/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
index a0ec72627271..a5de69a043e8 100644
--- a/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityUUIDTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests creation, saving, and loading of entity UUIDs.
+ *
+ * @group Entity
  */
 class EntityUUIDTest extends EntityUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity UUIDs',
-      'description' => 'Tests creation, saving, and loading of entity UUIDs.',
-      'group' => 'Entity API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/EntityValidationTest.php b/core/modules/system/src/Tests/Entity/EntityValidationTest.php
index dceab23625a9..eaa3daecc903 100644
--- a/core/modules/system/src/Tests/Entity/EntityValidationTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityValidationTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\Entity;
 
 /**
- * Tests Entity API base functionality.
+ * Tests the Entity Validation API.
+ *
+ * @group Entity
  */
 class EntityValidationTest extends EntityUnitTestBase {
 
@@ -19,14 +21,6 @@ class EntityValidationTest extends EntityUnitTestBase {
    */
   public static $modules = array('filter', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Validation API',
-      'description' => 'Tests the Entity Validation API',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Entity/EntityViewBuilderTest.php b/core/modules/system/src/Tests/Entity/EntityViewBuilderTest.php
index 6ac4a626d3de..355edc0db9d4 100644
--- a/core/modules/system/src/Tests/Entity/EntityViewBuilderTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityViewBuilderTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the entity view builder.
+ *
+ * @group Entity
  */
 class EntityViewBuilderTest extends EntityUnitTestBase {
 
@@ -19,14 +21,6 @@ class EntityViewBuilderTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_reference');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity rendering',
-      'description' => 'Tests the entity view builder.',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php b/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php
index e416ddcebdf8..bc07bd0d1229 100644
--- a/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityViewControllerTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests \Drupal\Core\Entity\Controller\EntityViewController.
+ * Tests EntityViewController functionality.
+ *
+ * @group Entity
  */
 class EntityViewControllerTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class EntityViewControllerTest extends WebTestBase {
    */
   protected $entities = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity View Controller',
-      'description' => 'Tests EntityViewController functionality.',
-      'group' => 'Entity API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Create some dummy entity_test entities.
diff --git a/core/modules/system/src/Tests/Entity/FieldAccessTest.php b/core/modules/system/src/Tests/Entity/FieldAccessTest.php
index d72b297541e3..cfbb6c97af12 100644
--- a/core/modules/system/src/Tests/Entity/FieldAccessTest.php
+++ b/core/modules/system/src/Tests/Entity/FieldAccessTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the functionality of field access.
+ * Tests Field level access hooks.
+ *
+ * @group Entity
  */
 class FieldAccessTest extends DrupalUnitTestBase {
 
@@ -31,14 +33,6 @@ class FieldAccessTest extends DrupalUnitTestBase {
    */
   protected $activeUid;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field access tests',
-      'description' => 'Test Field level access hooks.',
-      'group' => 'Entity API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     // Install field configuration.
diff --git a/core/modules/system/src/Tests/Entity/FieldSqlStorageTest.php b/core/modules/system/src/Tests/Entity/FieldSqlStorageTest.php
index 28cfed295b93..d1952375b2e3 100644
--- a/core/modules/system/src/Tests/Entity/FieldSqlStorageTest.php
+++ b/core/modules/system/src/Tests/Entity/FieldSqlStorageTest.php
@@ -13,10 +13,12 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Tests field storage.
+ * Tests Field SQL Storage .
  *
  * Field_sql_storage.module implements the default back-end storage plugin
  * for the Field Storage API.
+ *
+ * @group Entity
  */
 class FieldSqlStorageTest extends EntityUnitTestBase {
 
@@ -55,14 +57,6 @@ class FieldSqlStorageTest extends EntityUnitTestBase {
    */
   protected $revision_table;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field SQL storage tests',
-      'description'  => "Test Field SQL Storage .",
-      'group' => 'Entity API'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php
index 5ea3ef9c4bfe..f506ced3e3dd 100644
--- a/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php
+++ b/core/modules/system/src/Tests/Entity/FieldTranslationSqlStorageTest.php
@@ -13,18 +13,12 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Tests entity translation.
+ * Tests Field translation SQL Storage.
+ *
+ * @group Entity
  */
 class FieldTranslationSqlStorageTest extends EntityLanguageTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Field translation SQL storage tests',
-      'description'  => "Test Field translation SQL Storage.",
-      'group' => 'Entity API'
-    );
-  }
-
   /**
    * Tests field SQL storage.
    */
diff --git a/core/modules/system/src/Tests/Extension/InfoParserUnitTest.php b/core/modules/system/src/Tests/Extension/InfoParserUnitTest.php
index 8be4af9baaa1..17c441f82acf 100644
--- a/core/modules/system/src/Tests/Extension/InfoParserUnitTest.php
+++ b/core/modules/system/src/Tests/Extension/InfoParserUnitTest.php
@@ -12,11 +12,13 @@
 use Drupal\Core\Extension\InfoParserException;
 
 /**
- * Tests InfoParser class.
+ * Tests InfoParser class and exception.
  *
  * Files for this test are stored in core/modules/system/tests/fixtures and end
  * with .info.txt instead of info.yml in order not not be considered as real
  * extensions.
+ *
+ * @group Extension
  */
 class InfoParserUnitTest extends DrupalUnitTestBase {
 
@@ -27,17 +29,6 @@ class InfoParserUnitTest extends DrupalUnitTestBase {
    */
   protected $infoParser;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'InfoParser',
-      'description' => 'Tests InfoParser class and exception.',
-      'group' => 'Extension',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Extension/ModuleHandlerTest.php b/core/modules/system/src/Tests/Extension/ModuleHandlerTest.php
index 7ea1b8f96aa9..8d93c7a76ea8 100644
--- a/core/modules/system/src/Tests/Extension/ModuleHandlerTest.php
+++ b/core/modules/system/src/Tests/Extension/ModuleHandlerTest.php
@@ -13,17 +13,11 @@
 
 /**
  * Tests ModuleHandler functionality.
+ *
+ * @group Extension
  */
 class ModuleHandlerTest extends KernelTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module handler',
-      'description' => 'Tests ModuleHandler functionality.',
-      'group' => 'Extension',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Extension/ThemeHandlerTest.php b/core/modules/system/src/Tests/Extension/ThemeHandlerTest.php
index 45d22caa0505..03a94cfe5cbc 100644
--- a/core/modules/system/src/Tests/Extension/ThemeHandlerTest.php
+++ b/core/modules/system/src/Tests/Extension/ThemeHandlerTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests installing/enabling, disabling, and uninstalling of themes.
+ *
+ * @group Extension
  */
 class ThemeHandlerTest extends DrupalUnitTestBase {
 
@@ -23,14 +25,6 @@ class ThemeHandlerTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'menu_link');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme handler',
-      'description' => 'Tests installing/enabling, disabling, and uninstalling of themes.',
-      'group' => 'Extension',
-    );
-  }
-
   public function containerBuild(ContainerBuilder $container) {
     parent::containerBuild($container);
     // Some test methods involve ModuleHandler operations, which attempt to
diff --git a/core/modules/system/src/Tests/File/ConfigTest.php b/core/modules/system/src/Tests/File/ConfigTest.php
index a38322bb18f1..6649718cd23c 100644
--- a/core/modules/system/src/Tests/File/ConfigTest.php
+++ b/core/modules/system/src/Tests/File/ConfigTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * File system configuration related tests.
+ * Tests file system configuration operations.
+ *
+ * @group File
  */
 class ConfigTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File system configuration test',
-      'description' => 'Tests file system configuration operations',
-      'group' => 'File API',
-    );
-  }
-
   function setUp(){
     parent::setUp();
     $this->web_user = $this->drupalCreateUser(array('administer site configuration'));
diff --git a/core/modules/system/src/Tests/File/DirectoryTest.php b/core/modules/system/src/Tests/File/DirectoryTest.php
index d17db2080b30..c4ca643c25fc 100644
--- a/core/modules/system/src/Tests/File/DirectoryTest.php
+++ b/core/modules/system/src/Tests/File/DirectoryTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Directory related tests.
+ * Tests operations dealing with directories.
+ *
+ * @group File
  */
 class DirectoryTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File paths and directories',
-      'description' => 'Tests operations dealing with directories.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Test local directory handling functions.
    */
diff --git a/core/modules/system/src/Tests/File/HtaccessUnitTest.php b/core/modules/system/src/Tests/File/HtaccessUnitTest.php
index 66438b766e62..4fb7fed0c263 100644
--- a/core/modules/system/src/Tests/File/HtaccessUnitTest.php
+++ b/core/modules/system/src/Tests/File/HtaccessUnitTest.php
@@ -11,18 +11,12 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * .htaccess file saving tests.
+ * Tests .htaccess file saving.
+ *
+ * @group File
  */
 class HtaccessUnitTest extends DrupalUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => '.htaccess file saving',
-      'description' => 'Tests .htaccess file saving.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Tests file_save_htaccess().
    */
diff --git a/core/modules/system/src/Tests/File/MimeTypeTest.php b/core/modules/system/src/Tests/File/MimeTypeTest.php
index 85d7e7ffc3da..f09b60dd845f 100644
--- a/core/modules/system/src/Tests/File/MimeTypeTest.php
+++ b/core/modules/system/src/Tests/File/MimeTypeTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Tests for file_get_mimetype().
+ * Tests filename mimetype detection.
+ *
+ * @group File
  */
 class MimeTypeTest extends FileTestBase {
 
@@ -19,14 +21,6 @@ class MimeTypeTest extends FileTestBase {
    */
   public static $modules = array('file_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File mimetypes',
-      'description' => 'Test filename mimetype detection.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Test mapping of mimetypes from filenames.
    */
diff --git a/core/modules/system/src/Tests/File/NameMungingTest.php b/core/modules/system/src/Tests/File/NameMungingTest.php
index 9c0d3d94b60a..7dfa87811dfe 100644
--- a/core/modules/system/src/Tests/File/NameMungingTest.php
+++ b/core/modules/system/src/Tests/File/NameMungingTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Tests for file_munge_filename() and file_unmunge_filename().
+ * Tests filename munging and unmunging.
+ *
+ * @group File
  */
 class NameMungingTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'File naming',
-      'description' => 'Test filename munging and unmunging.',
-      'group' => 'File API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->bad_extension = 'php';
diff --git a/core/modules/system/src/Tests/File/ReadOnlyStreamWrapperTest.php b/core/modules/system/src/Tests/File/ReadOnlyStreamWrapperTest.php
index e02cd0777182..96747b0636ea 100644
--- a/core/modules/system/src/Tests/File/ReadOnlyStreamWrapperTest.php
+++ b/core/modules/system/src/Tests/File/ReadOnlyStreamWrapperTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Tests that files can not be written using ReadOnlyStreamWrapper functions.
+ * Tests the read-only stream wrapper write functions.
+ *
+ * @group File
  */
 class ReadOnlyStreamWrapperTest extends FileTestBase {
 
@@ -26,14 +28,6 @@ class ReadOnlyStreamWrapperTest extends FileTestBase {
    */
   protected $classname = 'Drupal\file_test\DummyReadOnlyStreamWrapper';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Read only stream wrapper',
-      'description' => 'Tests the read-only stream wrapper write functions.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Test write functionality of the read-only stream wrapper.
    */
diff --git a/core/modules/system/src/Tests/File/RemoteFileDirectoryTest.php b/core/modules/system/src/Tests/File/RemoteFileDirectoryTest.php
index 55946b841e94..8ebe597c84c8 100644
--- a/core/modules/system/src/Tests/File/RemoteFileDirectoryTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileDirectoryTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Directory related tests.
+ * Tests operations dealing with directories.
+ *
+ * @group File
  */
 class RemoteFileDirectoryTest extends DirectoryTest {
 
@@ -33,12 +35,6 @@ class RemoteFileDirectoryTest extends DirectoryTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileScanDirectoryTest.php b/core/modules/system/src/Tests/File/RemoteFileScanDirectoryTest.php
index ded05b45478d..f09e2998f40a 100644
--- a/core/modules/system/src/Tests/File/RemoteFileScanDirectoryTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileScanDirectoryTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Tests the file_scan_directory() function on remote filesystems.
+ * Tests the file_scan_directory() function.
+ *
+ * @group File
  */
 class RemoteFileScanDirectoryTest extends ScanDirectoryTest {
 
@@ -33,12 +35,6 @@ class RemoteFileScanDirectoryTest extends ScanDirectoryTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileUnmanagedCopyTest.php b/core/modules/system/src/Tests/File/RemoteFileUnmanagedCopyTest.php
index 4bf886432f96..18828a1aa222 100644
--- a/core/modules/system/src/Tests/File/RemoteFileUnmanagedCopyTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileUnmanagedCopyTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Unmanaged copy related tests on remote filesystems.
+ * Tests the unmanaged file copy function.
+ *
+ * @group File
  */
 class RemoteFileUnmanagedCopyTest extends UnmanagedCopyTest {
 
@@ -33,12 +35,6 @@ class RemoteFileUnmanagedCopyTest extends UnmanagedCopyTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php b/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
index 8cdc8d5291f2..cb81a600811e 100644
--- a/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteRecursiveTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Deletion related tests on remote filesystems.
+ * Tests the unmanaged file delete recursive function.
+ *
+ * @group File
  */
 class RemoteFileUnmanagedDeleteRecursiveTest extends UnmanagedDeleteRecursiveTest {
 
@@ -33,12 +35,6 @@ class RemoteFileUnmanagedDeleteRecursiveTest extends UnmanagedDeleteRecursiveTes
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteTest.php b/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteTest.php
index f1105dfb12ec..4247cd4def8d 100644
--- a/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileUnmanagedDeleteTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Deletion related tests on remote filesystems.
+ * Tests the unmanaged file delete function.
+ *
+ * @group File
  */
 class RemoteFileUnmanagedDeleteTest extends UnmanagedDeleteTest {
 
@@ -33,12 +35,6 @@ class RemoteFileUnmanagedDeleteTest extends UnmanagedDeleteTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileUnmanagedMoveTest.php b/core/modules/system/src/Tests/File/RemoteFileUnmanagedMoveTest.php
index 32d35ad4fd88..9714778729bc 100644
--- a/core/modules/system/src/Tests/File/RemoteFileUnmanagedMoveTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileUnmanagedMoveTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Unmanaged move related tests on remote filesystems.
+ * Tests the unmanaged file move function.
+ *
+ * @group File
  */
 class RemoteFileUnmanagedMoveTest extends UnmanagedMoveTest {
 
@@ -33,12 +35,6 @@ class RemoteFileUnmanagedMoveTest extends UnmanagedMoveTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/RemoteFileUnmanagedSaveDataTest.php b/core/modules/system/src/Tests/File/RemoteFileUnmanagedSaveDataTest.php
index 1e0b9ea788bc..47686ac042d7 100644
--- a/core/modules/system/src/Tests/File/RemoteFileUnmanagedSaveDataTest.php
+++ b/core/modules/system/src/Tests/File/RemoteFileUnmanagedSaveDataTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Tests the file_unmanaged_save_data() function on remote filesystems.
+ * Tests the unmanaged file save data function.
+ *
+ * @group File
  */
 class RemoteFileUnmanagedSaveDataTest extends UnmanagedSaveDataTest {
 
@@ -33,12 +35,6 @@ class RemoteFileUnmanagedSaveDataTest extends UnmanagedSaveDataTest {
    */
   protected $classname = 'Drupal\file_test\DummyRemoteStreamWrapper';
 
-  public static function getInfo() {
-    $info = parent::getInfo();
-    $info['group'] = 'File API (remote)';
-    return $info;
-  }
-
   function setUp() {
     parent::setUp();
     \Drupal::config('system.file')->set('default_scheme', 'dummy-remote')->save();
diff --git a/core/modules/system/src/Tests/File/ScanDirectoryTest.php b/core/modules/system/src/Tests/File/ScanDirectoryTest.php
index 7caae460a4df..cda57dedbbc4 100644
--- a/core/modules/system/src/Tests/File/ScanDirectoryTest.php
+++ b/core/modules/system/src/Tests/File/ScanDirectoryTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the file_scan_directory() function.
+ *
+ * @group File
  */
 class ScanDirectoryTest extends FileTestBase {
 
@@ -19,14 +21,6 @@ class ScanDirectoryTest extends FileTestBase {
    */
   public static $modules = array('file_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File scan directory',
-      'description' => 'Tests the file_scan_directory() function.',
-      'group' => 'File API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->path = drupal_get_path('module', 'simpletest') . '/files';
diff --git a/core/modules/system/src/Tests/File/StreamWrapperTest.php b/core/modules/system/src/Tests/File/StreamWrapperTest.php
index 35f85abd0fc6..755e98864ea8 100644
--- a/core/modules/system/src/Tests/File/StreamWrapperTest.php
+++ b/core/modules/system/src/Tests/File/StreamWrapperTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests stream wrapper functions.
+ *
+ * @group File
  */
 class StreamWrapperTest extends FileTestBase {
 
@@ -35,14 +37,6 @@ class StreamWrapperTest extends FileTestBase {
    */
   protected $classname = 'Drupal\file_test\DummyStreamWrapper';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Stream wrappers',
-      'description' => 'Tests stream wrapper functions.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Test the getClassName() function.
    */
diff --git a/core/modules/system/src/Tests/File/UnmanagedCopyTest.php b/core/modules/system/src/Tests/File/UnmanagedCopyTest.php
index ecd131099b26..5a3a4dee601c 100644
--- a/core/modules/system/src/Tests/File/UnmanagedCopyTest.php
+++ b/core/modules/system/src/Tests/File/UnmanagedCopyTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Site\Settings;
 
 /**
- * Unmanaged copy related tests.
+ * Tests the unmanaged file copy function.
+ *
+ * @group File
  */
 class UnmanagedCopyTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Unmanaged file copying',
-      'description' => 'Tests the unmanaged file copy function.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Copy a normal file.
    */
diff --git a/core/modules/system/src/Tests/File/UnmanagedDeleteRecursiveTest.php b/core/modules/system/src/Tests/File/UnmanagedDeleteRecursiveTest.php
index 2a93ac6eaa43..892f317d7801 100644
--- a/core/modules/system/src/Tests/File/UnmanagedDeleteRecursiveTest.php
+++ b/core/modules/system/src/Tests/File/UnmanagedDeleteRecursiveTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Deletion related tests.
+ * Tests the unmanaged file delete recursive function.
+ *
+ * @group File
  */
 class UnmanagedDeleteRecursiveTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Unmanaged recursive file delete',
-      'description' => 'Tests the unmanaged file delete recursive function.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Delete a normal file.
    */
diff --git a/core/modules/system/src/Tests/File/UnmanagedDeleteTest.php b/core/modules/system/src/Tests/File/UnmanagedDeleteTest.php
index 005cba069a52..a3638aafe1bf 100644
--- a/core/modules/system/src/Tests/File/UnmanagedDeleteTest.php
+++ b/core/modules/system/src/Tests/File/UnmanagedDeleteTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\File;
 
 /**
- * Deletion related tests.
+ * Tests the unmanaged file delete function.
+ *
+ * @group File
  */
 class UnmanagedDeleteTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Unmanaged file delete',
-      'description' => 'Tests the unmanaged file delete function.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Delete a normal file.
    */
diff --git a/core/modules/system/src/Tests/File/UnmanagedMoveTest.php b/core/modules/system/src/Tests/File/UnmanagedMoveTest.php
index 86a933074cd9..6e790623e956 100644
--- a/core/modules/system/src/Tests/File/UnmanagedMoveTest.php
+++ b/core/modules/system/src/Tests/File/UnmanagedMoveTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Site\Settings;
 
 /**
- * Unmanaged move related tests.
+ * Tests the unmanaged file move function.
+ *
+ * @group File
  */
 class UnmanagedMoveTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Unmanaged file moving',
-      'description' => 'Tests the unmanaged file move function.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Move a normal file.
    */
diff --git a/core/modules/system/src/Tests/File/UnmanagedSaveDataTest.php b/core/modules/system/src/Tests/File/UnmanagedSaveDataTest.php
index 8590e52c10fa..f3548f284389 100644
--- a/core/modules/system/src/Tests/File/UnmanagedSaveDataTest.php
+++ b/core/modules/system/src/Tests/File/UnmanagedSaveDataTest.php
@@ -9,16 +9,10 @@
 
 /**
  * Tests the file_unmanaged_save_data() function.
+ *
+ * @group File
  */
 class UnmanagedSaveDataTest extends FileTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Unmanaged file save data',
-      'description' => 'Tests the unmanaged file save data function.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Test the file_unmanaged_save_data() function.
    */
diff --git a/core/modules/system/src/Tests/File/UrlRewritingTest.php b/core/modules/system/src/Tests/File/UrlRewritingTest.php
index 11f9d168c465..0d8c33f44647 100644
--- a/core/modules/system/src/Tests/File/UrlRewritingTest.php
+++ b/core/modules/system/src/Tests/File/UrlRewritingTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests for file URL rewriting.
+ *
+ * @group File
  */
 class UrlRewritingTest extends FileTestBase {
 
@@ -21,14 +23,6 @@ class UrlRewritingTest extends FileTestBase {
    */
   public static $modules = array('file_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'File URL rewriting',
-      'description' => 'Tests for file URL rewriting.',
-      'group' => 'File API',
-    );
-  }
-
   /**
    * Tests the rewriting of shipped file URLs by hook_file_url_alter().
    */
diff --git a/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php b/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php
index a08a42e78ec7..529219d59aa8 100644
--- a/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php
+++ b/core/modules/system/src/Tests/FileTransfer/FileTransferTest.php
@@ -12,7 +12,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * File transfer tests.
+ * Tests that the jail is respected and that protocols using recursive file move
+ * operations work.
+ *
+ * @group FileTransfer
  */
 class FileTransferTest extends WebTestBase {
   protected $hostname = 'localhost';
@@ -20,14 +23,6 @@ class FileTransferTest extends WebTestBase {
   protected $password = 'password';
   protected $port = '42';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'FileTransfer unit tests',
-      'description' => 'Test that the jail is respected and that protocols using recursive file move operations work.',
-      'group' => 'System'
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->testConnection = TestFileTransfer::factory(DRUPAL_ROOT, array('hostname' => $this->hostname, 'username' => $this->username, 'password' => $this->password, 'port' => $this->port));
diff --git a/core/modules/system/src/Tests/Form/AlterTest.php b/core/modules/system/src/Tests/Form/AlterTest.php
index 4c7f52035671..eb9411d0ac00 100644
--- a/core/modules/system/src/Tests/Form/AlterTest.php
+++ b/core/modules/system/src/Tests/Form/AlterTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test form alter hooks.
+ * Tests hook_form_alter() and hook_form_FORM_ID_alter().
+ *
+ * @group Form
  */
 class AlterTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class AlterTest extends WebTestBase {
    */
   public static $modules = array('block', 'form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form alter hooks',
-      'description' => 'Tests hook_form_alter() and hook_form_FORM_ID_alter().',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests execution order of hook_form_alter() and hook_form_FORM_ID_alter().
    */
diff --git a/core/modules/system/src/Tests/Form/ArbitraryRebuildTest.php b/core/modules/system/src/Tests/Form/ArbitraryRebuildTest.php
index 030a2e1cb2f6..3da65ff6f7bb 100644
--- a/core/modules/system/src/Tests/Form/ArbitraryRebuildTest.php
+++ b/core/modules/system/src/Tests/Form/ArbitraryRebuildTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests rebuilding of arbitrary forms by altering them.
+ * Tests altering forms to be rebuilt so there are multiple steps.
+ *
+ * @group Form
  */
 class ArbitraryRebuildTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ArbitraryRebuildTest extends WebTestBase {
    */
   public static $modules = array('text', 'form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Rebuild arbitrary forms',
-      'description' => 'Tests altering forms to be rebuilt so there are multiple steps.',
-      'group' => 'Form API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/CheckboxTest.php b/core/modules/system/src/Tests/Form/CheckboxTest.php
index f15b3d1f5276..3e0240cd1c97 100644
--- a/core/modules/system/src/Tests/Form/CheckboxTest.php
+++ b/core/modules/system/src/Tests/Form/CheckboxTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests checkbox element.
+ * Tests form API checkbox handling of various combinations of #default_value
+ * and #return_value.
+ *
+ * @group Form
  */
 class CheckboxTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class CheckboxTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form API checkbox',
-      'description' => 'Tests form API checkbox handling of various combinations of #default_value and #return_value.',
-      'group' => 'Form API',
-    );
-  }
-
   function testFormCheckbox() {
     // Ensure that the checked state is determined and rendered correctly for
     // tricky combinations of default and return values.
diff --git a/core/modules/system/src/Tests/Form/ConfirmFormTest.php b/core/modules/system/src/Tests/Form/ConfirmFormTest.php
index fcaf8816afc4..3ea28204edc6 100644
--- a/core/modules/system/src/Tests/Form/ConfirmFormTest.php
+++ b/core/modules/system/src/Tests/Form/ConfirmFormTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests confirmation forms.
+ *
+ * @group Form
  */
 class ConfirmFormTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ConfirmFormTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Confirmation forms',
-      'description' => 'Tests confirmation forms.',
-      'group' => 'Form API',
-    );
-  }
-
   function testConfirmForm() {
     // Test the building of the form.
     $this->drupalGet('form-test/confirm-form');
diff --git a/core/modules/system/src/Tests/Form/ElementTest.php b/core/modules/system/src/Tests/Form/ElementTest.php
index 32120b2cabcb..f24eb4a70099 100644
--- a/core/modules/system/src/Tests/Form/ElementTest.php
+++ b/core/modules/system/src/Tests/Form/ElementTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests building and processing of core form elements.
+ *
+ * @group Form
  */
 class ElementTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ElementTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Element processing',
-      'description' => 'Tests building and processing of core form elements.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests placeholder text for elements that support placeholders.
    */
diff --git a/core/modules/system/src/Tests/Form/ElementsLabelsTest.php b/core/modules/system/src/Tests/Form/ElementsLabelsTest.php
index 12b7d0089b90..970f29943ca0 100644
--- a/core/modules/system/src/Tests/Form/ElementsLabelsTest.php
+++ b/core/modules/system/src/Tests/Form/ElementsLabelsTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test form element labels, required markers and associated output.
+ * Tests form element labels, required markers and associated output.
+ *
+ * @group Form
  */
 class ElementsLabelsTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ElementsLabelsTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form element and label output test',
-      'description' => 'Test form element labels, required markers and associated output.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Test form elements, labels, title attibutes and required marks output
    * correctly and have the correct label option class if needed.
diff --git a/core/modules/system/src/Tests/Form/ElementsTableSelectTest.php b/core/modules/system/src/Tests/Form/ElementsTableSelectTest.php
index 5bc8314b0281..e6bfddaf61a6 100644
--- a/core/modules/system/src/Tests/Form/ElementsTableSelectTest.php
+++ b/core/modules/system/src/Tests/Form/ElementsTableSelectTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the tableselect form element for expected behavior.
+ * Tests the tableselect form element for expected behavior.
+ *
+ * @group Form
  */
 class ElementsTableSelectTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ElementsTableSelectTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tableselect form element type test',
-      'description' => 'Test the tableselect element for expected behavior',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Test the display of checkboxes when #multiple is TRUE.
    */
diff --git a/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php b/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
index 303b5a909170..fdd4eddf3c57 100644
--- a/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
+++ b/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the vertical_tabs form element for expected behavior.
+ * Tests the vertical_tabs form element for expected behavior.
+ *
+ * @group Form
  */
 class ElementsVerticalTabsTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ElementsVerticalTabsTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Vertical tabs form element type test',
-      'description' => 'Test the vertical_tabs element for expected behavior',
-      'group' => 'Form API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/EmailTest.php b/core/modules/system/src/Tests/Form/EmailTest.php
index 2efd00b2d474..8e88f50146fa 100644
--- a/core/modules/system/src/Tests/Form/EmailTest.php
+++ b/core/modules/system/src/Tests/Form/EmailTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests email element.
+ * Tests the form API email element.
+ *
+ * @group Form
  */
 class EmailTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class EmailTest extends WebTestBase {
 
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form API email',
-      'description' => 'Tests the form API email element.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests that #type 'email' fields are properly validated.
    */
diff --git a/core/modules/system/src/Tests/Form/FormCacheTest.php b/core/modules/system/src/Tests/Form/FormCacheTest.php
index db904e39b1ca..301e5fce8f62 100644
--- a/core/modules/system/src/Tests/Form/FormCacheTest.php
+++ b/core/modules/system/src/Tests/Form/FormCacheTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests form caching.
+ * Tests form_set_cache() and form_get_cache().
+ *
+ * @group Form
  */
 class FormCacheTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class FormCacheTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form cache tests',
-      'description' => 'Tests form_set_cache() and form_get_cache()',
-      'group' => 'Form API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installSchema('system', array('key_value_expire'));
diff --git a/core/modules/system/src/Tests/Form/FormObjectTest.php b/core/modules/system/src/Tests/Form/FormObjectTest.php
index 993552d81a54..237d9e74a4af 100644
--- a/core/modules/system/src/Tests/Form/FormObjectTest.php
+++ b/core/modules/system/src/Tests/Form/FormObjectTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests building a form from an object.
+ *
+ * @group Form
  */
 class FormObjectTest extends SystemConfigFormTestBase {
 
@@ -22,14 +24,6 @@ class FormObjectTest extends SystemConfigFormTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form object tests',
-      'description' => 'Tests building a form from an object.',
-      'group' => 'Form API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/FormTest.php b/core/modules/system/src/Tests/Form/FormTest.php
index 098751a692d6..a380bd79c71c 100644
--- a/core/modules/system/src/Tests/Form/FormTest.php
+++ b/core/modules/system/src/Tests/Form/FormTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests form element validation.
+ * Tests various form element validation mechanisms.
+ *
+ * @group Form
  */
 class FormTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class FormTest extends WebTestBase {
    */
   public static $modules = array('filter', 'form_test', 'file', 'datetime');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form element validation',
-      'description' => 'Tests various form element validation mechanisms.',
-      'group' => 'Form API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/LanguageSelectElementTest.php b/core/modules/system/src/Tests/Form/LanguageSelectElementTest.php
index f4171f0f3dd5..ca7c9afc5783 100644
--- a/core/modules/system/src/Tests/Form/LanguageSelectElementTest.php
+++ b/core/modules/system/src/Tests/Form/LanguageSelectElementTest.php
@@ -13,7 +13,10 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Functional tests for the language select form element.
+ * Tests that the language select form element prints and submits the right
+ * options.
+ *
+ * @group Form
  */
 class LanguageSelectElementTest extends WebTestBase {
 
@@ -24,14 +27,6 @@ class LanguageSelectElementTest extends WebTestBase {
    */
   public static $modules = array('form_test', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Language select form element',
-      'description' => 'Checks that the language select form element prints and submits the right options.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests that the options printed by the language select element are correct.
    */
diff --git a/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php b/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php
index 934a416d827b..56f1d5c149b4 100644
--- a/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php
+++ b/core/modules/system/src/Tests/Form/ModulesListFormWebTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests \Drupal\system\Form\ModulesListForm.
+ *
+ * @group Form
  */
 class ModulesListFormWebTest extends WebTestBase {
 
@@ -19,17 +21,6 @@ class ModulesListFormWebTest extends WebTestBase {
    */
   public static $modules = array('system_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => 'Tests \Drupal\system\Form\ModulesListForm.',
-      'name' => '\Drupal\system\Form\ModulesListForm web test',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Form/ProgrammaticTest.php b/core/modules/system/src/Tests/Form/ProgrammaticTest.php
index a73f843dc6e7..902fe2e20b17 100644
--- a/core/modules/system/src/Tests/Form/ProgrammaticTest.php
+++ b/core/modules/system/src/Tests/Form/ProgrammaticTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the programmatic form submission behavior.
+ * Tests the programmatic form submission behavior.
+ *
+ * @group Form
  */
 class ProgrammaticTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ProgrammaticTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Programmatic form submissions',
-      'description' => 'Test the programmatic form submission behavior.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Test the programmatic form submission workflow.
    */
diff --git a/core/modules/system/src/Tests/Form/RebuildTest.php b/core/modules/system/src/Tests/Form/RebuildTest.php
index f8cd8b061122..7cba668f1302 100644
--- a/core/modules/system/src/Tests/Form/RebuildTest.php
+++ b/core/modules/system/src/Tests/Form/RebuildTest.php
@@ -11,8 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests form rebuilding.
+ * Tests functionality of drupal_rebuild_form().
  *
+ * @group Form
  * @todo Add tests for other aspects of form rebuilding.
  */
 class RebuildTest extends WebTestBase {
@@ -24,14 +25,6 @@ class RebuildTest extends WebTestBase {
    */
   public static $modules = array('node', 'form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form rebuilding',
-      'description' => 'Tests functionality of drupal_rebuild_form().',
-      'group' => 'Form API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/RedirectTest.php b/core/modules/system/src/Tests/Form/RedirectTest.php
index faa7c7ce2d52..51be0d883915 100644
--- a/core/modules/system/src/Tests/Form/RedirectTest.php
+++ b/core/modules/system/src/Tests/Form/RedirectTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests form redirection.
+ * Tests form redirection functionality.
+ *
+ * @group Form
  */
 class RedirectTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class RedirectTest extends WebTestBase {
    */
   public static $modules = array('form_test', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form redirecting',
-      'description' => 'Tests form redirection functionality.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests form redirection.
    */
diff --git a/core/modules/system/src/Tests/Form/StateValuesCleanAdvancedTest.php b/core/modules/system/src/Tests/Form/StateValuesCleanAdvancedTest.php
index 0157e7af01bf..09df7f6fd793 100644
--- a/core/modules/system/src/Tests/Form/StateValuesCleanAdvancedTest.php
+++ b/core/modules/system/src/Tests/Form/StateValuesCleanAdvancedTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests $form_state clearance with form elements having buttons.
+ * Tests proper removal of submitted form values using form_state_values_clean()
+ * when having forms with elements containing buttons like "managed_file".
+ *
+ * @group Form
  */
 class StateValuesCleanAdvancedTest extends WebTestBase {
 
@@ -26,14 +29,6 @@ class StateValuesCleanAdvancedTest extends WebTestBase {
    */
   protected $image;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form state values clearance (advanced)',
-      'description' => 'Test proper removal of submitted form values using form_state_values_clean() when having forms with elements containing buttons like "managed_file".',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests form_state_values_clean().
    */
diff --git a/core/modules/system/src/Tests/Form/StateValuesCleanTest.php b/core/modules/system/src/Tests/Form/StateValuesCleanTest.php
index da5cdeb8dbcd..804ffa1a9186 100644
--- a/core/modules/system/src/Tests/Form/StateValuesCleanTest.php
+++ b/core/modules/system/src/Tests/Form/StateValuesCleanTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test $form_state clearance.
+ * Tests proper removal of submitted form values using
+ * form_state_values_clean().
+ *
+ * @group Form
  */
 class StateValuesCleanTest extends WebTestBase {
 
@@ -22,14 +25,6 @@ class StateValuesCleanTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form state values clearance',
-      'description' => 'Test proper removal of submitted form values using form_state_values_clean().',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests form_state_values_clean().
    */
diff --git a/core/modules/system/src/Tests/Form/StorageTest.php b/core/modules/system/src/Tests/Form/StorageTest.php
index a7231437bbd8..509cf53ebc30 100644
--- a/core/modules/system/src/Tests/Form/StorageTest.php
+++ b/core/modules/system/src/Tests/Form/StorageTest.php
@@ -10,13 +10,16 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the form storage on a multistep form.
+ * Tests a multistep form using form storage and makes sure validation and
+ * caching works right.
  *
  * The tested form puts data into the storage during the initial form
  * construction. These tests verify that there are no duplicate form
  * constructions, with and without manual form caching activiated. Furthermore
  * when a validation error occurs, it makes sure that changed form element
  * values aren't lost due to a wrong form rebuild.
+ *
+ * @group Form
  */
 class StorageTest extends WebTestBase {
 
@@ -27,14 +30,6 @@ class StorageTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Multistep form using form storage',
-      'description'  => 'Tests a multistep form using form storage and makes sure validation and caching works right.',
-      'group' => 'Form API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Form/SystemConfigFormTest.php b/core/modules/system/src/Tests/Form/SystemConfigFormTest.php
index 1b6d99dc8917..863bb1530448 100644
--- a/core/modules/system/src/Tests/Form/SystemConfigFormTest.php
+++ b/core/modules/system/src/Tests/Form/SystemConfigFormTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the SystemConfigFormTestBase class.
+ *
+ * @group Form
  */
 class SystemConfigFormTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class SystemConfigFormTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'SystemConfigmForm tests',
-      'description' => 'Tests the SystemConfigFormTestBase class.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests the SystemConfigFormTestBase class.
    */
diff --git a/core/modules/system/src/Tests/Form/TriggeringElementProgrammedUnitTest.php b/core/modules/system/src/Tests/Form/TriggeringElementProgrammedUnitTest.php
index 72e57ec19b3b..3e6f41357362 100644
--- a/core/modules/system/src/Tests/Form/TriggeringElementProgrammedUnitTest.php
+++ b/core/modules/system/src/Tests/Form/TriggeringElementProgrammedUnitTest.php
@@ -13,19 +13,13 @@
 
 /**
  * Tests detection of triggering_element for programmed form submissions.
+ *
+ * @group Form
  */
 class TriggeringElementProgrammedUnitTest extends DrupalUnitTestBase implements FormInterface {
 
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form triggering element programmed determination',
-      'description' => 'Tests detection of triggering_element for programmed form submissions.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Form/TriggeringElementTest.php b/core/modules/system/src/Tests/Form/TriggeringElementTest.php
index 1c4f1df637a7..21a2195c68bc 100644
--- a/core/modules/system/src/Tests/Form/TriggeringElementTest.php
+++ b/core/modules/system/src/Tests/Form/TriggeringElementTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test that FAPI correctly determines $form_state['triggering_element'].
+ * Tests that FAPI correctly determines $form_state['triggering_element'].
+ *
+ * @group Form
  */
 class TriggeringElementTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class TriggeringElementTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form triggering element determination',
-      'description' => 'Test the determination of $form_state[\'triggering_element\'].',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Test the determination of $form_state['triggering_element'] when no button
    * information is included in the POST data, as is sometimes the case when
diff --git a/core/modules/system/src/Tests/Form/UrlTest.php b/core/modules/system/src/Tests/Form/UrlTest.php
index 81d76d179df3..45f6f94d8cf8 100644
--- a/core/modules/system/src/Tests/Form/UrlTest.php
+++ b/core/modules/system/src/Tests/Form/UrlTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests URL element.
+ * Tests the form API URL element.
+ *
+ * @group Form
  */
 class UrlTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class UrlTest extends WebTestBase {
 
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form API URL',
-      'description' => 'Tests the form API URL element.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests that #type 'url' fields are properly validated and trimmed.
    */
diff --git a/core/modules/system/src/Tests/Form/ValidationTest.php b/core/modules/system/src/Tests/Form/ValidationTest.php
index 8bfb15f8ce43..7fef3c9d2358 100644
--- a/core/modules/system/src/Tests/Form/ValidationTest.php
+++ b/core/modules/system/src/Tests/Form/ValidationTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test form validation handlers.
+ * Tests form processing and alteration via form validation handlers.
+ *
+ * @group Form
  */
 class ValidationTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class ValidationTest extends WebTestBase {
    */
   public static $modules = array('form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Form validation handlers',
-      'description' => 'Tests form processing and alteration via form validation handlers.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests form alterations by #element_validate, #validate, and form_set_value().
    */
diff --git a/core/modules/system/src/Tests/Image/ToolkitGdTest.php b/core/modules/system/src/Tests/Image/ToolkitGdTest.php
index 1e0f19229bbf..6927ec0f095b 100644
--- a/core/modules/system/src/Tests/Image/ToolkitGdTest.php
+++ b/core/modules/system/src/Tests/Image/ToolkitGdTest.php
@@ -12,7 +12,10 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Test the core GD image manipulation functions.
+ * Tests that core image manipulations work properly: scale, resize, rotate,
+ * crop, scale and crop, and desaturate.
+ *
+ * @group Image
  */
 class ToolkitGdTest extends DrupalUnitTestBase {
 
@@ -43,14 +46,6 @@ class ToolkitGdTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'simpletest');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image GD manipulation tests',
-      'description' => 'Check that core image manipulations work properly: scale, resize, rotate, crop, scale and crop, and desaturate.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Image/ToolkitSetupFormTest.php b/core/modules/system/src/Tests/Image/ToolkitSetupFormTest.php
index 848914740bd8..22b976d09a7a 100644
--- a/core/modules/system/src/Tests/Image/ToolkitSetupFormTest.php
+++ b/core/modules/system/src/Tests/Image/ToolkitSetupFormTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for the Image toolkit setup form.
+ * Tests image toolkit setup form.
+ *
+ * @group Image
  */
 class ToolkitSetupFormTest extends WebTestBase {
 
@@ -28,17 +30,6 @@ class ToolkitSetupFormTest extends WebTestBase {
    */
   public static $modules = array('system', 'image_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Image toolkit setup form tests',
-      'description' => 'Check image toolkit setup form.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Image/ToolkitTest.php b/core/modules/system/src/Tests/Image/ToolkitTest.php
index 9ec978e59d72..8965a45d62fa 100644
--- a/core/modules/system/src/Tests/Image/ToolkitTest.php
+++ b/core/modules/system/src/Tests/Image/ToolkitTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Image;
 
 /**
- * Tests that the methods in Image correctly pass data to the toolkit.
+ * Tests image toolkit functions.
+ *
+ * @group Image
  */
 class ToolkitTest extends ToolkitTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Image toolkit tests',
-      'description' => 'Check image toolkit functions.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Check that ImageToolkitManager::getAvailableToolkits() only returns
    * available toolkits.
diff --git a/core/modules/system/src/Tests/Installer/DistributionProfileTest.php b/core/modules/system/src/Tests/Installer/DistributionProfileTest.php
index b82e7ecf6be6..cdae9ecf5535 100644
--- a/core/modules/system/src/Tests/Installer/DistributionProfileTest.php
+++ b/core/modules/system/src/Tests/Installer/DistributionProfileTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\InstallerTestBase;
 
 /**
- * Tests the installer translation detection.
+ * Tests distribution profile support.
+ *
+ * @group Installer
  */
 class DistributionProfileTest extends InstallerTestBase {
 
@@ -22,14 +24,6 @@ class DistributionProfileTest extends InstallerTestBase {
    */
   protected $info;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Distribution installation profile test',
-      'description' => 'Tests distribution profile support.',
-      'group' => 'Installer',
-    );
-  }
-
   protected function setUp() {
     $this->info = array(
       'type' => 'profile',
diff --git a/core/modules/system/src/Tests/Installer/InstallerEmptySettingsTest.php b/core/modules/system/src/Tests/Installer/InstallerEmptySettingsTest.php
index 6f3302e56d5d..63bb9a817449 100644
--- a/core/modules/system/src/Tests/Installer/InstallerEmptySettingsTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerEmptySettingsTest.php
@@ -11,20 +11,11 @@
 
 /**
  * Tests the installer with empty settings file.
+ *
+ * @group Installer
  */
 class InstallerEmptySettingsTest extends InstallerTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer Empty Settings Test',
-      'description' => 'Tests the installer with empty settings file.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php b/core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php
index b1c3e4d26c0e..c97899c83de6 100644
--- a/core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerExistingDatabaseSettingsTest.php
@@ -11,21 +11,13 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests the installer to make sure existing values in settings.php appear.
+ * Tests the installer with an existing settings file with database connection
+ * info.
+ *
+ * @group Installer
  */
 class InstallerExistingDatabaseSettingsTest extends InstallerTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer existing database settings',
-      'description' => 'Tests the installer with an existing settings file with database connection info.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerExistingSettingsTest.php b/core/modules/system/src/Tests/Installer/InstallerExistingSettingsTest.php
index 2b765a5ade81..4645668c844d 100644
--- a/core/modules/system/src/Tests/Installer/InstallerExistingSettingsTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerExistingSettingsTest.php
@@ -11,21 +11,12 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests the installer to make sure existing values in settings.php appear.
+ * Tests the installer with an existing settings file.
+ *
+ * @group Installer
  */
 class InstallerExistingSettingsTest extends InstallerTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer existing settings',
-      'description' => 'Tests the installer with an existing settings file.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php b/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
index 7dfa719d3bd7..74b8be28d967 100644
--- a/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\InstallerTestBase;
 
 /**
- * Tests the installer switches to RTL when installing in a RTL language.
+ * Verifies that the early installer uses the correct language direction.
+ *
+ * @group Installer
  */
 class InstallerLanguageDirectionTest extends InstallerTestBase {
 
@@ -21,17 +23,6 @@ class InstallerLanguageDirectionTest extends InstallerTestBase {
    */
   protected $langcode = 'ar';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer language direction test',
-      'description' => 'Verifies that the early installer uses the correct language direction.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php b/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
index 93a610b99111..b32ef40b433a 100644
--- a/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
@@ -11,18 +11,12 @@
 use Drupal\Core\StringTranslation\Translator\FileTranslation;
 
 /**
- * Tests installer language detection.
+ * Tests for installer language support.
+ *
+ * @group Installer
  */
 class InstallerLanguageTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer language tests',
-      'description' => 'Tests for installer language support.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * Tests that the installer can find translation files.
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerTest.php b/core/modules/system/src/Tests/Installer/InstallerTest.php
index c243a364853b..760a94270d4d 100644
--- a/core/modules/system/src/Tests/Installer/InstallerTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\InstallerTestBase;
 
 /**
- * Allows testing of the interactive installer.
+ * Tests the interactive installer.
+ *
+ * @group Installer
  */
 class InstallerTest extends InstallerTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer test',
-      'description' => 'Tests the interactive installer.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * Ensures that the user page is available after installation.
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php b/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
index bb9202f5053f..8ebf010db855 100644
--- a/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\InstallerTestBase;
 
 /**
- * Tests the installer translation detection.
+ * Selects German as the installation language and verifies the following page
+ * is not in English.
+ *
+ * @group Installer
  */
 class InstallerTranslationTest extends InstallerTestBase {
 
@@ -21,14 +24,6 @@ class InstallerTranslationTest extends InstallerTestBase {
    */
   protected $langcode = 'de';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer translation test',
-      'description' => 'Selects German as the installation language and verifies the following page is not in English.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * Overrides InstallerTest::setUpLanguage().
    */
diff --git a/core/modules/system/src/Tests/Installer/InstallerTranslationVersionUnitTest.php b/core/modules/system/src/Tests/Installer/InstallerTranslationVersionUnitTest.php
index 92d45f5297a2..031a79de3003 100644
--- a/core/modules/system/src/Tests/Installer/InstallerTranslationVersionUnitTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerTranslationVersionUnitTest.php
@@ -10,18 +10,13 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests translation release version fallback.
+ * Tests the translation version fallback used during site installation to
+ * determine available translation files.
+ *
+ * @group Installer
  */
 class InstallerTranslationVersionUnitTest extends DrupalUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installer translation version fallback',
-      'description' => 'Tests the translation version fallback used during site installation to determine available translation files.',
-      'group' => 'Installer',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/install.core.inc';
diff --git a/core/modules/system/src/Tests/Installer/SiteNameTest.php b/core/modules/system/src/Tests/Installer/SiteNameTest.php
index 6b71e73d3b04..983b20858993 100644
--- a/core/modules/system/src/Tests/Installer/SiteNameTest.php
+++ b/core/modules/system/src/Tests/Installer/SiteNameTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests that the site name can be set during a non-interactive installation.
+ *
+ * @group Installer
  */
 class SiteNameTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class SiteNameTest extends WebTestBase {
    */
   protected $siteName;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Site name (non-interactive)',
-      'description' => 'Tests that the site name can be set during a non-interactive installation.',
-      'group' => 'Installer',
-    );
-  }
-
   /**
    * Overrides \Drupal\simpletest\WebTestBase::installParameters().
    */
diff --git a/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageExpirableTest.php b/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageExpirableTest.php
index ed4236bc0483..115ad3b04235 100644
--- a/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageExpirableTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageExpirableTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests the key-value database storage.
+ *
+ * @group KeyValueStore
  */
 class DatabaseStorageExpirableTest extends StorageTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Expirable database storage',
-      'description' => 'Tests the expirable key-value database storage.',
-      'group' => 'Key-value store',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->factory = 'keyvalue.expirable';
diff --git a/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageTest.php b/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageTest.php
index 2254501df572..f3f61be804d7 100644
--- a/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/DatabaseStorageTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests the key-value database storage.
+ *
+ * @group KeyValueStore
  */
 class DatabaseStorageTest extends StorageTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Database storage',
-      'description' => 'Tests the key-value database storage.',
-      'group' => 'Key-value store',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     module_load_install('system');
diff --git a/core/modules/system/src/Tests/KeyValueStore/GarbageCollectionTest.php b/core/modules/system/src/Tests/KeyValueStore/GarbageCollectionTest.php
index e583e75cb1ee..6341f519553b 100644
--- a/core/modules/system/src/Tests/KeyValueStore/GarbageCollectionTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/GarbageCollectionTest.php
@@ -13,18 +13,12 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests garbage collection for DatabaseStorageExpirable.
+ * Tests garbage collection for the the expirable key-value database storage.
+ *
+ * @group KeyValueStore
  */
 class GarbageCollectionTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Garbage collection',
-      'description' => 'Tests garbage collection for the the expirable key-value database storage.',
-      'group' => 'Key-value store',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     module_load_install('system');
diff --git a/core/modules/system/src/Tests/KeyValueStore/KeyValueConfigEntityStorageTest.php b/core/modules/system/src/Tests/KeyValueStore/KeyValueConfigEntityStorageTest.php
index 3ead7fcc89a2..1fe1ab6fd371 100644
--- a/core/modules/system/src/Tests/KeyValueStore/KeyValueConfigEntityStorageTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/KeyValueConfigEntityStorageTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage;
 
 /**
- * Tests config entity CRUD with key value entity storage.
+ * Tests KeyValueEntityStorage for config entities.
+ *
+ * @group KeyValueStore
  */
 class KeyValueConfigEntityStorageTest extends ConfigEntityTest {
 
@@ -27,15 +29,4 @@ class KeyValueConfigEntityStorageTest extends ConfigEntityTest {
    */
   public static $modules = array('keyvalue_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'KeyValueEntityStorage config entity test',
-      'description' => 'Tests KeyValueEntityStorage for config entities.',
-      'group' => 'Entity API',
-    );
-  }
-
 }
diff --git a/core/modules/system/src/Tests/KeyValueStore/KeyValueContentEntityStorageTest.php b/core/modules/system/src/Tests/KeyValueStore/KeyValueContentEntityStorageTest.php
index 10aec9b47268..9dd9b22e3e6a 100644
--- a/core/modules/system/src/Tests/KeyValueStore/KeyValueContentEntityStorageTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/KeyValueContentEntityStorageTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests content entity CRUD with key value entity storage.
+ * Tests KeyValueEntityStorage for content entities.
+ *
+ * @group KeyValueStore
  */
 class KeyValueContentEntityStorageTest extends DrupalUnitTestBase {
 
@@ -23,17 +25,6 @@ class KeyValueContentEntityStorageTest extends DrupalUnitTestBase {
    */
   public static $modules = array('entity', 'user', 'entity_test', 'keyvalue_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'KeyValueEntityStorage content entity test',
-      'description' => 'Tests KeyValueEntityStorage for content entities.',
-      'group' => 'Entity API',
-    );
-  }
-
   /**
    * Tests CRUD operations.
    */
diff --git a/core/modules/system/src/Tests/KeyValueStore/MemoryStorageTest.php b/core/modules/system/src/Tests/KeyValueStore/MemoryStorageTest.php
index ca065fa036e6..10b2a15601d2 100644
--- a/core/modules/system/src/Tests/KeyValueStore/MemoryStorageTest.php
+++ b/core/modules/system/src/Tests/KeyValueStore/MemoryStorageTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the key-value memory storage.
+ *
+ * @group KeyValueStore
  */
 class MemoryStorageTest extends StorageTestBase {
 
@@ -19,14 +21,6 @@ class MemoryStorageTest extends StorageTestBase {
    */
   protected $originalKeyValue = NULL;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Memory storage',
-      'description' => 'Tests the key-value memory storage.',
-      'group' => 'Key-value store',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->container
diff --git a/core/modules/system/src/Tests/Lock/LockFunctionalTest.php b/core/modules/system/src/Tests/Lock/LockFunctionalTest.php
index 6b68385d599c..6b1518cdb322 100644
--- a/core/modules/system/src/Tests/Lock/LockFunctionalTest.php
+++ b/core/modules/system/src/Tests/Lock/LockFunctionalTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the lock system.
+ * Confirm locking works between two separate requests.
+ *
+ * @group Lock
  */
 class LockFunctionalTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class LockFunctionalTest extends WebTestBase {
    */
   public static $modules = array('system_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Locking framework tests',
-      'description' => 'Confirm locking works between two separate requests.',
-      'group' => 'Lock',
-    );
-  }
-
   /**
    * Confirms that we can acquire and release locks in two parallel requests.
    */
diff --git a/core/modules/system/src/Tests/Lock/LockUnitTest.php b/core/modules/system/src/Tests/Lock/LockUnitTest.php
index db5f9080954d..9d489a64c661 100644
--- a/core/modules/system/src/Tests/Lock/LockUnitTest.php
+++ b/core/modules/system/src/Tests/Lock/LockUnitTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the lock system.
+ * Tests the Database lock backend.
+ *
+ * @group Lock
  */
 class LockUnitTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class LockUnitTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Locking framework unit tests',
-      'description' => 'Test the Database lock backend.',
-      'group' => 'Lock',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->lock = new DatabaseLockBackend($this->container->get('database'));
diff --git a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php b/core/modules/system/src/Tests/Mail/HtmlToTextTest.php
index 0f17ede95e09..e48ba4262237 100644
--- a/core/modules/system/src/Tests/Mail/HtmlToTextTest.php
+++ b/core/modules/system/src/Tests/Mail/HtmlToTextTest.php
@@ -13,16 +13,10 @@
 
 /**
  * Tests for drupal_html_to_text().
+ *
+ * @group Mail
  */
 class HtmlToTextTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name'  => 'HTML to text conversion',
-      'description' => 'Tests drupal_html_to_text().',
-      'group' => 'Mail',
-    );
-  }
-
   /**
    * 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/src/Tests/Mail/MailTest.php
index 95ac32fde89d..a4dcf5f83336 100644
--- a/core/modules/system/src/Tests/Mail/MailTest.php
+++ b/core/modules/system/src/Tests/Mail/MailTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests related to the mail system.
+ * Performs tests on the pluggable mailing framework.
+ *
+ * @group Mail
  */
 class MailTest extends WebTestBase {
 
@@ -29,14 +31,6 @@ class MailTest extends WebTestBase {
    */
   private static $sent_message;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Mail system',
-      'description' => 'Performs tests on the pluggable mailing framework.',
-      'group' => 'Mail',
-    );
-  }
-
   /**
    * Assert that the pluggable mail system is functional.
    */
diff --git a/core/modules/system/src/Tests/Mail/WrapMailUnitTest.php b/core/modules/system/src/Tests/Mail/WrapMailUnitTest.php
index 3dd0269461e3..e9a6619c1533 100644
--- a/core/modules/system/src/Tests/Mail/WrapMailUnitTest.php
+++ b/core/modules/system/src/Tests/Mail/WrapMailUnitTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\UnitTestBase;
 
 /**
- * Tests the functionality of drupal_wrap_mail().
+ * Tests drupal_wrap_mail().
+ *
+ * @group Mail
  */
 class WrapMailUnitTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Mail wrapping',
-      'description' => 'Tests drupal_wrap_mail().',
-      'group' => 'Mail',
-    );
-  }
-
   /**
    * Makes sure that drupal_wrap_mail() wraps the correct types of lines.
    */
diff --git a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
index b3378e2d820f..f1bf64041ae8 100644
--- a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
+++ b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
@@ -11,7 +11,9 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Menu breadcrumbs related tests.
+ * Tests breadcrumbs functionality.
+ *
+ * @group Menu
  */
 class BreadcrumbTest extends MenuTestBase {
 
@@ -27,14 +29,6 @@ class BreadcrumbTest extends MenuTestBase {
    */
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Breadcrumbs',
-      'description' => 'Tests breadcrumbs functionality.',
-      'group' => 'Menu',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Menu/LinksTest.php b/core/modules/system/src/Tests/Menu/LinksTest.php
index d0db0de72ce0..eecfb8c2ce25 100644
--- a/core/modules/system/src/Tests/Menu/LinksTest.php
+++ b/core/modules/system/src/Tests/Menu/LinksTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for menu links.
+ * Tests handling of menu links hierarchies.
+ *
+ * @group Menu
  */
 class LinksTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class LinksTest extends WebTestBase {
    */
   public static $modules = array('router_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu links',
-      'description' => 'Test handling of menu links hierarchies.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Menu/LocalActionTest.php b/core/modules/system/src/Tests/Menu/LocalActionTest.php
index d8804dd4887f..bcc443b98c1f 100644
--- a/core/modules/system/src/Tests/Menu/LocalActionTest.php
+++ b/core/modules/system/src/Tests/Menu/LocalActionTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests local actions.
+ * Tests local actions derived from router and added/altered via hooks.
+ *
+ * @group Menu
  */
 class LocalActionTest extends WebTestBase {
 
@@ -19,17 +21,6 @@ class LocalActionTest extends WebTestBase {
    */
   public static $modules = array('menu_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Local actions',
-      'description' => 'Tests local actions derived from router and added/altered via hooks.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * Tests appearance of local actions.
    */
diff --git a/core/modules/system/src/Tests/Menu/LocalTasksTest.php b/core/modules/system/src/Tests/Menu/LocalTasksTest.php
index 5de7b5863d27..957e2eb4b60a 100644
--- a/core/modules/system/src/Tests/Menu/LocalTasksTest.php
+++ b/core/modules/system/src/Tests/Menu/LocalTasksTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests local tasks derived from router and added/altered via hooks.
+ *
+ * @group Menu
  */
 class LocalTasksTest extends WebTestBase {
 
   public static $modules = array('menu_test', 'entity_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Local tasks',
-      'description' => 'Tests local tasks derived from router and added/altered via hooks.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * Asserts local tasks in the page output.
    *
diff --git a/core/modules/system/src/Tests/Menu/MenuRouterRebuildTest.php b/core/modules/system/src/Tests/Menu/MenuRouterRebuildTest.php
index 59d0f50ae430..e56796f12219 100644
--- a/core/modules/system/src/Tests/Menu/MenuRouterRebuildTest.php
+++ b/core/modules/system/src/Tests/Menu/MenuRouterRebuildTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests menu_router_rebuild().
+ *
+ * @group Menu
  */
 class MenuRouterRebuildTest extends WebTestBase {
 
@@ -22,17 +24,6 @@ class MenuRouterRebuildTest extends WebTestBase {
    */
   public static $modules = array('language', 'menu_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu router rebuild',
-      'description' => 'Tests menu_router_rebuild().',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Menu/MenuRouterTest.php b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
index 1b6bb2e96f65..cc64d4b22904 100644
--- a/core/modules/system/src/Tests/Menu/MenuRouterTest.php
+++ b/core/modules/system/src/Tests/Menu/MenuRouterTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests menu router and default menu link functionality.
+ *
+ * @group Menu
  */
 class MenuRouterTest extends WebTestBase {
 
@@ -35,14 +37,6 @@ class MenuRouterTest extends WebTestBase {
    */
   protected $default_theme;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu router',
-      'description' => 'Tests menu router and default menu links functionality.',
-      'group' => 'Menu',
-    );
-  }
-
   function setUp() {
     // Enable dummy module that implements hook_menu.
     parent::setUp();
diff --git a/core/modules/system/src/Tests/Menu/MenuTranslateTest.php b/core/modules/system/src/Tests/Menu/MenuTranslateTest.php
index 8c2728775abf..99e1401b5901 100644
--- a/core/modules/system/src/Tests/Menu/MenuTranslateTest.php
+++ b/core/modules/system/src/Tests/Menu/MenuTranslateTest.php
@@ -10,8 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Defines a test class which tests the _menu_translate method.
+ * Tests the _menu_translate() method.
  *
+ * @group Menu
  * @see _menu_translate().
  */
 class MenuTranslateTest extends WebTestBase {
@@ -23,14 +24,6 @@ class MenuTranslateTest extends WebTestBase {
    */
   public static $modules = array('menu_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'menu_translate',
-      'description' => 'Tests the _menu_translate() method.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * Tests _menu_translate().
    */
diff --git a/core/modules/system/src/Tests/Module/ClassLoaderTest.php b/core/modules/system/src/Tests/Module/ClassLoaderTest.php
index 71f29d455dfd..fcfb205f3b6b 100644
--- a/core/modules/system/src/Tests/Module/ClassLoaderTest.php
+++ b/core/modules/system/src/Tests/Module/ClassLoaderTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests class loading.
+ * Tests class loading for modules.
+ *
+ * @group Module
  */
 class ClassLoaderTest extends WebTestBase {
 
@@ -19,14 +21,6 @@ class ClassLoaderTest extends WebTestBase {
    */
   protected $expected = 'Drupal\\module_autoload_test\\SomeClass::testMethod() was invoked.';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module class loader',
-      'description' => 'Tests class loading for modules.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Tests that module-provided classes can be loaded when a module is enabled.
    *
diff --git a/core/modules/system/src/Tests/Module/DependencyTest.php b/core/modules/system/src/Tests/Module/DependencyTest.php
index a79fb8a1405f..6ef1fb9a8c1c 100644
--- a/core/modules/system/src/Tests/Module/DependencyTest.php
+++ b/core/modules/system/src/Tests/Module/DependencyTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Module;
 
 /**
- * Tests module dependency functionality.
+ * Enable module without dependency enabled.
+ *
+ * @group Module
  */
 class DependencyTest extends ModuleTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Module dependencies',
-      'description' => 'Enable module without dependency enabled.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Attempts to enable the Content Translation module without Language enabled.
    */
diff --git a/core/modules/system/src/Tests/Module/HookRequirementsTest.php b/core/modules/system/src/Tests/Module/HookRequirementsTest.php
index c43cdfe2c32a..dd286e9d949d 100644
--- a/core/modules/system/src/Tests/Module/HookRequirementsTest.php
+++ b/core/modules/system/src/Tests/Module/HookRequirementsTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Module;
 
 /**
- * Tests failure of hook_requirements('install').
+ * Attempts enabling a module that fails hook_requirements('install').
+ *
+ * @group Module
  */
 class HookRequirementsTest extends ModuleTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Requirements hook failure',
-      'description' => "Attempts enabling a module that fails hook_requirements('install').",
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Assert that a module cannot be installed if it fails hook_requirements().
    */
diff --git a/core/modules/system/src/Tests/Module/InstallTest.php b/core/modules/system/src/Tests/Module/InstallTest.php
index bcaced050f78..476f25df5d1a 100644
--- a/core/modules/system/src/Tests/Module/InstallTest.php
+++ b/core/modules/system/src/Tests/Module/InstallTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Unit tests for module installation.
+ * Tests the installation of modules.
+ *
+ * @group Module
  */
 class InstallTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class InstallTest extends WebTestBase {
    */
   public static $modules = array('module_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module installation',
-      'description' => 'Tests the installation of modules.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Verify that drupal_get_schema() can be used during module installation.
    */
diff --git a/core/modules/system/src/Tests/Module/InstallUninstallTest.php b/core/modules/system/src/Tests/Module/InstallUninstallTest.php
index fd50c58d48d6..c826d1c7a95a 100644
--- a/core/modules/system/src/Tests/Module/InstallUninstallTest.php
+++ b/core/modules/system/src/Tests/Module/InstallUninstallTest.php
@@ -8,20 +8,14 @@
 namespace Drupal\system\Tests\Module;
 
 /**
- * Tests functionality for installing and uninstalling modules.
+ * Install/uninstall core module and confirm table creation/deletion.
+ *
+ * @group Module
  */
 class InstallUninstallTest extends ModuleTestBase {
 
   public static $modules = array('system_test', 'dblog');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Install/uninstall modules',
-      'description' => 'Install/uninstall core module and confirm table creation/deletion.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Tests that a fixed set of modules can be installed and uninstalled.
    */
diff --git a/core/modules/system/src/Tests/Module/RequiredTest.php b/core/modules/system/src/Tests/Module/RequiredTest.php
index 1de4535d0cc0..c14d2932310b 100644
--- a/core/modules/system/src/Tests/Module/RequiredTest.php
+++ b/core/modules/system/src/Tests/Module/RequiredTest.php
@@ -8,17 +8,11 @@
 namespace Drupal\system\Tests\Module;
 
 /**
- * Test required modules functionality.
+ * Attempt disabling of required modules.
+ *
+ * @group Module
  */
 class RequiredTest extends ModuleTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Required modules',
-      'description' => 'Attempt disabling of required modules.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Assert that core required modules cannot be disabled.
    */
diff --git a/core/modules/system/src/Tests/Module/UninstallTest.php b/core/modules/system/src/Tests/Module/UninstallTest.php
index bbb43997303a..39bfa79c85ad 100644
--- a/core/modules/system/src/Tests/Module/UninstallTest.php
+++ b/core/modules/system/src/Tests/Module/UninstallTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Unit tests for module uninstallation and related hooks.
+ * Tests the uninstallation of modules.
+ *
+ * @group Module
  */
 class UninstallTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class UninstallTest extends WebTestBase {
    */
   public static $modules = array('module_test', 'user', 'views', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module uninstallation',
-      'description' => 'Tests the uninstallation of modules.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Tests the hook_modules_uninstalled() of the user module.
    */
diff --git a/core/modules/system/src/Tests/Module/VersionTest.php b/core/modules/system/src/Tests/Module/VersionTest.php
index c48e8a212597..2d6705a859ad 100644
--- a/core/modules/system/src/Tests/Module/VersionTest.php
+++ b/core/modules/system/src/Tests/Module/VersionTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\system\Tests\Module;
 
 /**
- * Test module dependency on specific versions.
+ * Tests module version dependencies.
+ *
+ * @group Module
  */
 class VersionTest extends ModuleTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module versions',
-      'description' => 'Check module version dependencies.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * Test version dependencies.
    */
diff --git a/core/modules/system/src/Tests/Page/DefaultMetatagsTest.php b/core/modules/system/src/Tests/Page/DefaultMetatagsTest.php
index 3b2afdfaf7c4..00e09e3b378c 100644
--- a/core/modules/system/src/Tests/Page/DefaultMetatagsTest.php
+++ b/core/modules/system/src/Tests/Page/DefaultMetatagsTest.php
@@ -11,20 +11,11 @@
 
 /**
  * Tests default HTML metatags on a page.
+ *
+ * @group Page
  */
 class DefaultMetatagsTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Default HTML metatags',
-      'description' => 'Tests the default HTML metatags on the page.',
-      'group' => 'Page',
-    );
-  }
-
   /**
    * Tests meta tags.
    */
diff --git a/core/modules/system/src/Tests/Pager/PagerTest.php b/core/modules/system/src/Tests/Pager/PagerTest.php
index 845aa28d700c..1f3fe4d8aa41 100644
--- a/core/modules/system/src/Tests/Pager/PagerTest.php
+++ b/core/modules/system/src/Tests/Pager/PagerTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests pager functionality.
+ *
+ * @group Pager
  */
 class PagerTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class PagerTest extends WebTestBase {
 
   protected $profile = 'testing';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Pager functionality',
-      'description' => 'Tests pager functionality.',
-      'group' => 'Pager',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php b/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php
index 75152e0193a1..a9f8335b3437 100644
--- a/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php
+++ b/core/modules/system/src/Tests/ParamConverter/UpcastingTest.php
@@ -10,21 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Web tests for the upcasting.
+ * Tests upcasting of url arguments to entities.
+ *
+ * @group ParamConverter
  */
 class UpcastingTest extends WebTestBase {
 
-  /**
-   * Implement getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Upcasting tests',
-      'description' => 'Tests upcasting of url arguments to entities.',
-      'group' => 'ParamConverter',
-    );
-  }
-
   public static $modules = array('paramconverter_test', 'node');
 
   /**
diff --git a/core/modules/system/src/Tests/Path/AliasTest.php b/core/modules/system/src/Tests/Path/AliasTest.php
index 3617c00e2050..5727d5273a6a 100644
--- a/core/modules/system/src/Tests/Path/AliasTest.php
+++ b/core/modules/system/src/Tests/Path/AliasTest.php
@@ -15,17 +15,11 @@
 
 /**
  * Tests path alias CRUD and lookup functionality.
+ *
+ * @group Path
  */
 class AliasTest extends PathUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path Alias Unit Tests',
-      'description' => 'Tests path alias CRUD and lookup functionality.',
-      'group' => 'Path API',
-    );
-  }
-
   function testCRUD() {
     //Prepare database table.
     $connection = Database::getConnection();
diff --git a/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php b/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php
index 480297bd5e28..92ab50f1cee9 100644
--- a/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php
+++ b/core/modules/system/src/Tests/Path/UrlAlterFunctionalTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests hook_url_alter functions.
+ * Tests altering the inbound path and the outbound path.
+ *
+ * @group Path
  */
 class UrlAlterFunctionalTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UrlAlterFunctionalTest extends WebTestBase {
    */
   public static $modules = array('path', 'forum', 'url_alter_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'URL altering',
-      'description' => 'Tests altering the inbound path and the outbound path.',
-      'group' => 'Path API',
-    );
-  }
-
   /**
    * Test that URL altering works and that it occurs in the correct order.
    */
diff --git a/core/modules/system/src/Tests/PhpStorage/PhpStorageFactoryTest.php b/core/modules/system/src/Tests/PhpStorage/PhpStorageFactoryTest.php
index d7e4f3482bdf..166f3ff67d3f 100644
--- a/core/modules/system/src/Tests/PhpStorage/PhpStorageFactoryTest.php
+++ b/core/modules/system/src/Tests/PhpStorage/PhpStorageFactoryTest.php
@@ -17,21 +17,11 @@
 /**
  * Tests the PHP storage factory.
  *
+ * @group PhpStorage
  * @see \Drupal\Core\PhpStorage\PhpStorageFactory
  */
 class PhpStorageFactoryTest extends DrupalUnitTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'PHP storage factory tests',
-      'description' => 'Tests the PHP storage factory..',
-      'group' => 'PhpStorage',
-    );
-  }
-
   /**
    * Tests the get() method with no settings.
    */
diff --git a/core/modules/system/src/Tests/Plugin/AlterDecoratorTest.php b/core/modules/system/src/Tests/Plugin/AlterDecoratorTest.php
index 552934ed9107..b6946f354afe 100644
--- a/core/modules/system/src/Tests/Plugin/AlterDecoratorTest.php
+++ b/core/modules/system/src/Tests/Plugin/AlterDecoratorTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests that the AlterDecorator fires and respects the alter hook.
+ *
+ * @group Plugin
  */
 class AlterDecoratorTest extends WebTestBase {
 
@@ -29,14 +31,6 @@ class AlterDecoratorTest extends WebTestBase {
    */
   protected $alterTestPluginManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'AlterDecorator',
-      'description' => 'Tests that the AlterDecorator fires and respects the alter hook.',
-      'group' => 'Plugin API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Plugin/CacheDecoratorLanguageTest.php b/core/modules/system/src/Tests/Plugin/CacheDecoratorLanguageTest.php
index 43d85325c1fc..6be2b6f62565 100644
--- a/core/modules/system/src/Tests/Plugin/CacheDecoratorLanguageTest.php
+++ b/core/modules/system/src/Tests/Plugin/CacheDecoratorLanguageTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests that the AlterDecorator fires and respects the alter hook.
+ * Tests that the CacheDecorator stores definitions by language appropriately.
+ *
+ * @group Plugin
  */
 class CacheDecoratorLanguageTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class CacheDecoratorLanguageTest extends WebTestBase {
    */
   public static $modules = array('plugin_test', 'locale', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CacheDecoratorLanguage',
-      'description' => 'Tests that the CacheDecorator stores definitions by language appropriately.',
-      'group' => 'Plugin API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Plugin/CacheDecoratorTest.php b/core/modules/system/src/Tests/Plugin/CacheDecoratorTest.php
index 94ffb9604e43..99f2d81be13e 100644
--- a/core/modules/system/src/Tests/Plugin/CacheDecoratorTest.php
+++ b/core/modules/system/src/Tests/Plugin/CacheDecoratorTest.php
@@ -13,7 +13,9 @@
 use Drupal\Core\Plugin\Discovery\CacheDecorator;
 
 /**
- * Tests \Drupal\Core\Plugin\Discovery\CacheDecorator behavior.
+ * Tests the CacheDecorator.
+ *
+ * @group Plugin
  */
 class CacheDecoratorTest extends DiscoveryTestBase {
 
@@ -31,14 +33,6 @@ class CacheDecoratorTest extends DiscoveryTestBase {
    */
   protected $cacheKey = 'test_cacheDecorator';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CacheDecorator',
-      'description' => 'Tests the CacheDecorator.',
-      'group' => 'Plugin API',
-    );
-  }
-
   public function setUp() {
 
     parent::setUp();
diff --git a/core/modules/system/src/Tests/Plugin/Condition/RequestPathTest.php b/core/modules/system/src/Tests/Plugin/Condition/RequestPathTest.php
index 122a8a88da52..c1d4b2ac76b9 100644
--- a/core/modules/system/src/Tests/Plugin/Condition/RequestPathTest.php
+++ b/core/modules/system/src/Tests/Plugin/Condition/RequestPathTest.php
@@ -13,7 +13,10 @@
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
- * Tests the Request Path condition plugin.
+ * Tests that the Request Path Condition, provided by the system module, is
+ * working properly.
+ *
+ * @group Plugin
  */
 class RequestPathTest extends KernelTestBase {
 
@@ -45,17 +48,6 @@ class RequestPathTest extends KernelTestBase {
    */
   public static $modules = array('system', 'user', 'field', 'path');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Request Path Condition Plugin',
-      'description' => 'Tests that the Request Path Condition, provided by the system module, is working properly.',
-      'group' => 'Condition API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Plugin/ContextPluginTest.php b/core/modules/system/src/Tests/Plugin/ContextPluginTest.php
index b52dd0f58028..392d9d483aa9 100644
--- a/core/modules/system/src/Tests/Plugin/ContextPluginTest.php
+++ b/core/modules/system/src/Tests/Plugin/ContextPluginTest.php
@@ -13,20 +13,14 @@
 use Drupal\simpletest\KernelTestBase;
 
 /**
- * Tests that context aware plugins function correctly.
+ * Tests that contexts are properly set and working within plugins.
+ *
+ * @group Plugin
  */
 class ContextPluginTest extends KernelTestBase {
 
   public static $modules = array('system', 'user', 'node', 'field', 'filter', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contextual Plugins',
-      'description' => 'Tests that contexts are properly set and working within plugins.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * Tests basic context definition and value getters and setters.
    */
diff --git a/core/modules/system/src/Tests/Plugin/DerivativeTest.php b/core/modules/system/src/Tests/Plugin/DerivativeTest.php
index 0d634f57da70..793eeee49c2f 100644
--- a/core/modules/system/src/Tests/Plugin/DerivativeTest.php
+++ b/core/modules/system/src/Tests/Plugin/DerivativeTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests that derivative plugins are correctly discovered.
+ *
+ * @group Plugin
  */
 class DerivativeTest extends PluginTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Derivative Discovery',
-      'description' => 'Tests that derivative plugins are correctly discovered.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * Tests getDefinitions() and getDefinition() with a derivativeDecorator.
    */
diff --git a/core/modules/system/src/Tests/Plugin/Discovery/AnnotatedClassDiscoveryTest.php b/core/modules/system/src/Tests/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
index 4e8620a22296..7d0d98194da5 100644
--- a/core/modules/system/src/Tests/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
+++ b/core/modules/system/src/Tests/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
@@ -10,18 +10,12 @@
 use Drupal\Core\Plugin\Discovery\AnnotatedClassDiscovery;
 
 /**
- * Tests that plugins with annotated classes are correctly discovered.
+ * Tests that plugins are correctly discovered using annotated classes.
+ *
+ * @group Plugin
  */
 class AnnotatedClassDiscoveryTest extends DiscoveryTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Annotated class discovery',
-      'description' => 'Tests that plugins are correctly discovered using annotated classes.',
-      'group' => 'Plugin API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->expectedDefinitions = array(
diff --git a/core/modules/system/src/Tests/Plugin/Discovery/CustomAnnotationClassDiscoveryTest.php b/core/modules/system/src/Tests/Plugin/Discovery/CustomAnnotationClassDiscoveryTest.php
index 76b0b95529a0..eb5285eaa0c5 100644
--- a/core/modules/system/src/Tests/Plugin/Discovery/CustomAnnotationClassDiscoveryTest.php
+++ b/core/modules/system/src/Tests/Plugin/Discovery/CustomAnnotationClassDiscoveryTest.php
@@ -12,18 +12,11 @@
 /**
  * Tests that a custom annotation class is used.
  *
+ * @group Plugin
  * @see \Drupal\plugin_test\Plugin\Annotation\PluginExample
  */
 class CustomAnnotationClassDiscoveryTest extends DiscoveryTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom annotation class discovery',
-      'description' => 'Tests that a custom annotation class is used.',
-      'group' => 'Plugin API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php b/core/modules/system/src/Tests/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
index f830fc06922f..aa29a091aba0 100644
--- a/core/modules/system/src/Tests/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
+++ b/core/modules/system/src/Tests/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
@@ -10,18 +10,13 @@
 use Drupal\Core\Plugin\Discovery\AnnotatedClassDiscovery;
 
 /**
- * Tests that plugins with annotated classes in a custom directory are correctly discovered.
+ * Tests that plugins in a custom directory are correctly discovered using
+ * annotated classes.
+ *
+ * @group Plugin
  */
 class CustomDirectoryAnnotatedClassDiscoveryTest extends DiscoveryTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom directory annotation class discovery',
-      'description' => 'Tests that plugins in a custom directory are correctly discovered using annotated classes.',
-      'group' => 'Plugin API',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Plugin/Discovery/StaticDiscoveryTest.php b/core/modules/system/src/Tests/Plugin/Discovery/StaticDiscoveryTest.php
index 581c1c3f1eea..905c584e068c 100644
--- a/core/modules/system/src/Tests/Plugin/Discovery/StaticDiscoveryTest.php
+++ b/core/modules/system/src/Tests/Plugin/Discovery/StaticDiscoveryTest.php
@@ -10,18 +10,12 @@
 use Drupal\Component\Plugin\Discovery\StaticDiscovery;
 
 /**
- * Tests that plugins are correctly discovered.
+ * Tests that plugins using static discovery are correctly discovered.
+ *
+ * @group Plugin
  */
 class StaticDiscoveryTest extends DiscoveryTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Static discovery',
-      'description' => 'Tests that plugins using static discovery are correctly discovered.',
-      'group' => 'Plugin API',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->expectedDefinitions = array(
diff --git a/core/modules/system/src/Tests/Plugin/FactoryTest.php b/core/modules/system/src/Tests/Plugin/FactoryTest.php
index 53c54306b813..44cf55f10e4c 100644
--- a/core/modules/system/src/Tests/Plugin/FactoryTest.php
+++ b/core/modules/system/src/Tests/Plugin/FactoryTest.php
@@ -11,17 +11,11 @@
 
 /**
  * Tests that plugins are correctly instantiated.
+ *
+ * @group Plugin
  */
 class FactoryTest extends PluginTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Factory',
-      'description' => 'Tests that plugins are correctly instantiated.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * Test that DefaultFactory can create a plugin instance.
    */
diff --git a/core/modules/system/src/Tests/Plugin/InspectionTest.php b/core/modules/system/src/Tests/Plugin/InspectionTest.php
index d60feb0d2ce7..e16f4bf47fda 100644
--- a/core/modules/system/src/Tests/Plugin/InspectionTest.php
+++ b/core/modules/system/src/Tests/Plugin/InspectionTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests that plugins implementing PluginInspectionInterface are inspectable.
+ *
+ * @group Plugin
  */
 class InspectionTest extends PluginTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Inspection',
-      'description' => 'Tests that plugins implementing PluginInspectionInterface are inspectable.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * Ensure the test plugins correctly implement getPluginId() and getPluginDefinition().
    */
diff --git a/core/modules/system/src/Tests/Queue/QueueTest.php b/core/modules/system/src/Tests/Queue/QueueTest.php
index 5161f56ef903..20dd70fc9e48 100644
--- a/core/modules/system/src/Tests/Queue/QueueTest.php
+++ b/core/modules/system/src/Tests/Queue/QueueTest.php
@@ -13,7 +13,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the basic queue functionality.
+ * Queues and dequeues a set of items to check the basic queue functionality.
+ *
+ * @group Queue
  */
 class QueueTest extends DrupalUnitTestBase {
 
@@ -24,14 +26,6 @@ class QueueTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Queue functionality',
-      'description' => 'Queues and dequeues a set of items to check the basic queue functionality.',
-      'group' => 'Queue',
-    );
-  }
-
   /**
    * Tests the System queue.
    */
diff --git a/core/modules/system/src/Tests/Routing/MatcherDumperTest.php b/core/modules/system/src/Tests/Routing/MatcherDumperTest.php
index 8831ec4b8d13..3080411eea98 100644
--- a/core/modules/system/src/Tests/Routing/MatcherDumperTest.php
+++ b/core/modules/system/src/Tests/Routing/MatcherDumperTest.php
@@ -18,7 +18,9 @@
 use Drupal\Tests\Core\Routing\RoutingFixtures;
 
 /**
- * Basic tests for the UrlMatcherDumper.
+ * Confirm that the matcher dumper is functioning properly.
+ *
+ * @group Routing
  */
 class MatcherDumperTest extends UnitTestBase {
 
@@ -36,14 +38,6 @@ class MatcherDumperTest extends UnitTestBase {
    */
   protected $state;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Dumper tests',
-      'description' => 'Confirm that the matcher dumper is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   function __construct($test_id = NULL) {
     parent::__construct($test_id);
 
diff --git a/core/modules/system/src/Tests/Routing/RouteProviderTest.php b/core/modules/system/src/Tests/Routing/RouteProviderTest.php
index 2ae9d6105617..1600f8ebf266 100644
--- a/core/modules/system/src/Tests/Routing/RouteProviderTest.php
+++ b/core/modules/system/src/Tests/Routing/RouteProviderTest.php
@@ -23,7 +23,9 @@
 use Drupal\Tests\Core\Routing\NullRouteBuilder;
 
 /**
- * Basic tests for the RouteProvider.
+ * Confirm that the default route provider is working correctly.
+ *
+ * @group Routing
  */
 class RouteProviderTest extends UnitTestBase {
 
@@ -48,14 +50,6 @@ class RouteProviderTest extends UnitTestBase {
    */
   protected $state;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Route Provider tests',
-      'description' => 'Confirm that the default route provider is working correctly.',
-      'group' => 'Routing',
-    );
-  }
-
   public function setUp() {
     $this->fixtures = new RoutingFixtures();
     $this->routeBuilder = new NullRouteBuilder();
diff --git a/core/modules/system/src/Tests/Routing/RouterPermissionTest.php b/core/modules/system/src/Tests/Routing/RouterPermissionTest.php
index e33156d917c4..948017f4cb0f 100644
--- a/core/modules/system/src/Tests/Routing/RouterPermissionTest.php
+++ b/core/modules/system/src/Tests/Routing/RouterPermissionTest.php
@@ -12,7 +12,9 @@
 use Symfony\Component\Routing\Exception\ResourceNotFoundException;
 
 /**
- * Basic tests for access permissions in routes.
+ * Function Tests for the routing permission system.
+ *
+ * @group Routing
  */
 class RouterPermissionTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class RouterPermissionTest extends WebTestBase {
    */
   public static $modules = array('router_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Router Permission tests',
-      'description' => 'Function Tests for the routing permission system.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * Tests permission requirements on routes.
    */
diff --git a/core/modules/system/src/Tests/Routing/RouterTest.php b/core/modules/system/src/Tests/Routing/RouterTest.php
index 51c40635fdc9..a7bb8b262c2b 100644
--- a/core/modules/system/src/Tests/Routing/RouterTest.php
+++ b/core/modules/system/src/Tests/Routing/RouterTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Functional class for the full integrated routing system.
+ *
+ * @group Routing
  */
 class RouterTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class RouterTest extends WebTestBase {
    */
   public static $modules = array('block', 'router_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Integrated Router tests',
-      'description' => 'Function Tests for the fully integrated routing system.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * Confirms that the router can get to a controller.
    */
diff --git a/core/modules/system/src/Tests/ServiceProvider/ServiceProviderTest.php b/core/modules/system/src/Tests/ServiceProvider/ServiceProviderTest.php
index 32111ba40244..11dc7367feb9 100644
--- a/core/modules/system/src/Tests/ServiceProvider/ServiceProviderTest.php
+++ b/core/modules/system/src/Tests/ServiceProvider/ServiceProviderTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests service provider registration to the DIC.
+ *
+ * @group ServiceProvider
  */
 class ServiceProviderTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ServiceProviderTest extends WebTestBase {
    */
   public static $modules = array('file', 'service_provider_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Service Provider Registration',
-      'description' => 'Tests service provider registration to the DIC.',
-      'group' => 'Service Provider',
-    );
-  }
-
   /**
    * Tests that services provided by module service providers get registered to the DIC.
    */
diff --git a/core/modules/system/src/Tests/Session/SessionHttpsTest.php b/core/modules/system/src/Tests/Session/SessionHttpsTest.php
index cc753b6e6d09..060205c6e01b 100644
--- a/core/modules/system/src/Tests/Session/SessionHttpsTest.php
+++ b/core/modules/system/src/Tests/Session/SessionHttpsTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Ensure that when running under HTTPS two session cookies are generated.
+ *
+ * @group Session
  */
 class SessionHttpsTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class SessionHttpsTest extends WebTestBase {
    */
   public static $modules = array('session_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Session HTTPS handling',
-      'description' => 'Ensure that when running under HTTPS two session cookies are generated.',
-      'group' => 'Session'
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->request = Request::createFromGlobals();
diff --git a/core/modules/system/src/Tests/Session/SessionTest.php b/core/modules/system/src/Tests/Session/SessionTest.php
index 47ef4b3e01b7..b65ca9f8bc37 100644
--- a/core/modules/system/src/Tests/Session/SessionTest.php
+++ b/core/modules/system/src/Tests/Session/SessionTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests session handling.
+ * Drupal session handling tests.
+ *
+ * @group Session
  */
 class SessionTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class SessionTest extends WebTestBase {
 
   protected $dumpHeaders = TRUE;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Session tests',
-      'description' => 'Drupal session handling tests.',
-      'group' => 'Session'
-    );
-  }
-
   /**
    * Tests for \Drupal\Core\Session\SessionManager::isEnabled() and ::regenerate().
    */
diff --git a/core/modules/system/src/Tests/System/AccessDeniedTest.php b/core/modules/system/src/Tests/System/AccessDeniedTest.php
index 383ace1db44b..6ac66754cecb 100644
--- a/core/modules/system/src/Tests/System/AccessDeniedTest.php
+++ b/core/modules/system/src/Tests/System/AccessDeniedTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests custom access denied functionality.
+ * Tests page access denied functionality, including custom 403 pages.
+ *
+ * @group system
  */
 class AccessDeniedTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class AccessDeniedTest extends WebTestBase {
 
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => '403 functionality',
-      'description' => 'Tests page access denied functionality, including custom 403 pages.',
-      'group' => 'System'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/AdminMetaTagTest.php b/core/modules/system/src/Tests/System/AdminMetaTagTest.php
index 928b1f6860b4..e97d5912abb3 100644
--- a/core/modules/system/src/Tests/System/AdminMetaTagTest.php
+++ b/core/modules/system/src/Tests/System/AdminMetaTagTest.php
@@ -10,20 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the fingerprinting "Generator" HTML meta tag.
+ * Confirm that the fingerprinting meta tag appears as expected.
+ *
+ * @group system
  */
 class AdminMetaTagTest extends WebTestBase {
-  /**
-   * Implement getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Fingerprinting meta tag',
-      'description' => 'Confirm that the fingerprinting meta tag appears as expected.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * Verify that the meta tag HTML is generated correctly.
    */
diff --git a/core/modules/system/src/Tests/System/AdminTest.php b/core/modules/system/src/Tests/System/AdminTest.php
index 839f3e0f27c5..950194f577c5 100644
--- a/core/modules/system/src/Tests/System/AdminTest.php
+++ b/core/modules/system/src/Tests/System/AdminTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests administrative overview pages.
+ * Tests output on administrative pages and compact mode functionality.
+ *
+ * @group system
  */
 class AdminTest extends WebTestBase {
 
@@ -35,14 +37,6 @@ class AdminTest extends WebTestBase {
    */
   public static $modules = array('locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Administrative pages',
-      'description' => 'Tests output on administrative pages and compact mode functionality.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     // testAdminPages() requires Locale module.
     parent::setUp();
diff --git a/core/modules/system/src/Tests/System/CronQueueTest.php b/core/modules/system/src/Tests/System/CronQueueTest.php
index 389e880aa684..a74838b785ac 100644
--- a/core/modules/system/src/Tests/System/CronQueueTest.php
+++ b/core/modules/system/src/Tests/System/CronQueueTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the handling of exceptions thrown by queue workers.
+ * Tests the Cron Queue runner.
+ *
+ * @group system
  */
 class CronQueueTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class CronQueueTest extends WebTestBase {
    */
   public static $modules = array('cron_queue_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cron Queue functionality',
-      'description' => 'Tests the Cron Queue runner.',
-      'group' => 'Queue',
-    );
-  }
-
   /**
    * Tests that exceptions thrown by workers are handled properly.
    */
diff --git a/core/modules/system/src/Tests/System/CronRunTest.php b/core/modules/system/src/Tests/System/CronRunTest.php
index 8aa4069f4ee0..39fe2b62d19a 100644
--- a/core/modules/system/src/Tests/System/CronRunTest.php
+++ b/core/modules/system/src/Tests/System/CronRunTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests cron runs.
+ *
+ * @group system
  */
 class CronRunTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class CronRunTest extends WebTestBase {
    */
   public static $modules = array('common_test', 'common_test_cron_helper');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cron run',
-      'description' => 'Test cron run.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Test cron runs.
    */
diff --git a/core/modules/system/src/Tests/System/DateFormatsLockedTest.php b/core/modules/system/src/Tests/System/DateFormatsLockedTest.php
index a7415e1aecd3..7f9d6c0e6c2b 100644
--- a/core/modules/system/src/Tests/System/DateFormatsLockedTest.php
+++ b/core/modules/system/src/Tests/System/DateFormatsLockedTest.php
@@ -11,20 +11,11 @@
 
 /**
  * Tests the locked functionality of date formats.
+ *
+ * @group system
  */
 class DateFormatsLockedTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Locked date formats',
-      'description' => 'Tests the locked functionality of date formats.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * 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/src/Tests/System/DateFormatsMachineNameTest.php
index 495ab8730bb0..218ce1243029 100644
--- a/core/modules/system/src/Tests/System/DateFormatsMachineNameTest.php
+++ b/core/modules/system/src/Tests/System/DateFormatsMachineNameTest.php
@@ -11,21 +11,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for date format machine names.
+ * Tests validity of date format machine names.
+ *
+ * @group system
  */
 class DateFormatsMachineNameTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Date format ids',
-      'description' => 'Tests validity of date format machine names.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/System/DateTimeTest.php b/core/modules/system/src/Tests/System/DateTimeTest.php
index b7188a9a759c..2300b861b690 100644
--- a/core/modules/system/src/Tests/System/DateTimeTest.php
+++ b/core/modules/system/src/Tests/System/DateTimeTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests generic date and time handling capabilities of Drupal.
+ * Configure date and time settings. Test date formatting and time zone
+ * handling, including daylight saving time.
+ *
+ * @group system
  */
 class DateTimeTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class DateTimeTest extends WebTestBase {
    */
   public static $modules = array('node', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Date and time',
-      'description' => 'Configure date and time settings. Test date formatting and time zone handling, including daylight saving time.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/DefaultMobileMetaTagsTest.php b/core/modules/system/src/Tests/System/DefaultMobileMetaTagsTest.php
index ce750bf0fd36..d06ef3115997 100644
--- a/core/modules/system/src/Tests/System/DefaultMobileMetaTagsTest.php
+++ b/core/modules/system/src/Tests/System/DefaultMobileMetaTagsTest.php
@@ -11,17 +11,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests default mobile meta tags on HTML pages.
+ * Confirm that the default mobile meta tags appear as expected.
+ *
+ * @group system
  */
 class DefaultMobileMetaTagsTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Default mobile meta tags',
-      'description' => 'Confirm that the default mobile meta tags appear as expected.',
-      'group' => 'System'
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->default_metatags = array(
diff --git a/core/modules/system/src/Tests/System/ErrorHandlerTest.php b/core/modules/system/src/Tests/System/ErrorHandlerTest.php
index 2356a849cfcf..69f17603f6ff 100644
--- a/core/modules/system/src/Tests/System/ErrorHandlerTest.php
+++ b/core/modules/system/src/Tests/System/ErrorHandlerTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests error and exception handlers.
+ * Performs tests on the Drupal error and exception handler.
+ *
+ * @group system
  */
 class ErrorHandlerTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ErrorHandlerTest extends WebTestBase {
    */
   public static $modules = array('error_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Error handlers',
-      'description' => 'Performs tests on the Drupal error and exception handler.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Test the error handler.
    */
diff --git a/core/modules/system/src/Tests/System/FloodTest.php b/core/modules/system/src/Tests/System/FloodTest.php
index 71de877859ec..d1aa54673a8a 100644
--- a/core/modules/system/src/Tests/System/FloodTest.php
+++ b/core/modules/system/src/Tests/System/FloodTest.php
@@ -12,20 +12,11 @@
 
 /**
  * Functional tests for the flood control mechanism.
+ *
+ * @group system
  */
 class FloodTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Flood control mechanism',
-      'description' => 'Functional tests for the flood control mechanism.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/System/FrontPageTest.php b/core/modules/system/src/Tests/System/FrontPageTest.php
index f017fafb228d..fd72bc24901d 100644
--- a/core/modules/system/src/Tests/System/FrontPageTest.php
+++ b/core/modules/system/src/Tests/System/FrontPageTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test front page functionality and administration.
+ * Tests front page functionality and administration.
+ *
+ * @group system
  */
 class FrontPageTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FrontPageTest extends WebTestBase {
    */
   public static $modules = array('node', 'system_test', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Front page',
-      'description' => 'Tests front page functionality and administration.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/IgnoreReplicaSubscriberTest.php b/core/modules/system/src/Tests/System/IgnoreReplicaSubscriberTest.php
index c23fe5d8cdd3..49d11ecf81ae 100644
--- a/core/modules/system/src/Tests/System/IgnoreReplicaSubscriberTest.php
+++ b/core/modules/system/src/Tests/System/IgnoreReplicaSubscriberTest.php
@@ -15,18 +15,12 @@
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
 
 /**
- * Tests the event subscriber that disables the replica database.
+ * Tests that ReplicaDatabaseIgnoreSubscriber functions correctly.
+ *
+ * @group system
  */
 class IgnoreReplicaSubscriberTest extends UnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Replica database ignoring event listener',
-      'description' => 'Tests that ReplicaDatabaseIgnoreSubscriber functions correctly.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Tests \Drupal\Core\EventSubscriber\ReplicaDatabaseIgnoreSubscriber::checkReplicaServer().
    */
diff --git a/core/modules/system/src/Tests/System/IndexPhpTest.php b/core/modules/system/src/Tests/System/IndexPhpTest.php
index c1768fb4331d..1e8391761857 100644
--- a/core/modules/system/src/Tests/System/IndexPhpTest.php
+++ b/core/modules/system/src/Tests/System/IndexPhpTest.php
@@ -10,17 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the handling of requests containing 'index.php'.
+ * Tests the handling of requests containing 'index.php'.
+ *
+ * @group system
  */
 class IndexPhpTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Index.php handling',
-      'description' => "Test the handling of requests containing 'index.php'.",
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
   }
diff --git a/core/modules/system/src/Tests/System/InfoAlterTest.php b/core/modules/system/src/Tests/System/InfoAlterTest.php
index 31387d0558fd..b9a5030a7fc9 100644
--- a/core/modules/system/src/Tests/System/InfoAlterTest.php
+++ b/core/modules/system/src/Tests/System/InfoAlterTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests the effectiveness of hook_system_info_alter().
+ *
+ * @group system
  */
 class InfoAlterTest extends DrupalUnitTestBase {
 
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'System info alter',
-      'description' => 'Tests the effectiveness of hook_system_info_alter().',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Tests that theme .info.yml data is rebuild after enabling a module.
    *
diff --git a/core/modules/system/src/Tests/System/MainContentFallbackTest.php b/core/modules/system/src/Tests/System/MainContentFallbackTest.php
index 69b1bd345dee..18415905f834 100644
--- a/core/modules/system/src/Tests/System/MainContentFallbackTest.php
+++ b/core/modules/system/src/Tests/System/MainContentFallbackTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test main content rendering fallback provided by system module.
+ *  Test system module main content rendering fallback.
+ *
+ * @group system
  */
 class MainContentFallbackTest extends WebTestBase {
 
@@ -24,14 +26,6 @@ class MainContentFallbackTest extends WebTestBase {
   protected $admin_user;
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Main content rendering fallback',
-      'description' => ' Test system module main content rendering fallback.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/PageNotFoundTest.php b/core/modules/system/src/Tests/System/PageNotFoundTest.php
index b7a7c0a9c05d..89066a6ee717 100644
--- a/core/modules/system/src/Tests/System/PageNotFoundTest.php
+++ b/core/modules/system/src/Tests/System/PageNotFoundTest.php
@@ -10,19 +10,13 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests "404 Not found" pages and custom 404 pages.
+ * Tests page not found functionality, including custom 404 pages.
+ *
+ * @group system
  */
 class PageNotFoundTest extends WebTestBase {
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => '404 functionality',
-      'description' => "Tests page not found functionality, including custom 404 pages.",
-      'group' => 'System'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/PageTitleTest.php b/core/modules/system/src/Tests/System/PageTitleTest.php
index 977b60d83dda..4daa83664e04 100644
--- a/core/modules/system/src/Tests/System/PageTitleTest.php
+++ b/core/modules/system/src/Tests/System/PageTitleTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests HTML output escaping of page title, site name, and slogan.
+ *
+ * @group system
  */
 class PageTitleTest extends WebTestBase {
 
@@ -27,17 +29,6 @@ class PageTitleTest extends WebTestBase {
   protected $content_user;
   protected $saved_title;
 
-  /**
-   * Implement getInfo().
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Page titles',
-      'description' => 'Tests correct escaping of page title, site name and slogan.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * Implement setUp().
    */
diff --git a/core/modules/system/src/Tests/System/PasswordHashingTest.php b/core/modules/system/src/Tests/System/PasswordHashingTest.php
index 53ff2fc03833..b3c7aad703bc 100644
--- a/core/modules/system/src/Tests/System/PasswordHashingTest.php
+++ b/core/modules/system/src/Tests/System/PasswordHashingTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Password\PhpassHashedPassword;
 
 /**
- * Unit tests for password hashing API.
+ * Password hashing unit tests.
+ *
+ * @group system
  */
 class PasswordHashingTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class PasswordHashingTest extends DrupalUnitTestBase {
    */
   public static $modules = array('field', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Password hashing',
-      'description' => 'Password hashing unit tests.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Test password hashing.
    */
diff --git a/core/modules/system/src/Tests/System/RetrieveFileTest.php b/core/modules/system/src/Tests/System/RetrieveFileTest.php
index a7f7a5086d92..256415a8ed13 100644
--- a/core/modules/system/src/Tests/System/RetrieveFileTest.php
+++ b/core/modules/system/src/Tests/System/RetrieveFileTest.php
@@ -10,17 +10,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test HTTP file downloading capability.
+ * Tests HTTP file fetching and error handling.
+ *
+ * @group system
  */
 class RetrieveFileTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'HTTP file retrieval',
-      'description' => 'Checks HTTP file fetching and error handling.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Invokes system_retrieve_file() in several scenarios.
    */
diff --git a/core/modules/system/src/Tests/System/ScriptTest.php b/core/modules/system/src/Tests/System/ScriptTest.php
index d71299167734..0be6217f9e29 100644
--- a/core/modules/system/src/Tests/System/ScriptTest.php
+++ b/core/modules/system/src/Tests/System/ScriptTest.php
@@ -11,20 +11,11 @@
 
 /**
  * Tests core shell scripts.
+ *
+ * @group system
  */
 class ScriptTest extends DrupalUnitTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Shell scripts',
-      'description' => 'Tests Core utility shell scripts.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Tests password-hash.sh.
    */
diff --git a/core/modules/system/src/Tests/System/SettingsRewriteTest.php b/core/modules/system/src/Tests/System/SettingsRewriteTest.php
index 193371a4e7d8..741f92cd85b7 100644
--- a/core/modules/system/src/Tests/System/SettingsRewriteTest.php
+++ b/core/modules/system/src/Tests/System/SettingsRewriteTest.php
@@ -12,16 +12,10 @@
 
 /**
  * Tests the drupal_rewrite_settings() function.
+ *
+ * @group system
  */
 class SettingsRewriteTest extends KernelTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'drupal_rewrite_settings()',
-      'description' => 'Tests the drupal_rewrite_settings() function.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Tests the drupal_rewrite_settings() function.
    */
diff --git a/core/modules/system/src/Tests/System/ShutdownFunctionsTest.php b/core/modules/system/src/Tests/System/ShutdownFunctionsTest.php
index be463ab5d095..17b4026c2f6c 100644
--- a/core/modules/system/src/Tests/System/ShutdownFunctionsTest.php
+++ b/core/modules/system/src/Tests/System/ShutdownFunctionsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Functional tests shutdown functions.
+ *
+ * @group system
  */
 class ShutdownFunctionsTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ShutdownFunctionsTest extends WebTestBase {
    */
   public static $modules = array('system_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Shutdown functions',
-      'description' => 'Functional tests for shutdown functions',
-      'group' => 'System',
-    );
-  }
-
   protected function tearDown() {
     // This test intentionally throws an exception in a PHP shutdown function.
     // Prevent it from being interpreted as an actual test failure.
diff --git a/core/modules/system/src/Tests/System/SiteMaintenanceTest.php b/core/modules/system/src/Tests/System/SiteMaintenanceTest.php
index 9c291f154e71..7368511240eb 100644
--- a/core/modules/system/src/Tests/System/SiteMaintenanceTest.php
+++ b/core/modules/system/src/Tests/System/SiteMaintenanceTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests site maintenance functionality.
+ * Tests access to site while in maintenance mode.
+ *
+ * @group system
  */
 class SiteMaintenanceTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class SiteMaintenanceTest extends WebTestBase {
 
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Site maintenance mode functionality',
-      'description' => 'Test access to site while in maintenance mode.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/StatusTest.php b/core/modules/system/src/Tests/System/StatusTest.php
index e2a4298f6c30..56cc21a63dc0 100644
--- a/core/modules/system/src/Tests/System/StatusTest.php
+++ b/core/modules/system/src/Tests/System/StatusTest.php
@@ -10,21 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests administrative status page.
+ * Tests output on the status overview page.
+ *
+ * @group system
  */
 class StatusTest extends WebTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Status page',
-      'description' => 'Tests output on the status overview page.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/System/SystemAuthorizeTest.php b/core/modules/system/src/Tests/System/SystemAuthorizeTest.php
index 3b2dc19ec27f..53e5c807444c 100644
--- a/core/modules/system/src/Tests/System/SystemAuthorizeTest.php
+++ b/core/modules/system/src/Tests/System/SystemAuthorizeTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests authorize.php and related hooks.
+ * Tests the authorize.php script and related API.
+ *
+ * @group system
  */
 class SystemAuthorizeTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class SystemAuthorizeTest extends WebTestBase {
    */
   public static $modules = array('system_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Authorize API',
-      'description' => 'Tests the authorize.php script and related API.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/ThemeTest.php b/core/modules/system/src/Tests/System/ThemeTest.php
index 38d5a94ef737..15298f63b301 100644
--- a/core/modules/system/src/Tests/System/ThemeTest.php
+++ b/core/modules/system/src/Tests/System/ThemeTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the theme interface functionality.
+ * Tests the theme interface functionality by enabling and switching themes, and
+ * using an administration theme.
+ *
+ * @group system
  */
 class ThemeTest extends WebTestBase {
 
@@ -22,14 +25,6 @@ class ThemeTest extends WebTestBase {
    */
   public static $modules = array('node', 'block', 'file');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme interface functionality',
-      'description' => 'Tests the theme interface functionality by enabling and switching themes, and using an administration theme.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/System/TokenReplaceUnitTest.php b/core/modules/system/src/Tests/System/TokenReplaceUnitTest.php
index 4ea7da1fac01..867ef2df9aa3 100644
--- a/core/modules/system/src/Tests/System/TokenReplaceUnitTest.php
+++ b/core/modules/system/src/Tests/System/TokenReplaceUnitTest.php
@@ -11,18 +11,13 @@
 use Drupal\Component\Utility\Xss;
 
 /**
- * Test token replacement in strings.
+ * Generates text using placeholders for dummy content to check token
+ * replacement.
+ *
+ * @group system
  */
 class TokenReplaceUnitTest extends TokenReplaceUnitTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Token replacement unit test',
-      'description' => 'Generates text using placeholders for dummy content to check token replacement.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Test whether token-replacement works in various contexts.
    */
diff --git a/core/modules/system/src/Tests/System/TokenScanTest.php b/core/modules/system/src/Tests/System/TokenScanTest.php
index ce29a0862377..4cb2d69a2000 100644
--- a/core/modules/system/src/Tests/System/TokenScanTest.php
+++ b/core/modules/system/src/Tests/System/TokenScanTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test token replacement in strings.
+ * Scan token-like patterns in a dummy text to check token scanning.
+ *
+ * @group system
  */
 class TokenScanTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Token scanning',
-      'description' => 'Scan token-like patterns in a dummy text to check token scanning.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Scans dummy text, then tests the output.
    */
diff --git a/core/modules/system/src/Tests/Theme/EnginePhpTemplateTest.php b/core/modules/system/src/Tests/Theme/EnginePhpTemplateTest.php
index b48061caebae..c4ef252ff078 100644
--- a/core/modules/system/src/Tests/Theme/EnginePhpTemplateTest.php
+++ b/core/modules/system/src/Tests/Theme/EnginePhpTemplateTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests theme functions and templates with the PHPTemplate engine.
+ * Tests theme functions with PHPTemplate.
+ *
+ * @group Theme
  */
 class EnginePhpTemplateTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EnginePhpTemplateTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'PHPTemplate Engine',
-      'description' => 'Test theme functions with PHPTemplate.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme_phptemplate'));
diff --git a/core/modules/system/src/Tests/Theme/EngineTwigTest.php b/core/modules/system/src/Tests/Theme/EngineTwigTest.php
index ea2a4b24db4b..2e89f47d2ad9 100644
--- a/core/modules/system/src/Tests/Theme/EngineTwigTest.php
+++ b/core/modules/system/src/Tests/Theme/EngineTwigTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests theme functions with the Twig engine.
+ * Tests Twig-specific theme functionality.
+ *
+ * @group Theme
  */
 class EngineTwigTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class EngineTwigTest extends WebTestBase {
    */
   public static $modules = array('theme_test', 'twig_theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Engine',
-      'description' => 'Test Twig-specific theme functionality.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme'));
diff --git a/core/modules/system/src/Tests/Theme/EntityFilteringThemeTest.php b/core/modules/system/src/Tests/Theme/EntityFilteringThemeTest.php
index b2816aa6828a..cbb249246d9e 100644
--- a/core/modules/system/src/Tests/Theme/EntityFilteringThemeTest.php
+++ b/core/modules/system/src/Tests/Theme/EntityFilteringThemeTest.php
@@ -13,7 +13,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests filtering for XSS in rendered entity templates in all themes.
+ * Tests themed output for each entity type in all available themes to ensure
+ * entity labels are filtered for XSS.
+ *
+ * @group Theme
  */
 class EntityFilteringThemeTest extends WebTestBase {
 
@@ -72,14 +75,6 @@ class EntityFilteringThemeTest extends WebTestBase {
    */
   protected $xss_label = "string with <em>HTML</em> and <script>alert('JS');</script>";
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity filtering theme test',
-      'description' => 'Tests themed output for each entity type in all available themes to ensure entity labels are filtered for XSS.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/system/src/Tests/Theme/FastTest.php b/core/modules/system/src/Tests/Theme/FastTest.php
index 226213bcf2b5..2266ea5f47f6 100644
--- a/core/modules/system/src/Tests/Theme/FastTest.php
+++ b/core/modules/system/src/Tests/Theme/FastTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests autocompletion not loading registry.
+ *
+ * @group Theme
  */
 class FastTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class FastTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme fast initialization',
-      'description' => 'Test that autocompletion does not load the registry.',
-      'group' => 'Theme'
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->account = $this->drupalCreateUser(array('access user profiles'));
diff --git a/core/modules/system/src/Tests/Theme/FunctionsTest.php b/core/modules/system/src/Tests/Theme/FunctionsTest.php
index c1b0433d21e0..f6eaa6c37c2b 100644
--- a/core/modules/system/src/Tests/Theme/FunctionsTest.php
+++ b/core/modules/system/src/Tests/Theme/FunctionsTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests for common theme functions.
+ *
+ * @group Theme
  */
 class FunctionsTest extends WebTestBase {
 
@@ -25,14 +27,6 @@ class FunctionsTest extends WebTestBase {
    */
   public static $modules = array('router_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme functions',
-      'description' => 'Tests common theme functions.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests theme_item_list().
    */
diff --git a/core/modules/system/src/Tests/Theme/HtmlAttributesTest.php b/core/modules/system/src/Tests/Theme/HtmlAttributesTest.php
index 2ba1ebc60d46..6bdf0424af70 100644
--- a/core/modules/system/src/Tests/Theme/HtmlAttributesTest.php
+++ b/core/modules/system/src/Tests/Theme/HtmlAttributesTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional tests for 'html' and 'body' element attributes.
+ * Tests attributes inserted in the 'html' and 'body' elements on the page.
+ *
+ * @group Theme
  */
 class HtmlAttributesTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class HtmlAttributesTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => "'html' and 'body' element attributes",
-      'description' => "Test attributes inserted in the 'html' and 'body' elements on the page.",
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests that attributes in the 'html' and 'body' elements can be altered.
    */
diff --git a/core/modules/system/src/Tests/Theme/RegistryTest.php b/core/modules/system/src/Tests/Theme/RegistryTest.php
index b2bfd3e3dd77..57adf4fd83f6 100644
--- a/core/modules/system/src/Tests/Theme/RegistryTest.php
+++ b/core/modules/system/src/Tests/Theme/RegistryTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Utility\ThemeRegistry;
 
 /**
- * Tests the ThemeRegistry class.
+ * Tests the behavior of the ThemeRegistry class.
+ *
+ * @group Theme
  */
 class RegistryTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class RegistryTest extends WebTestBase {
   public static $modules = array('theme_test');
 
   protected $profile = 'testing';
-  public static function getInfo() {
-    return array(
-      'name' => 'ThemeRegistry',
-      'description' => 'Tests the behavior of the ThemeRegistry class',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests the behavior of the theme registry class.
    */
diff --git a/core/modules/system/src/Tests/Theme/TableTest.php b/core/modules/system/src/Tests/Theme/TableTest.php
index f1eddfc1a7cc..435e79fe83fa 100644
--- a/core/modules/system/src/Tests/Theme/TableTest.php
+++ b/core/modules/system/src/Tests/Theme/TableTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Unit tests for theme_table().
+ * Tests built-in table theme functions.
+ *
+ * @group Theme
  */
 class TableTest extends DrupalUnitTestBase {
 
@@ -21,14 +23,6 @@ class TableTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme Table',
-      'description' => 'Tests built-in table theme functions.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tableheader.js provides 'sticky' table headers, and is included by default.
    */
diff --git a/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php b/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php
index b2d1b45137e3..04730d2b0982 100644
--- a/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php
+++ b/core/modules/system/src/Tests/Theme/ThemeEarlyInitializationTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional test for initialization of the theme system early in the request.
+ * Tests that the theme system can be correctly initialized early in the page
+ * request.
+ *
+ * @group Theme
  */
 class ThemeEarlyInitializationTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class ThemeEarlyInitializationTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Early theme initialization',
-      'description' => 'Tests that the theme system can be correctly initialized early in the page request.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Test that the theme system can generate output in a request listener.
    */
diff --git a/core/modules/system/src/Tests/Theme/ThemeInfoStylesTest.php b/core/modules/system/src/Tests/Theme/ThemeInfoStylesTest.php
index c152a277445f..764d0b95affc 100644
--- a/core/modules/system/src/Tests/Theme/ThemeInfoStylesTest.php
+++ b/core/modules/system/src/Tests/Theme/ThemeInfoStylesTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests processing of theme .info.yml stylesheets.
+ *
+ * @group Theme
  */
 class ThemeInfoStylesTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ThemeInfoStylesTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme .info.yml styles',
-      'description' => 'Tests processing of theme .info.yml stylesheets.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests stylesheets-override and stylesheets-remove.
    */
diff --git a/core/modules/system/src/Tests/Theme/ThemeSettingsTest.php b/core/modules/system/src/Tests/Theme/ThemeSettingsTest.php
index a398e5f408d4..3ca4d34eb9dd 100644
--- a/core/modules/system/src/Tests/Theme/ThemeSettingsTest.php
+++ b/core/modules/system/src/Tests/Theme/ThemeSettingsTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests theme settings functionality.
+ *
+ * @group Theme
  */
 class ThemeSettingsTest extends DrupalUnitTestBase {
 
@@ -30,14 +32,6 @@ class ThemeSettingsTest extends DrupalUnitTestBase {
    */
   protected $availableThemes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme settings',
-      'description' => 'Tests theme settings functionality.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Theme settings rely on System module's system.theme.global configuration.
diff --git a/core/modules/system/src/Tests/Theme/ThemeSuggestionsAlterTest.php b/core/modules/system/src/Tests/Theme/ThemeSuggestionsAlterTest.php
index a728c1f3e18c..ff8c292b480c 100644
--- a/core/modules/system/src/Tests/Theme/ThemeSuggestionsAlterTest.php
+++ b/core/modules/system/src/Tests/Theme/ThemeSuggestionsAlterTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests theme suggestion alter hooks.
+ *
+ * @group Theme
  */
 class ThemeSuggestionsAlterTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class ThemeSuggestionsAlterTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme suggestions alter',
-      'description' => 'Test theme suggestion alter hooks.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme'));
diff --git a/core/modules/system/src/Tests/Theme/ThemeTest.php b/core/modules/system/src/Tests/Theme/ThemeTest.php
index 7d5e16e15b63..d41ec8d3469a 100644
--- a/core/modules/system/src/Tests/Theme/ThemeTest.php
+++ b/core/modules/system/src/Tests/Theme/ThemeTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests low-level theme functions.
+ *
+ * @group Theme
  */
 class ThemeTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class ThemeTest extends WebTestBase {
    */
   public static $modules = array('theme_test', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme API',
-      'description' => 'Test low-level theme functions.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme'));
diff --git a/core/modules/system/src/Tests/Theme/TwigDebugMarkupTest.php b/core/modules/system/src/Tests/Theme/TwigDebugMarkupTest.php
index 6915b6f0fc8b..2836c2ca266a 100644
--- a/core/modules/system/src/Tests/Theme/TwigDebugMarkupTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigDebugMarkupTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests for Twig debug markup.
+ *
+ * @group Theme
  */
 class TwigDebugMarkupTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class TwigDebugMarkupTest extends WebTestBase {
    */
   public static $modules = array('theme_test', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig debug markup',
-      'description' => 'Tests Twig debug markup.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests debug markup added to Twig template output.
    */
diff --git a/core/modules/system/src/Tests/Theme/TwigExtensionTest.php b/core/modules/system/src/Tests/Theme/TwigExtensionTest.php
index 8fdc293ce219..019165756ac5 100644
--- a/core/modules/system/src/Tests/Theme/TwigExtensionTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigExtensionTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests Twig extensions.
+ *
+ * @group Theme
  */
 class TwigExtensionTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class TwigExtensionTest extends WebTestBase {
    */
   public static $modules = array('theme_test', 'twig_extension_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Extension',
-      'description' => 'Tests Twig extensions.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme'));
diff --git a/core/modules/system/src/Tests/Theme/TwigFilterTest.php b/core/modules/system/src/Tests/Theme/TwigFilterTest.php
index 9b514d71ee00..c22be7f0109c 100644
--- a/core/modules/system/src/Tests/Theme/TwigFilterTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigFilterTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests Drupal's Twig filters.
+ *
+ * @group Theme
  */
 class TwigFilterTest extends WebTestBase {
 
@@ -22,17 +24,6 @@ class TwigFilterTest extends WebTestBase {
    */
   public static $modules = array('twig_theme_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Filters',
-      'description' => 'Test Drupal\'s Twig filters.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Test Twig "without" filter.
    */
diff --git a/core/modules/system/src/Tests/Theme/TwigNamespaceTest.php b/core/modules/system/src/Tests/Theme/TwigNamespaceTest.php
index 2d5ea69312cf..0d8beaddfbef 100644
--- a/core/modules/system/src/Tests/Theme/TwigNamespaceTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigNamespaceTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests Twig namespaces.
+ *
+ * @group Theme
  */
 class TwigNamespaceTest extends WebTestBase {
 
@@ -26,14 +28,6 @@ class TwigNamespaceTest extends WebTestBase {
    */
   protected $twig;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Namespaces',
-      'description' => 'Tests Twig namespaces.',
-      'group' => 'Theme',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     theme_enable(array('test_theme', 'bartik'));
diff --git a/core/modules/system/src/Tests/Theme/TwigRawTest.php b/core/modules/system/src/Tests/Theme/TwigRawTest.php
index e93585c654c7..5f8f0a857f61 100644
--- a/core/modules/system/src/Tests/Theme/TwigRawTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigRawTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests 'raw' Twig filter.
+ * Tests Twig 'raw' filter.
+ *
+ * @group Theme
  */
 class TwigRawTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class TwigRawTest extends WebTestBase {
    */
   public static $modules = array('twig_theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig raw filter',
-      'description' => "Tests Twig 'raw' filter.",
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Tests the raw filter inside an autoescape tag.
    */
diff --git a/core/modules/system/src/Tests/Theme/TwigSettingsTest.php b/core/modules/system/src/Tests/Theme/TwigSettingsTest.php
index 6dff9acfa672..630fc14891b4 100644
--- a/core/modules/system/src/Tests/Theme/TwigSettingsTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigSettingsTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\PhpStorage\PhpStorageFactory;
 
 /**
- * Tests Twig engine configuration via settings.php.
+ * Tests overriding Twig engine settings via settings.php.
+ *
+ * @group Theme
  */
 class TwigSettingsTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class TwigSettingsTest extends WebTestBase {
    */
   public static $modules = array('theme_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Settings',
-      'description' => 'Tests overriding Twig engine settings via settings.php.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * Ensures Twig template auto reload setting can be overridden.
    */
diff --git a/core/modules/system/src/Tests/Theme/TwigTransTest.php b/core/modules/system/src/Tests/Theme/TwigTransTest.php
index 81f4507f08da..20beeb5d8a72 100644
--- a/core/modules/system/src/Tests/Theme/TwigTransTest.php
+++ b/core/modules/system/src/Tests/Theme/TwigTransTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests Twig "trans" tags.
+ *
+ * @group Theme
  */
 class TwigTransTest extends WebTestBase {
 
@@ -44,20 +46,6 @@ class TwigTransTest extends WebTestBase {
     'zz' => 'Lolspeak2',
   );
 
-  /**
-   * Defines information about this test.
-   *
-   * @return array
-   *   An associative array of information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Twig Translation',
-      'description' => 'Test Twig "trans" tags.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/src/Tests/Transliteration/TransliterationTest.php b/core/modules/system/src/Tests/Transliteration/TransliterationTest.php
index 2e5ed60d9447..27aa4dddf771 100644
--- a/core/modules/system/src/Tests/Transliteration/TransliterationTest.php
+++ b/core/modules/system/src/Tests/Transliteration/TransliterationTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests Transliteration component functionality.
+ *
+ * @group Transliteration
  */
 class TransliterationTest extends DrupalUnitTestBase {
   /**
@@ -21,14 +23,6 @@ class TransliterationTest extends DrupalUnitTestBase {
    */
   public static $modules = array('transliterate_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Transliteration functionality',
-      'description' => 'Tests Transliteration component functionality.',
-      'group' => 'Transliteration',
-    );
-  }
-
   /**
    * Tests the PHPTransliteration class.
    */
diff --git a/core/modules/system/src/Tests/TypedData/TypedDataDefinitionTest.php b/core/modules/system/src/Tests/TypedData/TypedDataDefinitionTest.php
index aa9d3c124e0e..d5da1b7cd5d8 100644
--- a/core/modules/system/src/Tests/TypedData/TypedDataDefinitionTest.php
+++ b/core/modules/system/src/Tests/TypedData/TypedDataDefinitionTest.php
@@ -19,6 +19,8 @@
 
 /**
  * Tests deriving metadata of core data types.
+ *
+ * @group TypedData
  */
 class TypedDataDefinitionTest extends DrupalUnitTestBase {
 
@@ -29,14 +31,6 @@ class TypedDataDefinitionTest extends DrupalUnitTestBase {
    */
   protected $typedDataManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Typed data definitions',
-      'description' => 'Tests reading and deriving metadata of core data types.',
-      'group' => 'Typed Data API',
-    );
-  }
-
   public function setUp() {
     parent::setup();
     $this->typedDataManager = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/src/Tests/TypedData/TypedDataTest.php b/core/modules/system/src/Tests/TypedData/TypedDataTest.php
index d38d2b9c806a..bc9bd8c55b50 100644
--- a/core/modules/system/src/Tests/TypedData/TypedDataTest.php
+++ b/core/modules/system/src/Tests/TypedData/TypedDataTest.php
@@ -15,7 +15,9 @@
 use Drupal\Core\Datetime\DrupalDateTime;
 
 /**
- * Tests primitive data types.
+ * Tests the functionality of all core data types.
+ *
+ * @group TypedData
  */
 class TypedDataTest extends DrupalUnitTestBase {
 
@@ -33,14 +35,6 @@ class TypedDataTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'entity', 'field', 'file', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Test typed data objects',
-      'description' => 'Tests the functionality of all core data types.',
-      'group' => 'Typed Data API',
-    );
-  }
-
   public function setUp() {
     parent::setup();
 
diff --git a/core/modules/system/src/Tests/Update/DependencyHookInvocationTest.php b/core/modules/system/src/Tests/Update/DependencyHookInvocationTest.php
index f9b0a86509f4..2c417e9c1081 100644
--- a/core/modules/system/src/Tests/Update/DependencyHookInvocationTest.php
+++ b/core/modules/system/src/Tests/Update/DependencyHookInvocationTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the invocation of hook_update_dependencies().
+ * Tests that the hook invocation for determining update dependencies works
+ * correctly.
+ *
+ * @group Update
  */
 class DependencyHookInvocationTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class DependencyHookInvocationTest extends WebTestBase {
    */
   public static $modules = array('update_test_0', 'update_test_1', 'update_test_2');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update dependency hook invocation',
-      'description' => 'Test that the hook invocation for determining update dependencies works correctly.',
-      'group' => 'Update API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
diff --git a/core/modules/system/src/Tests/Update/DependencyMissingTest.php b/core/modules/system/src/Tests/Update/DependencyMissingTest.php
index 167beea91c0c..df463c34cd8c 100644
--- a/core/modules/system/src/Tests/Update/DependencyMissingTest.php
+++ b/core/modules/system/src/Tests/Update/DependencyMissingTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for missing update dependencies.
+ * Tests that missing update dependencies are correctly flagged.
+ *
+ * @group Update
  */
 class DependencyMissingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class DependencyMissingTest extends WebTestBase {
    */
   public static $modules = array('update_test_0', 'update_test_2');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Missing update dependencies',
-      'description' => 'Test that missing update dependencies are correctly flagged.',
-      'group' => 'Update API',
-    );
-  }
-
   function setUp() {
     // Only install update_test_2.module, even though its updates have a
     // dependency on update_test_3.module.
diff --git a/core/modules/system/src/Tests/Update/DependencyOrderingTest.php b/core/modules/system/src/Tests/Update/DependencyOrderingTest.php
index 5667be099c28..c0c98cf54800 100644
--- a/core/modules/system/src/Tests/Update/DependencyOrderingTest.php
+++ b/core/modules/system/src/Tests/Update/DependencyOrderingTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the update dependency ordering system.
+ * Tests that update functions are run in the proper order.
+ *
+ * @group Update
  */
 class DependencyOrderingTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class DependencyOrderingTest extends WebTestBase {
    */
   public static $modules = array('update_test_0', 'update_test_1', 'update_test_2', 'update_test_3');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update dependency ordering',
-      'description' => 'Test that update functions are run in the proper order.',
-      'group' => 'Update API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
diff --git a/core/modules/system/src/Tests/Update/InvalidUpdateHookTest.php b/core/modules/system/src/Tests/Update/InvalidUpdateHookTest.php
index 3beec5f7d64b..0afc8e90c670 100644
--- a/core/modules/system/src/Tests/Update/InvalidUpdateHookTest.php
+++ b/core/modules/system/src/Tests/Update/InvalidUpdateHookTest.php
@@ -11,7 +11,10 @@
 use Drupal\Core\Extension\ExtensionSchemaVersionException;
 
 /**
- * Tests for missing update dependencies.
+ * Tests that a module implementing hook_update_8000() causes an error to be
+ * displayed on update.
+ *
+ * @group Update
  */
 class InvalidUpdateHookTest extends WebTestBase {
 
@@ -36,14 +39,6 @@ class InvalidUpdateHookTest extends WebTestBase {
    */
   private $update_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Invalid update hook',
-      'description' => 'Tests that a module implementing hook_update_8000() causes an error to be displayed on update.',
-      'group' => 'Update API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
diff --git a/core/modules/system/src/Tests/Update/UpdateScriptTest.php b/core/modules/system/src/Tests/Update/UpdateScriptTest.php
index cd9219110381..a040529412ec 100644
--- a/core/modules/system/src/Tests/Update/UpdateScriptTest.php
+++ b/core/modules/system/src/Tests/Update/UpdateScriptTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the update system functionality.
+ * Tests the update script access and functionality.
+ *
+ * @group Update
  */
 class UpdateScriptTest extends WebTestBase {
 
@@ -26,14 +28,6 @@ class UpdateScriptTest extends WebTestBase {
   private $update_url;
   private $update_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update functionality',
-      'description' => 'Tests the update script access and functionality.',
-      'group' => 'Update',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->update_url = $GLOBALS['base_url'] . '/core/update.php';
diff --git a/core/modules/system/src/Tests/Update/UpdatesWith7xTest.php b/core/modules/system/src/Tests/Update/UpdatesWith7xTest.php
index 537fd738c2ba..cd66db6c2ccd 100644
--- a/core/modules/system/src/Tests/Update/UpdatesWith7xTest.php
+++ b/core/modules/system/src/Tests/Update/UpdatesWith7xTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for missing update dependencies.
+ * Tests that the minimum schema version is correct even if only 7.x update
+ * hooks are retained .
+ *
+ * @group Update
  */
 class UpdatesWith7xTest extends WebTestBase {
 
@@ -31,14 +34,6 @@ class UpdatesWith7xTest extends WebTestBase {
    */
   private $update_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => '7.x update hooks',
-      'description' => 'Tests that the minimum schema version is correct even if only 7.x update hooks are retained .',
-      'group' => 'Update API',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     require_once DRUPAL_ROOT . '/core/includes/update.inc';
diff --git a/core/modules/system/src/Tests/Validation/AllowedValuesConstraintValidatorTest.php b/core/modules/system/src/Tests/Validation/AllowedValuesConstraintValidatorTest.php
index 563b71111ad4..8b5bec0bac87 100644
--- a/core/modules/system/src/Tests/Validation/AllowedValuesConstraintValidatorTest.php
+++ b/core/modules/system/src/Tests/Validation/AllowedValuesConstraintValidatorTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the AllowedValues validation constraint validator.
+ * Tests AllowedValues validation constraint with both valid and invalid values.
+ *
+ * @group Validation
  */
 class AllowedValuesConstraintValidatorTest extends DrupalUnitTestBase {
 
@@ -22,14 +24,6 @@ class AllowedValuesConstraintValidatorTest extends DrupalUnitTestBase {
    */
   protected $typedData;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Allowed values constraint',
-      'description' => 'Tests AllowedValues validation constraint with both valid and invalid values.',
-      'group' => 'Validation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->typedData = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/src/Tests/Validation/ComplexDataConstraintValidatorTest.php b/core/modules/system/src/Tests/Validation/ComplexDataConstraintValidatorTest.php
index baabdb8b6a65..dccd03eda786 100644
--- a/core/modules/system/src/Tests/Validation/ComplexDataConstraintValidatorTest.php
+++ b/core/modules/system/src/Tests/Validation/ComplexDataConstraintValidatorTest.php
@@ -12,7 +12,10 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the ComplexData validation constraint validator.
+ * Tests ComplexData validation constraint with both valid and invalid values
+ * for a key.
+ *
+ * @group Validation
  */
 class ComplexDataConstraintValidatorTest extends DrupalUnitTestBase {
 
@@ -23,14 +26,6 @@ class ComplexDataConstraintValidatorTest extends DrupalUnitTestBase {
    */
   protected $typedData;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Complex data constraint',
-      'description' => 'Tests ComplexData validation constraint with both valid and invalid values for a key',
-      'group' => 'Validation',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->typedData = $this->container->get('typed_data_manager');
diff --git a/core/modules/system/tests/src/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php b/core/modules/system/tests/src/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
index b7a145bb9f15..81edaa28ecaa 100644
--- a/core/modules/system/tests/src/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
+++ b/core/modules/system/tests/src/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php
@@ -19,12 +19,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the path based breadcrumb builder.
- *
- * @group Drupal
- * @group System
- *
  * @coversDefaultClass \Drupal\system\PathBasedBreadcrumbBuilder
+ * @group system
  */
 class PathBasedBreadcrumbBuilderTest extends UnitTestCase {
 
@@ -84,17 +80,6 @@ class PathBasedBreadcrumbBuilderTest extends UnitTestCase {
    */
   protected $pathProcessor;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Path based breadcrumbs',
-      'description' => 'Tests that path based breadcrumbs work as expected.',
-      'group' => 'Breadcrumbs',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/modules/system/tests/src/Controller/SystemControllerTest.php b/core/modules/system/tests/src/Controller/SystemControllerTest.php
index 199a44f5cf9c..f4b469e60edb 100644
--- a/core/modules/system/tests/src/Controller/SystemControllerTest.php
+++ b/core/modules/system/tests/src/Controller/SystemControllerTest.php
@@ -14,23 +14,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the System controller's #post_render_cache callback for active links.
- *
- * @group Drupal
- * @group System
- *
- * @see \Drupal\system\Controller\SystemController::setLinkActiveClass()
+ * @coversDefaultClass \Drupal\system\Controller\SystemController::setLinkActiveClass()
+ * @group system
  */
 class SystemControllerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'System controller set active link class test',
-      'description' => 'Unit test of system controller #post_render_cache callback for marking active links.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * Provides test data for testSetLinkActiveClass().
    *
diff --git a/core/modules/system/tests/src/Menu/SystemLocalTasksTest.php b/core/modules/system/tests/src/Menu/SystemLocalTasksTest.php
index 9cd7ebc4fc7b..a5e51fcd5669 100644
--- a/core/modules/system/tests/src/Menu/SystemLocalTasksTest.php
+++ b/core/modules/system/tests/src/Menu/SystemLocalTasksTest.php
@@ -13,8 +13,7 @@
 /**
  * Tests existence of system local tasks.
  *
- * @group Drupal
- * @group System
+ * @group system
  */
 class SystemLocalTasksTest extends LocalTaskIntegrationTest {
 
@@ -25,17 +24,6 @@ class SystemLocalTasksTest extends LocalTaskIntegrationTest {
    */
   protected $themeHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'System local tasks',
-      'description' => '',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/system/tests/src/Transliteration/MachineNameControllerTest.php b/core/modules/system/tests/src/Transliteration/MachineNameControllerTest.php
index fddac33edeb5..50abd205cf8b 100644
--- a/core/modules/system/tests/src/Transliteration/MachineNameControllerTest.php
+++ b/core/modules/system/tests/src/Transliteration/MachineNameControllerTest.php
@@ -13,9 +13,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests machine name controller's transliteration functionality.
+ * Tests that the machine name controller can transliterate strings as expected.
  *
- * @group System
+ * @group system
  */
 class MachineNameControllerTest extends UnitTestCase {
 
@@ -26,14 +26,6 @@ class MachineNameControllerTest extends UnitTestCase {
    */
   protected $machineNameController;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Machine name controller tests',
-      'description' => 'Tests that the machine name controller can transliterate strings as expected.',
-      'group' => 'Transliteration',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Create the machine name controller.
diff --git a/core/modules/taxonomy/src/Tests/EfqTest.php b/core/modules/taxonomy/src/Tests/EfqTest.php
index e664f6722357..b9a2dc6829e3 100644
--- a/core/modules/taxonomy/src/Tests/EfqTest.php
+++ b/core/modules/taxonomy/src/Tests/EfqTest.php
@@ -10,17 +10,11 @@
 use Drupal\Core\Entity\Query\QueryFactory;
 
 /**
- * Tests the functionality of EntityQueryInterface for taxonomy entities.
+ * Verifies operation of a taxonomy-based Entity Query.
+ *
+ * @group taxonomy
  */
 class EfqTest extends TaxonomyTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy entity query',
-      'description' => 'Verifies operation of a taxonomy-based Entity Query.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy'));
diff --git a/core/modules/taxonomy/src/Tests/LegacyTest.php b/core/modules/taxonomy/src/Tests/LegacyTest.php
index bf7ae23ed257..7f71d05daa83 100644
--- a/core/modules/taxonomy/src/Tests/LegacyTest.php
+++ b/core/modules/taxonomy/src/Tests/LegacyTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 
 /**
- * Test for legacy node bug.
+ * Posts an article with a taxonomy term and a date prior to 1970.
+ *
+ * @group taxonomy
  */
 class LegacyTest extends TaxonomyTestBase {
 
@@ -22,14 +24,6 @@ class LegacyTest extends TaxonomyTestBase {
    */
   public static $modules = array('node', 'datetime');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Test for legacy node bug.',
-      'description' => 'Posts an article with a taxonomy term and a date prior to 1970.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/LoadMultipleTest.php b/core/modules/taxonomy/src/Tests/LoadMultipleTest.php
index 2c538fea951b..0000ac80f589 100644
--- a/core/modules/taxonomy/src/Tests/LoadMultipleTest.php
+++ b/core/modules/taxonomy/src/Tests/LoadMultipleTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\taxonomy\Tests;
 
 /**
- * Test the entity_load_multiple() function.
+ * Tests the loading of multiple taxonomy terms at once.
+ *
+ * @group taxonomy
  */
 class LoadMultipleTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term multiple loading',
-      'description' => 'Test the loading of multiple taxonomy terms at once',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->taxonomy_admin = $this->drupalCreateUser(array('administer taxonomy'));
diff --git a/core/modules/taxonomy/src/Tests/RssTest.php b/core/modules/taxonomy/src/Tests/RssTest.php
index f947600def4f..5ca86293a330 100644
--- a/core/modules/taxonomy/src/Tests/RssTest.php
+++ b/core/modules/taxonomy/src/Tests/RssTest.php
@@ -10,7 +10,10 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 
 /**
- * Tests the rendering of term reference fields in RSS feeds.
+ * Ensure that data added as terms appears in RSS feeds if "RSS Category" format
+ * is selected.
+ *
+ * @group taxonomy
  */
 class RssTest extends TaxonomyTestBase {
 
@@ -21,14 +24,6 @@ class RssTest extends TaxonomyTestBase {
    */
   public static $modules = array('node', 'field_ui', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy RSS Content.',
-      'description' => 'Ensure that data added as terms appears in RSS feeds if "RSS Category" format is selected.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TaxonomyImageTest.php b/core/modules/taxonomy/src/Tests/TaxonomyImageTest.php
index 576b9d1ad8f8..138efe738365 100644
--- a/core/modules/taxonomy/src/Tests/TaxonomyImageTest.php
+++ b/core/modules/taxonomy/src/Tests/TaxonomyImageTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\taxonomy\Tests;
 
 /**
- * Provides helper methods for taxonomy terms with image fields.
+ * Tests access checks of private image fields.
+ *
+ * @group taxonomy
  */
 class TaxonomyImageTest extends TaxonomyTestBase {
 
@@ -26,14 +28,6 @@ class TaxonomyImageTest extends TaxonomyTestBase {
    */
   public static $modules = array('image');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy Image Test',
-      'description' => 'Tests access checks of private image fields',
-      'group' => 'Taxonomy',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TaxonomyTermIndentationTest.php b/core/modules/taxonomy/src/Tests/TaxonomyTermIndentationTest.php
index a19542b7368f..51d134a5b406 100644
--- a/core/modules/taxonomy/src/Tests/TaxonomyTermIndentationTest.php
+++ b/core/modules/taxonomy/src/Tests/TaxonomyTermIndentationTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\taxonomy\Tests;
 
 /**
- * Testing term indentation functionality in term list page.
+ * Ensure that the term indentation works properly.
+ *
+ * @group taxonomy
  */
 class TaxonomyTermIndentationTest extends TaxonomyTestBase {
 
@@ -19,14 +21,6 @@ class TaxonomyTermIndentationTest extends TaxonomyTestBase {
    */
   public static $modules = array('taxonomy');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term indentation',
-      'description' => 'Ensure that the term indentation works properly.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access'));
diff --git a/core/modules/taxonomy/src/Tests/TaxonomyTermReferenceItemTest.php b/core/modules/taxonomy/src/Tests/TaxonomyTermReferenceItemTest.php
index 4f3b3841675e..ef9c0a70a063 100644
--- a/core/modules/taxonomy/src/Tests/TaxonomyTermReferenceItemTest.php
+++ b/core/modules/taxonomy/src/Tests/TaxonomyTermReferenceItemTest.php
@@ -15,6 +15,8 @@
 
 /**
  * Tests the new entity API for the taxonomy term reference field type.
+ *
+ * @group taxonomy
  */
 class TaxonomyTermReferenceItemTest extends FieldUnitTestBase {
 
@@ -32,14 +34,6 @@ class TaxonomyTermReferenceItemTest extends FieldUnitTestBase {
    */
   protected $term;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy reference field item',
-      'description' => 'Tests using entity fields of the taxonomy term reference field type.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installEntitySchema('taxonomy_term');
diff --git a/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php b/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php
index 6cd645781b12..5acaf7fcecc0 100644
--- a/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php
+++ b/core/modules/taxonomy/src/Tests/TermCacheTagsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the Taxonomy term entity's cache tags.
+ *
+ * @group taxonomy
  */
 class TermCacheTagsTest extends EntityWithUriCacheTagsTestBase {
 
@@ -19,13 +21,6 @@ class TermCacheTagsTest extends EntityWithUriCacheTagsTestBase {
    */
   public static $modules = array('taxonomy');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('Taxonomy term', 'Taxonomy');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/taxonomy/src/Tests/TermFieldMultipleVocabularyTest.php b/core/modules/taxonomy/src/Tests/TermFieldMultipleVocabularyTest.php
index cfe29f9a575b..5c32231cd929 100644
--- a/core/modules/taxonomy/src/Tests/TermFieldMultipleVocabularyTest.php
+++ b/core/modules/taxonomy/src/Tests/TermFieldMultipleVocabularyTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests a taxonomy term reference field that allows multiple vocabularies.
+ *
+ * @group taxonomy
  */
 class TermFieldMultipleVocabularyTest extends TaxonomyTestBase {
 
@@ -25,14 +27,6 @@ class TermFieldMultipleVocabularyTest extends TaxonomyTestBase {
   protected $vocabulary1;
   protected $vocabulary2;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Multiple vocabulary term reference field',
-      'description' => 'Tests term reference fields that allow multiple vocabularies.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TermFieldTest.php b/core/modules/taxonomy/src/Tests/TermFieldTest.php
index c1dfff10e223..43ce35832658 100644
--- a/core/modules/taxonomy/src/Tests/TermFieldTest.php
+++ b/core/modules/taxonomy/src/Tests/TermFieldTest.php
@@ -9,7 +9,9 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Tests for taxonomy term field and formatter.
+ * Tests the creation of term fields.
+ *
+ * @group taxonomy
  */
 class TermFieldTest extends TaxonomyTestBase {
 
@@ -23,14 +25,6 @@ class TermFieldTest extends TaxonomyTestBase {
   protected $instance;
   protected $vocabulary;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term reference field',
-      'description' => 'Test the creation of term fields.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TermIndexTest.php b/core/modules/taxonomy/src/Tests/TermIndexTest.php
index ce4c8fd7fe1e..09fb6a1ff992 100644
--- a/core/modules/taxonomy/src/Tests/TermIndexTest.php
+++ b/core/modules/taxonomy/src/Tests/TermIndexTest.php
@@ -12,17 +12,11 @@
 
 /**
  * Tests the hook implementations that maintain the taxonomy index.
+ *
+ * @group taxonomy
  */
 class TermIndexTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term index',
-      'description' => 'Tests the hook implementations that maintain the taxonomy index.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TermLanguageTest.php b/core/modules/taxonomy/src/Tests/TermLanguageTest.php
index 256a0a054701..ffb7e47b8a6d 100644
--- a/core/modules/taxonomy/src/Tests/TermLanguageTest.php
+++ b/core/modules/taxonomy/src/Tests/TermLanguageTest.php
@@ -10,20 +10,14 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests for the language feature on taxonomy terms.
+ * Tests the language functionality for the taxonomy terms.
+ *
+ * @group taxonomy
  */
 class TermLanguageTest extends TaxonomyTestBase {
 
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term language',
-      'description' => 'Tests the language functionality for the taxonomy terms.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TermTest.php b/core/modules/taxonomy/src/Tests/TermTest.php
index e08cf24438c6..2bd36200f689 100644
--- a/core/modules/taxonomy/src/Tests/TermTest.php
+++ b/core/modules/taxonomy/src/Tests/TermTest.php
@@ -14,18 +14,12 @@
 use Drupal\field\Entity\FieldConfig;
 
 /**
- * Tests for taxonomy term functions.
+ * Tests load, save and delete for taxonomy terms.
+ *
+ * @group taxonomy
  */
 class TermTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term functions and forms',
-      'description' => 'Test load, save and delete for taxonomy terms.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access'));
diff --git a/core/modules/taxonomy/src/Tests/TermTranslationUITest.php b/core/modules/taxonomy/src/Tests/TermTranslationUITest.php
index d52931d06535..e0d32719a55e 100644
--- a/core/modules/taxonomy/src/Tests/TermTranslationUITest.php
+++ b/core/modules/taxonomy/src/Tests/TermTranslationUITest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Term Translation UI.
+ *
+ * @group taxonomy
  */
 class TermTranslationUITest extends ContentTranslationUITest {
 
@@ -34,14 +36,6 @@ class TermTranslationUITest extends ContentTranslationUITest {
    */
   public static $modules = array('language', 'content_translation', 'taxonomy');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term translation UI',
-      'description' => 'Tests the basic term translation UI.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     $this->entityTypeId = 'taxonomy_term';
     $this->bundle = 'tags';
diff --git a/core/modules/taxonomy/src/Tests/TermUnitTest.php b/core/modules/taxonomy/src/Tests/TermUnitTest.php
index 83132c36cbf3..545bc4aa5c62 100644
--- a/core/modules/taxonomy/src/Tests/TermUnitTest.php
+++ b/core/modules/taxonomy/src/Tests/TermUnitTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Unit tests for taxonomy term functions.
+ *
+ * @group taxonomy
  */
 class TermUnitTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy term unit tests',
-      'description' => 'Unit tests for taxonomy term functions.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function testTermDelete() {
     $vocabulary = $this->createVocabulary();
     $valid_term = $this->createTerm($vocabulary);
diff --git a/core/modules/taxonomy/src/Tests/TermValidationTest.php b/core/modules/taxonomy/src/Tests/TermValidationTest.php
index f54540308851..91b242c2535e 100644
--- a/core/modules/taxonomy/src/Tests/TermValidationTest.php
+++ b/core/modules/taxonomy/src/Tests/TermValidationTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests term validation constraints.
+ *
+ * @group taxonomy
  */
 class TermValidationTest extends EntityUnitTestBase {
 
@@ -21,14 +23,6 @@ class TermValidationTest extends EntityUnitTestBase {
    */
   public static $modules = array('taxonomy');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Term Validation',
-      'description' => 'Tests the term validation constraints.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/taxonomy/src/Tests/ThemeTest.php b/core/modules/taxonomy/src/Tests/ThemeTest.php
index ee8cc38b3f38..218dd9223d16 100644
--- a/core/modules/taxonomy/src/Tests/ThemeTest.php
+++ b/core/modules/taxonomy/src/Tests/ThemeTest.php
@@ -8,18 +8,12 @@
 namespace Drupal\taxonomy\Tests;
 
 /**
- * Tests for verifying that taxonomy pages use the correct theme.
+ * Verifies that various taxonomy pages use the expected theme.
+ *
+ * @group taxonomy
  */
 class ThemeTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy theme switching',
-      'description' => 'Verifies that various taxonomy pages use the expected theme.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/TokenReplaceTest.php b/core/modules/taxonomy/src/Tests/TokenReplaceTest.php
index 241883b6d36d..2a645de0872e 100644
--- a/core/modules/taxonomy/src/Tests/TokenReplaceTest.php
+++ b/core/modules/taxonomy/src/Tests/TokenReplaceTest.php
@@ -12,18 +12,13 @@
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 
 /**
- * Test taxonomy token replacement in strings.
+ * Generates text using placeholders for dummy content to check taxonomy token
+ * replacement.
+ *
+ * @group taxonomy
  */
 class TokenReplaceTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check taxonomy token replacement.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access'));
diff --git a/core/modules/taxonomy/src/Tests/Views/RelationshipNodeTermDataTest.php b/core/modules/taxonomy/src/Tests/Views/RelationshipNodeTermDataTest.php
index 2d891b738d8c..478eff0b8088 100644
--- a/core/modules/taxonomy/src/Tests/Views/RelationshipNodeTermDataTest.php
+++ b/core/modules/taxonomy/src/Tests/Views/RelationshipNodeTermDataTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the node_term_data relationship handler.
+ * Tests the taxonomy term on node relationship handler.
+ *
+ * @group taxonomy
  */
 class RelationshipNodeTermDataTest extends TaxonomyTestBase {
 
@@ -21,14 +23,6 @@ class RelationshipNodeTermDataTest extends TaxonomyTestBase {
    */
   public static $testViews = array('test_taxonomy_node_term_data');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy: Node term data Relationship',
-      'description' => 'Tests the taxonomy term on node relationship handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   function testViewsHandlerRelationshipNodeTermData() {
     $view = Views::getView('test_taxonomy_node_term_data');
     $this->executeView($view, array($this->term1->id(), $this->term2->id()));
diff --git a/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php b/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
index 493e25b03a18..3f0df5874ff6 100644
--- a/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
+++ b/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the representative node relationship for terms.
+ *
+ * @group taxonomy
  */
 class RelationshipRepresentativeNodeTest extends TaxonomyTestBase {
 
@@ -21,14 +23,6 @@ class RelationshipRepresentativeNodeTest extends TaxonomyTestBase {
    */
   public static $testViews = array('test_groupwise_term');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy: Representative Node Relationship',
-      'description' => 'Tests the representative node relationship for terms.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the relationship.
    */
diff --git a/core/modules/taxonomy/src/Tests/Views/TaxonomyIndexTidUiTest.php b/core/modules/taxonomy/src/Tests/Views/TaxonomyIndexTidUiTest.php
index d2b2fb3590d6..7c26a806c7f6 100644
--- a/core/modules/taxonomy/src/Tests/Views/TaxonomyIndexTidUiTest.php
+++ b/core/modules/taxonomy/src/Tests/Views/TaxonomyIndexTidUiTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the taxonomy index filter handler UI.
  *
+ * @group taxonomy
  * @see \Drupal\taxonomy\Plugin\views\field\TaxonomyIndexTid
  */
 class TaxonomyIndexTidUiTest extends UITestBase {
@@ -31,14 +32,6 @@ class TaxonomyIndexTidUiTest extends UITestBase {
    */
   public static $modules = array('node', 'taxonomy', 'taxonomy_test_views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy: node index Filter (UI)',
-      'description' => 'Tests the taxonomy index filter handler UI.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/taxonomy/src/Tests/Views/TaxonomyParentUITest.php b/core/modules/taxonomy/src/Tests/Views/TaxonomyParentUITest.php
index 3a0fe1441507..eb478f401979 100644
--- a/core/modules/taxonomy/src/Tests/Views/TaxonomyParentUITest.php
+++ b/core/modules/taxonomy/src/Tests/Views/TaxonomyParentUITest.php
@@ -11,8 +11,9 @@
 use Drupal\views_ui\Tests\UITestBase;
 
 /**
- * Tests views role access plugin UI.
+ * Tests views taxonomy parent plugin UI.
  *
+ * @group taxonomy
  * @see Drupal\taxonomy\Plugin\views\access\Role
  */
 class TaxonomyParentUITest extends UITestBase {
@@ -31,17 +32,6 @@ class TaxonomyParentUITest extends UITestBase {
    */
   public static $modules = array('taxonomy', 'taxonomy_test_views');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy: Term parent (UI)',
-      'description' => 'Tests views taxonomy parent plugin UI.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php b/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php
index 5867695dd606..5525a2cb8fb7 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php
+++ b/core/modules/taxonomy/src/Tests/VocabularyCrudTest.php
@@ -10,7 +10,9 @@
 use Drupal\field\Entity\FieldInstanceConfig;
 
 /**
- * Tests for taxonomy vocabulary functions.
+ * Tests loading, saving and deleting vocabularies.
+ *
+ * @group taxonomy
  */
 class VocabularyCrudTest extends TaxonomyTestBase {
 
@@ -21,14 +23,6 @@ class VocabularyCrudTest extends TaxonomyTestBase {
    */
   public static $modules = array('field_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy vocabularies',
-      'description' => 'Test loading, saving and deleting vocabularies.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php b/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php
index 550358911120..04d9a0901d4e 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php
+++ b/core/modules/taxonomy/src/Tests/VocabularyLanguageTest.php
@@ -10,20 +10,14 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests for the language feature on vocabularies.
+ * Tests the language functionality for vocabularies.
+ *
+ * @group taxonomy
  */
 class VocabularyLanguageTest extends TaxonomyTestBase {
 
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Vocabulary language',
-      'description' => 'Tests the language functionality for vocabularies.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php b/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php
index 6ed3e093690f..a2d5996d1a32 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php
+++ b/core/modules/taxonomy/src/Tests/VocabularyPermissionsTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the taxonomy vocabulary permissions.
+ *
+ * @group taxonomy
  */
 class VocabularyPermissionsTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy vocabulary permissions',
-      'description' => 'Test the taxonomy vocabulary permissions.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   /**
    * Create, edit and delete a taxonomy term via the user interface.
    */
diff --git a/core/modules/taxonomy/src/Tests/VocabularyUiTest.php b/core/modules/taxonomy/src/Tests/VocabularyUiTest.php
index 112a59728665..71389a17dc5b 100644
--- a/core/modules/taxonomy/src/Tests/VocabularyUiTest.php
+++ b/core/modules/taxonomy/src/Tests/VocabularyUiTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the taxonomy vocabulary interface.
+ *
+ * @group taxonomy
  */
 class VocabularyUiTest extends TaxonomyTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy vocabulary interface',
-      'description' => 'Test the taxonomy vocabulary interface.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy'));
diff --git a/core/modules/taxonomy/tests/src/Menu/TaxonomyLocalTasksTest.php b/core/modules/taxonomy/tests/src/Menu/TaxonomyLocalTasksTest.php
index d51ff7ac56b1..afb8f3c7f1ba 100644
--- a/core/modules/taxonomy/tests/src/Menu/TaxonomyLocalTasksTest.php
+++ b/core/modules/taxonomy/tests/src/Menu/TaxonomyLocalTasksTest.php
@@ -12,19 +12,10 @@
 /**
  * Tests existence of taxonomy local tasks.
  *
- * @group Drupal
- * @group Taxonomy
+ * @group taxonomy
  */
 class TaxonomyLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy local tasks test',
-      'description' => 'Test existence of taxonomy local tasks.',
-      'group' => 'Taxonomy',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('taxonomy' => 'core/modules/taxonomy');
     parent::setUp();
diff --git a/core/modules/telephone/src/Tests/TelephoneFieldTest.php b/core/modules/telephone/src/Tests/TelephoneFieldTest.php
index e0fe150b430d..a7f88924867a 100644
--- a/core/modules/telephone/src/Tests/TelephoneFieldTest.php
+++ b/core/modules/telephone/src/Tests/TelephoneFieldTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the creation of telephone fields.
+ *
+ * @group telephone
  */
 class TelephoneFieldTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class TelephoneFieldTest extends WebTestBase {
   protected $instance;
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Telephone field',
-      'description'  => "Test the creation of telephone fields.",
-      'group' => 'Field types'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/telephone/src/Tests/TelephoneItemTest.php b/core/modules/telephone/src/Tests/TelephoneItemTest.php
index d2b6f113c158..aa2f3d4cd989 100644
--- a/core/modules/telephone/src/Tests/TelephoneItemTest.php
+++ b/core/modules/telephone/src/Tests/TelephoneItemTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests the new entity API for the telephone field type.
+ *
+ * @group telephone
  */
 class TelephoneItemTest extends FieldUnitTestBase {
 
@@ -23,14 +25,6 @@ class TelephoneItemTest extends FieldUnitTestBase {
    */
   public static $modules = array('telephone');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Telephone field item',
-      'description' => 'Tests the new entity API for the telephone field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/text/src/Tests/Formatter/TextFormatterTest.php b/core/modules/text/src/Tests/Formatter/TextFormatterTest.php
index 3745a5aaeffb..156363a5602e 100644
--- a/core/modules/text/src/Tests/Formatter/TextFormatterTest.php
+++ b/core/modules/text/src/Tests/Formatter/TextFormatterTest.php
@@ -10,7 +10,9 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * Tests Text formatters.
+ * Tests the text formatters functionality.
+ *
+ * @group text
  */
 class TextFormatterTest extends EntityUnitTestBase {
 
@@ -35,17 +37,6 @@ class TextFormatterTest extends EntityUnitTestBase {
    */
   public static $modules = array('text');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Text formatters',
-      'description' => 'Tests the text formatters functionality.',
-      'group' => 'Text ',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php b/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
index b35901458726..a3c1339851f2 100644
--- a/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
+++ b/core/modules/text/src/Tests/Formatter/TextPlainUnitTest.php
@@ -14,8 +14,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the text_plain field formatter.
+ * Tests the creation of text fields.
  *
+ * @group text
  * @todo Move assertion helper methods into KernelTestBase.
  * @todo Move field helper methods, $modules, and setUp() into a new
  *   FieldPluginUnitTestBase.
@@ -29,14 +30,6 @@ class TextPlainUnitTest extends DrupalUnitTestBase {
    */
   public static $modules = array('entity', 'field', 'text', 'entity_test', 'system', 'filter', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Text field text_plain formatter',
-      'description'  => "Test the creation of text fields.",
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/text/src/Tests/TextFieldTest.php b/core/modules/text/src/Tests/TextFieldTest.php
index 11e5d73527ab..46ab33de456f 100644
--- a/core/modules/text/src/Tests/TextFieldTest.php
+++ b/core/modules/text/src/Tests/TextFieldTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the creation of text fields.
+ *
+ * @group text
  */
 class TextFieldTest extends WebTestBase {
 
@@ -25,14 +27,6 @@ class TextFieldTest extends WebTestBase {
   protected $admin_user;
   protected $web_user;
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'Text field',
-      'description'  => "Test the creation of text fields.",
-      'group' => 'Field types'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/text/src/Tests/TextSummaryTest.php b/core/modules/text/src/Tests/TextSummaryTest.php
index b287a624ee10..c9f2f1b6f37d 100644
--- a/core/modules/text/src/Tests/TextSummaryTest.php
+++ b/core/modules/text/src/Tests/TextSummaryTest.php
@@ -10,20 +10,14 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests the text field summary.
+ * Tests text_summary() with different strings and lengths.
+ *
+ * @group text
  */
 class TextSummaryTest extends DrupalUnitTestBase {
 
   public static $modules = array('system', 'user', 'filter', 'text');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text summary',
-      'description' => 'Test text_summary() with different strings and lengths.',
-      'group' => 'Field types',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/text/src/Tests/TextWithSummaryItemTest.php b/core/modules/text/src/Tests/TextWithSummaryItemTest.php
index 72d6aae079f5..178fc58fe645 100644
--- a/core/modules/text/src/Tests/TextWithSummaryItemTest.php
+++ b/core/modules/text/src/Tests/TextWithSummaryItemTest.php
@@ -12,7 +12,9 @@
 use Drupal\field\Tests\FieldUnitTestBase;
 
 /**
- * Tests for \Drupal\text\Plugin\Field\FieldType\TextWithSummaryItem.
+ * Tests using entity fields of the text summary field type.
+ *
+ * @group text
  */
 class TextWithSummaryItemTest extends FieldUnitTestBase {
 
@@ -38,14 +40,6 @@ class TextWithSummaryItemTest extends FieldUnitTestBase {
   protected $instance;
 
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Text summary field item',
-      'description' => 'Tests using entity fields of the text summary field type.',
-      'group' => 'Field types',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php b/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
index 67eb561b47af..a227a7fe2fb7 100644
--- a/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
+++ b/core/modules/toolbar/src/Tests/ToolbarAdminMenuTest.php
@@ -25,6 +25,8 @@
  *
  * Each hook invocation is simulated and then the previous hash of the admin
  * menu subtrees is compared to the new hash.
+ *
+ * @group toolbar
  */
 class ToolbarAdminMenuTest extends WebTestBase {
 
@@ -56,14 +58,6 @@ class ToolbarAdminMenuTest extends WebTestBase {
    */
   public static $modules = array('node', 'block', 'menu_ui', 'user', 'taxonomy', 'toolbar', 'language', 'test_page_test', 'locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Toolbar admin menu',
-      'description' => 'Tests the caching of secondary admin menu items.',
-      'group' => 'Toolbar',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php b/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php
index 5716978d15d6..b196f2aba275 100644
--- a/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php
+++ b/core/modules/toolbar/src/Tests/ToolbarHookToolbarTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the toolbar tab and tray registration.
+ * Tests the implementation of hook_toolbar() by a module.
+ *
+ * @group toolbar
  */
 class ToolbarHookToolbarTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ToolbarHookToolbarTest extends WebTestBase {
    */
   public static $modules = array('toolbar', 'toolbar_test', 'test_page_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Toolbar hook_toolbar',
-      'description' => 'Tests the implementation of hook_toolbar() by a module.',
-      'group' => 'Toolbar',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/toolbar/src/Tests/ToolbarMenuTranslationTest.php b/core/modules/toolbar/src/Tests/ToolbarMenuTranslationTest.php
index 7bfa0f2b33e0..5e80dbfedd64 100644
--- a/core/modules/toolbar/src/Tests/ToolbarMenuTranslationTest.php
+++ b/core/modules/toolbar/src/Tests/ToolbarMenuTranslationTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests maintaining inclusion of icons for translated menu items.
+ * Tests that the toolbar icon class remains for translated menu items.
+ *
+ * @group toolbar
  */
 class ToolbarMenuTranslationTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class ToolbarMenuTranslationTest extends WebTestBase {
    */
   public static $modules = array('toolbar', 'toolbar_test', 'locale');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Toolbar menu translation',
-      'description' => 'Tests that the toolbar icon class remains for translated menu items.',
-      'group' => 'Toolbar',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/tour/src/Tests/TourPluginTest.php b/core/modules/tour/src/Tests/TourPluginTest.php
index 58e3e3b8cd93..9e0775b4a0bc 100644
--- a/core/modules/tour/src/Tests/TourPluginTest.php
+++ b/core/modules/tour/src/Tests/TourPluginTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests tour plugin functionality.
+ * Tests the functionality of tour plugins.
+ *
+ * @group tour
  */
 class TourPluginTest extends DrupalUnitTestBase {
 
@@ -28,14 +30,6 @@ class TourPluginTest extends DrupalUnitTestBase {
    */
   protected $pluginManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tour plugin tests',
-      'description' => 'Test the functionality of tour plugins.',
-      'group' => 'Tour',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/tour/src/Tests/TourTest.php b/core/modules/tour/src/Tests/TourTest.php
index 18a64c0c89c9..5608a4ffc989 100644
--- a/core/modules/tour/src/Tests/TourTest.php
+++ b/core/modules/tour/src/Tests/TourTest.php
@@ -10,7 +10,9 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Tests tour functionality.
+ * Tests the functionality of tour tips.
+ *
+ * @group tour
  */
 class TourTest extends TourTestBasic {
 
@@ -39,14 +41,6 @@ class TourTest extends TourTestBasic {
     'tour-test-1' => array(),
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tour tests',
-      'description' => 'Test the functionality of tour tips.',
-      'group' => 'Tour',
-    );
-  }
-
   /**
    * Test tour functionality.
    */
diff --git a/core/modules/tour/tests/src/Entity/TourTest.php b/core/modules/tour/tests/src/Entity/TourTest.php
index 5335fc80395e..7b5f94377a2c 100644
--- a/core/modules/tour/tests/src/Entity/TourTest.php
+++ b/core/modules/tour/tests/src/Entity/TourTest.php
@@ -9,25 +9,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Tour entity.
- *
- * @group Tour
- *
  * @coversDefaultClass \Drupal\tour\Entity\Tour
+ * @group tour
  */
 class TourTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tour entity tests',
-      'description' => 'Test \Drupal\tour\Entity\Tour.',
-      'group' => 'Tour',
-    );
-  }
-
   /**
    * Tests \Drupal\tour\Entity\Tour::hasMatchingRoute().
    *
diff --git a/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php b/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php
index c50eed26e2d6..f5e00b191816 100644
--- a/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php
+++ b/core/modules/tracker/src/Tests/TrackerNodeAccessTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests for private node access on /tracker.
+ *
+ * @group tracker
  */
 class TrackerNodeAccessTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class TrackerNodeAccessTest extends WebTestBase {
    */
   public static $modules = array('node', 'comment', 'tracker', 'node_access_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tracker Node Access Tests',
-      'description' => 'Tests for private node access on /tracker.',
-      'group' => 'Tracker',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     node_access_rebuild();
diff --git a/core/modules/tracker/src/Tests/TrackerTest.php b/core/modules/tracker/src/Tests/TrackerTest.php
index f4e991212a18..7e8512dcc8ac 100644
--- a/core/modules/tracker/src/Tests/TrackerTest.php
+++ b/core/modules/tracker/src/Tests/TrackerTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Defines a base class for testing tracker.module.
+ * Create and delete nodes and check for their display in the tracker listings.
+ *
+ * @group tracker
  */
 class TrackerTest extends WebTestBase {
 
@@ -36,14 +38,6 @@ class TrackerTest extends WebTestBase {
    */
   protected $other_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tracker',
-      'description' => 'Create and delete nodes and check for their display in the tracker listings.',
-      'group' => 'Tracker'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/tracker/src/Tests/Views/TrackerUserUidTest.php b/core/modules/tracker/src/Tests/Views/TrackerUserUidTest.php
index c50baee4c66e..7c9be32f6d84 100644
--- a/core/modules/tracker/src/Tests/Views/TrackerUserUidTest.php
+++ b/core/modules/tracker/src/Tests/Views/TrackerUserUidTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the tracker user uid handlers.
+ *
+ * @group tracker
  */
 class TrackerUserUidTest extends TrackerTestBase {
 
@@ -21,14 +23,6 @@ class TrackerUserUidTest extends TrackerTestBase {
    */
   public static $testViews = array('test_tracker_user_uid');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tracker: User UID tests',
-      'description' => 'Tests the tracker comment user uid handlers.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the user uid filter and argument.
    */
diff --git a/core/modules/update/src/Tests/UpdateContribTest.php b/core/modules/update/src/Tests/UpdateContribTest.php
index 25d8233a4309..b4419624c43d 100644
--- a/core/modules/update/src/Tests/UpdateContribTest.php
+++ b/core/modules/update/src/Tests/UpdateContribTest.php
@@ -10,7 +10,10 @@
 use Drupal\Core\Utility\ProjectInfo;
 
 /**
- * Tests behavior related to handling updates to contributed modules and themes.
+ * Tests how the Update Manager module handles contributed modules and themes in
+ * a series of functional tests using mock XML data.
+ *
+ * @group update
  */
 class UpdateContribTest extends UpdateTestBase {
 
@@ -21,14 +24,6 @@ class UpdateContribTest extends UpdateTestBase {
    */
   public static $modules = array('update_test', 'update', 'aaa_update_test', 'bbb_update_test', 'ccc_update_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update contrib functionality',
-      'description' => 'Tests how the Update Manager module handles contributed modules and themes in a series of functional tests using mock XML data.',
-      'group' => 'Update',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer site configuration'));
diff --git a/core/modules/update/src/Tests/UpdateCoreTest.php b/core/modules/update/src/Tests/UpdateCoreTest.php
index 00782b8e0775..253041335c75 100644
--- a/core/modules/update/src/Tests/UpdateCoreTest.php
+++ b/core/modules/update/src/Tests/UpdateCoreTest.php
@@ -8,7 +8,10 @@
 namespace Drupal\update\Tests;
 
 /**
- * Tests behavior related to discovering and listing updates to Drupal core.
+ * Tests the Update Manager module through a series of functional tests using
+ * mock XML data.
+ *
+ * @group update
  */
 class UpdateCoreTest extends UpdateTestBase {
 
@@ -19,14 +22,6 @@ class UpdateCoreTest extends UpdateTestBase {
    */
   public static $modules = array('update_test', 'update', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Update core functionality',
-      'description' => 'Tests the Update Manager module through a series of functional tests using mock XML data.',
-      'group' => 'Update',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer site configuration', 'administer modules', 'administer themes'));
diff --git a/core/modules/update/src/Tests/UpdateDeleteFileIfStaleTest.php b/core/modules/update/src/Tests/UpdateDeleteFileIfStaleTest.php
index 4d779065fd2e..e95e1d26107b 100644
--- a/core/modules/update/src/Tests/UpdateDeleteFileIfStaleTest.php
+++ b/core/modules/update/src/Tests/UpdateDeleteFileIfStaleTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\update\Tests;
 
 /**
- * Provides tests for update_delete_file_if_stale().
+ * Tests the update_delete_file_if_stale() function.
+ *
+ * @group update
  */
 class UpdateDeleteFileIfStaleTest extends UpdateTestBase {
 
@@ -19,17 +21,6 @@ class UpdateDeleteFileIfStaleTest extends UpdateTestBase {
    */
   public static $modules = array('update');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Deleting obsolete files tests.',
-      'description' => 'Tests the update_delete_file_if_stale() function.',
-      'group' => 'Update',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/update/src/Tests/UpdateUploadTest.php b/core/modules/update/src/Tests/UpdateUploadTest.php
index e19fd0639ce4..1e7d5138c4a7 100644
--- a/core/modules/update/src/Tests/UpdateUploadTest.php
+++ b/core/modules/update/src/Tests/UpdateUploadTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\update\Tests;
 
 /**
- * Tests project upload and extract functionality.
+ * Tests the Update Manager module's upload and extraction functionality.
+ *
+ * @group update
  */
 class UpdateUploadTest extends UpdateTestBase {
 
@@ -19,14 +21,6 @@ class UpdateUploadTest extends UpdateTestBase {
    */
   public static $modules = array('update', 'update_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Upload and extract module functionality',
-      'description' => 'Tests the Update Manager module\'s upload and extraction functionality.',
-      'group' => 'Update',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $admin_user = $this->drupalCreateUser(array('administer software updates', 'administer site configuration'));
diff --git a/core/modules/update/tests/src/UpdateFetcherTest.php b/core/modules/update/tests/src/UpdateFetcherTest.php
index 4a3191614d99..792f77685bfa 100644
--- a/core/modules/update/tests/src/UpdateFetcherTest.php
+++ b/core/modules/update/tests/src/UpdateFetcherTest.php
@@ -16,6 +16,8 @@
 
 /**
  * Tests update functionality unrelated to the database.
+ *
+ * @group update
  */
 class UpdateFetcherTest extends UnitTestCase {
 
@@ -26,14 +28,6 @@ class UpdateFetcherTest extends UnitTestCase {
    */
   protected $updateFetcher;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Core update tests',
-      'description' => 'Test update functionality unrelated to the database.',
-      'group' => 'Update',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/Condition/UserRoleConditionTest.php b/core/modules/user/src/Tests/Condition/UserRoleConditionTest.php
index d810e6e0c9dc..781b52121aab 100644
--- a/core/modules/user/src/Tests/Condition/UserRoleConditionTest.php
+++ b/core/modules/user/src/Tests/Condition/UserRoleConditionTest.php
@@ -14,6 +14,8 @@
 
 /**
  * Tests the user role condition.
+ *
+ * @group user
  */
 class UserRoleConditionTest extends KernelTestBase {
 
@@ -52,17 +54,6 @@ class UserRoleConditionTest extends KernelTestBase {
    */
   public static $modules = array('system', 'user', 'field');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'User role condition plugin',
-      'description' => 'Tests the user role condition',
-      'group' => 'Condition API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/TempStoreDatabaseTest.php b/core/modules/user/src/Tests/TempStoreDatabaseTest.php
index 1c83eb865be2..ee0fd78c0d0f 100644
--- a/core/modules/user/src/Tests/TempStoreDatabaseTest.php
+++ b/core/modules/user/src/Tests/TempStoreDatabaseTest.php
@@ -14,8 +14,9 @@
 use Drupal\Core\Database\Database;
 
 /**
- * Tests the TempStore namespace.
+ * Tests the temporary object storage system.
  *
+ * @group user
  * @see \Drupal\Core\TempStore\TempStore.
  */
 class TempStoreDatabaseTest extends UnitTestBase {
@@ -48,14 +49,6 @@ class TempStoreDatabaseTest extends UnitTestBase {
    */
   protected $objects = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'TempStore',
-      'description' => 'Tests the temporary object storage system.',
-      'group' => 'TempStore',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserAccountFormFieldsTest.php b/core/modules/user/src/Tests/UserAccountFormFieldsTest.php
index 7785ccbb81d9..b560a0c6c877 100644
--- a/core/modules/user/src/Tests/UserAccountFormFieldsTest.php
+++ b/core/modules/user/src/Tests/UserAccountFormFieldsTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Tests field order and element attributes in user account forms.
+ * Verifies that the field order in user account forms is compatible with
+ * password managers of web browsers.
+ *
+ * @group user
  */
 class UserAccountFormFieldsTest extends DrupalUnitTestBase {
 
@@ -21,14 +24,6 @@ class UserAccountFormFieldsTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'user', 'entity', 'field');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User account form fields',
-      'description' => 'Verifies that the field order in user account forms is compatible with password managers of web browsers.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests the root user account form section in the "Configure site" form.
    */
diff --git a/core/modules/user/src/Tests/UserAccountLinksTests.php b/core/modules/user/src/Tests/UserAccountLinksTests.php
index dd603d1e7cc9..d57e39b291f1 100644
--- a/core/modules/user/src/Tests/UserAccountLinksTests.php
+++ b/core/modules/user/src/Tests/UserAccountLinksTests.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests user links in the secondary menu.
+ * Tests user-account links.
+ *
+ * @group user
  */
 class UserAccountLinksTests extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserAccountLinksTests extends WebTestBase {
    */
   public static $modules = array('menu_ui', 'block', 'test_page_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User account links',
-      'description' => 'Test user-account links.',
-      'group' => 'User'
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // Make test-page default.
diff --git a/core/modules/user/src/Tests/UserActionConfigSchemaTest.php b/core/modules/user/src/Tests/UserActionConfigSchemaTest.php
index 733cd10108b0..73d355b8b774 100644
--- a/core/modules/user/src/Tests/UserActionConfigSchemaTest.php
+++ b/core/modules/user/src/Tests/UserActionConfigSchemaTest.php
@@ -12,7 +12,10 @@
 use Drupal\user\Entity\Role;
 
 /**
- * Tests the User action config schema.
+ * Ensures the user action for adding and removing roles have valid config
+ * schema.
+ *
+ * @group user
  */
 class UserActionConfigSchemaTest extends KernelTestBase {
 
@@ -32,14 +35,6 @@ class UserActionConfigSchemaTest extends KernelTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User action config schema',
-      'description' => 'Ensures the user action for adding and removing roles have valid config schema.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests whether the user action config schema are valid.
    */
diff --git a/core/modules/user/src/Tests/UserAdminLanguageTest.php b/core/modules/user/src/Tests/UserAdminLanguageTest.php
index c67438d2d0ea..be7a6cc2d182 100644
--- a/core/modules/user/src/Tests/UserAdminLanguageTest.php
+++ b/core/modules/user/src/Tests/UserAdminLanguageTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests users' ability to change their own administration language.
+ *
+ * @group user
  */
 class UserAdminLanguageTest extends WebTestBase {
 
@@ -36,14 +38,6 @@ class UserAdminLanguageTest extends WebTestBase {
    */
   public static $modules = array('user', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User administration pages language settings',
-      'description' => "Tests user's ability to change their administration pages language.",
-      'group' => 'User',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     // User to add and remove language.
diff --git a/core/modules/user/src/Tests/UserAdminListingTest.php b/core/modules/user/src/Tests/UserAdminListingTest.php
index 182812d4ed69..770609a3e7de 100644
--- a/core/modules/user/src/Tests/UserAdminListingTest.php
+++ b/core/modules/user/src/Tests/UserAdminListingTest.php
@@ -10,20 +10,13 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Defines a test for the fallback user admin listing.
+ * Tests the user admin listing if views is not enabled.
  *
+ * @group user
  * @see user_admin_account()
  */
 class UserAdminListingTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User people listing',
-      'description' => 'Test the user admin listing if views is not enabled.',
-      'group' => 'User'
-    );
-  }
-
   /**
    * Tests the listing.
    */
diff --git a/core/modules/user/src/Tests/UserAdminSettingsFormTest.php b/core/modules/user/src/Tests/UserAdminSettingsFormTest.php
index 94fd2d2f4b5d..bb81fecd93dc 100644
--- a/core/modules/user/src/Tests/UserAdminSettingsFormTest.php
+++ b/core/modules/user/src/Tests/UserAdminSettingsFormTest.php
@@ -11,18 +11,12 @@
 use Drupal\user\AccountSettingsForm;
 
 /**
- * Tests the administrative user settings configuration form.
+ * Configuration object user.mail and user.settings save test.
+ *
+ * @group user
  */
 class UserAdminSettingsFormTest extends SystemConfigFormTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User admin settings',
-      'description' => 'Configuration object user.mail and user.settings save test.',
-      'group' => 'User',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserAdminTest.php b/core/modules/user/src/Tests/UserAdminTest.php
index b95c1ec7eb8c..b6032f53ac19 100644
--- a/core/modules/user/src/Tests/UserAdminTest.php
+++ b/core/modules/user/src/Tests/UserAdminTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the user administration UI.
+ * Tests user administration page functionality.
+ *
+ * @group user
  */
 class UserAdminTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserAdminTest extends WebTestBase {
    */
   public static $modules = array('taxonomy', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User administration',
-      'description' => 'Test user administration page functionality.',
-      'group' => 'User'
-    );
-  }
-
   /**
    * Registers a user and deletes it.
    */
diff --git a/core/modules/user/src/Tests/UserAutocompleteTest.php b/core/modules/user/src/Tests/UserAutocompleteTest.php
index 088085208b75..09b908b6cc82 100644
--- a/core/modules/user/src/Tests/UserAutocompleteTest.php
+++ b/core/modules/user/src/Tests/UserAutocompleteTest.php
@@ -11,17 +11,11 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test user autocompletion.
+ * Tests user autocompletion functionality.
+ *
+ * @group user
  */
 class UserAutocompleteTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'User autocompletion',
-      'description' => 'Test user autocompletion functionality.',
-      'group' => 'User'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserBlocksTest.php b/core/modules/user/src/Tests/UserBlocksTest.php
index 42bf4073436b..c0f4a3aacb39 100644
--- a/core/modules/user/src/Tests/UserBlocksTest.php
+++ b/core/modules/user/src/Tests/UserBlocksTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test user blocks.
+ * Tests user blocks.
+ *
+ * @group user
  */
 class UserBlocksTest extends WebTestBase {
 
@@ -28,14 +30,6 @@ class UserBlocksTest extends WebTestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User blocks',
-      'description' => 'Test user blocks.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserCacheTagsTest.php b/core/modules/user/src/Tests/UserCacheTagsTest.php
index 1d8155328a23..c6571ca0ba96 100644
--- a/core/modules/user/src/Tests/UserCacheTagsTest.php
+++ b/core/modules/user/src/Tests/UserCacheTagsTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the User entity's cache tags.
+ *
+ * @group user
  */
 class UserCacheTagsTest extends EntityWithUriCacheTagsTestBase {
 
@@ -19,13 +21,6 @@ class UserCacheTagsTest extends EntityWithUriCacheTagsTestBase {
    */
   public static $modules = array('user');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return parent::generateStandardizedInfo('User', 'User');
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/UserCancelTest.php b/core/modules/user/src/Tests/UserCancelTest.php
index 946f208cd16d..4f8a8b5b1172 100644
--- a/core/modules/user/src/Tests/UserCancelTest.php
+++ b/core/modules/user/src/Tests/UserCancelTest.php
@@ -12,7 +12,9 @@
 use Drupal\comment\Entity\Comment;
 
 /**
- * Test cancelling a user.
+ * Ensure that account cancellation methods work as expected.
+ *
+ * @group user
  */
 class UserCancelTest extends WebTestBase {
 
@@ -23,14 +25,6 @@ class UserCancelTest extends WebTestBase {
    */
   public static $modules = array('node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cancel account',
-      'description' => 'Ensure that account cancellation methods work as expected.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserCreateFailMailTest.php b/core/modules/user/src/Tests/UserCreateFailMailTest.php
index 055f5959c4f0..c07b77ef3dd4 100644
--- a/core/modules/user/src/Tests/UserCreateFailMailTest.php
+++ b/core/modules/user/src/Tests/UserCreateFailMailTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the create user administration page.
+ *
+ * @group user
  */
 class UserCreateFailMailTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserCreateFailMailTest extends WebTestBase {
    */
   public static $modules = array('system_mail_failure_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User create with failed mail function',
-      'description' => 'Test the create user administration page.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests the create user administration page.
    */
diff --git a/core/modules/user/src/Tests/UserCreateTest.php b/core/modules/user/src/Tests/UserCreateTest.php
index 104f3146c37f..6531d40dd4fd 100644
--- a/core/modules/user/src/Tests/UserCreateTest.php
+++ b/core/modules/user/src/Tests/UserCreateTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test the create user administration page.
+ * Tests the create user administration page.
+ *
+ * @group user
  */
 class UserCreateTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserCreateTest extends WebTestBase {
    */
   public static $modules = array('image', 'contact');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User create',
-      'description' => 'Test the create user administration page.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Create a user through the administration interface and ensure that it
    * displays in the user list.
diff --git a/core/modules/user/src/Tests/UserDeleteTest.php b/core/modules/user/src/Tests/UserDeleteTest.php
index 92746c87dbbf..747039eaed51 100644
--- a/core/modules/user/src/Tests/UserDeleteTest.php
+++ b/core/modules/user/src/Tests/UserDeleteTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests user_delete() and user_delete_multiple() behavior.
+ * Tests account deleting of users.
+ *
+ * @group user
  */
 class UserDeleteTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User delete test',
-      'description' => 'Test account deleting of users.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Test deleting multiple users.
    */
diff --git a/core/modules/user/src/Tests/UserEditTest.php b/core/modules/user/src/Tests/UserEditTest.php
index 4a2bb47df9f3..68747a193f87 100644
--- a/core/modules/user/src/Tests/UserEditTest.php
+++ b/core/modules/user/src/Tests/UserEditTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the user edit form.
+ * Tests user edit page.
+ *
+ * @group user
  */
 class UserEditTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User edit',
-      'description' => 'Test user edit page.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Test user edit page.
    */
diff --git a/core/modules/user/src/Tests/UserEditedOwnAccountTest.php b/core/modules/user/src/Tests/UserEditedOwnAccountTest.php
index 2437aec3de50..64ebf4ed6bf6 100644
--- a/core/modules/user/src/Tests/UserEditedOwnAccountTest.php
+++ b/core/modules/user/src/Tests/UserEditedOwnAccountTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests user login after editing own user account.
+ * Tests user edited own account can still log in.
+ *
+ * @group user
  */
 class UserEditedOwnAccountTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User edited own account',
-      'description' => 'Test user edited own account can still log in.',
-      'group' => 'User',
-    );
-  }
-
   function testUserEditedOwnAccount() {
     // Change account setting 'Who can register accounts?' to Administrators
     // only.
diff --git a/core/modules/user/src/Tests/UserEntityCallbacksTest.php b/core/modules/user/src/Tests/UserEntityCallbacksTest.php
index 2b90534e08d5..b2f21c06ab64 100644
--- a/core/modules/user/src/Tests/UserEntityCallbacksTest.php
+++ b/core/modules/user/src/Tests/UserEntityCallbacksTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test user entity callbacks.
+ * Tests specific parts of the user entity like the URI callback and the label
+ * callback.
+ *
+ * @group user
  */
 class UserEntityCallbacksTest extends WebTestBase {
 
@@ -26,14 +29,6 @@ class UserEntityCallbacksTest extends WebTestBase {
    */
   protected $account;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User entity callback tests',
-      'description' => 'Tests specific parts of the user entity like the URI callback and the label callback.',
-      'group' => 'User'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserEntityReferenceTest.php b/core/modules/user/src/Tests/UserEntityReferenceTest.php
index 525cdb4d830a..45d7a1a418f0 100644
--- a/core/modules/user/src/Tests/UserEntityReferenceTest.php
+++ b/core/modules/user/src/Tests/UserEntityReferenceTest.php
@@ -10,7 +10,9 @@
 use Drupal\system\Tests\Entity\EntityUnitTestBase;
 
 /**
- * User entity reference test cases.
+ * Tests the user reference field functionality.
+ *
+ * @group user
  */
 class UserEntityReferenceTest extends EntityUnitTestBase {
 
@@ -31,17 +33,6 @@ class UserEntityReferenceTest extends EntityUnitTestBase {
    */
   public static $modules = array('entity_reference', 'user');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'User entity reference',
-      'description' => 'Tests the user reference field functionality.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/UserEntityTest.php b/core/modules/user/src/Tests/UserEntityTest.php
index 9621d33e8b58..fe3b67078e9c 100644
--- a/core/modules/user/src/Tests/UserEntityTest.php
+++ b/core/modules/user/src/Tests/UserEntityTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the user entity class.
  *
+ * @group user
  * @see \Drupal\user\Entity\User
  */
 class UserEntityTest extends DrupalUnitTestBase {
@@ -25,14 +26,6 @@ class UserEntityTest extends DrupalUnitTestBase {
    */
   public static $modules = array('system', 'user', 'field', 'entity');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User entity tests',
-      'description' => 'Tests the user entity class.',
-      'group' => 'User'
-    );
-  }
-
   /**
    * Tests some of the methods.
    *
diff --git a/core/modules/user/src/Tests/UserInstallTest.php b/core/modules/user/src/Tests/UserInstallTest.php
index 9fdb8db667bf..7a96df39d0e9 100644
--- a/core/modules/user/src/Tests/UserInstallTest.php
+++ b/core/modules/user/src/Tests/UserInstallTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests user_install().
+ *
+ * @group user
  */
 class UserInstallTest extends DrupalUnitTestBase {
 
@@ -21,17 +23,6 @@ class UserInstallTest extends DrupalUnitTestBase {
    */
   public static $modules = array('user');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'User install tests',
-      'description' => 'Tests user_install().',
-      'group' => 'User'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/UserLanguageCreationTest.php b/core/modules/user/src/Tests/UserLanguageCreationTest.php
index dbf80e430cc6..e32718a61d73 100644
--- a/core/modules/user/src/Tests/UserLanguageCreationTest.php
+++ b/core/modules/user/src/Tests/UserLanguageCreationTest.php
@@ -11,7 +11,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Functional test for language handling during user creation.
+ * Tests whether proper language is stored for new users and access to language
+ * selector.
+ *
+ * @group user
  */
 class UserLanguageCreationTest extends WebTestBase {
 
@@ -22,14 +25,6 @@ class UserLanguageCreationTest extends WebTestBase {
    */
   public static $modules = array('user', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User language creation',
-      'description' => 'Tests whether proper language is stored for new users and access to language selector.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Functional test for language handling during user creation.
    */
diff --git a/core/modules/user/src/Tests/UserLanguageTest.php b/core/modules/user/src/Tests/UserLanguageTest.php
index 21e87327f438..5d329224270a 100644
--- a/core/modules/user/src/Tests/UserLanguageTest.php
+++ b/core/modules/user/src/Tests/UserLanguageTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Functional tests for a user's ability to change their default language.
+ *
+ * @group user
  */
 class UserLanguageTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class UserLanguageTest extends WebTestBase {
    */
   public static $modules = array('user', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User language settings',
-      'description' => "Tests user's ability to change their default language.",
-      'group' => 'User',
-    );
-  }
-
   /**
    * Test if user can change their default language.
    */
diff --git a/core/modules/user/src/Tests/UserLoginTest.php b/core/modules/user/src/Tests/UserLoginTest.php
index 10ce788d1dff..15fd7ce761a0 100644
--- a/core/modules/user/src/Tests/UserLoginTest.php
+++ b/core/modules/user/src/Tests/UserLoginTest.php
@@ -11,17 +11,11 @@
 use Drupal\Core\Password\PhpassHashedPassword;
 
 /**
- * Functional tests for user logins, including rate limiting of login attempts.
+ * Ensure that login works as expected.
+ *
+ * @group user
  */
 class UserLoginTest extends WebTestBase {
-  public static function getInfo() {
-    return array(
-      'name' => 'User login',
-      'description' => 'Ensure that login works as expected.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests login with destination.
    */
diff --git a/core/modules/user/src/Tests/UserPasswordResetTest.php b/core/modules/user/src/Tests/UserPasswordResetTest.php
index 4e4d4921fbc5..41adeccb932e 100644
--- a/core/modules/user/src/Tests/UserPasswordResetTest.php
+++ b/core/modules/user/src/Tests/UserPasswordResetTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests resetting a user password.
+ * Ensure that password reset methods work as expected.
+ *
+ * @group user
  */
 class UserPasswordResetTest extends WebTestBase {
   /**
@@ -20,14 +22,6 @@ class UserPasswordResetTest extends WebTestBase {
    */
   protected $account;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Reset password',
-      'description' => 'Ensure that password reset methods work as expected.',
-      'group' => 'User',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserPermissionsTest.php b/core/modules/user/src/Tests/UserPermissionsTest.php
index 03ad191b99d5..7887dcb8fd58 100644
--- a/core/modules/user/src/Tests/UserPermissionsTest.php
+++ b/core/modules/user/src/Tests/UserPermissionsTest.php
@@ -11,20 +11,15 @@
 use Drupal\user\RoleStorage;
 
 /**
- * Tests the user role permission UI.
+ * Verify that role permissions can be added and removed via the permissions
+ * page.
+ *
+ * @group user
  */
 class UserPermissionsTest extends WebTestBase {
   protected $admin_user;
   protected $rid;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Role permissions',
-      'description' => 'Verify that role permissions can be added and removed via the permissions page.',
-      'group' => 'User'
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserPictureTest.php b/core/modules/user/src/Tests/UserPictureTest.php
index 335050d30c6d..b1825a578960 100644
--- a/core/modules/user/src/Tests/UserPictureTest.php
+++ b/core/modules/user/src/Tests/UserPictureTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests user picture functionality.
+ *
+ * @group user
  */
 class UserPictureTest extends WebTestBase {
 
@@ -27,14 +29,6 @@ class UserPictureTest extends WebTestBase {
   protected $user;
   protected $_directory_test;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User pictures',
-      'description' => 'Tests user picture functionality.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserRegistrationTest.php b/core/modules/user/src/Tests/UserRegistrationTest.php
index faa9c7cf431a..fe5239b7184d 100644
--- a/core/modules/user/src/Tests/UserRegistrationTest.php
+++ b/core/modules/user/src/Tests/UserRegistrationTest.php
@@ -11,7 +11,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests user registration.
+ * Tests registration of user under different configurations.
+ *
+ * @group user
  */
 class UserRegistrationTest extends WebTestBase {
 
@@ -22,14 +24,6 @@ class UserRegistrationTest extends WebTestBase {
    */
   public static $modules = array('field_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User registration',
-      'description' => 'Test registration of user under different configurations.',
-      'group' => 'User'
-    );
-  }
-
   function testRegistrationWithEmailVerification() {
     $config = \Drupal::config('user.settings');
     // Require email verification.
diff --git a/core/modules/user/src/Tests/UserRoleAdminTest.php b/core/modules/user/src/Tests/UserRoleAdminTest.php
index fa42d8c064a3..43ecaef21b23 100644
--- a/core/modules/user/src/Tests/UserRoleAdminTest.php
+++ b/core/modules/user/src/Tests/UserRoleAdminTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test case to test adding, editing and deleting roles.
+ * Tests adding, editing and deleting user roles and changing role weights.
+ *
+ * @group user
  */
 class UserRoleAdminTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User role administration',
-      'description' => 'Test adding, editing and deleting user roles and changing role weights.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'administer users'));
diff --git a/core/modules/user/src/Tests/UserRolesAssignmentTest.php b/core/modules/user/src/Tests/UserRolesAssignmentTest.php
index 99133eada356..70ef6f6f02ba 100644
--- a/core/modules/user/src/Tests/UserRolesAssignmentTest.php
+++ b/core/modules/user/src/Tests/UserRolesAssignmentTest.php
@@ -10,19 +10,13 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test role assignment.
+ * Tests that users can be assigned and unassigned roles.
+ *
+ * @group user
  */
 class UserRolesAssignmentTest extends WebTestBase {
   protected $admin_user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Role assignment',
-      'description' => 'Tests that users can be assigned and unassigned roles.',
-      'group' => 'User'
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->admin_user = $this->drupalCreateUser(array('administer permissions', 'administer users'));
diff --git a/core/modules/user/src/Tests/UserSaveTest.php b/core/modules/user/src/Tests/UserSaveTest.php
index 3f9f11d557f5..8fc891e6bee0 100644
--- a/core/modules/user/src/Tests/UserSaveTest.php
+++ b/core/modules/user/src/Tests/UserSaveTest.php
@@ -10,18 +10,12 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests \Drupal\user\UserStorage::save() behavior.
+ * Tests account saving for arbitrary new uid.
+ *
+ * @group user
  */
 class UserSaveTest extends WebTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User save test',
-      'description' => 'Test account saving for arbitrary new uid.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Test creating a user with arbitrary uid.
    */
diff --git a/core/modules/user/src/Tests/UserSearchTest.php b/core/modules/user/src/Tests/UserSearchTest.php
index c55d381b2c1f..cbb2628f2818 100644
--- a/core/modules/user/src/Tests/UserSearchTest.php
+++ b/core/modules/user/src/Tests/UserSearchTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test user search.
+ * Tests the user search page and verifies that sensitive information is hidden
+ * from unauthorized users.
+ *
+ * @group user
  */
 class UserSearchTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class UserSearchTest extends WebTestBase {
    */
   public static $modules = array('search');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User search',
-      'description' => 'Tests the user search page and verifies that sensitive information is hidden from unauthorized users.',
-      'group' => 'User',
-    );
-  }
-
   function testUserSearch() {
     // Verify that a user without 'administer users' permission cannot search
     // for users by email address.
diff --git a/core/modules/user/src/Tests/UserSignatureTest.php b/core/modules/user/src/Tests/UserSignatureTest.php
index ce6c5ffe7d4a..8a19bc7fcbbc 100644
--- a/core/modules/user/src/Tests/UserSignatureTest.php
+++ b/core/modules/user/src/Tests/UserSignatureTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test case for user signatures.
+ * Tests case for user signatures.
+ *
+ * @group user
  */
 class UserSignatureTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserSignatureTest extends WebTestBase {
    */
   public static $modules = array('node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User signatures',
-      'description' => 'Test user signatures.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/UserTimeZoneTest.php b/core/modules/user/src/Tests/UserTimeZoneTest.php
index 0702799b358d..f3ea29758100 100644
--- a/core/modules/user/src/Tests/UserTimeZoneTest.php
+++ b/core/modules/user/src/Tests/UserTimeZoneTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests for user-configurable time zones.
+ * Set a user time zone and verify that dates are displayed in local time.
+ *
+ * @group user
  */
 class UserTimeZoneTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserTimeZoneTest extends WebTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User time zones',
-      'description' => 'Set a user time zone and verify that dates are displayed in local time.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests the display of dates and time when user-configurable time zones are set.
    */
diff --git a/core/modules/user/src/Tests/UserTokenReplaceTest.php b/core/modules/user/src/Tests/UserTokenReplaceTest.php
index 1f8f023c96e5..fa5ac1bb0afb 100644
--- a/core/modules/user/src/Tests/UserTokenReplaceTest.php
+++ b/core/modules/user/src/Tests/UserTokenReplaceTest.php
@@ -12,7 +12,10 @@
 use Drupal\Core\Language\Language;
 
 /**
- * Test user token replacement in strings.
+ * Generates text using placeholders for dummy content to check user token
+ * replacement.
+ *
+ * @group user
  */
 class UserTokenReplaceTest extends WebTestBase {
 
@@ -23,14 +26,6 @@ class UserTokenReplaceTest extends WebTestBase {
    */
   public static $modules = array('language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User token replacement',
-      'description' => 'Generates text using placeholders for dummy content to check user token replacement.',
-      'group' => 'User',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $language = new Language(array(
diff --git a/core/modules/user/src/Tests/UserTranslationUITest.php b/core/modules/user/src/Tests/UserTranslationUITest.php
index 22ff1f95e04f..d8c83326f4bd 100644
--- a/core/modules/user/src/Tests/UserTranslationUITest.php
+++ b/core/modules/user/src/Tests/UserTranslationUITest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the User Translation UI.
+ *
+ * @group user
  */
 class UserTranslationUITest extends ContentTranslationUITest {
 
@@ -26,14 +28,6 @@ class UserTranslationUITest extends ContentTranslationUITest {
    */
   public static $modules = array('language', 'content_translation', 'user', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User translation UI',
-      'description' => 'Tests the user translation UI.',
-      'group' => 'User',
-    );
-  }
-
   function setUp() {
     $this->entityTypeId = 'user';
     $this->testLanguageSelector = FALSE;
diff --git a/core/modules/user/src/Tests/UserValidateCurrentPassCustomFormTest.php b/core/modules/user/src/Tests/UserValidateCurrentPassCustomFormTest.php
index c533766809f9..c4f0c2d178b7 100644
--- a/core/modules/user/src/Tests/UserValidateCurrentPassCustomFormTest.php
+++ b/core/modules/user/src/Tests/UserValidateCurrentPassCustomFormTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests user_validate_current_pass on a custom form.
+ *
+ * @group user
  */
 class UserValidateCurrentPassCustomFormTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class UserValidateCurrentPassCustomFormTest extends WebTestBase {
    */
   public static $modules = array('user_form_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User validate current pass custom form',
-      'description' => 'Test that user_validate_current_pass is usable on a custom form.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * User with permission to view content.
    */
diff --git a/core/modules/user/src/Tests/UserValidationTest.php b/core/modules/user/src/Tests/UserValidationTest.php
index f6252acca64e..44cd7755fe4a 100644
--- a/core/modules/user/src/Tests/UserValidationTest.php
+++ b/core/modules/user/src/Tests/UserValidationTest.php
@@ -12,7 +12,9 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Performs validation tests on user fields.
+ * Verify that user validity checks behave as designed.
+ *
+ * @group user
  */
 class UserValidationTest extends DrupalUnitTestBase {
 
@@ -23,14 +25,6 @@ class UserValidationTest extends DrupalUnitTestBase {
    */
   public static $modules = array('entity', 'field', 'user', 'system');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User validation',
-      'description' => 'Verify that user validity checks behave as designed.',
-      'group' => 'User'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/Views/AccessPermissionTest.php b/core/modules/user/src/Tests/Views/AccessPermissionTest.php
index dcccacc87294..e40d7a8bf0ce 100644
--- a/core/modules/user/src/Tests/Views/AccessPermissionTest.php
+++ b/core/modules/user/src/Tests/Views/AccessPermissionTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests views perm access plugin.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\access\Permission
  */
 class AccessPermissionTest extends AccessTestBase {
@@ -24,14 +25,6 @@ class AccessPermissionTest extends AccessTestBase {
    */
   public static $testViews = array('test_access_perm');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Access permission',
-      'description' => 'Tests views permission access plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests perm access plugin.
    */
diff --git a/core/modules/user/src/Tests/Views/AccessRoleTest.php b/core/modules/user/src/Tests/Views/AccessRoleTest.php
index 53ecc4494504..96ef4f58f1fe 100644
--- a/core/modules/user/src/Tests/Views/AccessRoleTest.php
+++ b/core/modules/user/src/Tests/Views/AccessRoleTest.php
@@ -15,6 +15,7 @@
 /**
  * Tests views role access plugin.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\access\Role
  */
 class AccessRoleTest extends AccessTestBase {
@@ -26,14 +27,6 @@ class AccessRoleTest extends AccessTestBase {
    */
   public static $testViews = array('test_access_role');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Access role',
-      'description' => 'Tests views role access plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests role access plugin.
    */
diff --git a/core/modules/user/src/Tests/Views/AccessRoleUITest.php b/core/modules/user/src/Tests/Views/AccessRoleUITest.php
index 017c1a371080..70a797dd5a91 100644
--- a/core/modules/user/src/Tests/Views/AccessRoleUITest.php
+++ b/core/modules/user/src/Tests/Views/AccessRoleUITest.php
@@ -13,6 +13,7 @@
 /**
  * Tests views role access plugin UI.
  *
+ * @group user
  * @see Drupal\user\Plugin\views\access\Role
  */
 class AccessRoleUITest extends UITestBase {
@@ -31,17 +32,6 @@ class AccessRoleUITest extends UITestBase {
    */
   public static $modules = array('user', 'user_test_views');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Access role (UI)',
-      'description' => 'Tests views role access plugin UI.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php b/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php
index c8de3a35afcd..0a3f439b7708 100644
--- a/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php
+++ b/core/modules/user/src/Tests/Views/ArgumentDefaultTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests views user argument default plugin.
+ *
+ * @group user
  */
 class ArgumentDefaultTest extends UserTestBase {
 
@@ -21,14 +23,6 @@ class ArgumentDefaultTest extends UserTestBase {
    */
   public static $testViews = array('test_plugin_argument_default_current_user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Argument default',
-      'description' => 'Tests user argument default plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   public function test_plugin_argument_default_current_user() {
     // Create a user to test.
     $account = $this->drupalCreateUser();
diff --git a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php b/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
index 76405dec7938..3bc83d966633 100644
--- a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
+++ b/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests views user argument validator plugin.
+ * Tests user argument validators for ID and name.
+ *
+ * @group user
  */
 class ArgumentValidateTest extends UserTestBase {
 
@@ -21,14 +23,6 @@ class ArgumentValidateTest extends UserTestBase {
    */
   public static $testViews = array('test_view_argument_validate_user', 'test_view_argument_validate_username');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Argument validators',
-      'description' => 'Tests user argument validators for ID and name.',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/Views/BulkFormTest.php b/core/modules/user/src/Tests/Views/BulkFormTest.php
index f3dfca46d197..47d8a076f3d9 100644
--- a/core/modules/user/src/Tests/Views/BulkFormTest.php
+++ b/core/modules/user/src/Tests/Views/BulkFormTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the views bulk form test.
+ * Tests a user bulk form.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\field\BulkForm
  */
 class BulkFormTest extends UserTestBase {
@@ -23,14 +24,6 @@ class BulkFormTest extends UserTestBase {
    */
   public static $testViews = array('test_user_bulk_form');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Bulk form',
-      'description' => 'Tests a user bulk form.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the user bulk form.
    */
diff --git a/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php b/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php
index a52c5e3b3864..f2e8cd3c13a5 100644
--- a/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerArgumentUserUidTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests views user uid argument handler.
+ * Tests the handler of the user: uid Argument.
+ *
+ * @group user
  */
 class HandlerArgumentUserUidTest extends UserTestBase {
 
@@ -21,14 +23,6 @@ class HandlerArgumentUserUidTest extends UserTestBase {
    */
   public static $testViews = array('test_user_uid_argument');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Uid Argument',
-      'description' => 'Tests the handler of the user: uid Argument.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the generated title of an user: uid argument.
    */
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldPermissionTest.php b/core/modules/user/src/Tests/Views/HandlerFieldPermissionTest.php
index 6f78d2288551..06d181d1ed54 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldPermissionTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFieldPermissionTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the permission field handler.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\field\Permissions
  */
 class HandlerFieldPermissionTest extends UserUnitTestBase {
@@ -25,14 +26,6 @@ class HandlerFieldPermissionTest extends UserUnitTestBase {
    */
   public static $testViews = array('test_field_permission');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Permissions Field',
-      'description' => 'Tests the permission field handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the permission field handler output.
    */
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php b/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php
index b9b9791ed28e..3c0a05ffa853 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFieldRoleTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the role field handler.
+ * Tests the handler of the user: role field.
  *
+ * @group user
  * @see views_handler_field_user_name
  */
 class HandlerFieldRoleTest extends UserTestBase {
@@ -23,14 +24,6 @@ class HandlerFieldRoleTest extends UserTestBase {
    */
   public static $testViews = array('test_views_handler_field_role');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Role Field',
-      'description' => 'Tests the handler of the user: role field.',
-      'group' => 'Views module integration',
-    );
-  }
-
   public function testRole() {
     // Create a couple of roles for the view.
     $rolename_a = 'a' . $this->randomName(8);
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php b/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
index 4b1e9f9e2198..f28b7d816a3a 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the field username handler.
+ * Tests the handler of the user: name field.
  *
+ * @group user
  * @see views_handler_field_user_name
  */
 class HandlerFieldUserNameTest extends UserTestBase {
@@ -23,14 +24,6 @@ class HandlerFieldUserNameTest extends UserTestBase {
    */
   public static $testViews = array('test_views_handler_field_user_name');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Name Field',
-      'description' => 'Tests the handler of the user: name field.',
-      'group' => 'Views module integration',
-    );
-  }
-
   public function testUserName() {
     $this->drupalLogin($this->drupalCreateUser(array('access user profiles')));
 
diff --git a/core/modules/user/src/Tests/Views/HandlerFilterPermissionTest.php b/core/modules/user/src/Tests/Views/HandlerFilterPermissionTest.php
index 970ea7017138..16db903c592d 100644
--- a/core/modules/user/src/Tests/Views/HandlerFilterPermissionTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFilterPermissionTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the permissions filter handler.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\filter\Permissions
  */
 class HandlerFilterPermissionTest extends UserUnitTestBase {
@@ -27,14 +28,6 @@ class HandlerFilterPermissionTest extends UserUnitTestBase {
 
   protected $columnMap;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Permissions Filter',
-      'description' => 'Tests the permission filter handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the permission filter handler.
    *
diff --git a/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php b/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php
index a498d3766812..e08f48483934 100644
--- a/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFilterUserNameTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the handler of the user: name filter.
  *
+ * @group user
  * @see Views\user\Plugin\views\filter\Name
  */
 class HandlerFilterUserNameTest extends ViewTestBase {
@@ -55,14 +56,6 @@ class HandlerFilterUserNameTest extends ViewTestBase {
     'uid' => 'uid',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Name Filter',
-      'description' => 'Tests the handler of the user: name filter',
-      'group' => 'Views module integration',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php b/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
index abec48851fb7..6e63885b8488 100644
--- a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
+++ b/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the representative node relationship for users.
+ *
+ * @group user
  */
 class RelationshipRepresentativeNodeTest extends UserTestBase {
 
@@ -21,14 +23,6 @@ class RelationshipRepresentativeNodeTest extends UserTestBase {
    */
   public static $testViews = array('test_groupwise_user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Representative Node Relationship',
-      'description' => 'Tests the representative node relationship for users.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the relationship.
    */
diff --git a/core/modules/user/src/Tests/Views/UserDataTest.php b/core/modules/user/src/Tests/Views/UserDataTest.php
index 7813dd7ed8fa..1e394e35cd60 100644
--- a/core/modules/user/src/Tests/Views/UserDataTest.php
+++ b/core/modules/user/src/Tests/Views/UserDataTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the user data service field handler.
  *
+ * @group user
  * @see \Drupal\user\Plugin\views\field\UserData
  */
 class UserDataTest extends UserTestBase {
@@ -30,14 +31,6 @@ class UserDataTest extends UserTestBase {
    */
   public static $testViews = array('test_user_data');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User data: Field',
-      'description' => 'Tests the user data service field handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests field handler.
    */
diff --git a/core/modules/user/tests/src/Menu/UserLocalTasksTest.php b/core/modules/user/tests/src/Menu/UserLocalTasksTest.php
index b8897ce2b2a5..4861b4b1de37 100644
--- a/core/modules/user/tests/src/Menu/UserLocalTasksTest.php
+++ b/core/modules/user/tests/src/Menu/UserLocalTasksTest.php
@@ -10,21 +10,12 @@
 use Drupal\Tests\Core\Menu\LocalTaskIntegrationTest;
 
 /**
- * Tests existence of user local tasks.
+ * Tests user local tasks.
  *
- * @group Drupal
- * @group User
+ * @group user
  */
 class UserLocalTasksTest extends LocalTaskIntegrationTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User local tasks test',
-      'description' => 'Test user local tasks.',
-      'group' => 'User',
-    );
-  }
-
   public function setUp() {
     $this->directoryList = array('user' => 'core/modules/user');
     parent::setUp();
diff --git a/core/modules/user/tests/src/PermissionsHashTest.php b/core/modules/user/tests/src/PermissionsHashTest.php
index 66c889b202c1..6332f3d0f2b6 100644
--- a/core/modules/user/tests/src/PermissionsHashTest.php
+++ b/core/modules/user/tests/src/PermissionsHashTest.php
@@ -14,12 +14,8 @@
 
 
 /**
- * Tests the user permissions hash generator service.
- *
- * @group Drupal
- * @group User
- *
- * @see \Drupal\user\PermissionsHash
+ * @coversDefaultClass \Drupal\user\PermissionsHash
+ * @group user
  */
 class PermissionsHashTest extends UnitTestCase {
 
@@ -65,17 +61,6 @@ class PermissionsHashTest extends UnitTestCase {
    */
   protected $permissionsHash;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Permission hash generator service',
-      'description' => 'Tests the user permission hash generator service',
-      'group' => 'User',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/tests/src/Plugin/Action/AddRoleUserTest.php b/core/modules/user/tests/src/Plugin/Action/AddRoleUserTest.php
index fdd4485ea4b9..0c9879e69e5a 100644
--- a/core/modules/user/tests/src/Plugin/Action/AddRoleUserTest.php
+++ b/core/modules/user/tests/src/Plugin/Action/AddRoleUserTest.php
@@ -10,23 +10,11 @@
 use Drupal\user\Plugin\Action\AddRoleUser;
 
 /**
- * Tests the role add plugin.
- *
- * @see \Drupal\user\Plugin\Action\AddRoleUser
+ * @coversDefaultClass \Drupal\user\Plugin\Action\AddRoleUser
+ * @group user
  */
 class AddRoleUserTest extends RoleUserTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Add user plugin',
-      'description' => 'Tests the role add plugin',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests the execute method on a user with a role.
    */
diff --git a/core/modules/user/tests/src/Plugin/Action/RemoveRoleUserTest.php b/core/modules/user/tests/src/Plugin/Action/RemoveRoleUserTest.php
index e72113c9c31e..87f72124f1c1 100644
--- a/core/modules/user/tests/src/Plugin/Action/RemoveRoleUserTest.php
+++ b/core/modules/user/tests/src/Plugin/Action/RemoveRoleUserTest.php
@@ -10,23 +10,11 @@
 use Drupal\user\Plugin\Action\RemoveRoleUser;
 
 /**
- * Tests the role remove plugin.
- *
- * @see \Drupal\user\Plugin\Action\RemoveRoleUser
+ * @coversDefaultClass \Drupal\user\Plugin\Action\RemoveRoleUser
+ * @group user
  */
 class RemoveRoleUserTest extends RoleUserTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Remove user plugin',
-      'description' => 'Tests the role remove plugin',
-      'group' => 'User',
-    );
-  }
-
   /**
    * Tests the execute method on a user with a role.
    */
diff --git a/core/modules/user/tests/src/Plugin/Core/Entity/UserTest.php b/core/modules/user/tests/src/Plugin/Core/Entity/UserTest.php
index bc341b29e4b2..19d7f2bb79f9 100644
--- a/core/modules/user/tests/src/Plugin/Core/Entity/UserTest.php
+++ b/core/modules/user/tests/src/Plugin/Core/Entity/UserTest.php
@@ -11,20 +11,11 @@
 use Drupal\user\Entity\User;
 
 /**
- * Tests the user object.
- *
  * @coversDefaultClass \Drupal\user\Entity\User
+ * @group user
  */
 class UserTest extends UserSessionTest {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User object',
-      'description' => 'Tests the user object.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/tests/src/Plugin/views/field/UserBulkFormTest.php b/core/modules/user/tests/src/Plugin/views/field/UserBulkFormTest.php
index 642aacd9432f..e6dbe9b6b1c0 100644
--- a/core/modules/user/tests/src/Plugin/views/field/UserBulkFormTest.php
+++ b/core/modules/user/tests/src/Plugin/views/field/UserBulkFormTest.php
@@ -12,20 +12,11 @@
 use Drupal\user\Plugin\views\field\UserBulkForm;
 
 /**
- * Tests the user bulk form plugin.
- *
- * @see \Drupal\user\Plugin\views\field\UserBulkForm
+ * @coversDefaultClass \Drupal\user\Plugin\views\field\UserBulkForm
+ * @group user
  */
 class UserBulkFormTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Bulk form',
-      'description' => 'Tests the user bulk form plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/tests/src/TempStoreTest.php b/core/modules/user/tests/src/TempStoreTest.php
index 5889669cab15..97bd410096be 100644
--- a/core/modules/user/tests/src/TempStoreTest.php
+++ b/core/modules/user/tests/src/TempStoreTest.php
@@ -11,12 +11,8 @@
 use Drupal\user\TempStore;
 
 /**
- * Tests the TempStore namespace.
- *
- * @group Drupal
- * @group User
- *
  * @coversDefaultClass \Drupal\user\TempStore
+ * @group user
  */
 class TempStoreTest extends UnitTestCase {
 
@@ -62,17 +58,6 @@ class TempStoreTest extends UnitTestCase {
    */
   protected $otherObject;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'TempStore',
-      'description' => 'Unit tests the Drupal\user\TempStore class.',
-      'group' => 'User',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/tests/src/UserAuthTest.php b/core/modules/user/tests/src/UserAuthTest.php
index bd069bef31f4..0f42b9f0cda8 100644
--- a/core/modules/user/tests/src/UserAuthTest.php
+++ b/core/modules/user/tests/src/UserAuthTest.php
@@ -11,12 +11,8 @@
 use Drupal\user\UserAuth;
 
 /**
- * Tests the UserAuth class.
- *
- * @group Drupal
- * @group User
- *
  * @coversDefaultClass \Drupal\user\UserAuth
+ * @group user
  */
 class UserAuthTest extends UnitTestCase {
 
@@ -62,17 +58,6 @@ class UserAuthTest extends UnitTestCase {
    */
   protected $password = 'password';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'User auth service',
-      'description' => 'Tests the user auth service',
-      'group' => 'User',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/user/tests/src/Views/Argument/RolesRidTest.php b/core/modules/user/tests/src/Views/Argument/RolesRidTest.php
index fabfec0f2ccd..f90a84c91c8f 100644
--- a/core/modules/user/tests/src/Views/Argument/RolesRidTest.php
+++ b/core/modules/user/tests/src/Views/Argument/RolesRidTest.php
@@ -14,20 +14,11 @@
 use Drupal\user\Plugin\views\argument\RolesRid;
 
 /**
- * Tests the roles argument handler.
- *
- * @see \Drupal\user\Plugin\views\argument\RolesRid
+ * @coversDefaultClass \Drupal\user\Plugin\views\argument\RolesRid
+ * @group user
  */
 class RolesRidTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User: Roles Rid Argument',
-      'description' => 'Tests the role argument handler.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the title_query method.
    *
diff --git a/core/modules/views/src/Tests/BasicTest.php b/core/modules/views/src/Tests/BasicTest.php
index 719e752e5264..aafa3f43b120 100644
--- a/core/modules/views/src/Tests/BasicTest.php
+++ b/core/modules/views/src/Tests/BasicTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Basic test class for Views query builder tests.
+ * A basic query test for Views.
+ *
+ * @group views
  */
 class BasicTest extends ViewUnitTestBase {
 
@@ -21,14 +23,6 @@ class BasicTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view', 'test_simple_argument');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Basic query tests',
-      'description' => 'A basic query test for Views.',
-      'group' => 'Views'
-    );
-  }
-
   /**
    * Tests a trivial result set.
    */
diff --git a/core/modules/views/src/Tests/DefaultViewsTest.php b/core/modules/views/src/Tests/DefaultViewsTest.php
index 513c3b2558f1..9c65b35b427b 100644
--- a/core/modules/views/src/Tests/DefaultViewsTest.php
+++ b/core/modules/views/src/Tests/DefaultViewsTest.php
@@ -14,7 +14,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests for views default views.
+ * Tests the default views provided by views.
+ *
+ * @group views
  */
 class DefaultViewsTest extends ViewTestBase {
 
@@ -36,14 +38,6 @@ class DefaultViewsTest extends ViewTestBase {
     'glossary' => array('all'),
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default views',
-      'description' => 'Tests the default views provided by views',
-      'group' => 'Views',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Entity/FieldEntityTest.php b/core/modules/views/src/Tests/Entity/FieldEntityTest.php
index 9d9a03ab2090..4ff36d8a4281 100644
--- a/core/modules/views/src/Tests/Entity/FieldEntityTest.php
+++ b/core/modules/views/src/Tests/Entity/FieldEntityTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the field plugin base integration with the entity system.
+ *
+ * @group views
  */
 class FieldEntityTest extends ViewTestBase {
 
@@ -29,14 +31,6 @@ class FieldEntityTest extends ViewTestBase {
    */
   public static $modules = array('node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Entity Api Integration',
-      'description' => 'Tests the field plugin base integration with the entity system.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the getEntity method.
    */
diff --git a/core/modules/views/src/Tests/Entity/FilterEntityBundleTest.php b/core/modules/views/src/Tests/Entity/FilterEntityBundleTest.php
index d950a6ab598c..bdccc5d26011 100644
--- a/core/modules/views/src/Tests/Entity/FilterEntityBundleTest.php
+++ b/core/modules/views/src/Tests/Entity/FilterEntityBundleTest.php
@@ -11,7 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the EntityType generic filter handler.
+ * Tests the generic entity bundle filter.
+ *
+ * @group views
  */
 class FilterEntityBundleTest extends ViewTestBase {
 
@@ -43,14 +45,6 @@ class FilterEntityBundleTest extends ViewTestBase {
    */
   protected $entities = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Entity bundle',
-      'description' => 'Tests the generic entity bundle filter.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Entity/RowEntityRenderersTest.php b/core/modules/views/src/Tests/Entity/RowEntityRenderersTest.php
index 6f7462086cb9..5d8a5f9f0020 100644
--- a/core/modules/views/src/Tests/Entity/RowEntityRenderersTest.php
+++ b/core/modules/views/src/Tests/Entity/RowEntityRenderersTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the entity row renderers.
  *
+ * @group views
  * @see \Drupal\views\Entity\Render\RendererBase
  */
 class RowEntityRenderersTest extends ViewUnitTestBase {
@@ -39,17 +40,6 @@ class RowEntityRenderersTest extends ViewUnitTestBase {
    */
   protected $langcodes;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity: renderers',
-      'description' => 'Tests the entity row renderers.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Entity/ViewEntityDependenciesTest.php b/core/modules/views/src/Tests/Entity/ViewEntityDependenciesTest.php
index 082f3528ec1f..093cfb92fb02 100644
--- a/core/modules/views/src/Tests/Entity/ViewEntityDependenciesTest.php
+++ b/core/modules/views/src/Tests/Entity/ViewEntityDependenciesTest.php
@@ -11,7 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests \Drupal\views\Entity\View::calculateDependencies().
+ * Tests the calculation of dependencies for views.
+ *
+ * @group views
  */
 class ViewEntityDependenciesTest extends ViewTestBase {
 
@@ -29,14 +31,6 @@ class ViewEntityDependenciesTest extends ViewTestBase {
    */
   public static $modules = array('node', 'comment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View dependencies test',
-      'description' => 'Tests the calculation of dependencies for views.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * Tests the calculateDependencies method.
    */
diff --git a/core/modules/views/src/Tests/GlossaryTest.php b/core/modules/views/src/Tests/GlossaryTest.php
index 739f2a6e93c1..4518aae4eff7 100644
--- a/core/modules/views/src/Tests/GlossaryTest.php
+++ b/core/modules/views/src/Tests/GlossaryTest.php
@@ -11,7 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests glossary view ( summary of arguments ).
+ * Tests glossary functionality of views.
+ *
+ * @group views
  */
 class GlossaryTest extends ViewTestBase {
 
@@ -22,14 +24,6 @@ class GlossaryTest extends ViewTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Glossary tests',
-      'description' => 'Tests glossary functionality of views.',
-      'group' => 'Views Config',
-    );
-  }
-
   /**
    * Tests the default glossary view.
    */
diff --git a/core/modules/views/src/Tests/Handler/AreaEntityTest.php b/core/modules/views/src/Tests/Handler/AreaEntityTest.php
index eaeefc5dab1b..ac62de15f1f6 100644
--- a/core/modules/views/src/Tests/Handler/AreaEntityTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaEntityTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the generic entity area handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\Entity
  */
 class AreaEntityTest extends ViewTestBase {
@@ -32,14 +33,6 @@ class AreaEntityTest extends ViewTestBase {
    */
   public static $testViews = array('test_entity_area');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Entity',
-      'description' => 'Tests the generic entity area handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/AreaHTTPStatusCodeTest.php b/core/modules/views/src/Tests/Handler/AreaHTTPStatusCodeTest.php
index b39c9d07db4d..60ea9b114245 100644
--- a/core/modules/views/src/Tests/Handler/AreaHTTPStatusCodeTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaHTTPStatusCodeTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the http_status_code area handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\HTTPStatusCode
  */
 class AreaHTTPStatusCodeTest extends HandlerTestBase {
@@ -30,14 +31,6 @@ class AreaHTTPStatusCodeTest extends HandlerTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: HTTP Status Code',
-      'description' => 'Tests the http_status_code area handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the area handler.
    */
diff --git a/core/modules/views/src/Tests/Handler/AreaTest.php b/core/modules/views/src/Tests/Handler/AreaTest.php
index 2fae9d3fe5d2..be90e2480a53 100644
--- a/core/modules/views/src/Tests/Handler/AreaTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the abstract area handler.
+ * Tests the plugin base of the area handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\AreaPluginBase
  * @see \Drupal\views_test\Plugin\views\area\TestExample
  */
@@ -31,14 +32,6 @@ class AreaTest extends HandlerTestBase {
    */
   public static $modules = array('node', 'views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Base',
-      'description' => 'Test the plugin base of the area handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/AreaTextTest.php b/core/modules/views/src/Tests/Handler/AreaTextTest.php
index 7bc2bc2e79ba..a63b503deb66 100644
--- a/core/modules/views/src/Tests/Handler/AreaTextTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaTextTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the text area handler.
+ * Tests the core views_handler_area_text handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\Text
  */
 class AreaTextTest extends ViewUnitTestBase {
@@ -26,14 +27,6 @@ class AreaTextTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Text',
-      'description' => 'Test the core views_handler_area_text handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/AreaTitleTest.php b/core/modules/views/src/Tests/Handler/AreaTitleTest.php
index 367e9801c164..86d9e83db7a2 100644
--- a/core/modules/views/src/Tests/Handler/AreaTitleTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaTitleTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the title area handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\Title
  */
 class AreaTitleTest extends ViewUnitTestBase {
@@ -24,14 +25,6 @@ class AreaTitleTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_area_title');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Title',
-      'description' => 'Tests the title area handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the title area handler.
    */
diff --git a/core/modules/views/src/Tests/Handler/AreaViewTest.php b/core/modules/views/src/Tests/Handler/AreaViewTest.php
index a99a3169b6d6..16bd12e5de0e 100644
--- a/core/modules/views/src/Tests/Handler/AreaViewTest.php
+++ b/core/modules/views/src/Tests/Handler/AreaViewTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the view area handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\area\View
  */
 class AreaViewTest extends ViewUnitTestBase {
@@ -31,17 +32,6 @@ class AreaViewTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_area_view', 'test_simple_argument');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: View',
-      'description' => 'Tests the view area handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the view area handler.
    */
diff --git a/core/modules/views/src/Tests/Handler/ArgumentDateTest.php b/core/modules/views/src/Tests/Handler/ArgumentDateTest.php
index 6c1ae6e43939..4c66e790a90f 100644
--- a/core/modules/views/src/Tests/Handler/ArgumentDateTest.php
+++ b/core/modules/views/src/Tests/Handler/ArgumentDateTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the core date argument handlers.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\argument\Date
  */
 class ArgumentDateTest extends ViewUnitTestBase {
@@ -33,14 +34,6 @@ class ArgumentDateTest extends ViewUnitTestBase {
     'id' => 'id',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument: Date',
-      'description' => 'Tests the core date argument handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Overrides \Drupal\views\Tests\ViewUnitTestBase::viewsData().
    */
diff --git a/core/modules/views/src/Tests/Handler/ArgumentNullTest.php b/core/modules/views/src/Tests/Handler/ArgumentNullTest.php
index 3c5930ac25e2..50684bd96233 100644
--- a/core/modules/views/src/Tests/Handler/ArgumentNullTest.php
+++ b/core/modules/views/src/Tests/Handler/ArgumentNullTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\argument\Null handler.
+ *
+ * @group views
  */
 class ArgumentNullTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class ArgumentNullTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument: Null',
-      'description' => 'Test the core Drupal\views\Plugin\views\argument\Null handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function viewsData() {
     $data = parent::viewsData();
     $data['views_test_data']['id']['argument']['id'] = 'null';
diff --git a/core/modules/views/src/Tests/Handler/ArgumentStringTest.php b/core/modules/views/src/Tests/Handler/ArgumentStringTest.php
index 4f2a7bcc5425..7d7cfa7e85b1 100644
--- a/core/modules/views/src/Tests/Handler/ArgumentStringTest.php
+++ b/core/modules/views/src/Tests/Handler/ArgumentStringTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\argument\String handler.
+ *
+ * @group views
  */
 class ArgumentStringTest extends HandlerTestBase {
 
@@ -28,14 +30,6 @@ class ArgumentStringTest extends HandlerTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument: String',
-      'description' => 'Test the core Drupal\views\Plugin\views\argument\String handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the glossary feature.
    */
diff --git a/core/modules/views/src/Tests/Handler/FieldBooleanTest.php b/core/modules/views/src/Tests/Handler/FieldBooleanTest.php
index 482980dacbfe..27b8165d6c1e 100644
--- a/core/modules/views/src/Tests/Handler/FieldBooleanTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldBooleanTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\field\Boolean handler.
+ *
+ * @group views
  */
 class FieldBooleanTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class FieldBooleanTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Boolean',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\Boolean handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function dataSet() {
     // Use default dataset but remove the age from john and paul
     $data = parent::dataSet();
diff --git a/core/modules/views/src/Tests/Handler/FieldCounterTest.php b/core/modules/views/src/Tests/Handler/FieldCounterTest.php
index 3d12d426559f..1290e676845d 100644
--- a/core/modules/views/src/Tests/Handler/FieldCounterTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldCounterTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the Drupal\views\Plugin\views\field\Counter handler.
+ *
+ * @group views
  */
 class FieldCounterTest extends ViewUnitTestBase {
 
@@ -29,14 +31,6 @@ class FieldCounterTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Counter',
-      'description' => 'Tests the Drupal\views\Plugin\views\field\Counter handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function testSimple() {
     $view = Views::getView('test_view');
     $view->setDisplay();
diff --git a/core/modules/views/src/Tests/Handler/FieldCustomTest.php b/core/modules/views/src/Tests/Handler/FieldCustomTest.php
index a761ce2b92e3..08bc1330c2fd 100644
--- a/core/modules/views/src/Tests/Handler/FieldCustomTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldCustomTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\field\Custom handler.
+ *
+ * @group views
  */
 class FieldCustomTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class FieldCustomTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Custom',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\Custom handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function viewsData() {
     $data = parent::viewsData();
     $data['views_test_data']['name']['field']['id'] = 'custom';
diff --git a/core/modules/views/src/Tests/Handler/FieldDateTest.php b/core/modules/views/src/Tests/Handler/FieldDateTest.php
index 54cdc02eae55..503b9271b746 100644
--- a/core/modules/views/src/Tests/Handler/FieldDateTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldDateTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\field\Date handler.
+ *
+ * @group views
  */
 class FieldDateTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class FieldDateTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Date',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\Date handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function viewsData() {
     $data = parent::viewsData();
     $data['views_test_data']['created']['field']['id'] = 'date';
diff --git a/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php b/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
index 9d6654a9d2e4..8cbb08143335 100644
--- a/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldDropButtonTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the dropbutton field handler.
  *
+ * @group views
  * @see \Drupal\system\Plugin\views\field\Dropbutton
  */
 class FieldDropButtonTest extends HandlerTestBase {
@@ -30,14 +31,6 @@ class FieldDropButtonTest extends HandlerTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Dropbutton',
-      'description' => 'Tests the dropbutton field handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests dropbutton field.
    */
diff --git a/core/modules/views/src/Tests/Handler/FieldFileSizeTest.php b/core/modules/views/src/Tests/Handler/FieldFileSizeTest.php
index e1e317dd9852..78e77a0e130b 100644
--- a/core/modules/views/src/Tests/Handler/FieldFileSizeTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldFileSizeTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the core Drupal\views\Plugin\views\field\FileSize handler.
  *
+ * @group views
  * @see CommonXssUnitTest
  */
 class FieldFileSizeTest extends ViewUnitTestBase {
@@ -24,14 +25,6 @@ class FieldFileSizeTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: File size',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\FileSize handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function dataSet() {
     $data = parent::dataSet();
     $data[0]['age'] = 0;
diff --git a/core/modules/views/src/Tests/Handler/FieldUnitTest.php b/core/modules/views/src/Tests/Handler/FieldUnitTest.php
index e7f780c68d52..85d90897a68a 100644
--- a/core/modules/views/src/Tests/Handler/FieldUnitTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldUnitTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the generic field handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\field\FieldPluginBase
  */
 class FieldUnitTest extends ViewUnitTestBase {
@@ -31,14 +32,6 @@ class FieldUnitTest extends ViewUnitTestBase {
     'views_test_data_name' => 'name',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Unit Test',
-      'description' => 'Tests the generic field handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Overrides Drupal\views\Tests\ViewTestBase::viewsData().
    */
diff --git a/core/modules/views/src/Tests/Handler/FieldUrlTest.php b/core/modules/views/src/Tests/Handler/FieldUrlTest.php
index 5e89599dae8e..2a5d8cdc592a 100644
--- a/core/modules/views/src/Tests/Handler/FieldUrlTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldUrlTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\field\Url handler.
+ *
+ * @group views
  */
 class FieldUrlTest extends ViewUnitTestBase {
 
@@ -24,14 +26,6 @@ class FieldUrlTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: URL',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\Url handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
     $this->installSchema('system', 'url_alias');
diff --git a/core/modules/views/src/Tests/Handler/FieldWebTest.php b/core/modules/views/src/Tests/Handler/FieldWebTest.php
index 3afbadb7e37a..603ace747c1c 100644
--- a/core/modules/views/src/Tests/Handler/FieldWebTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldWebTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests fields from within a UI.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\field\FieldPluginBase
  */
 class FieldWebTest extends HandlerTestBase {
@@ -28,14 +29,6 @@ class FieldWebTest extends HandlerTestBase {
     'views_test_data_name' => 'name',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Web Test',
-      'description' => 'Tests fields from within a UI.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/FieldXssTest.php b/core/modules/views/src/Tests/Handler/FieldXssTest.php
index 5eb89115245e..7730516d4cdb 100644
--- a/core/modules/views/src/Tests/Handler/FieldXssTest.php
+++ b/core/modules/views/src/Tests/Handler/FieldXssTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the core Drupal\views\Plugin\views\field\Xss handler.
  *
+ * @group views
  * @see CommonXssUnitTest
  */
 class FieldXssTest extends ViewUnitTestBase {
@@ -24,14 +25,6 @@ class FieldXssTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: XSS',
-      'description' => 'Test the core Drupal\views\Plugin\views\field\Xss handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function dataHelper() {
     $map = array(
       'John' => 'John',
diff --git a/core/modules/views/src/Tests/Handler/FilterBooleanOperatorStringTest.php b/core/modules/views/src/Tests/Handler/FilterBooleanOperatorStringTest.php
index 079e0031a14b..1d6f4c8644a7 100644
--- a/core/modules/views/src/Tests/Handler/FilterBooleanOperatorStringTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterBooleanOperatorStringTest.php
@@ -11,8 +11,10 @@
 use Drupal\views\Views;
 
 /**
- * Tests the BooleanOperator filter handler.
+ * Tests the core Drupal\views\Plugin\views\filter\BooleanOperatorString
+ * handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\filter\BooleanOperatorString
  */
 class FilterBooleanOperatorStringTest extends ViewUnitTestBase {
@@ -35,14 +37,6 @@ class FilterBooleanOperatorStringTest extends ViewUnitTestBase {
     'views_test_data_id' => 'id',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Boolean string operator',
-      'description' => 'Test the core Drupal\views\Plugin\views\filter\BooleanOperatorString handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Handler/FilterBooleanOperatorTest.php b/core/modules/views/src/Tests/Handler/FilterBooleanOperatorTest.php
index b512a070b0e2..f99988601521 100644
--- a/core/modules/views/src/Tests/Handler/FilterBooleanOperatorTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterBooleanOperatorTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the BooleanOperator filter handler.
+ * Tests the core Drupal\views\Plugin\views\filter\BooleanOperator handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\filter\BooleanOperator
  */
 class FilterBooleanOperatorTest extends ViewUnitTestBase {
@@ -35,14 +36,6 @@ class FilterBooleanOperatorTest extends ViewUnitTestBase {
     'views_test_data_id' => 'id',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Boolean operator',
-      'description' => 'Test the core Drupal\views\Plugin\views\filter\BooleanOperator handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/FilterCombineTest.php b/core/modules/views/src/Tests/Handler/FilterCombineTest.php
index f18b91243ef2..53320f74c71b 100644
--- a/core/modules/views/src/Tests/Handler/FilterCombineTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterCombineTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the combine filter handler.
+ *
+ * @group views
  */
 class FilterCombineTest extends ViewUnitTestBase {
 
@@ -27,14 +29,6 @@ class FilterCombineTest extends ViewUnitTestBase {
     'views_test_data_job' => 'job',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Combine',
-      'description' => 'Tests the combine filter handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   public function testFilterCombineContains() {
     $view = Views::getView('test_view');
     $view->setDisplay();
diff --git a/core/modules/views/src/Tests/Handler/FilterDateTest.php b/core/modules/views/src/Tests/Handler/FilterDateTest.php
index 5665e96af772..9173ae3cc313 100644
--- a/core/modules/views/src/Tests/Handler/FilterDateTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterDateTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\filter\Date handler.
+ *
+ * @group views
  */
 class FilterDateTest extends HandlerTestBase {
 
@@ -28,14 +30,6 @@ class FilterDateTest extends HandlerTestBase {
    */
   public static $modules = array('node', 'views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Date',
-      'description' => 'Test the core Drupal\views\Plugin\views\filter\Date handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     // Add some basic test nodes.
diff --git a/core/modules/views/src/Tests/Handler/FilterEqualityTest.php b/core/modules/views/src/Tests/Handler/FilterEqualityTest.php
index bbc075856abd..fb9300d7b441 100644
--- a/core/modules/views/src/Tests/Handler/FilterEqualityTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterEqualityTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\filter\Equality handler.
+ *
+ * @group views
  */
 class FilterEqualityTest extends ViewUnitTestBase {
 
@@ -28,14 +30,6 @@ class FilterEqualityTest extends ViewUnitTestBase {
     'views_test_data_name' => 'name',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Equality',
-      'description' => 'Test the core Drupal\views\Plugin\views\filter\Equality handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/FilterInOperatorTest.php b/core/modules/views/src/Tests/Handler/FilterInOperatorTest.php
index 432815437ee3..39ea116570e1 100644
--- a/core/modules/views/src/Tests/Handler/FilterInOperatorTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterInOperatorTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\filter\InOperator handler.
+ *
+ * @group views
  */
 class FilterInOperatorTest extends ViewUnitTestBase {
 
@@ -29,14 +31,6 @@ class FilterInOperatorTest extends ViewUnitTestBase {
     'views_test_data_age' => 'age',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: In-operator',
-      'description' => 'Test the core Drupal\views\Plugin\views\filter\InOperator handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/FilterNumericTest.php b/core/modules/views/src/Tests/Handler/FilterNumericTest.php
index 8b70f4499f6c..9277da50b908 100644
--- a/core/modules/views/src/Tests/Handler/FilterNumericTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterNumericTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the numeric filter handler.
+ *
+ * @group views
  */
 class FilterNumericTest extends ViewUnitTestBase {
 
@@ -29,14 +31,6 @@ class FilterNumericTest extends ViewUnitTestBase {
     'views_test_data_age' => 'age',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Numeric',
-      'description' => 'Tests the numeric filter handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/FilterStringTest.php b/core/modules/views/src/Tests/Handler/FilterStringTest.php
index a0c0dc0ad790..bcf84a785184 100644
--- a/core/modules/views/src/Tests/Handler/FilterStringTest.php
+++ b/core/modules/views/src/Tests/Handler/FilterStringTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the core Drupal\views\Plugin\views\filter\String handler.
+ *
+ * @group views
  */
 class FilterStringTest extends ViewUnitTestBase {
 
@@ -28,14 +30,6 @@ class FilterStringTest extends ViewUnitTestBase {
     'views_test_data_name' => 'name',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: String',
-      'description' => 'Tests the core Drupal\views\Plugin\views\filter\String handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/HandlerAliasTest.php b/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
index ac9b920174ae..9f1b329c4f12 100644
--- a/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
@@ -11,7 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests abstract handlers of views.
+ * Tests handler table and field aliases.
+ *
+ * @group views
  */
 class HandlerAliasTest extends ViewUnitTestBase {
 
@@ -24,14 +26,6 @@ class HandlerAliasTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_filter', 'test_alias');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Handler alias tests',
-      'description' => 'Tests handler table and field aliases.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Handler/HandlerAllTest.php b/core/modules/views/src/Tests/Handler/HandlerAllTest.php
index 08fdb769643d..ba83c549faaa 100644
--- a/core/modules/views/src/Tests/Handler/HandlerAllTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerAllTest.php
@@ -12,7 +12,9 @@
 use Drupal\views\Plugin\views\filter\InOperator;
 
 /**
- * Creates views with instances of all handlers...
+ * Tests instances of all handlers.
+ *
+ * @group views
  */
 class HandlerAllTest extends HandlerTestBase {
 
@@ -41,14 +43,6 @@ class HandlerAllTest extends HandlerTestBase {
     'user',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Handlers: All',
-      'description' => 'Test instances of all handlers.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests most of the handlers.
    */
diff --git a/core/modules/views/src/Tests/Handler/HandlerTest.php b/core/modules/views/src/Tests/Handler/HandlerTest.php
index 14a528649c32..b9a1f4567360 100644
--- a/core/modules/views/src/Tests/Handler/HandlerTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerTest.php
@@ -13,7 +13,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests abstract handlers of views.
+ * Tests abstract handler definitions.
+ *
+ * @group views
  */
 class HandlerTest extends ViewTestBase {
 
@@ -31,14 +33,6 @@ class HandlerTest extends ViewTestBase {
    */
   public static $modules = array('views_ui', 'comment', 'node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Handler: Base',
-      'description' => 'Tests abstract handler definitions.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->drupalCreateContentType(array('type' => 'page'));
diff --git a/core/modules/views/src/Tests/Handler/RelationshipTest.php b/core/modules/views/src/Tests/Handler/RelationshipTest.php
index 65621c9a73a9..d361a396c142 100644
--- a/core/modules/views/src/Tests/Handler/RelationshipTest.php
+++ b/core/modules/views/src/Tests/Handler/RelationshipTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the base relationship handler.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\relationship\RelationshipPluginBase
  */
 class RelationshipTest extends RelationshipJoinTestBase {
@@ -35,14 +36,6 @@ class RelationshipTest extends RelationshipJoinTestBase {
     'users_views_test_data_uid' => 'uid',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Relationship: Standard',
-      'description' => 'Tests the base relationship handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests the query result of a view with a relationship.
    */
diff --git a/core/modules/views/src/Tests/Handler/SortDateTest.php b/core/modules/views/src/Tests/Handler/SortDateTest.php
index 1829773d6133..02d88073e8b5 100644
--- a/core/modules/views/src/Tests/Handler/SortDateTest.php
+++ b/core/modules/views/src/Tests/Handler/SortDateTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests for core Drupal\views\Plugin\views\sort\Date handler.
+ *
+ * @group views
  */
 class SortDateTest extends ViewUnitTestBase {
 
@@ -23,14 +25,6 @@ class SortDateTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Sort: Date',
-      'description' => 'Test the core Drupal\views\Plugin\views\sort\Date handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   protected function expectedResultSet($granularity, $reverse = TRUE) {
     $expected = array();
     if (!$reverse) {
diff --git a/core/modules/views/src/Tests/Handler/SortRandomTest.php b/core/modules/views/src/Tests/Handler/SortRandomTest.php
index 2de7b49b8063..843019b6b12b 100644
--- a/core/modules/views/src/Tests/Handler/SortRandomTest.php
+++ b/core/modules/views/src/Tests/Handler/SortRandomTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests for core Drupal\views\Plugin\views\sort\Random handler.
+ *
+ * @group views
  */
 class SortRandomTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class SortRandomTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Sort: Random',
-      'description' => 'Test the core Drupal\views\Plugin\views\sort\Random handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Add more items to the test set, to make the order tests more robust.
    */
diff --git a/core/modules/views/src/Tests/Handler/SortTest.php b/core/modules/views/src/Tests/Handler/SortTest.php
index 8f33acca7967..fc3be55687dd 100644
--- a/core/modules/views/src/Tests/Handler/SortTest.php
+++ b/core/modules/views/src/Tests/Handler/SortTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests for core Drupal\views\Plugin\views\sort\SortPluginBase handler.
+ *
+ * @group views
  */
 class SortTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class SortTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Sort: Generic',
-      'description' => 'Test the core Drupal\views\Plugin\views\sort\SortPluginBase handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * Tests numeric ordering of the result set.
    */
diff --git a/core/modules/views/src/Tests/ModuleTest.php b/core/modules/views/src/Tests/ModuleTest.php
index 94014f4a119f..dd976e7b66b7 100644
--- a/core/modules/views/src/Tests/ModuleTest.php
+++ b/core/modules/views/src/Tests/ModuleTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests basic functions from the Views module.
+ *
+ * @group views
  */
 use Drupal\views\Plugin\views\filter\Standard;
 use Drupal\views\Views;
@@ -39,14 +41,6 @@ class ModuleTest extends ViewUnitTestBase {
    */
   protected $lastErrorMessage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views Module tests',
-      'description' => 'Tests some basic functions of views.module.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests the views_get_handler method.
    *
diff --git a/core/modules/views/src/Tests/Plugin/AccessTest.php b/core/modules/views/src/Tests/Plugin/AccessTest.php
index eaff047bc7da..9f5f59e48949 100644
--- a/core/modules/views/src/Tests/Plugin/AccessTest.php
+++ b/core/modules/views/src/Tests/Plugin/AccessTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Basic test for pluggable access.
+ * Tests pluggable access for views.
  *
+ * @group views
  * @todo It probably make sense to split the test up by one for role/perm/none
  *   and the two generic ones.
  */
@@ -32,14 +33,6 @@ class AccessTest extends PluginTestBase {
    */
   public static $modules = array('node');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Access',
-      'description' => 'Tests pluggable access for views.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php b/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
index 6f50fa3e714f..067325c10798 100644
--- a/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
+++ b/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
@@ -12,7 +12,9 @@
 
 
 /**
- * Basic test for pluggable argument default.
+ * Tests pluggable argument_default for views.
+ *
+ * @group views
  */
 class ArgumentDefaultTest extends PluginTestBase {
 
@@ -30,14 +32,6 @@ class ArgumentDefaultTest extends PluginTestBase {
    */
   public static $modules = array('node', 'views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument default',
-      'description' => 'Tests pluggable argument_default for views.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php b/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
index 2035cce6d3f7..6a29a4e4e4a6 100644
--- a/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
+++ b/core/modules/views/src/Tests/Plugin/ArgumentValidatorTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests Views argument validators.
+ *
+ * @group views
  */
 class ArgumentValidatorTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class ArgumentValidatorTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view_argument_validate_numeric');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument validator',
-      'group' => 'Views Plugins',
-      'description' => 'Test argument validator tests.',
-    );
-  }
-
   function testArgumentValidateNumeric() {
     $view = Views::getView('test_view_argument_validate_numeric');
     $view->initHandlers();
diff --git a/core/modules/views/src/Tests/Plugin/BlockDependenciesTest.php b/core/modules/views/src/Tests/Plugin/BlockDependenciesTest.php
index 0475e232addc..ed394d01bade 100644
--- a/core/modules/views/src/Tests/Plugin/BlockDependenciesTest.php
+++ b/core/modules/views/src/Tests/Plugin/BlockDependenciesTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Tests\ViewUnitTestBase;
 
 /**
- * Tests exposed views derived blocks have the correct config dependencies.
+ * Tests views block config dependencies functionality.
+ *
+ * @group views
  */
 class BlockDependenciesTest extends ViewUnitTestBase {
 
@@ -28,17 +30,6 @@ class BlockDependenciesTest extends ViewUnitTestBase {
    */
   public static $modules = array('node', 'block', 'user');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Views block config dependencies',
-      'description' => 'Test views block config dependencies functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * Tests that exposed filter blocks have the correct dependencies.
    *
diff --git a/core/modules/views/src/Tests/Plugin/CacheTagTest.php b/core/modules/views/src/Tests/Plugin/CacheTagTest.php
index 960690be6ec8..34b243478580 100644
--- a/core/modules/views/src/Tests/Plugin/CacheTagTest.php
+++ b/core/modules/views/src/Tests/Plugin/CacheTagTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the Tag class.
+ * Tests tag cache plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\cache\Tag
  */
 class CacheTagTest extends PluginTestBase {
@@ -72,14 +73,6 @@ class CacheTagTest extends PluginTestBase {
    */
   protected $user;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cache tag',
-      'description' => 'Tests tag cache plugin.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/CacheTest.php b/core/modules/views/src/Tests/Plugin/CacheTest.php
index ce67988d586b..74a0f95913fb 100644
--- a/core/modules/views/src/Tests/Plugin/CacheTest.php
+++ b/core/modules/views/src/Tests/Plugin/CacheTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\ViewExecutable;
 
 /**
- * Basic test for pluggable caching.
+ * Tests pluggable caching for views.
  *
+ * @group views
  * @see views_plugin_cache
  */
 class CacheTest extends PluginTestBase {
@@ -24,14 +25,6 @@ class CacheTest extends PluginTestBase {
    */
   public static $testViews = array('test_view', 'test_cache');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cache',
-      'description' => 'Tests pluggable caching for views.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayAttachmentTest.php b/core/modules/views/src/Tests/Plugin/DisplayAttachmentTest.php
index 7e550393adc0..e1cd4ec0986b 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayAttachmentTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayAttachmentTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the attachment display plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\display\Attachment
  */
 class DisplayAttachmentTest extends PluginTestBase {
@@ -21,14 +22,6 @@ class DisplayAttachmentTest extends PluginTestBase {
    */
   public static $testViews = array('test_display_attachment');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Attachment plugin',
-      'description' => 'Tests the attachment display plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayExtenderTest.php b/core/modules/views/src/Tests/Plugin/DisplayExtenderTest.php
index e646b0a5a637..d84d35568ad2 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayExtenderTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayExtenderTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the display extender plugins.
  *
+ * @group views
  * @see \Drupal\views_test_data\Plugin\views\display_extender\DisplayExtenderTest
  */
 class DisplayExtenderTest extends PluginTestBase {
@@ -24,14 +25,6 @@ class DisplayExtenderTest extends PluginTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display extender',
-      'description' => 'Tests the display extender plugins.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php b/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
index 7edfd430c5b5..e012e4192721 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the feed display plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\display\Feed
  */
 class DisplayFeedTest extends PluginTestBase {
@@ -28,14 +29,6 @@ class DisplayFeedTest extends PluginTestBase {
    */
   public static $modules = array('block', 'node', 'views');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Feed plugin',
-      'description' => 'Tests the feed display plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayPageTest.php b/core/modules/views/src/Tests/Plugin/DisplayPageTest.php
index a7d4418d6447..712d1ae71d5f 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayPageTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayPageTest.php
@@ -15,6 +15,7 @@
 /**
  * Tests the page display plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\display\Page
  */
 class DisplayPageTest extends ViewUnitTestBase {
@@ -40,14 +41,6 @@ class DisplayPageTest extends ViewUnitTestBase {
    */
   protected $routerDumper;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Page plugin',
-      'description' => 'Tests the page display plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/DisplayPageWebTest.php b/core/modules/views/src/Tests/Plugin/DisplayPageWebTest.php
index f204e9e821ad..a8bf8e6b0ef4 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayPageWebTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayPageWebTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the views page display plugin as webtest.
+ *
+ * @group views
  */
 class DisplayPageWebTest extends PluginTestBase {
 
@@ -19,14 +21,6 @@ class DisplayPageWebTest extends PluginTestBase {
    */
   public static $testViews = array('test_page_display_arguments', 'test_page_display_menu');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Page plugin (web)',
-      'description' => 'Tests the page display plugin (web).',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayTest.php b/core/modules/views/src/Tests/Plugin/DisplayTest.php
index 413ee2987145..9b5d874ef9cb 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the basic display plugin.
+ *
+ * @group views
  */
 class DisplayTest extends PluginTestBase {
 
@@ -29,14 +31,6 @@ class DisplayTest extends PluginTestBase {
    */
   public static $modules = array('views_ui', 'node', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display',
-      'description' => 'Tests the basic display plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/DisplayUnitTest.php b/core/modules/views/src/Tests/Plugin/DisplayUnitTest.php
index 0a36d53a6c41..918f3bd19587 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayUnitTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayUnitTest.php
@@ -18,6 +18,8 @@
 
 /**
  * Drupal unit tests for the DisplayPluginBase class.
+ *
+ * @group views
  */
 class DisplayUnitTest extends ViewUnitTestBase {
 
@@ -60,14 +62,6 @@ class DisplayUnitTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_display_defaults');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display unit tests',
-      'description' => 'Unit tests for the DisplayPluginBase class.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   /**
    * Tests the default display options.
    */
diff --git a/core/modules/views/src/Tests/Plugin/ExposedFormTest.php b/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
index 61c156895077..f05abf3bbd93 100644
--- a/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
+++ b/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
@@ -12,7 +12,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests exposed forms.
+ * Tests exposed forms functionality.
+ *
+ * @group views
  */
 class ExposedFormTest extends ViewTestBase {
 
@@ -30,14 +32,6 @@ class ExposedFormTest extends ViewTestBase {
    */
   public static $modules = array('node', 'views_ui', 'block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Exposed forms',
-      'description' => 'Test exposed forms functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/FilterTest.php b/core/modules/views/src/Tests/Plugin/FilterTest.php
index 77ad92e6a811..63d90ab2b232 100644
--- a/core/modules/views/src/Tests/Plugin/FilterTest.php
+++ b/core/modules/views/src/Tests/Plugin/FilterTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests general filter plugin functionality.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\filter\FilterPluginBase
  */
 class FilterTest extends PluginTestBase {
@@ -31,14 +32,6 @@ class FilterTest extends PluginTestBase {
    */
   public static $modules = array('views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: General',
-      'description' => 'Tests general filter plugin functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/JoinTest.php b/core/modules/views/src/Tests/Plugin/JoinTest.php
index dfb470e06c68..03d1439b1a20 100644
--- a/core/modules/views/src/Tests/Plugin/JoinTest.php
+++ b/core/modules/views/src/Tests/Plugin/JoinTest.php
@@ -13,8 +13,9 @@
 
 
 /**
- * Tests a generic join plugin and the join plugin base.
+ * Tests the join plugin.
  *
+ * @group views
  * @see \Drupal\views_test_data\Plugin\views\join\JoinTest
  * @see \Drupal\views\Plugin\views\join\JoinPluginBase
  */
@@ -34,14 +35,6 @@ class JoinTest extends RelationshipJoinTestBase {
    */
   protected $manager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Join',
-      'description' => 'Tests the join plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/MiniPagerTest.php b/core/modules/views/src/Tests/Plugin/MiniPagerTest.php
index e5f684ae3fa2..f8263a08b8db 100644
--- a/core/modules/views/src/Tests/Plugin/MiniPagerTest.php
+++ b/core/modules/views/src/Tests/Plugin/MiniPagerTest.php
@@ -10,8 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the mini pager plugin
+ * Tests the mini pager plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\pager\Mini
  */
 class MiniPagerTest extends PluginTestBase {
@@ -37,14 +38,6 @@ class MiniPagerTest extends PluginTestBase {
    */
   protected $nodes;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Pager: Mini',
-      'description' => 'Test the mini pager plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/PagerTest.php b/core/modules/views/src/Tests/Plugin/PagerTest.php
index 9ba46d80e16d..7a14e5432321 100644
--- a/core/modules/views/src/Tests/Plugin/PagerTest.php
+++ b/core/modules/views/src/Tests/Plugin/PagerTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the pluggable pager system.
+ *
+ * @group views
  */
 class PagerTest extends PluginTestBase {
 
@@ -28,14 +30,6 @@ class PagerTest extends PluginTestBase {
    */
   public static $modules = array('node', 'views_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Pager',
-      'description' => 'Test the pluggable pager system.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * Pagers was sometimes not stored.
    *
diff --git a/core/modules/views/src/Tests/Plugin/QueryTest.php b/core/modules/views/src/Tests/Plugin/QueryTest.php
index ac3513bbca1e..7557faa6c6ce 100644
--- a/core/modules/views/src/Tests/Plugin/QueryTest.php
+++ b/core/modules/views/src/Tests/Plugin/QueryTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests query plugins.
+ *
+ * @group views
  */
 class QueryTest extends ViewUnitTestBase {
 
@@ -23,14 +25,6 @@ class QueryTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Query',
-      'description' => 'Tests query plugins.',
-      'group' => 'Views Plugins'
-    );
-  }
-
   protected function viewsData() {
     $data = parent::viewsData();
     $data['views_test_data']['table']['base']['query_id'] = 'query_test';
diff --git a/core/modules/views/src/Tests/Plugin/RowEntityTest.php b/core/modules/views/src/Tests/Plugin/RowEntityTest.php
index 70511f32a6b1..e422d9688aa6 100644
--- a/core/modules/views/src/Tests/Plugin/RowEntityTest.php
+++ b/core/modules/views/src/Tests/Plugin/RowEntityTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the generic entity row plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\row\EntityRow
  */
 class RowEntityTest extends ViewUnitTestBase {
@@ -31,14 +32,6 @@ class RowEntityTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_entity_row');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Row: Entity',
-      'description' => 'Tests the generic entity row plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/SqlQueryTest.php b/core/modules/views/src/Tests/Plugin/SqlQueryTest.php
index 328473345f00..08e0f3c2371c 100644
--- a/core/modules/views/src/Tests/Plugin/SqlQueryTest.php
+++ b/core/modules/views/src/Tests/Plugin/SqlQueryTest.php
@@ -13,6 +13,7 @@
 /**
  * Tests the sql query plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\query\Sql
  */
 class SqlQueryTest extends ViewUnitTestBase {
@@ -24,17 +25,6 @@ class SqlQueryTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Sql query',
-      'description' => 'Tests the sql query plugin',
-      'group' => 'Views Plugins'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleGridTest.php b/core/modules/views/src/Tests/Plugin/StyleGridTest.php
index dfa4e30514e1..dc72064a30e9 100644
--- a/core/modules/views/src/Tests/Plugin/StyleGridTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleGridTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the grid style plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\style\Grid
  */
 class StyleGridTest extends PluginTestBase {
@@ -30,17 +31,6 @@ class StyleGridTest extends PluginTestBase {
    */
   protected $alignmentsTested = array();
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Grid',
-      'description' => 'Tests the grid style plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleMappingTest.php b/core/modules/views/src/Tests/Plugin/StyleMappingTest.php
index eb3fdea399ff..24b06d20cbc7 100644
--- a/core/modules/views/src/Tests/Plugin/StyleMappingTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleMappingTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the default/mapping row style.
+ * Tests mapping style functionality.
+ *
+ * @group views
  */
 class StyleMappingTest extends StyleTestBase {
 
@@ -23,14 +25,6 @@ class StyleMappingTest extends StyleTestBase {
    */
   public static $testViews = array('test_style_mapping');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Mapping',
-      'description' => 'Test mapping style functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * Verifies that the fields were mapped correctly.
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleOpmlTest.php b/core/modules/views/src/Tests/Plugin/StyleOpmlTest.php
index 21273304e438..d4c8c1aec6bd 100644
--- a/core/modules/views/src/Tests/Plugin/StyleOpmlTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleOpmlTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the OPML feed style plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\style\Opml
  */
 class StyleOpmlTest extends PluginTestBase {
@@ -28,17 +29,6 @@ class StyleOpmlTest extends PluginTestBase {
    */
   public static $modules = array('aggregator');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: OPML',
-      'description' => 'Tests the OPML feed style plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleTableTest.php b/core/modules/views/src/Tests/Plugin/StyleTableTest.php
index 62a784b3f73a..de7e19809ab0 100644
--- a/core/modules/views/src/Tests/Plugin/StyleTableTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleTableTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the table style views plugin.
+ *
+ * @group views
  */
 class StyleTableTest extends PluginTestBase {
 
@@ -19,14 +21,6 @@ class StyleTableTest extends PluginTestBase {
    */
   public static $testViews = array('test_table');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Table',
-      'description' => 'Tests the table style plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleTableUnitTest.php b/core/modules/views/src/Tests/Plugin/StyleTableUnitTest.php
index 65a2d90b0bb0..701aa8093a0c 100644
--- a/core/modules/views/src/Tests/Plugin/StyleTableUnitTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleTableUnitTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the table style plugin.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\style\Table
  */
 class StyleTableUnitTest extends PluginUnitTestBase {
@@ -25,14 +26,6 @@ class StyleTableUnitTest extends PluginUnitTestBase {
    */
   public static $testViews = array('test_table');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Table (Unit Test)',
-      'description' => 'Tests the table style plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * Tests the table style.
    */
diff --git a/core/modules/views/src/Tests/Plugin/StyleTest.php b/core/modules/views/src/Tests/Plugin/StyleTest.php
index b20afb6ec4eb..223c23ed56fb 100644
--- a/core/modules/views/src/Tests/Plugin/StyleTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleTest.php
@@ -15,8 +15,9 @@
 use Drupal\views_test_data\Plugin\views\style\StyleTest as StyleTestPlugin;
 
 /**
- * Tests some general style plugin related functionality.
+ * Tests general style functionality.
  *
+ * @group views
  * @see \Drupal\views_test_data\Plugin\views\style\StyleTest.
  */
 class StyleTest extends ViewTestBase {
@@ -35,14 +36,6 @@ class StyleTest extends ViewTestBase {
    */
   protected $elements;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: General',
-      'description' => 'Test general style functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Plugin/StyleUnformattedTest.php b/core/modules/views/src/Tests/Plugin/StyleUnformattedTest.php
index 0c367d2d56ff..0835d98750ca 100644
--- a/core/modules/views/src/Tests/Plugin/StyleUnformattedTest.php
+++ b/core/modules/views/src/Tests/Plugin/StyleUnformattedTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the default/unformatted row style.
+ * Tests unformatted style functionality.
+ *
+ * @group views
  */
 class StyleUnformattedTest extends StyleTestBase {
 
@@ -21,14 +23,6 @@ class StyleUnformattedTest extends StyleTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: Unformatted',
-      'description' => 'Test unformatted style functionality.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * Make sure that the default css classes works as expected.
    */
diff --git a/core/modules/views/src/Tests/Plugin/ViewsBlockTest.php b/core/modules/views/src/Tests/Plugin/ViewsBlockTest.php
index 23083ce15997..7aa9381f5b18 100644
--- a/core/modules/views/src/Tests/Plugin/ViewsBlockTest.php
+++ b/core/modules/views/src/Tests/Plugin/ViewsBlockTest.php
@@ -13,7 +13,9 @@
 use Drupal\views\Tests\ViewUnitTestBase;
 
 /**
- * Tests the block views plugin.
+ * Tests native behaviors of the block views plugin.
+ *
+ * @group views
  */
 class ViewsBlockTest extends ViewUnitTestBase {
 
@@ -31,14 +33,6 @@ class ViewsBlockTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view_block');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views block',
-      'description' => 'Tests native behaviors of the block views plugin.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/PluginInstanceTest.php b/core/modules/views/src/Tests/PluginInstanceTest.php
index e70bd1d86f6e..18934322981e 100644
--- a/core/modules/views/src/Tests/PluginInstanceTest.php
+++ b/core/modules/views/src/Tests/PluginInstanceTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Checks general plugin data and instances for all plugin types.
+ * Tests that an instance of all views plugins can be created.
+ *
+ * @group views
  */
 class PluginInstanceTest extends ViewUnitTestBase {
 
@@ -48,14 +50,6 @@ class PluginInstanceTest extends ViewUnitTestBase {
    */
   protected $definitions;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Plugin instantiation',
-      'description' => 'Tests that an instance of all views plugins can be created.',
-      'group' => 'Views',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/QueryGroupByTest.php b/core/modules/views/src/Tests/QueryGroupByTest.php
index ff0c225bcd84..05de2b75f063 100644
--- a/core/modules/views/src/Tests/QueryGroupByTest.php
+++ b/core/modules/views/src/Tests/QueryGroupByTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests aggregate functionality of views, for example count.
+ *
+ * @group views
  */
 class QueryGroupByTest extends ViewUnitTestBase {
 
@@ -35,14 +37,6 @@ class QueryGroupByTest extends ViewUnitTestBase {
    */
   public $storage;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Groupby',
-      'description' => 'Tests aggregate functionality of views, for example count.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/SearchIntegrationTest.php b/core/modules/views/src/Tests/SearchIntegrationTest.php
index 46d5b037a6e0..6a8ccbad4210 100644
--- a/core/modules/views/src/Tests/SearchIntegrationTest.php
+++ b/core/modules/views/src/Tests/SearchIntegrationTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests search integration filters.
+ *
+ * @group views
  */
 class SearchIntegrationTest extends ViewTestBase {
 
@@ -26,17 +28,6 @@ class SearchIntegrationTest extends ViewTestBase {
    */
   public static $testViews = array('test_search');
 
-  /**
-   * {inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Search integration tests',
-      'description' => 'Tests search integration filters of views.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests search integration.
    */
diff --git a/core/modules/views/src/Tests/SearchMultilingualTest.php b/core/modules/views/src/Tests/SearchMultilingualTest.php
index ca3ae5bafcd5..e66ce54feb6a 100644
--- a/core/modules/views/src/Tests/SearchMultilingualTest.php
+++ b/core/modules/views/src/Tests/SearchMultilingualTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests search integration filters with multilingual nodes.
+ *
+ * @group views
  */
 class SearchMultilingualTest extends ViewTestBase {
 
@@ -28,17 +30,6 @@ class SearchMultilingualTest extends ViewTestBase {
    */
   public static $testViews = array('test_search');
 
-  /**
-   * {inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Search multilingual tests',
-      'description' => 'Tests search filters of views with multilingual nodes.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests search with multilingual nodes.
    */
diff --git a/core/modules/views/src/Tests/TokenReplaceTest.php b/core/modules/views/src/Tests/TokenReplaceTest.php
index 4b58fe02230b..d6bf1a90357f 100644
--- a/core/modules/views/src/Tests/TokenReplaceTest.php
+++ b/core/modules/views/src/Tests/TokenReplaceTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests core view token replacement.
+ *
+ * @group views
  */
 class TokenReplaceTest extends ViewUnitTestBase {
 
@@ -23,14 +25,6 @@ class TokenReplaceTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_tokens');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View core token replacement',
-      'description' => 'Checks view core token replacements.',
-      'group' => 'Views',
-    );
-  }
-
   function setUp() {
     parent::setUp();
     $this->installSchema('system', 'url_alias');
diff --git a/core/modules/views/src/Tests/ViewAjaxTest.php b/core/modules/views/src/Tests/ViewAjaxTest.php
index 2217fac8b9d9..beb1556626fa 100644
--- a/core/modules/views/src/Tests/ViewAjaxTest.php
+++ b/core/modules/views/src/Tests/ViewAjaxTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the ajax view functionality.
+ *
+ * @group views
  */
 class ViewAjaxTest extends ViewTestBase {
 
@@ -21,14 +23,6 @@ class ViewAjaxTest extends ViewTestBase {
    */
   public static $testViews = array('test_ajax_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View: Ajax',
-      'description' => 'Tests the ajax view functionality.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewElementTest.php b/core/modules/views/src/Tests/ViewElementTest.php
index c7ca56d69125..c252af88b418 100644
--- a/core/modules/views/src/Tests/ViewElementTest.php
+++ b/core/modules/views/src/Tests/ViewElementTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the 'view' element type.
+ * Tests the view render element.
+ *
+ * @group views
  */
 class ViewElementTest extends ViewTestBase {
 
@@ -28,14 +30,6 @@ class ViewElementTest extends ViewTestBase {
    */
   protected $render;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View element',
-      'description' => 'Tests the view render element.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewExecutableTest.php b/core/modules/views/src/Tests/ViewExecutableTest.php
index 183e1afdf62e..e84232de7cb5 100644
--- a/core/modules/views/src/Tests/ViewExecutableTest.php
+++ b/core/modules/views/src/Tests/ViewExecutableTest.php
@@ -25,6 +25,7 @@
 /**
  * Tests the ViewExecutable class.
  *
+ * @group views
  * @see \Drupal\views\ViewExecutable
  */
 class ViewExecutableTest extends ViewUnitTestBase {
@@ -75,14 +76,6 @@ class ViewExecutableTest extends ViewUnitTestBase {
     'parent_views',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View executable tests',
-      'description' => 'Tests the ViewExecutable class.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUpFixtures() {
     $this->installEntitySchema('user');
     $this->installEntitySchema('node');
diff --git a/core/modules/views/src/Tests/ViewRenderTest.php b/core/modules/views/src/Tests/ViewRenderTest.php
index db066b2b6dc5..ac60e6af25e9 100644
--- a/core/modules/views/src/Tests/ViewRenderTest.php
+++ b/core/modules/views/src/Tests/ViewRenderTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests general rendering of a view.
+ *
+ * @group views
  */
 class ViewRenderTest extends ViewTestBase {
 
@@ -22,14 +24,6 @@ class ViewRenderTest extends ViewTestBase {
    */
   public static $testViews = array('test_view_render');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View render tests',
-      'description' => 'Tests the general rendering of a view.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewStorageTest.php b/core/modules/views/src/Tests/ViewStorageTest.php
index af0341aa26ab..283c3b1aa93a 100644
--- a/core/modules/views/src/Tests/ViewStorageTest.php
+++ b/core/modules/views/src/Tests/ViewStorageTest.php
@@ -16,8 +16,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the functionality of View and ConfigEntityStorage.
+ * Tests the CRUD functionality for a view.
  *
+ * @group views
  * @see \Drupal\views\Entity\View
  * @see \Drupal\Core\Config\Entity\ConfigEntityStorage
  */
@@ -61,14 +62,6 @@ class ViewStorageTest extends ViewUnitTestBase {
    */
   public static $testViews = array('test_view_storage');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View storage tests',
-      'description' => 'Tests the CRUD functionality for a view.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests CRUD operations.
    */
diff --git a/core/modules/views/src/Tests/ViewsHooksTest.php b/core/modules/views/src/Tests/ViewsHooksTest.php
index 2a90d11f0441..534df07b36df 100644
--- a/core/modules/views/src/Tests/ViewsHooksTest.php
+++ b/core/modules/views/src/Tests/ViewsHooksTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests that views hooks are registered when defined in $module.views.inc.
  *
+ * @group views
  * @see views_hook_info().
  * @see field_hook_info().
  */
@@ -53,14 +54,6 @@ class ViewsHooksTest extends ViewUnitTestBase {
    */
   protected $moduleHandler;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views hooks',
-      'description' => 'Tests that views hooks are registered when defined in $module.views.inc.',
-      'group' => 'Views',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewsTaxonomyAutocompleteTest.php b/core/modules/views/src/Tests/ViewsTaxonomyAutocompleteTest.php
index 35d5f8774e63..4e0cffbfe580 100644
--- a/core/modules/views/src/Tests/ViewsTaxonomyAutocompleteTest.php
+++ b/core/modules/views/src/Tests/ViewsTaxonomyAutocompleteTest.php
@@ -14,6 +14,7 @@
 /**
  * Tests the views taxonomy complete menu callback.
  *
+ * @group views
  * @see views_ajax_autocomplete_taxonomy()
  */
 class ViewsTaxonomyAutocompleteTest extends ViewTestBase {
@@ -46,14 +47,6 @@ class ViewsTaxonomyAutocompleteTest extends ViewTestBase {
    */
   public static $modules = array('node', 'taxonomy');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View taxonomy autocomplete',
-      'description' => 'Tests the view taxonomy autocomplete AJAX callback.',
-      'group' => 'Views'
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewsTemplateTest.php b/core/modules/views/src/Tests/ViewsTemplateTest.php
index aa0452c75dd6..7eacc0886b73 100644
--- a/core/modules/views/src/Tests/ViewsTemplateTest.php
+++ b/core/modules/views/src/Tests/ViewsTemplateTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the views custom templates.
+ * Tests the template retrieval of views.
  *
+ * @group views
  * @see \Drupal\views_test_data\Plugin\views\style\StyleTemplateTest
  */
 class ViewsTemplateTest extends ViewTestBase {
@@ -24,14 +25,6 @@ class ViewsTemplateTest extends ViewTestBase {
    */
   public static $testViews = array('test_view_display_template');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View template tests',
-      'description' => 'Tests the template retrieval of views.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/ViewsThemeIntegrationTest.php b/core/modules/views/src/Tests/ViewsThemeIntegrationTest.php
index 386021617c52..a73523ce327a 100644
--- a/core/modules/views/src/Tests/ViewsThemeIntegrationTest.php
+++ b/core/modules/views/src/Tests/ViewsThemeIntegrationTest.php
@@ -8,9 +8,11 @@
 namespace Drupal\views\Tests;
 
 /**
- * As views uses a lot of theme related functionality we need to test these too.
+ * Tests the Views theme integration.
  *
  * We test against test_basetheme and test_subtheme provided by theme_test
+ *
+ * @group views
  */
 class ViewsThemeIntegrationTest extends ViewTestBase {
 
@@ -33,17 +35,6 @@ class ViewsThemeIntegrationTest extends ViewTestBase {
    */
   public static $modules = array('views', 'theme_test');
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Views theme integration test',
-      'description' => 'Tests the Views theme integration.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/src/Tests/Wizard/BasicTest.php b/core/modules/views/src/Tests/Wizard/BasicTest.php
index feec03fed40f..493a49f48236 100644
--- a/core/modules/views/src/Tests/Wizard/BasicTest.php
+++ b/core/modules/views/src/Tests/Wizard/BasicTest.php
@@ -12,17 +12,11 @@
 
 /**
  * Tests creating views with the wizard and viewing them on the listing page.
+ *
+ * @group views
  */
 class BasicTest extends WizardTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Basic functionality',
-      'description' => 'Test creating basic views with the wizard and viewing them on the listing page.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   function testViewsWizardAndListing() {
     $this->drupalCreateContentType(array('type' => 'article'));
     $this->drupalCreateContentType(array('type' => 'page'));
diff --git a/core/modules/views/src/Tests/Wizard/ItemsPerPageTest.php b/core/modules/views/src/Tests/Wizard/ItemsPerPageTest.php
index 97accc82f0ff..0a8fc2823904 100644
--- a/core/modules/views/src/Tests/Wizard/ItemsPerPageTest.php
+++ b/core/modules/views/src/Tests/Wizard/ItemsPerPageTest.php
@@ -8,18 +8,13 @@
 namespace Drupal\views\Tests\Wizard;
 
 /**
- * Tests the ability of the views wizard to specify the number of items per page.
+ * Tests the ability of the views wizard to specify the number of items per
+ * page.
+ *
+ * @group views
  */
 class ItemsPerPageTest extends WizardTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Items per page functionality',
-      'description' => 'Test the ability of the views wizard to specify the number of items per page.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * Tests the number of items per page.
    */
diff --git a/core/modules/views/src/Tests/Wizard/MenuTest.php b/core/modules/views/src/Tests/Wizard/MenuTest.php
index f294a89902f1..3e9b8be40886 100644
--- a/core/modules/views/src/Tests/Wizard/MenuTest.php
+++ b/core/modules/views/src/Tests/Wizard/MenuTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the ability of the views wizard to put views in a menu.
+ *
+ * @group views
  */
 class MenuTest extends WizardTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Menu functionality',
-      'description' => 'Test the ability of the views wizard to put views in a menu.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * Tests the menu functionality.
    */
diff --git a/core/modules/views/src/Tests/Wizard/SortingTest.php b/core/modules/views/src/Tests/Wizard/SortingTest.php
index 13b20d392194..f05ae4297c9f 100644
--- a/core/modules/views/src/Tests/Wizard/SortingTest.php
+++ b/core/modules/views/src/Tests/Wizard/SortingTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests the ability of the views wizard to create views with sorts.
+ *
+ * @group views
  */
 class SortingTest extends WizardTestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Sorting functionality',
-      'description' => 'Test the ability of the views wizard to create views with sorts.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * Tests the sorting functionality.
    */
diff --git a/core/modules/views/src/Tests/Wizard/TaggedWithTest.php b/core/modules/views/src/Tests/Wizard/TaggedWithTest.php
index 47fedaa46090..c46a0f0bd129 100644
--- a/core/modules/views/src/Tests/Wizard/TaggedWithTest.php
+++ b/core/modules/views/src/Tests/Wizard/TaggedWithTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the ability of the views wizard to create views filtered by taxonomy.
+ *
+ * @group views
  */
 class TaggedWithTest extends WizardTestBase {
 
@@ -31,14 +33,6 @@ class TaggedWithTest extends WizardTestBase {
 
   protected $tag_instance;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Taxonomy functionality',
-      'description' => 'Test the ability of the views wizard to create views filtered by taxonomy.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/src/Tests/Wizard/WizardPluginBaseUnitTest.php b/core/modules/views/src/Tests/Wizard/WizardPluginBaseUnitTest.php
index 78bb21427b34..37880d4adaa0 100644
--- a/core/modules/views/src/Tests/Wizard/WizardPluginBaseUnitTest.php
+++ b/core/modules/views/src/Tests/Wizard/WizardPluginBaseUnitTest.php
@@ -12,8 +12,9 @@
 use Drupal\views_ui\ViewUI;
 
 /**
- * Tests the wizard code.
+ * Tests the wizard base plugin class.
  *
+ * @group views
  * @see \Drupal\views\Plugin\views\wizard\WizardPluginBase
  */
 class WizardPluginBaseUnitTest extends ViewUnitTestBase {
@@ -32,14 +33,6 @@ class WizardPluginBaseUnitTest extends ViewUnitTestBase {
    */
   protected $wizard;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Wizard Plugin Base',
-      'description' => 'Test the wizard base plugin class',
-      'group' => 'Views Wizard',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/tests/src/Controller/ViewAjaxControllerTest.php b/core/modules/views/tests/src/Controller/ViewAjaxControllerTest.php
index 588eec720a06..8b685af78de2 100644
--- a/core/modules/views/tests/src/Controller/ViewAjaxControllerTest.php
+++ b/core/modules/views/tests/src/Controller/ViewAjaxControllerTest.php
@@ -14,12 +14,8 @@
 
 
 /**
- * Tests the views ajax controller.
- *
- * @group Drupal
- * @group Views
- *
- * @see \Drupal\views\Controller\ViewAjaxController
+ * @coversDefaultClass \Drupal\views\Controller\ViewAjaxController
+ * @group views
  */
 class ViewAjaxControllerTest extends UnitTestCase {
 
@@ -44,14 +40,6 @@ class ViewAjaxControllerTest extends UnitTestCase {
    */
   protected $viewAjaxController;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View: Ajax controller',
-      'description' => 'Tests the views ajax controller.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     $this->viewStorage = $this->getMock('Drupal\Core\Entity\EntityStorageInterface');
     $this->executableFactory = $this->getMockBuilder('Drupal\views\ViewExecutableFactory')
diff --git a/core/modules/views/tests/src/Entity/ViewTest.php b/core/modules/views/tests/src/Entity/ViewTest.php
index 20e0bf4ecd2f..520c6a26bc09 100644
--- a/core/modules/views/tests/src/Entity/ViewTest.php
+++ b/core/modules/views/tests/src/Entity/ViewTest.php
@@ -13,23 +13,11 @@
 use Drupal\views\Entity\View;
 
 /**
- * Tests the view entity.
- *
  * @coversDefaultClass \Drupal\views\Entity\View
+ * @group views
  */
 class ViewTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'View entity test',
-      'description' => 'Tests the \Drupal\views\Entity\View class.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/EventSubscriber/RouteSubscriberTest.php b/core/modules/views/tests/src/EventSubscriber/RouteSubscriberTest.php
index 0510cd05d7eb..e27a5feae4e9 100644
--- a/core/modules/views/tests/src/EventSubscriber/RouteSubscriberTest.php
+++ b/core/modules/views/tests/src/EventSubscriber/RouteSubscriberTest.php
@@ -14,9 +14,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the views route subscriber.
- *
  * @coversDefaultClass \Drupal\views\EventSubscriber\RouteSubscriber
+ * @group views
  */
 class RouteSubscriberTest extends UnitTestCase {
 
@@ -48,17 +47,6 @@ class RouteSubscriberTest extends UnitTestCase {
    */
   protected $state;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Views route subscriber',
-      'description' => 'Tests the views route subscriber.',
-      'group' => 'Views plugins',
-    );
-  }
-
   protected function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
     $this->viewStorage = $this->getMockBuilder('Drupal\Core\Config\Entity\ConfigEntityStorage')
diff --git a/core/modules/views/tests/src/Plugin/Block/ViewsBlockTest.php b/core/modules/views/tests/src/Plugin/Block/ViewsBlockTest.php
index c1029ddd4f66..b3cb73b2bc18 100644
--- a/core/modules/views/tests/src/Plugin/Block/ViewsBlockTest.php
+++ b/core/modules/views/tests/src/Plugin/Block/ViewsBlockTest.php
@@ -18,9 +18,8 @@
 }
 
 /**
- * Tests the views block plugin.
- *
- * @see \Drupal\views\Plugin\block\ViewsBlock
+ * @coversDefaultClass \Drupal\views\Plugin\block\ViewsBlock
+ * @group views
  */
 class ViewsBlockTest extends UnitTestCase {
 
@@ -59,14 +58,6 @@ class ViewsBlockTest extends UnitTestCase {
    */
   protected $account;
 
-  public static function getInfo() {
-    return array(
-      'name' => ' Block: Views block',
-      'description' => 'Tests the views block plugin.',
-      'group' => 'Views module integration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/Plugin/Derivative/ViewsLocalTaskTest.php b/core/modules/views/tests/src/Plugin/Derivative/ViewsLocalTaskTest.php
index f58aaaef9d64..1ed2a0da9998 100644
--- a/core/modules/views/tests/src/Plugin/Derivative/ViewsLocalTaskTest.php
+++ b/core/modules/views/tests/src/Plugin/Derivative/ViewsLocalTaskTest.php
@@ -13,9 +13,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the views local task derivative.
- *
- * @see \Drupal\views\Plugin\Derivative\ViewsLocalTask
+ * @coversDefaultClass \Drupal\views\Plugin\Derivative\ViewsLocalTask
+ * @group views
  */
 class ViewsLocalTaskTest extends UnitTestCase {
 
@@ -45,14 +44,6 @@ class ViewsLocalTaskTest extends UnitTestCase {
    */
   protected $localTaskDerivative;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views local task derivative',
-      'description' => 'Tests the views local task derivative.',
-      'group' => 'Views plugin',
-    );
-  }
-
   protected function setUp() {
     $this->routeProvider = $this->getMock('Drupal\Core\Routing\RouteProviderInterface');
     $this->state = $this->getMock('Drupal\Core\State\StateInterface');
diff --git a/core/modules/views/tests/src/Plugin/area/MessagesTest.php b/core/modules/views/tests/src/Plugin/area/MessagesTest.php
index ccbf60c6af23..3f57d905b8a3 100644
--- a/core/modules/views/tests/src/Plugin/area/MessagesTest.php
+++ b/core/modules/views/tests/src/Plugin/area/MessagesTest.php
@@ -11,12 +11,8 @@
 use Drupal\views\Plugin\views\area\Messages;
 
 /**
- * Tests the messages area handler
- *
- * @group Views
- * @group Handlers
- *
  * @coversDefaultClass \Drupal\views\Plugin\views\area\Messages
+ * @group views
  */
 class MessagesTest extends UnitTestCase {
 
@@ -34,17 +30,6 @@ class MessagesTest extends UnitTestCase {
    */
   protected $messagesHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Messages',
-      'description' => 'Tests the Drupal\views\Plugin\views\area\Messages handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/Plugin/area/ResultTest.php b/core/modules/views/tests/src/Plugin/area/ResultTest.php
index 8751de054e1d..49820a2538e7 100644
--- a/core/modules/views/tests/src/Plugin/area/ResultTest.php
+++ b/core/modules/views/tests/src/Plugin/area/ResultTest.php
@@ -12,9 +12,8 @@
 use Drupal\views\Plugin\views\area\Result;
 
 /**
- * Tests the result area handler.
- *
- * @see \Drupal\views\Plugin\views\area\Result
+ * @coversDefaultClass \Drupal\views\Plugin\views\area\Result
+ * @group views
  */
 class ResultTest extends UnitTestCase {
 
@@ -32,14 +31,6 @@ class ResultTest extends UnitTestCase {
    */
   protected $resultHandler;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Area: Result',
-      'description' => 'Tests the Drupal\views\Plugin\views\area\Result handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views/tests/src/Plugin/argument_default/QueryParameterTest.php b/core/modules/views/tests/src/Plugin/argument_default/QueryParameterTest.php
index 96998161b36b..f402f679242e 100644
--- a/core/modules/views/tests/src/Plugin/argument_default/QueryParameterTest.php
+++ b/core/modules/views/tests/src/Plugin/argument_default/QueryParameterTest.php
@@ -12,23 +12,11 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the query parameter argument_default plugin.
- *
  * @coversDefaultClass \Drupal\views\Plugin\views\argument_default\QueryParameter
+ * @group views
  */
 class QueryParameterTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\views\Plugin\views\argument_default\QueryParameter',
-      'description' => '',
-      'group' => 'Views Plugin',
-    );
-  }
-
   /**
    * Test the getArgument() method.
    *
diff --git a/core/modules/views/tests/src/Plugin/argument_default/RawTest.php b/core/modules/views/tests/src/Plugin/argument_default/RawTest.php
index a6437a2b0424..5553f8ee86ba 100644
--- a/core/modules/views/tests/src/Plugin/argument_default/RawTest.php
+++ b/core/modules/views/tests/src/Plugin/argument_default/RawTest.php
@@ -12,20 +12,11 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the raw argument default plugin.
- *
- * @see \Drupal\views\Plugin\views\argument_default\Raw
+ * @coversDefaultClass \Drupal\views\Plugin\views\argument_default\Raw
+ * @group views
  */
 class RawTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument default: Raw',
-      'description' => 'Tests the raw argument default plugin.',
-      'group' => 'Views Plugin',
-    );
-  }
-
   /**
    * Test the getArgument() method.
    *
diff --git a/core/modules/views/tests/src/Plugin/argument_validator/EntityTest.php b/core/modules/views/tests/src/Plugin/argument_validator/EntityTest.php
index fe96e662b25d..f79edaa373c4 100644
--- a/core/modules/views/tests/src/Plugin/argument_validator/EntityTest.php
+++ b/core/modules/views/tests/src/Plugin/argument_validator/EntityTest.php
@@ -11,12 +11,8 @@
 use Drupal\views\Plugin\views\argument_validator\Entity;
 
 /**
- * Tests the generic entity argument validator.
- *
- * @group Drupal
- * @group Views
- *
- * @see \Drupal\views\Plugin\views\argument_validator\Entity
+ * @coversDefaultClass \Drupal\views\Plugin\views\argument_validator\Entity
+ * @group views
  */
 class EntityTest extends UnitTestCase {
 
@@ -48,14 +44,6 @@ class EntityTest extends UnitTestCase {
    */
   protected $argumentValidator;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Argument validator: Entity',
-      'description' => 'Tests the generic entity argument validator.',
-      'group' => 'Views Plugin',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/Plugin/display/PathPluginBaseTest.php b/core/modules/views/tests/src/Plugin/display/PathPluginBaseTest.php
index 596b80545cbf..eec11c1dfebd 100644
--- a/core/modules/views/tests/src/Plugin/display/PathPluginBaseTest.php
+++ b/core/modules/views/tests/src/Plugin/display/PathPluginBaseTest.php
@@ -13,9 +13,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the abstract base class for path based display plugins.
- *
- * @see \Drupal\views\Plugin\views\display\PathPluginBase
+ * @coversDefaultClass \Drupal\views\Plugin\views\display\PathPluginBase
+ * @group views
  */
 class PathPluginBaseTest extends UnitTestCase {
 
@@ -54,14 +53,6 @@ class PathPluginBaseTest extends UnitTestCase {
    */
   protected $formError;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Path plugin base.',
-      'description' => 'Tests the abstract base class for path based display plugins.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/Plugin/field/CounterTest.php b/core/modules/views/tests/src/Plugin/field/CounterTest.php
index 50028a40a2bc..151b80e0594c 100644
--- a/core/modules/views/tests/src/Plugin/field/CounterTest.php
+++ b/core/modules/views/tests/src/Plugin/field/CounterTest.php
@@ -15,9 +15,8 @@
 use Drupal\views\Tests\ViewTestData;
 
 /**
- * Tests the counter field plugin.
- *
- * @see \Drupal\views\Plugin\views\field\Counter
+ * @coversDefaultClass \Drupal\views\Plugin\views\field\Counter
+ * @group views
  */
 class CounterTest extends UnitTestCase {
 
@@ -57,14 +56,6 @@ class CounterTest extends UnitTestCase {
    */
   protected $definition;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: Counter (Unit)',
-      'description' => 'Tests the \Drupal\views\Plugin\views\field\Counter handler.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/Plugin/pager/PagerPluginBaseTest.php b/core/modules/views/tests/src/Plugin/pager/PagerPluginBaseTest.php
index bdeb1b448775..24a458bef1d8 100644
--- a/core/modules/views/tests/src/Plugin/pager/PagerPluginBaseTest.php
+++ b/core/modules/views/tests/src/Plugin/pager/PagerPluginBaseTest.php
@@ -11,11 +11,8 @@
 use Drupal\Core\Database\StatementInterface;
 
 /**
- * Tests the PagerPluginBase class
- *
- * @group Views
- *
- * @see \Drupal\views\Plugin\views\pager\PagerPluginBase
+ * @coversDefaultClass \Drupal\views\Plugin\views\pager\PagerPluginBase
+ * @group views
  */
 class PagerPluginBaseTest extends UnitTestCase {
 
@@ -26,14 +23,6 @@ class PagerPluginBaseTest extends UnitTestCase {
    */
   protected $pager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'PagerPluginBase test',
-      'description' => 'Tests the \Drupal\views\Plugin\views\pager\PagerPluginBase class.',
-      'group' => 'Views Handlers',
-    );
-  }
-
   public function setUp() {
     $this->pager = $this->getMockBuilder('Drupal\views\Plugin\views\pager\PagerPluginBase')
       ->disableOriginalConstructor()
diff --git a/core/modules/views/tests/src/PluginBaseTest.php b/core/modules/views/tests/src/PluginBaseTest.php
index ca4e1065ddda..e48dd0094633 100644
--- a/core/modules/views/tests/src/PluginBaseTest.php
+++ b/core/modules/views/tests/src/PluginBaseTest.php
@@ -11,9 +11,8 @@
 use Drupal\views\Tests\TestHelperPlugin;
 
 /**
- * Tests code of the views plugin base class.
- *
- * @see \Drupal\views\Plugin\views\PluginBase.
+ * @coversDefaultClass \Drupal\views\Plugin\views\PluginBase.
+ * @group views
  */
 class PluginBaseTest extends UnitTestCase {
 
@@ -24,14 +23,6 @@ class PluginBaseTest extends UnitTestCase {
    */
   protected $testHelperPlugin;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Plugin base test',
-      'description' => 'Tests code of the views plugin base class.',
-      'group' => 'Views Plugins',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/PluginTypeListTest.php b/core/modules/views/tests/src/PluginTypeListTest.php
index abe815066da5..5d842f6c6193 100644
--- a/core/modules/views/tests/src/PluginTypeListTest.php
+++ b/core/modules/views/tests/src/PluginTypeListTest.php
@@ -10,18 +10,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Class for plugin list testing.
+ * Tests that list of plugin is correct.
+ *
+ * @group views
  */
 class PluginTypeListTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Plugin list',
-      'description' => 'Tests that list of plugin is correct.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests the plugins list is correct.
    */
diff --git a/core/modules/views/tests/src/Routing/ViewPageControllerTest.php b/core/modules/views/tests/src/Routing/ViewPageControllerTest.php
index 94ce9a7eef94..2811735330c7 100644
--- a/core/modules/views/tests/src/Routing/ViewPageControllerTest.php
+++ b/core/modules/views/tests/src/Routing/ViewPageControllerTest.php
@@ -16,12 +16,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the page controller but not the actual execution/rendering of a view.
- *
- * @group Drupal
- * @group Views
- *
- * @see \Drupal\views\Routing\ViewPageController
+ * @coversDefaultClass \Drupal\views\Routing\ViewPageController
+ * @group views
  */
 class ViewPageControllerTest extends UnitTestCase {
 
@@ -46,14 +42,6 @@ class ViewPageControllerTest extends UnitTestCase {
    */
   protected $executableFactory;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View page controller test',
-      'description' => 'Tests views page controller.',
-      'group' => 'Views'
-    );
-  }
-
   protected function setUp() {
     $this->storage = $this->getMockBuilder('Drupal\Core\Config\Entity\ConfigEntityStorage')
       ->disableOriginalConstructor()
diff --git a/core/modules/views/tests/src/ViewExecutableFactoryTest.php b/core/modules/views/tests/src/ViewExecutableFactoryTest.php
index f4cc82b09bd6..8e1c38a4c58c 100644
--- a/core/modules/views/tests/src/ViewExecutableFactoryTest.php
+++ b/core/modules/views/tests/src/ViewExecutableFactoryTest.php
@@ -13,9 +13,8 @@
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
- * Tests the ViewExecutableFactory class.
- *
  * @coversDefaultClass \Drupal\views\ViewExecutableFactory
+ * @group views
  */
 class ViewExecutableFactoryTest extends UnitTestCase {
 
@@ -47,17 +46,6 @@ class ViewExecutableFactoryTest extends UnitTestCase {
    */
   protected $viewExecutableFactory;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'View executable factory test',
-      'description' => 'Tests methods on the \Drupal\views\ViewExecutableFactory class',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/ViewExecutableUnitTest.php b/core/modules/views/tests/src/ViewExecutableUnitTest.php
index 6a186917df94..c6ea1bb0e4ae 100644
--- a/core/modules/views/tests/src/ViewExecutableUnitTest.php
+++ b/core/modules/views/tests/src/ViewExecutableUnitTest.php
@@ -12,20 +12,11 @@
 use Drupal\views\ViewExecutable;
 
 /**
- * Tests methods on the ViewExecutable class.
- *
- * @see \Drupal\views\ViewExecutable
+ * @coversDefaultClass \Drupal\views\ViewExecutable
+ * @group views
  */
 class ViewExecutableUnitTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View executable test',
-      'description' => 'Tests methods on the \Drupal\views\ViewExecutable class',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Tests the buildThemeFunctions() method.
    */
diff --git a/core/modules/views/tests/src/ViewsDataHelperTest.php b/core/modules/views/tests/src/ViewsDataHelperTest.php
index 5fca8feb3893..260fee7e41a8 100644
--- a/core/modules/views/tests/src/ViewsDataHelperTest.php
+++ b/core/modules/views/tests/src/ViewsDataHelperTest.php
@@ -12,20 +12,11 @@
 use Drupal\views\ViewsDataHelper;
 
 /**
- * Tests the views data helper class.
- *
- * @see \Drupal\views\ViewsDataHelper
+ * @coversDefaultClass \Drupal\views\ViewsDataHelper
+ * @group views
  */
 class ViewsDataHelperTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views data helper',
-      'description' => 'Tests the views data helper class.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * Returns the views data definition.
    *
diff --git a/core/modules/views/tests/src/ViewsDataTest.php b/core/modules/views/tests/src/ViewsDataTest.php
index 432e84695c3f..826faa7623fc 100644
--- a/core/modules/views/tests/src/ViewsDataTest.php
+++ b/core/modules/views/tests/src/ViewsDataTest.php
@@ -12,11 +12,8 @@
 use Drupal\views\ViewsData;
 
 /**
- * Tests the fetching of views data.
- *
- * @see hook_views_data
- *
  * @coversDefaultClass \Drupal\views\ViewsData
+ * @group views
  */
 class ViewsDataTest extends UnitTestCase {
 
@@ -55,17 +52,6 @@ class ViewsDataTest extends UnitTestCase {
    */
   protected $viewsData;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Views data',
-      'description' => 'Tests the fetching of views data.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views/tests/src/ViewsTest.php b/core/modules/views/tests/src/ViewsTest.php
index 462cb28cdd69..cb2be6190f2c 100644
--- a/core/modules/views/tests/src/ViewsTest.php
+++ b/core/modules/views/tests/src/ViewsTest.php
@@ -17,17 +17,10 @@
 
 /**
  * @coversDefaultClass \Drupal\views\Views
+ * @group views
  */
 class ViewsTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views test',
-      'description' => 'Tests the Drupal\views\Views class.',
-      'group' => 'Views',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/views_ui/src/Tests/AnalyzeTest.php b/core/modules/views_ui/src/Tests/AnalyzeTest.php
index 14cf2752abcb..29b7f5253e1d 100644
--- a/core/modules/views_ui/src/Tests/AnalyzeTest.php
+++ b/core/modules/views_ui/src/Tests/AnalyzeTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the views analyze system.
+ *
+ * @group views_ui
  */
 class AnalyzeTest extends ViewTestBase {
 
@@ -28,14 +30,6 @@ class AnalyzeTest extends ViewTestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views Analyze',
-      'description' => 'Tests the views analyze system.',
-      'group' => 'Views',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views_ui/src/Tests/CachedDataUITest.php b/core/modules/views_ui/src/Tests/CachedDataUITest.php
index 9bfde8eed046..f6ca0400a76b 100644
--- a/core/modules/views_ui/src/Tests/CachedDataUITest.php
+++ b/core/modules/views_ui/src/Tests/CachedDataUITest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the user tempstore cache in the UI.
+ *
+ * @group views_ui
  */
 class CachedDataUITest extends UITestBase {
 
@@ -19,14 +21,6 @@ class CachedDataUITest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cached data',
-      'description' => 'Tests the user tempstore object caching in the UI.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the user tempstore views data in the UI.
    */
diff --git a/core/modules/views_ui/src/Tests/CustomBooleanTest.php b/core/modules/views_ui/src/Tests/CustomBooleanTest.php
index 1b40d9f61336..ebf989bd82e8 100644
--- a/core/modules/views_ui/src/Tests/CustomBooleanTest.php
+++ b/core/modules/views_ui/src/Tests/CustomBooleanTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the UI and functionality for the Custom boolean field handler options.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\field\Boolean
  */
 class CustomBooleanTest extends UITestBase {
@@ -23,14 +24,6 @@ class CustomBooleanTest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Boolean custom options: UI',
-      'description' => 'Tests the UI and functionality for the Custom boolean field handler options',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * \Drupal\views\Tests\ViewTestBase::viewsData().
    */
diff --git a/core/modules/views_ui/src/Tests/DefaultViewsTest.php b/core/modules/views_ui/src/Tests/DefaultViewsTest.php
index edabbf88acb8..4692e6602d3b 100644
--- a/core/modules/views_ui/src/Tests/DefaultViewsTest.php
+++ b/core/modules/views_ui/src/Tests/DefaultViewsTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests enabling, disabling, and reverting default views via the listing page.
+ *
+ * @group views_ui
  */
 class DefaultViewsTest extends UITestBase {
 
@@ -19,14 +21,6 @@ class DefaultViewsTest extends UITestBase {
    */
   public static $testViews = array('test_view_status', 'test_page_display_menu', 'test_page_display_arguments');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Default views functionality',
-      'description' => 'Test enabling, disabling, and reverting default views via the listing page.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests default views.
    */
diff --git a/core/modules/views_ui/src/Tests/DisplayAttachmentTest.php b/core/modules/views_ui/src/Tests/DisplayAttachmentTest.php
index 5d7121039dec..68fa2b3d7501 100644
--- a/core/modules/views_ui/src/Tests/DisplayAttachmentTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayAttachmentTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the UI for the attachment display plugin.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\display\Attachment
  */
 class DisplayAttachmentTest extends UITestBase {
@@ -23,14 +24,6 @@ class DisplayAttachmentTest extends UITestBase {
    */
   public static $testViews = array('test_attachment_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Attachment',
-      'description' => 'Tests the UI for the attachment display plugin.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the attachment UI.
    */
diff --git a/core/modules/views_ui/src/Tests/DisplayCRUDTest.php b/core/modules/views_ui/src/Tests/DisplayCRUDTest.php
index 1f72c815caf2..ab91fc46b39e 100644
--- a/core/modules/views_ui/src/Tests/DisplayCRUDTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayCRUDTest.php
@@ -10,7 +10,9 @@
 use Drupal\views\Views;
 
 /**
- * Tests the handling of displays in the UI, adding removing etc.
+ * Tests creation, retrieval, updating, and deletion of displays in the Web UI.
+ *
+ * @group views_ui
  */
 class DisplayCRUDTest extends UITestBase {
 
@@ -28,14 +30,6 @@ class DisplayCRUDTest extends UITestBase {
    */
   public static $modules = array('contextual');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display CRUD UI tests',
-      'description' => 'Tests creation, retrieval, updating, and deletion of displays in the Web UI.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests adding a display.
    */
diff --git a/core/modules/views_ui/src/Tests/DisplayExtenderUITest.php b/core/modules/views_ui/src/Tests/DisplayExtenderUITest.php
index 388eb3892916..12c8ee0ea11d 100644
--- a/core/modules/views_ui/src/Tests/DisplayExtenderUITest.php
+++ b/core/modules/views_ui/src/Tests/DisplayExtenderUITest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests the display extender UI.
+ *
+ * @group views_ui
  */
 class DisplayExtenderUITest extends UITestBase {
 
@@ -21,14 +23,6 @@ class DisplayExtenderUITest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display extender: UI',
-      'description' => 'Tests the display extender UI.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the display extender UI.
    */
diff --git a/core/modules/views_ui/src/Tests/DisplayFeedTest.php b/core/modules/views_ui/src/Tests/DisplayFeedTest.php
index a4386099f38f..7dd358bca6bd 100644
--- a/core/modules/views_ui/src/Tests/DisplayFeedTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayFeedTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the UI for feed display plugin.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\display\Feed
  */
 class DisplayFeedTest extends UITestBase {
@@ -28,14 +29,6 @@ class DisplayFeedTest extends UITestBase {
    */
   public static $modules = array('views_ui', 'aggregator');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display: Feed',
-      'description' => 'Tests the UI for Feed display plugin.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests feed display admin UI.
    */
diff --git a/core/modules/views_ui/src/Tests/DisplayPathTest.php b/core/modules/views_ui/src/Tests/DisplayPathTest.php
index 55f2a97b75ee..5f8fb48444e8 100644
--- a/core/modules/views_ui/src/Tests/DisplayPathTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayPathTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the UI of generic display path plugin.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\display\PathPluginBase
  */
 class DisplayPathTest extends UITestBase {
@@ -21,14 +22,6 @@ class DisplayPathTest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display Path: UI',
-      'description' => 'Tests the UI of generic display path plugin.',
-      'group' => 'Views UI',
-    );
-  }
-
   public function testPathUI() {
     $this->doBasicPathUITest();
     $this->doAdvancedPathsValidationTest();
diff --git a/core/modules/views_ui/src/Tests/DisplayTest.php b/core/modules/views_ui/src/Tests/DisplayTest.php
index 5473cc12dfc7..e38260341d11 100644
--- a/core/modules/views_ui/src/Tests/DisplayTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayTest.php
@@ -14,7 +14,9 @@
 use Drupal\Core\Template\Attribute;
 
 /**
- * Tests the handling of displays in the UI, adding removing etc.
+ * Tests the display UI.
+ *
+ * @group views_ui
  */
 class DisplayTest extends UITestBase {
 
@@ -32,14 +34,6 @@ class DisplayTest extends UITestBase {
    */
   public static $modules = array('contextual');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Display element tests',
-      'description' => 'Tests the display UI.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests reordering of displays.
    */
diff --git a/core/modules/views_ui/src/Tests/ExposedFormUITest.php b/core/modules/views_ui/src/Tests/ExposedFormUITest.php
index a17ffce12e05..8668b53bc727 100644
--- a/core/modules/views_ui/src/Tests/ExposedFormUITest.php
+++ b/core/modules/views_ui/src/Tests/ExposedFormUITest.php
@@ -8,7 +8,9 @@
 namespace Drupal\views_ui\Tests;
 
 /**
- * Tests exposed form UI.
+ * Tests exposed forms UI functionality.
+ *
+ * @group views_ui
  */
 class ExposedFormUITest extends UITestBase {
 
@@ -19,14 +21,6 @@ class ExposedFormUITest extends UITestBase {
    */
   public static $testViews = array('test_exposed_admin_ui');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Exposed forms',
-      'description' => 'Test exposed forms UI functionality.',
-      'group' => 'Views UI',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/modules/views_ui/src/Tests/FieldUITest.php b/core/modules/views_ui/src/Tests/FieldUITest.php
index 4bcddc0c0db3..9c3e43b95b12 100644
--- a/core/modules/views_ui/src/Tests/FieldUITest.php
+++ b/core/modules/views_ui/src/Tests/FieldUITest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the UI of field handlers.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\field\FieldPluginBase
  */
 class FieldUITest extends UITestBase {
@@ -21,14 +22,6 @@ class FieldUITest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field: UI',
-      'description' => 'Tests the UI of field handlers.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the UI of field handlers.
    */
diff --git a/core/modules/views_ui/src/Tests/FilterBooleanWebTest.php b/core/modules/views_ui/src/Tests/FilterBooleanWebTest.php
index 24b0f39711da..ac400e0ca500 100644
--- a/core/modules/views_ui/src/Tests/FilterBooleanWebTest.php
+++ b/core/modules/views_ui/src/Tests/FilterBooleanWebTest.php
@@ -10,6 +10,7 @@
 /**
  * Tests the boolean filter UI.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\filter\BooleanOperator
  */
 class FilterBooleanWebTest extends UITestBase {
@@ -21,14 +22,6 @@ class FilterBooleanWebTest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Filter: Boolean',
-      'description' => 'Tests the boolean filter UI.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the filter boolean UI.
    */
diff --git a/core/modules/views_ui/src/Tests/GroupByTest.php b/core/modules/views_ui/src/Tests/GroupByTest.php
index 7a5d61541fe0..04db69cdc5eb 100644
--- a/core/modules/views_ui/src/Tests/GroupByTest.php
+++ b/core/modules/views_ui/src/Tests/GroupByTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests UI of aggregate functionality..
+ *
+ * @group views_ui
  */
 class GroupByTest extends UITestBase {
 
@@ -19,14 +21,6 @@ class GroupByTest extends UITestBase {
    */
   public static $testViews = array('test_views_groupby_save');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Group By functionality',
-      'description' => 'Tests UI of aggregate functionality.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests whether basic saving works.
    *
diff --git a/core/modules/views_ui/src/Tests/HandlerTest.php b/core/modules/views_ui/src/Tests/HandlerTest.php
index 5a00b03209ff..4eaac1e90e1d 100644
--- a/core/modules/views_ui/src/Tests/HandlerTest.php
+++ b/core/modules/views_ui/src/Tests/HandlerTest.php
@@ -11,8 +11,9 @@
 use Drupal\views\ViewExecutable;
 
 /**
- * Tests some generic handler UI functionality.
+ * Tests handler UI for views.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\HandlerBase
  */
 class HandlerTest extends UITestBase {
@@ -24,14 +25,6 @@ class HandlerTest extends UITestBase {
    */
   public static $testViews = array('test_view_empty', 'test_view_broken', 'test_view_optional');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Handler test',
-      'description' => 'Tests handler UI for views.',
-      'group' => 'Views UI'
-    );
-  }
-
   /**
    * Overrides \Drupal\views\Tests\ViewTestBase::schemaDefinition().
    *
diff --git a/core/modules/views_ui/src/Tests/OverrideDisplaysTest.php b/core/modules/views_ui/src/Tests/OverrideDisplaysTest.php
index 1a405d9bea9c..c758ecb0b905 100644
--- a/core/modules/views_ui/src/Tests/OverrideDisplaysTest.php
+++ b/core/modules/views_ui/src/Tests/OverrideDisplaysTest.php
@@ -9,17 +9,11 @@
 
 /**
  * Tests that displays can be correctly overridden via the user interface.
+ *
+ * @group views_ui
  */
 class OverrideDisplaysTest extends UITestBase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Overridden displays functionality',
-      'description' => 'Test that displays can be correctly overridden via the user interface.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests that displays can be overridden via the UI.
    */
diff --git a/core/modules/views_ui/src/Tests/PreviewTest.php b/core/modules/views_ui/src/Tests/PreviewTest.php
index f9f773c1646a..c2511490e090 100644
--- a/core/modules/views_ui/src/Tests/PreviewTest.php
+++ b/core/modules/views_ui/src/Tests/PreviewTest.php
@@ -10,7 +10,9 @@
 use Drupal\Component\Serialization\Json;
 
 /**
- * Tests the preview form in the UI.
+ * Tests the UI preview functionality.
+ *
+ * @group views_ui
  */
 class PreviewTest extends UITestBase {
 
@@ -21,14 +23,6 @@ class PreviewTest extends UITestBase {
    */
   public static $testViews = array('test_preview', 'test_pager_full', 'test_mini_pager');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Preview functionality',
-      'description' => 'Tests the UI preview functionality.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests contextual links in the preview form.
    */
diff --git a/core/modules/views_ui/src/Tests/QueryTest.php b/core/modules/views_ui/src/Tests/QueryTest.php
index 0013b78af9a2..c9eca9b315d0 100644
--- a/core/modules/views_ui/src/Tests/QueryTest.php
+++ b/core/modules/views_ui/src/Tests/QueryTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests query plugins.
+ *
+ * @group views_ui
  */
 class QueryTest extends UITestBase {
 
@@ -23,14 +25,6 @@ class QueryTest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Query: UI',
-      'description' => 'Tests query plugins UI.',
-      'group' => 'Views UI'
-    );
-  }
-
   /**
    * Overrides \Drupal\views\Tests\ViewTestBase::viewsData().
    */
diff --git a/core/modules/views_ui/src/Tests/RearrangeFieldsTest.php b/core/modules/views_ui/src/Tests/RearrangeFieldsTest.php
index b7bd570f33b6..f2d3d2187f30 100644
--- a/core/modules/views_ui/src/Tests/RearrangeFieldsTest.php
+++ b/core/modules/views_ui/src/Tests/RearrangeFieldsTest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the reordering of fields via AJAX.
  *
+ * @group views_ui
  * @see \Drupal\views_ui\Form\Ajax\Rearrange
  */
 class RearrangeFieldsTest extends UITestBase {
@@ -23,14 +24,6 @@ class RearrangeFieldsTest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Rearrange fields',
-      'description' => 'Tests the reordering of fields',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Gets the fields from the View.
    */
diff --git a/core/modules/views_ui/src/Tests/RedirectTest.php b/core/modules/views_ui/src/Tests/RedirectTest.php
index 08483f64dfbd..f8e0e2ad85fc 100644
--- a/core/modules/views_ui/src/Tests/RedirectTest.php
+++ b/core/modules/views_ui/src/Tests/RedirectTest.php
@@ -9,6 +9,8 @@
 
 /**
  * Tests the redirecting after saving a views.
+ *
+ * @group views_ui
  */
 class RedirectTest extends UITestBase {
 
@@ -19,14 +21,6 @@ class RedirectTest extends UITestBase {
    */
   public static $testViews = array('test_view', 'test_redirect_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Redirect',
-      'description' => 'Tests the redirecting after saving a views',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the redirecting.
    */
diff --git a/core/modules/views_ui/src/Tests/RowUITest.php b/core/modules/views_ui/src/Tests/RowUITest.php
index cc8c5c334dfb..ab3278229fd5 100644
--- a/core/modules/views_ui/src/Tests/RowUITest.php
+++ b/core/modules/views_ui/src/Tests/RowUITest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the UI of row plugins.
  *
+ * @group views_ui
  * @see \Drupal\views_test_data\Plugin\views\row\RowTest.
  */
 class RowUITest extends UITestBase {
@@ -23,14 +24,6 @@ class RowUITest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Row: UI',
-      'description' => 'Tests the UI of row plugins.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests changing the row plugin and changing some options of a row.
    */
diff --git a/core/modules/views_ui/src/Tests/SettingsTest.php b/core/modules/views_ui/src/Tests/SettingsTest.php
index a4e5f76f06b5..cfb918b98c1a 100644
--- a/core/modules/views_ui/src/Tests/SettingsTest.php
+++ b/core/modules/views_ui/src/Tests/SettingsTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\views_ui\Tests;
 
 /**
- * Tests the various settings in the views UI.
+ * Tests all ui related settings under admin/structure/views/settings.
+ *
+ * @group views_ui
  */
 class SettingsTest extends UITestBase {
 
@@ -19,14 +21,6 @@ class SettingsTest extends UITestBase {
    */
   protected $adminUser;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Settings functionality',
-      'description' => 'Tests all ui related settings under admin/structure/views/settings.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the settings for the edit ui.
    */
diff --git a/core/modules/views_ui/src/Tests/StorageTest.php b/core/modules/views_ui/src/Tests/StorageTest.php
index 4a99d2a698e2..06db9fef57ae 100644
--- a/core/modules/views_ui/src/Tests/StorageTest.php
+++ b/core/modules/views_ui/src/Tests/StorageTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the UI of storage properties of views.
+ *
+ * @group views_ui
  */
 class StorageTest extends UITestBase {
 
@@ -29,14 +31,6 @@ class StorageTest extends UITestBase {
    */
   public static $modules = array('views_ui', 'language');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Storage properties',
-      'description' => 'Tests the UI of storage properties of views.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests changing label, description and tag.
    *
diff --git a/core/modules/views_ui/src/Tests/StyleUITest.php b/core/modules/views_ui/src/Tests/StyleUITest.php
index c58d1a5e432d..f129c6e08247 100644
--- a/core/modules/views_ui/src/Tests/StyleUITest.php
+++ b/core/modules/views_ui/src/Tests/StyleUITest.php
@@ -12,6 +12,7 @@
 /**
  * Tests the UI of style plugins.
  *
+ * @group views_ui
  * @see \Drupal\views_test_data\Plugin\views\style\StyleTest.
  */
 class StyleUITest extends UITestBase {
@@ -23,14 +24,6 @@ class StyleUITest extends UITestBase {
    */
   public static $testViews = array('test_view');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Style: UI',
-      'description' => 'Tests the UI of style plugins.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests changing the style plugin and changing some options of a style.
    */
diff --git a/core/modules/views_ui/src/Tests/TagTest.php b/core/modules/views_ui/src/Tests/TagTest.php
index db2df4f9b83e..2e99440aad2f 100644
--- a/core/modules/views_ui/src/Tests/TagTest.php
+++ b/core/modules/views_ui/src/Tests/TagTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the views ui tagging functionality.
+ *
+ * @group views_ui
  */
 class TagTest extends ViewUnitTestBase {
 
@@ -22,14 +24,6 @@ class TagTest extends ViewUnitTestBase {
    */
   public static $modules = array('views', 'views_ui', 'user');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tag',
-      'description' => 'Tests the views ui tagging functionality.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the views_ui_autocomplete_tag function.
    */
diff --git a/core/modules/views_ui/src/Tests/ViewEditTest.php b/core/modules/views_ui/src/Tests/ViewEditTest.php
index 6652337bbea4..b88ed43b8633 100644
--- a/core/modules/views_ui/src/Tests/ViewEditTest.php
+++ b/core/modules/views_ui/src/Tests/ViewEditTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Tests some general functionality of editing views, like deleting a view.
+ *
+ * @group views_ui
  */
 class ViewEditTest extends UITestBase {
 
@@ -23,14 +25,6 @@ class ViewEditTest extends UITestBase {
    */
   public static $testViews = array('test_view', 'test_display');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'General views edit test',
-      'description' => 'Tests some general functionality of editing views, like deleting a view.',
-      'group' => 'Views UI'
-    );
-  }
-
   /**
    * Tests the delete link on a views UI.
    */
diff --git a/core/modules/views_ui/src/Tests/ViewsUITourTest.php b/core/modules/views_ui/src/Tests/ViewsUITourTest.php
index 5808cded5f70..1b8206067328 100644
--- a/core/modules/views_ui/src/Tests/ViewsUITourTest.php
+++ b/core/modules/views_ui/src/Tests/ViewsUITourTest.php
@@ -10,7 +10,9 @@
 use Drupal\tour\Tests\TourTestBase;
 
 /**
- * Tests tour functionality.
+ * Tests the Views UI tour.
+ *
+ * @group views_ui
  */
 class ViewsUITourTest extends TourTestBase {
 
@@ -28,14 +30,6 @@ class ViewsUITourTest extends TourTestBase {
    */
   public static $modules = array('views_ui', 'tour');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views UI tour tests',
-      'description' => 'Tests the Views UI tour.',
-      'group' => 'Tour',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
     $this->adminUser = $this->drupalCreateUser(array('administer views', 'access tour'));
diff --git a/core/modules/views_ui/src/Tests/WizardTest.php b/core/modules/views_ui/src/Tests/WizardTest.php
index bb8e20131f47..515b57aa6e86 100644
--- a/core/modules/views_ui/src/Tests/WizardTest.php
+++ b/core/modules/views_ui/src/Tests/WizardTest.php
@@ -12,23 +12,13 @@
 /**
  * Tests the wizard.
  *
+ * @group views_ui
  * @see \Drupal\views\Plugin\views\display\DisplayPluginBase
  * @see \Drupal\views\Plugin\views\display\PathPluginBase
  * @see \Drupal\views\Plugin\views\wizard\WizardPluginBase
  */
 class WizardTest extends WizardTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Views UI: Wizard',
-      'description' => 'Tests the wizard.',
-      'group' => 'Views Wizard',
-    );
-  }
-
   /**
    * Tests filling in the wizard with really long strings.
    */
diff --git a/core/modules/views_ui/tests/src/Form/Ajax/RearrangeFilterTest.php b/core/modules/views_ui/tests/src/Form/Ajax/RearrangeFilterTest.php
index bed95df41692..0166fef9a91d 100644
--- a/core/modules/views_ui/tests/src/Form/Ajax/RearrangeFilterTest.php
+++ b/core/modules/views_ui/tests/src/Form/Ajax/RearrangeFilterTest.php
@@ -11,20 +11,12 @@
 use Drupal\views_ui\Form\Ajax\RearrangeFilter;
 
 /**
- * Tests RearrangeFilter's methods.
+ * Unit tests for Views UI module functions.
  *
- * @group Views UI
+ * @group views_ui
  */
 class RearrangeFilterTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module tests',
-      'description' => 'Unit tests for Views UI module functions.',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests static methods.
    */
diff --git a/core/modules/views_ui/tests/src/ViewListBuilderTest.php b/core/modules/views_ui/tests/src/ViewListBuilderTest.php
index fb4a73a134a6..38af039ed334 100644
--- a/core/modules/views_ui/tests/src/ViewListBuilderTest.php
+++ b/core/modules/views_ui/tests/src/ViewListBuilderTest.php
@@ -18,17 +18,10 @@
 
 /**
  * @coversDefaultClass \Drupal\views_ui\ViewListBuilder
+ * @group views_ui
  */
 class ViewListBuilderTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Views List Builder Unit Test',
-      'description' => 'Unit tests the views list builder',
-      'group' => 'Views UI',
-    );
-  }
-
   /**
    * Tests the listing of displays on a views list builder.
    *
diff --git a/core/modules/views_ui/tests/src/ViewUIObjectTest.php b/core/modules/views_ui/tests/src/ViewUIObjectTest.php
index f105b3acdf50..1828f760ab9f 100644
--- a/core/modules/views_ui/tests/src/ViewUIObjectTest.php
+++ b/core/modules/views_ui/tests/src/ViewUIObjectTest.php
@@ -15,20 +15,11 @@
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 
 /**
- * Tests the ViewUI class.
- *
- * @see \Drupal\views_ui\ViewUI
+ * @coversDefaultClass \Drupal\views_ui\ViewUI
+ * @group views_ui
  */
 class ViewUIObjectTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'View UI Object',
-      'description' => 'Test the ViewUI class.',
-      'group' => 'Views UI'
-    );
-  }
-
   /**
    * Tests entity method decoration.
    */
diff --git a/core/modules/xmlrpc/src/Tests/XmlRpcBasicTest.php b/core/modules/xmlrpc/src/Tests/XmlRpcBasicTest.php
index 60f812d1cacf..ae57107689b7 100644
--- a/core/modules/xmlrpc/src/Tests/XmlRpcBasicTest.php
+++ b/core/modules/xmlrpc/src/Tests/XmlRpcBasicTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Perform basic XML-RPC tests that do not require addition callbacks.
+ *
+ * @group xmlrpc
  */
 class XmlRpcBasicTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class XmlRpcBasicTest extends WebTestBase {
    */
   public static $modules = array('xmlrpc');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'XML-RPC basic',
-      'description'  => 'Perform basic XML-RPC tests that do not require additional callbacks.',
-      'group' => 'XML-RPC',
-    );
-  }
-
   /**
    * Ensure that a basic XML-RPC call with no parameters works.
    */
diff --git a/core/modules/xmlrpc/src/Tests/XmlRpcMessagesTest.php b/core/modules/xmlrpc/src/Tests/XmlRpcMessagesTest.php
index 637d7a217a7a..46ea73b02ee3 100644
--- a/core/modules/xmlrpc/src/Tests/XmlRpcMessagesTest.php
+++ b/core/modules/xmlrpc/src/Tests/XmlRpcMessagesTest.php
@@ -10,7 +10,9 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * XML-RPC message and alteration tests.
+ * Tests large messages and method alterations.
+ *
+ * @group xmlrpc
  */
 class XmlRpcMessagesTest extends WebTestBase {
 
@@ -21,14 +23,6 @@ class XmlRpcMessagesTest extends WebTestBase {
    */
   public static $modules = array('xmlrpc', 'xmlrpc_test');
 
-  public static function getInfo() {
-    return array(
-      'name'  => 'XML-RPC message and alteration',
-      'description' => 'Test large messages and method alterations.',
-      'group' => 'XML-RPC',
-    );
-  }
-
   /**
    * Make sure that XML-RPC can transfer large messages.
    */
diff --git a/core/modules/xmlrpc/src/Tests/XmlRpcValidatorTest.php b/core/modules/xmlrpc/src/Tests/XmlRpcValidatorTest.php
index b1a9fa8e2f9d..1af8c0678c10 100644
--- a/core/modules/xmlrpc/src/Tests/XmlRpcValidatorTest.php
+++ b/core/modules/xmlrpc/src/Tests/XmlRpcValidatorTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * XML-RPC validator1 specification.
+ * See <a href="http://www.xmlrpc.com/validator1Docs">the xmlrpc validator1
+ * specification</a>.
+ *
+ * @group xmlrpc
  */
 class XmlRpcValidatorTest extends WebTestBase {
 
@@ -21,14 +24,6 @@ class XmlRpcValidatorTest extends WebTestBase {
    */
   public static $modules = array('xmlrpc', 'xmlrpc_test');
 
-  public static function getInfo() {
-    return array(
-      'name' => 'XML-RPC validator',
-      'description' => 'See <a href="http://www.xmlrpc.com/validator1Docs">the xmlrpc validator1 specification</a>.',
-      'group' => 'XML-RPC',
-    );
-  }
-
   /**
    * Run validator1 tests.
    */
diff --git a/core/profiles/minimal/src/Tests/MinimalTest.php b/core/profiles/minimal/src/Tests/MinimalTest.php
index fbfb65b2b2c5..4666e4b0e997 100644
--- a/core/profiles/minimal/src/Tests/MinimalTest.php
+++ b/core/profiles/minimal/src/Tests/MinimalTest.php
@@ -11,19 +11,13 @@
 
 /**
  * Tests Minimal installation profile expectations.
+ *
+ * @group minimal
  */
 class MinimalTest extends WebTestBase {
 
   protected $profile = 'minimal';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Minimal installation profile',
-      'description' => 'Tests Minimal installation profile expectations.',
-      'group' => 'Minimal',
-    );
-  }
-
   /**
    * Tests Minimal installation profile.
    */
diff --git a/core/profiles/standard/src/Tests/StandardTest.php b/core/profiles/standard/src/Tests/StandardTest.php
index 3a1eeadef587..51ae6e30217f 100644
--- a/core/profiles/standard/src/Tests/StandardTest.php
+++ b/core/profiles/standard/src/Tests/StandardTest.php
@@ -12,19 +12,13 @@
 
 /**
  * Tests Standard installation profile expectations.
+ *
+ * @group standard
  */
 class StandardTest extends WebTestBase {
 
   protected $profile = 'standard';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Standard installation profile',
-      'description' => 'Tests Standard installation profile expectations.',
-      'group' => 'Standard',
-    );
-  }
-
   /**
    * Tests Standard installation profile.
    */
diff --git a/core/profiles/testing/modules/drupal_system_listing_compatible_test/src/Tests/SystemListingCompatibleTest.php b/core/profiles/testing/modules/drupal_system_listing_compatible_test/src/Tests/SystemListingCompatibleTest.php
index 3df9188a8d22..5fb09323278d 100644
--- a/core/profiles/testing/modules/drupal_system_listing_compatible_test/src/Tests/SystemListingCompatibleTest.php
+++ b/core/profiles/testing/modules/drupal_system_listing_compatible_test/src/Tests/SystemListingCompatibleTest.php
@@ -10,7 +10,10 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Helper to verify tests in installation profile modules.
+ * Verifies that tests in installation profile modules are found and may use
+ * another profile for running tests.
+ *
+ * @group drupal_system_listing_compatible_test
  */
 class SystemListingCompatibleTest extends WebTestBase {
 
@@ -34,14 +37,6 @@ class SystemListingCompatibleTest extends WebTestBase {
    */
   protected $profile = 'minimal';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Installation profile module tests helper',
-      'description' => 'Verifies that tests in installation profile modules are found and may use another profile for running tests.',
-      'group' => 'Installation profile',
-    );
-  }
-
   /**
    * Non-empty test* method required to executed the test case class.
    */
diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh
index 4679325dcf38..88ba503ce00f 100755
--- a/core/scripts/run-tests.sh
+++ b/core/scripts/run-tests.sh
@@ -57,11 +57,11 @@
   // Display all available tests.
   echo "\nAvailable test groups & classes\n";
   echo   "-------------------------------\n\n";
-  $groups = simpletest_script_get_all_tests();
+  $groups = simpletest_test_get_all($args['module']);
   foreach ($groups as $group => $tests) {
     echo $group . "\n";
     foreach ($tests as $class => $info) {
-      echo " - " . $info['name'] . ' (' . $class . ')' . "\n";
+      echo " - $class\n";
     }
   }
   exit;
@@ -496,34 +496,6 @@ function simpletest_script_setup_database($new = FALSE) {
   }
 }
 
-/**
- * Get all available tests from simpletest and PHPUnit.
- *
- * @param string $module
- *   Name of a module. If set then only tests belonging to this module are
- *   returned.
- *
- * @return
- *   An array of tests keyed with the groups specified in each of the tests
- *   getInfo() method and then keyed by the test class. An example of the array
- *   structure is provided below.
- *
- *   @code
- *     $groups['Block'] => array(
- *       'BlockTestCase' => array(
- *         'name' => 'Block functionality',
- *         'description' => 'Add, edit and delete custom block...',
- *         'group' => 'Block',
- *       ),
- *     );
- *   @endcode
- */
-function simpletest_script_get_all_tests($module = NULL) {
-  $tests = simpletest_test_get_all($module);
-  $tests['PHPUnit'] = simpletest_phpunit_get_available_tests($module);
-  return $tests;
-}
-
 /**
  * Execute a batch of tests.
  */
@@ -786,7 +758,7 @@ function simpletest_script_get_test_list() {
 
   $test_list = array();
   if ($args['all'] || $args['module']) {
-    $groups = simpletest_script_get_all_tests($args['module']);
+    $groups = simpletest_test_get_all($args['module']);
     $all_tests = array();
     foreach ($groups as $group => $tests) {
       $all_tests = array_merge($all_tests, array_keys($tests));
@@ -829,7 +801,7 @@ function simpletest_script_get_test_list() {
       }
     }
     else {
-      $groups = simpletest_script_get_all_tests();
+      $groups = simpletest_test_get_all();
       foreach ($args['test_names'] as $group_name) {
         $test_list = array_merge($test_list, array_keys($groups[$group_name]));
       }
diff --git a/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php b/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php
index 7ae0c7936511..0f8e738c7b72 100644
--- a/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php
+++ b/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php
@@ -11,23 +11,11 @@
 use Drupal\Component\Datetime\DateTimePlus;
 
 /**
- * Tests the DateTimePlus component.
- *
- * @see \Drupal\Component\Datetime\DateTimePlus
+ * @coversDefaultClass \Drupal\Component\Datetime\DateTimePlus
+ * @group Datetime
  */
 class DateTimePlusTest extends UnitTestCase {
 
-  /**
-   * Test information.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'DateTimePlus',
-      'description' => 'Test DateTimePlus functionality.',
-      'group' => 'Datetime',
-    );
-  }
-
   /**
    * Test creating dates from string and array input.
    *
diff --git a/core/tests/Drupal/Tests/Component/Discovery/YamlDiscoveryTest.php b/core/tests/Drupal/Tests/Component/Discovery/YamlDiscoveryTest.php
index 325ef01e18c4..a5469922a98f 100644
--- a/core/tests/Drupal/Tests/Component/Discovery/YamlDiscoveryTest.php
+++ b/core/tests/Drupal/Tests/Component/Discovery/YamlDiscoveryTest.php
@@ -11,18 +11,12 @@
 use Drupal\Component\Discovery\YamlDiscovery;
 
 /**
- * Tests the YamlDiscovery component class.
+ * YamlDiscovery component unit tests.
+ *
+ * @group Discovery
  */
 class YamlDiscoveryTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'YamlDiscovery',
-      'description' => 'YamlDiscovery component unit tests.',
-      'group' => 'Discovery',
-    );
-  }
-
   /**
    * Tests the YAML file discovery.
    */
diff --git a/core/tests/Drupal/Tests/Component/Graph/GraphTest.php b/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
index 4d9b37300e4f..4049a26374e7 100644
--- a/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
+++ b/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
@@ -11,21 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Unit tests for the graph handling features.
- *
- * @see \Drupal\Component\Graph\Graph
+ * @coversDefaultClass \Drupal\Component\Graph\Graph
  * @group Graph
  */
 class GraphTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Directed acyclic graph manipulation',
-      'description' => 'Depth first search and sort unit tests.',
-      'group' => 'Graph',
-    );
-  }
-
   /**
    * Test depth-first-search features.
    */
diff --git a/core/tests/Drupal/Tests/Component/Image/ImageUtilityTest.php b/core/tests/Drupal/Tests/Component/Image/ImageUtilityTest.php
index e31f8bbf7065..3c51ca90470d 100644
--- a/core/tests/Drupal/Tests/Component/Image/ImageUtilityTest.php
+++ b/core/tests/Drupal/Tests/Component/Image/ImageUtilityTest.php
@@ -11,20 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Image utility component.
- *
- * @see \Drupal\Component\Utility\Image
+ * @coversDefaultClass \Drupal\Component\Utility\Image
+ * @group Image
  */
 class ImageUtilityTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests for the Image component',
-      'description' => 'Tests all control flow branches in \Drupal\Component\Utility\Image.',
-      'group' => 'Image',
-    );
-  }
-
   /**
    * Tests all control flow branches in image_dimensions_scale().
    *
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageReadOnlyTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageReadOnlyTest.php
index a907a07212c6..e0497b8dda7d 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageReadOnlyTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageReadOnlyTest.php
@@ -11,12 +11,8 @@
 use Drupal\Component\PhpStorage\FileReadOnlyStorage;
 
 /**
- * Tests the simple file storage.
- *
- * @group Drupal
- * @group PhpStorage
- *
  * @coversDefaultClass \Drupal\Component\PhpStorage\FileReadOnlyStorage
+ * @group PhpStorage
  */
 class FileStorageReadOnlyTest extends PhpStorageTestBase {
 
@@ -34,17 +30,6 @@ class FileStorageReadOnlyTest extends PhpStorageTestBase {
    */
   protected $readonlyStorage;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Simple read only file storage',
-      'description' => 'Tests the FileStorageReadOnly implementation.',
-      'group' => 'PHP Storage',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
index 93015a4c0f27..80dac1baef84 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php
@@ -10,12 +10,8 @@
 use Drupal\Component\PhpStorage\FileStorage;
 
 /**
- * Tests the simple file storage.
- *
- * @group Drupal
- * @group PhpStorage
- *
  * @coversDefaultClass \Drupal\Component\PhpStorage\FileStorage
+ * @group PhpStorage
  */
 class FileStorageTest extends PhpStorageTestBase {
 
@@ -26,17 +22,6 @@ class FileStorageTest extends PhpStorageTestBase {
    */
   protected $standardSettings;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Simple file storage',
-      'description' => 'Tests the FileStorage implementation.',
-      'group' => 'PHP Storage',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFastFileStorageTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFastFileStorageTest.php
index 306ff14e19ab..2fad11a8d928 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFastFileStorageTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFastFileStorageTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\Tests\Component\PhpStorage;
 
 /**
- * Tests the directory mtime based PHP loader implementation.
+ * Tests the MTimeProtectedFastFileStorage implementation.
+ *
+ * @group PhpStorage
  */
 class MTimeProtectedFastFileStorageTest extends MTimeProtectedFileStorageBase {
 
@@ -26,15 +28,4 @@ class MTimeProtectedFastFileStorageTest extends MTimeProtectedFileStorageBase {
    */
   protected $storageClass = 'Drupal\Component\PhpStorage\MTimeProtectedFastFileStorage';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'MTime protected fast file storage',
-      'description' => 'Tests the MTimeProtectedFastFileStorage implementation.',
-      'group' => 'PHP Storage',
-    );
-  }
-
 }
diff --git a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
index 58cd7ca60ce0..edf9e323f627 100644
--- a/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
+++ b/core/tests/Drupal/Tests/Component/PhpStorage/MTimeProtectedFileStorageTest.php
@@ -8,7 +8,9 @@
 namespace Drupal\Tests\Component\PhpStorage;
 
 /**
- * Tests the directory mtime based PHP loader implementation.
+ * Tests the MTimeProtectedFileStorage implementation.
+ *
+ * @group PhpStorage
  */
 class MTimeProtectedFileStorageTest extends MTimeProtectedFileStorageBase {
 
@@ -25,15 +27,4 @@ class MTimeProtectedFileStorageTest extends MTimeProtectedFileStorageBase {
    */
   protected $storageClass = 'Drupal\Component\PhpStorage\MTimeProtectedFileStorage';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'MTime protected file storage',
-      'description' => 'Tests the MTimeProtectedFileStorage implementation.',
-      'group' => 'PHP Storage',
-    );
-  }
-
 }
diff --git a/core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php b/core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php
index 2b4ccd8636c1..97e4275acf95 100644
--- a/core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php
+++ b/core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php
@@ -11,22 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the plugin base.
- *
- * @group Drupal
- *
- * @see \Drupal\Component\Plugin\PluginBase
+ * @coversDefaultClass \Drupal\Component\Plugin\PluginBase
+ * @group Plugin
  */
 class PluginBaseTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Plugin base test',
-      'description' => 'Tests the plugin base',
-      'group' => 'Plugin',
-    );
-  }
-
   /**
    * Tests the getPluginId method.
    *
diff --git a/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php b/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
index 015a14aac3c9..bb2d27a3426d 100644
--- a/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
+++ b/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Json::encode() and Json::decode() functions.
- *
- * @see \Drupal\Component\Serialization\Json
+ * @coversDefaultClass \Drupal\Component\Serialization\Json
+ * @group Serialization
  */
 class JsonTest extends UnitTestCase {
 
@@ -39,14 +38,6 @@ class JsonTest extends UnitTestCase {
   protected $htmlUnsafeEscaped;
 
 
-  public static function getInfo() {
-    return array(
-      'name' => 'JSON',
-      'description' => 'Tests the Json::encode() and Json::decode() functions to convert PHP variables to JSON strings and back.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Component/Utility/BytesTest.php b/core/tests/Drupal/Tests/Component/Utility/BytesTest.php
index 34f0be2f88a6..bfacd6cdb428 100644
--- a/core/tests/Drupal/Tests/Component/Utility/BytesTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/BytesTest.php
@@ -11,25 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests bytes size parsing helper methods.
- *
- * @group Drupal
- * @group Utility
  * @coversDefaultClass \Drupal\Component\Utility\Bytes
+ * @group Utility
  */
 class BytesTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Bytes utility helpers',
-      'description' => '',
-      'group' => 'Utility',
-    );
-  }
-
   /**
    * Tests \Drupal\Component\Utility\Bytes::toInt().
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/CryptTest.php b/core/tests/Drupal/Tests/Component/Utility/CryptTest.php
index ee0d602c8dce..94929ee727dd 100644
--- a/core/tests/Drupal/Tests/Component/Utility/CryptTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/CryptTest.php
@@ -11,22 +11,11 @@
 use Drupal\Component\Utility\Crypt;
 
 /**
- * Tests random bytes generation.
- *
- * @see \Drupal\Component\Utility\Crypt
- *
- * @group Drupal
- * @group Crypt
+ * @coversDefaultClass \Drupal\Component\Utility\Crypt
+ * @group Utility
  */
 class CryptTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Crypt generator tests',
-      'description' => 'Test functionality of Crypt component.',
-    );
-  }
-
   /**
    * Tests \Drupal\Component\Utility\Crypt::randomBytes().
    */
diff --git a/core/tests/Drupal/Tests/Component/Utility/EnvironmentTest.php b/core/tests/Drupal/Tests/Component/Utility/EnvironmentTest.php
index 158278d787cf..d7713e0f50ad 100644
--- a/core/tests/Drupal/Tests/Component/Utility/EnvironmentTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/EnvironmentTest.php
@@ -11,25 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests PHP environment helper class.
- *
- * @group Drupal
- * @group Utility
  * @coversDefaultClass \Drupal\Component\Utility\Environment
+ * @group Utility
  */
 class EnvironmentTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'PHP environment utility helpers',
-      'description' => '',
-      'group' => 'Utility',
-    );
-  }
-
   /**
    * Tests \Drupal\Component\Utility\Environment::checkMemoryLimit().
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/NestedArrayTest.php b/core/tests/Drupal/Tests/Component/Utility/NestedArrayTest.php
index 08c9f786c0f9..ee1e305076bf 100644
--- a/core/tests/Drupal/Tests/Component/Utility/NestedArrayTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/NestedArrayTest.php
@@ -11,11 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the NestedArray helper class.
- *
- * @group System
- *
  * @coversDefaultClass \Drupal\Component\Utility\NestedArray
+ * @group Utility
  */
 class NestedArrayTest extends UnitTestCase {
 
@@ -33,17 +30,6 @@ class NestedArrayTest extends UnitTestCase {
    */
   protected $parents;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'NestedArray functionality',
-      'description' => 'Tests the NestedArray helper class.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Component/Utility/NumberAlphadecimalTest.php b/core/tests/Drupal/Tests/Component/Utility/NumberAlphadecimalTest.php
index d1c9d8362d96..01d2c2bf7c9f 100644
--- a/core/tests/Drupal/Tests/Component/Utility/NumberAlphadecimalTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/NumberAlphadecimalTest.php
@@ -11,25 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Unit tests for the number alphadecimal functions.
- *
- * @see \Drupal\Component\Utility\Number
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Component\Utility\Number
+ * @group Utility
  */
 class NumberAlphadecimalTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Number alphadecimal functions',
-      'description' => 'Tests alphadecimal number conversion functions.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests the alphadecimal conversion functions.
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/NumberTest.php b/core/tests/Drupal/Tests/Component/Utility/NumberTest.php
index 06daa254e4fc..d1d1ea2e5f23 100644
--- a/core/tests/Drupal/Tests/Component/Utility/NumberTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/NumberTest.php
@@ -14,17 +14,11 @@
 
 /**
  * Tests number step validation by Number::validStep().
+ *
+ * @group Utility
  */
 class NumberTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Number step validation',
-      'description' => 'Tests number step validation by Number::validStep()',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests Number::validStep() without offset.
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/RandomTest.php b/core/tests/Drupal/Tests/Component/Utility/RandomTest.php
index a3e7b8ca3b40..cda119e297e9 100644
--- a/core/tests/Drupal/Tests/Component/Utility/RandomTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/RandomTest.php
@@ -12,9 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests random data generation.
- *
- * @see \Drupal\Component\Utility\Random
+ * @coversDefaultClass \Drupal\Component\Utility\Random
+ * @group Utility
  */
 class RandomTest extends UnitTestCase {
 
@@ -27,14 +26,6 @@ class RandomTest extends UnitTestCase {
    */
   protected $firstStringGenerated = '';
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Random data generation tests',
-      'description' => 'Confirm that Random::name() and Random::string() work correctly.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests unique random string generation.
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/SortArrayTest.php b/core/tests/Drupal/Tests/Component/Utility/SortArrayTest.php
index 6a5d5a13c444..ed1357baee31 100644
--- a/core/tests/Drupal/Tests/Component/Utility/SortArrayTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/SortArrayTest.php
@@ -11,20 +11,11 @@
 use Drupal\Component\Utility\SortArray;
 
 /**
- * Tests the SortArray component.
- *
- * @see \Drupal\Component\Utility\SortArray
+ * @coversDefaultClass \Drupal\Component\Utility\SortArray
+ * @group Utility
  */
 class SortArrayTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'SortArray test',
-      'description' => 'Test that the SortArray functions work properly.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests SortArray::sortByWeightElement() input against expected output.
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/StringTest.php b/core/tests/Drupal/Tests/Component/Utility/StringTest.php
index 10e3af7e200b..21127b5c1e7f 100644
--- a/core/tests/Drupal/Tests/Component/Utility/StringTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/StringTest.php
@@ -11,20 +11,11 @@
 use Drupal\Component\Utility\String;
 
 /**
- * Tests string filtering.
- *
- * @see \Drupal\Component\Utility\String
+ * @coversDefaultClass \Drupal\Component\Utility\String
+ * @group Utility
  */
 class StringTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'String filtering tests',
-      'description' => 'Confirm that String::checkPlain() and String::format() work correctly, including invalid multi-byte sequences.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests String::checkPlain().
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/TimerTest.php b/core/tests/Drupal/Tests/Component/Utility/TimerTest.php
index cc6aca77360b..f306896439de 100644
--- a/core/tests/Drupal/Tests/Component/Utility/TimerTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/TimerTest.php
@@ -11,20 +11,11 @@
 use Drupal\Component\Utility\Timer;
 
 /**
- * Tests the Timer system.
- *
- * @see \Drupal\Component\Utility\Timer
+ * @coversDefaultClass \Drupal\Component\Utility\Timer
+ * @group Utility
  */
 class TimerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Timer test',
-      'description' => 'Test that Timer::read() works both when a timer is running and when a timer is stopped.',
-      'group' => 'Bootstrap',
-    );
-  }
-
   /**
    * Tests Timer::read() time accumulation accuracy across multiple restarts.
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php b/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
index 350fa25301af..190096776339 100644
--- a/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
@@ -11,23 +11,11 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Test unicode handling features implemented in Unicode component.
- *
- * @see \Drupal\Component\Utility\Unicode
- *
- * @group Drupal
- * @group Unicode
+ * @coversDefaultClass \Drupal\Component\Utility\Unicode
+ * @group Utility
  */
 class UnicodeTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Unicode handling',
-      'description' => 'Tests Drupal Unicode handling.',
-      'group' => 'System',
-    );
-  }
-
   public function setUp() {
     // Initialize unicode component.
     Unicode::check();
diff --git a/core/tests/Drupal/Tests/Component/Utility/UrlHelperTest.php b/core/tests/Drupal/Tests/Component/Utility/UrlHelperTest.php
index ba92c161d507..8eddb4854ed4 100644
--- a/core/tests/Drupal/Tests/Component/Utility/UrlHelperTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/UrlHelperTest.php
@@ -13,20 +13,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the http query methods.
- *
- * @see \Drupal\Component\Utility\Url
+ * @coversDefaultClass \Drupal\Component\Utility\Url
+ * @group Utility
  */
 class UrlHelperTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'UrlHelper Tests',
-      'description' => 'Tests the UrlHelper utility class.',
-      'group' => 'Path API',
-    );
-  }
-
   /**
    * Provides test data for testBuildQuery().
    *
diff --git a/core/tests/Drupal/Tests/Component/Utility/XssTest.php b/core/tests/Drupal/Tests/Component/Utility/XssTest.php
index 72aade428fa8..a682fb1cc094 100644
--- a/core/tests/Drupal/Tests/Component/Utility/XssTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/XssTest.php
@@ -13,26 +13,17 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Xss utility.
+ * @coversDefaultClass \Drupal\Component\Utility\Xss
+ * @group Utility
  *
  * Script injection vectors mostly adopted from http://ha.ckers.org/xss.html.
  *
  * Relevant CVEs:
  * - CVE-2002-1806, ~CVE-2005-0682, ~CVE-2005-2106, CVE-2005-3973,
  *   CVE-2006-1226 (= rev. 1.112?), CVE-2008-0273, CVE-2008-3740.
- *
- * @see \Drupal\Component\Utility\Xss
  */
 class XssTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Xss filter tests',
-      'description' => 'Confirm that Xss::filter() works as expected.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Component/Uuid/UuidTest.php b/core/tests/Drupal/Tests/Component/Uuid/UuidTest.php
index 17349e16c9a1..1f0081963283 100644
--- a/core/tests/Drupal/Tests/Component/Uuid/UuidTest.php
+++ b/core/tests/Drupal/Tests/Component/Uuid/UuidTest.php
@@ -16,21 +16,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Drupal\Component\Uuid\Uuid class.
+ * Tests the handling of Universally Unique Identifiers (UUIDs).
  *
- * @group Drupal
- * @group UUID
+ * @group Uuid
  */
 class UuidTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'UUID handling',
-      'description' => "Test the handling of Universally Unique Identifiers (UUIDs).",
-      'group' => 'UUID',
-    );
-  }
-
   /**
    * Tests generating valid UUIDs.
    *
diff --git a/core/tests/Drupal/Tests/Core/Access/AccessArgumentsResolverTest.php b/core/tests/Drupal/Tests/Core/Access/AccessArgumentsResolverTest.php
index 1aa8171152f1..2a465566b201 100644
--- a/core/tests/Drupal/Tests/Core/Access/AccessArgumentsResolverTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/AccessArgumentsResolverTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the access arguments resolver.
- *
  * @coversDefaultClass \Drupal\Core\Access\AccessArgumentsResolver
+ * @group Access
  */
 class AccessArgumentsResolverTest extends UnitTestCase {
 
@@ -35,17 +34,6 @@ class AccessArgumentsResolverTest extends UnitTestCase {
    */
   protected $route;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Access arguments resolver tests',
-      'description' => 'Test for the AccessArgumentsResolver object.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php b/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php
index bb435652ae7a..004067c1d6bc 100644
--- a/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php
@@ -21,9 +21,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the access manager.
- *
- * @see \Drupal\Core\Access\AccessManager
+ * @coversDefaultClass \Drupal\Core\Access\AccessManager
+ * @group Access
  */
 class AccessManagerTest extends UnitTestCase {
 
@@ -83,14 +82,6 @@ class AccessManagerTest extends UnitTestCase {
    */
   protected $argumentsResolver;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Access manager tests',
-      'description' => 'Test for the AccessManager object.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Access/CsrfAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Access/CsrfAccessCheckTest.php
index de621887fd57..a4319db8b968 100644
--- a/core/tests/Drupal/Tests/Core/Access/CsrfAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/CsrfAccessCheckTest.php
@@ -14,12 +14,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CSRF access checker.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Access\CsrfAccessCheck
  * @group Access
- *
- * @see \Drupal\Core\Access\CsrfAccessCheck
  */
 class CsrfAccessCheckTest extends UnitTestCase {
 
@@ -44,14 +40,6 @@ class CsrfAccessCheckTest extends UnitTestCase {
    */
   protected $account;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CSRF access checker',
-      'description' => 'Tests CSRF access control for routes.',
-      'group' => 'Routing',
-    );
-  }
-
   public function setUp() {
     $this->csrfToken = $this->getMockBuilder('Drupal\Core\Access\CsrfTokenGenerator')
       ->disableOriginalConstructor()
diff --git a/core/tests/Drupal/Tests/Core/Access/CsrfTokenGeneratorTest.php b/core/tests/Drupal/Tests/Core/Access/CsrfTokenGeneratorTest.php
index ca8c59d912c7..cb8330f0b12b 100644
--- a/core/tests/Drupal/Tests/Core/Access/CsrfTokenGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/CsrfTokenGeneratorTest.php
@@ -14,7 +14,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the CSRF token generator.
+ * Tests the CsrfTokenGenerator class.
+ *
+ * @group Access
  */
 class CsrfTokenGeneratorTest extends UnitTestCase {
 
@@ -32,14 +34,6 @@ class CsrfTokenGeneratorTest extends UnitTestCase {
    */
   protected $privateKey;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CsrfTokenGenerator test',
-      'description' => 'Tests the CsrfTokenGenerator class.',
-      'group' => 'Access'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php
index dca56200a39d..23f500d77f5e 100644
--- a/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php
@@ -14,9 +14,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the custom access checker.
- *
- * @see \Drupal\Core\Access\CustomAccessCheck
+ * @coversDefaultClass \Drupal\Core\Access\CustomAccessCheck
+ * @group Access
  */
 class CustomAccessCheckTest extends UnitTestCase {
 
@@ -41,14 +40,6 @@ class CustomAccessCheckTest extends UnitTestCase {
    */
   protected $argumentsResolver;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Custom access check',
-      'description' => 'Tests the custom access checker.',
-      'group' => 'Access'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php
index d452aa10db81..0af32a4fb440 100644
--- a/core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php
@@ -14,9 +14,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Defines a test to check the default access checker.
- *
- * @see \Drupal\Core\Access\DefaultAccessCheck
+ * @coversDefaultClass \Drupal\Core\Access\DefaultAccessCheck
+ * @group Access
  */
 class DefaultAccessCheckTest extends UnitTestCase {
 
@@ -34,14 +33,6 @@ class DefaultAccessCheckTest extends UnitTestCase {
    */
   protected $account;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'DefaultAccessCheck access checker',
-      'description' => 'Tests the DefaultAccessCheck class.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php b/core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php
index 3cf0803efb4b..5ade935274e4 100644
--- a/core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php
@@ -12,12 +12,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the CSRF route processor.
- *
- * @see Drupal
- * @see Routing
- *
- * @see \Drupal\Core\Access\RouteProcessorCsrf
+ * @coversDefaultClass \Drupal\Core\Access\RouteProcessorCsrf
+ * @group Access
  */
 class RouteProcessorCsrfTest extends UnitTestCase {
 
@@ -35,14 +31,6 @@ class RouteProcessorCsrfTest extends UnitTestCase {
    */
   protected $processor;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CSRF access checker',
-      'description' => 'Tests CSRF access control for routes.',
-      'group' => 'Routing',
-    );
-  }
-
   public function setUp() {
     $this->csrfToken = $this->getMockBuilder('Drupal\Core\Access\CsrfTokenGenerator')
       ->disableOriginalConstructor()
diff --git a/core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php b/core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php
index 038414826974..8e6176808c40 100644
--- a/core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php
+++ b/core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php
@@ -33,21 +33,12 @@
 use Drupal\Core\Ajax\RedirectCommand;
 
 /**
- * Tests for all AJAX Commands.
+ * Tests that each AJAX command object can be created and rendered.
  *
- * @group Drupal
  * @group Ajax
  */
 class AjaxCommandsTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Ajax Command Objects',
-      'description' => 'Test that each AJAX command object can be created and rendered',
-      'group' => 'AJAX',
-    );
-  }
-
   /**
    * Tests that AddCssCommand objects can be constructed and rendered.
    */
diff --git a/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseRendererTest.php b/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseRendererTest.php
index bfc6c9ceae6d..035c1e4a4487 100644
--- a/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseRendererTest.php
+++ b/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseRendererTest.php
@@ -14,9 +14,8 @@
 use Symfony\Component\HttpFoundation\JsonResponse;
 
 /**
- * Tests \Drupal\Core\Ajax\AjaxResponseRenderer.
- *
- * @coversClass \Drupal\Core\Ajax\AjaxResponseRenderer
+ * @coversDefaultClass \Drupal\Core\Ajax\AjaxResponseRenderer
+ * @group Ajax
  */
 class AjaxResponseRendererTest extends UnitTestCase {
 
@@ -27,17 +26,6 @@ class AjaxResponseRendererTest extends UnitTestCase {
    */
   protected $ajaxResponseRenderer;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\Ajax\AjaxResponseRenderer.',
-      'description' => '',
-      'group' => 'Ajax',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseTest.php b/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseTest.php
index fae90805b348..0ddb9a4941dc 100644
--- a/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseTest.php
+++ b/core/tests/Drupal/Tests/Core/Ajax/AjaxResponseTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the AJAX response object.
- *
- * @see \Drupal\Core\Ajax\AjaxResponse
+ * @coversDefaultClass \Drupal\Core\Ajax\AjaxResponse
+ * @group Ajax
  */
 class AjaxResponseTest extends UnitTestCase {
 
@@ -24,14 +23,6 @@ class AjaxResponseTest extends UnitTestCase {
    */
   protected $ajaxResponse;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Ajax Response Object',
-      'description' => 'Tests the AJAX response object.',
-      'group' => 'Ajax',
-    );
-  }
-
   protected function setUp() {
     $this->ajaxResponse = new AjaxResponse();
   }
diff --git a/core/tests/Drupal/Tests/Core/Annotation/TranslationTest.php b/core/tests/Drupal/Tests/Core/Annotation/TranslationTest.php
index bcfe00df1e1b..525579169afc 100644
--- a/core/tests/Drupal/Tests/Core/Annotation/TranslationTest.php
+++ b/core/tests/Drupal/Tests/Core/Annotation/TranslationTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the Translation annotation.
- *
- * @covers \Drupal\Core\Annotation\Translation
+ * @coversDefaultClass \Drupal\Core\Annotation\Translation
+ * @group Annotation
  */
 class TranslationTest extends UnitTestCase {
 
@@ -24,17 +23,6 @@ class TranslationTest extends UnitTestCase {
    */
   protected $translationManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Annotation\Translation unit test',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Asset/CssCollectionGrouperUnitTest.php b/core/tests/Drupal/Tests/Core/Asset/CssCollectionGrouperUnitTest.php
index adf5e888dc11..ff250afddd55 100644
--- a/core/tests/Drupal/Tests/Core/Asset/CssCollectionGrouperUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/CssCollectionGrouperUnitTest.php
@@ -12,7 +12,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CssCollectionGrouper class.
+ * Tests the CSS asset collection grouper.
  *
  * @group Asset
  */
@@ -25,14 +25,6 @@ class CssCollectionGrouperUnitTest extends UnitTestCase {
    */
   protected $grouper;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CSS asset collection grouper functionality',
-      'description' => 'Tests the CSS asset collection grouper.',
-      'group' => 'Asset handling',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php b/core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php
index 6cd69c6dfcf6..c04be0adab71 100644
--- a/core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/CssCollectionRendererUnitTest.php
@@ -36,7 +36,7 @@ function file_create_url($uri) {
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CssCollectionRenderer class.
+ * Tests the CSS asset collection renderer.
  *
  * @group Asset
  */
@@ -70,14 +70,6 @@ class CssCollectionRendererUnitTest extends UnitTestCase {
    */
   protected $state;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CSS asset collection renderer functionality',
-      'description' => 'Tests the CSS asset collection renderer.',
-      'group' => 'Asset handling',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php b/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
index 2fbf61952de6..da5f5909cbfd 100644
--- a/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
@@ -42,7 +42,7 @@ function file_uri_scheme($uri) {
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CssOptimizer class.
+ * Tests the CSS asset optimizer.
  *
  * @group Asset
  */
@@ -69,14 +69,6 @@ class CssOptimizerUnitTest extends UnitTestCase {
    */
   protected $inline_css_group;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CSS asset optimizer functionality',
-      'description' => 'Tests the CSS asset optimizer.',
-      'group' => 'Asset handling',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php
index 5406648dedec..8a0935e897ff 100644
--- a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryCollectorTest.php
@@ -7,9 +7,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the library discovery parser.
- *
  * @coversDefaultClass \Drupal\Core\Asset\LibraryDiscoveryCollector
+ * @group Asset
  */
 class LibraryDiscoveryCollectorTest extends UnitTestCase {
 
@@ -57,17 +56,6 @@ class LibraryDiscoveryCollectorTest extends UnitTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\Asset\LibraryDiscoveryCollector',
-      'description' => '',
-      'group' => 'Asset handling',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
index ccf9aa963038..15b323dd8497 100644
--- a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
@@ -29,9 +29,8 @@
 }
 
 /**
- * Tests the library discovery parser.
- *
  * @coversDefaultClass \Drupal\Core\Asset\LibraryDiscoveryParser
+ * @group Asset
  */
 class LibraryDiscoveryParserTest extends UnitTestCase {
 
@@ -63,17 +62,6 @@ class LibraryDiscoveryParserTest extends UnitTestCase {
    */
   protected $lock;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\Asset\LibraryDiscoveryParser',
-      'description' => '',
-      'group' => 'Asset handling',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php b/core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php
index dd6f48f6c0e1..d415d0b89c62 100644
--- a/core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php
+++ b/core/tests/Drupal/Tests/Core/Batch/PercentagesTest.php
@@ -11,24 +11,15 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Unit tests of progress percentage rounding.
+ * @coversDefaultClass \Drupal\Component\Batch\Batch
+ * @group Batch
  *
  * Tests the Batch helper object to make sure that the rounding works properly
  * in all cases.
- *
- * @see \Drupal\Component\Batch\Batch
  */
 class PercentagesTest extends UnitTestCase {
   protected $testCases = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Batch percentages',
-      'description' => 'Unit tests of progress percentage rounding.',
-      'group' => 'Batch API',
-    );
-  }
-
   /**
    * Tests the format() function.
    *
diff --git a/core/tests/Drupal/Tests/Core/Breadcrumb/BreadcrumbManagerTest.php b/core/tests/Drupal/Tests/Core/Breadcrumb/BreadcrumbManagerTest.php
index 75f9a806f938..a2cbbf0d5ae7 100644
--- a/core/tests/Drupal/Tests/Core/Breadcrumb/BreadcrumbManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Breadcrumb/BreadcrumbManagerTest.php
@@ -11,12 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the breadcrumb manager.
- *
- * @group Drupal
- * @group Breadcrumb
- *
  * @coversDefaultClass \Drupal\Core\Breadcrumb\BreadcrumbManager
+ * @group Breadcrumb
  */
 class BreadcrumbManagerTest extends UnitTestCase {
 
@@ -42,17 +38,6 @@ protected function setUp() {
     $this->breadcrumbManager = new BreadcrumbManager($this->moduleHandler);
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Breadcrumb manager',
-      'description' => 'Tests the breadcrumb manager.',
-      'group' => 'Menu'
-    );
-  }
-
   /**
    * Tests the breadcrumb manager without any set breadcrumb.
    */
diff --git a/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php b/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php
index 1cf617b0a5d9..8a9ad35051ba 100644
--- a/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/BackendChainImplementationUnitTest.php
@@ -13,20 +13,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests implementation-specific functionality of the BackendChain backend.
+ * Unit test of backend chain implementation specifics.
  *
  * @group Cache
  */
 class BackendChainImplementationUnitTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Backend chain implementation',
-      'description' => 'Unit test of backend chain implementation specifics.',
-      'group' => 'Cache'
-    );
-  }
-
   /**
    * Chain that will be heavily tested.
    *
diff --git a/core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php b/core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php
index 05a987ca1af9..f58471937f27 100644
--- a/core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php
@@ -11,11 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the cache CacheCollector.
- *
+ * @coversDefaultClass \Drupal\Core\Cache\CacheCollector
  * @group Cache
- *
- * @see \Drupal\Core\Cache\CacheCollector
  */
 class CacheCollectorTest extends UnitTestCase {
 
@@ -47,14 +44,6 @@ class CacheCollectorTest extends UnitTestCase {
    */
   protected $collector;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CacheCollector test',
-      'description' => 'Tests the cache collector base implementaion',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Cache/CacheContextsTest.php b/core/tests/Drupal/Tests/Core/Cache/CacheContextsTest.php
index 9a005ffbaf9d..ca868e397903 100644
--- a/core/tests/Drupal/Tests/Core/Cache/CacheContextsTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/CacheContextsTest.php
@@ -12,22 +12,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the CacheContexts service.
- *
+ * @coversDefaultClass \Drupal\Core\Cache\CacheContexts
  * @group Cache
- *
- * @see \Drupal\Core\Cache\CacheContexts
  */
 class CacheContextsTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'CacheContext test',
-      'description' => 'Tests cache contexts.',
-      'group' => 'Cache',
-    );
-  }
-
   public function testContextPlaceholdersAreReplaced() {
     $container = $this->getMockContainer();
     $container->expects($this->once())
diff --git a/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php b/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
index 0f619075be14..4869bea52f4b 100644
--- a/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
@@ -13,25 +13,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the cache CacheFactory.
- *
- * @group Cache
- *
  * @coversDefaultClass \Drupal\Core\Cache\CacheFactory
+ * @group Cache
  */
 class CacheFactoryTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Cache factory test',
-      'description' => 'Tests the cache CacheFactory.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Test that the cache factory falls back to the built-in default service.
    *
diff --git a/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php b/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php
index 5807f2300dc6..509203cb0849 100644
--- a/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/ChainedFastBackendTest.php
@@ -12,10 +12,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the chained fast cache backend.
- *
  * @coversDefaultClass \Drupal\Core\Cache\ChainedFastBackend
- *
  * @group Cache
  */
 class ChainedFastBackendTest extends UnitTestCase {
@@ -41,17 +38,6 @@ class ChainedFastBackendTest extends UnitTestCase {
    */
   protected $bin;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Chained Fast Cache Test',
-      'description' => 'Tests the chained fast cache',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Tests a get() on the fast backend, with no hit on the consistent backend.
    */
diff --git a/core/tests/Drupal/Tests/Core/Cache/NullBackendTest.php b/core/tests/Drupal/Tests/Core/Cache/NullBackendTest.php
index bb7e6ac655c7..e9d448e9416b 100644
--- a/core/tests/Drupal/Tests/Core/Cache/NullBackendTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/NullBackendTest.php
@@ -17,14 +17,6 @@
  */
 class NullBackendTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Cache NullBackend test',
-      'description' => 'Tests the cache NullBackend.',
-      'group' => 'Cache',
-    );
-  }
-
   /**
    * Tests that the NullBackend does not actually store variables.
    */
diff --git a/core/tests/Drupal/Tests/Core/Common/AttributesTest.php b/core/tests/Drupal/Tests/Core/Common/AttributesTest.php
index a354acdaa3b5..1dafef98831a 100644
--- a/core/tests/Drupal/Tests/Core/Common/AttributesTest.php
+++ b/core/tests/Drupal/Tests/Core/Common/AttributesTest.php
@@ -12,17 +12,11 @@
 
 /**
  * Tests the Drupal\Core\Template\Attribute functionality.
+ *
+ * @group Common
  */
 class AttributesTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'HTML Attributes',
-      'description' => 'Tests the Drupal\Core\Template\Attribute functionality.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Provides data for the Attribute test.
    *
diff --git a/core/tests/Drupal/Tests/Core/Common/DiffArrayTest.php b/core/tests/Drupal/Tests/Core/Common/DiffArrayTest.php
index b4fc6c378a31..03a6080328f1 100644
--- a/core/tests/Drupal/Tests/Core/Common/DiffArrayTest.php
+++ b/core/tests/Drupal/Tests/Core/Common/DiffArrayTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the DiffArray helper class.
+ *
+ * @group Common
  */
 class DiffArrayTest extends UnitTestCase {
 
@@ -29,14 +31,6 @@ class DiffArrayTest extends UnitTestCase {
    */
   protected $array2;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'DiffArray functionality',
-      'description' => 'Tests the DiffArray helper class.',
-      'group' => 'System',
-    );
-  }
-
   function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Common/TagsTest.php b/core/tests/Drupal/Tests/Core/Common/TagsTest.php
index 7106d735950c..d93ab721082e 100644
--- a/core/tests/Drupal/Tests/Core/Common/TagsTest.php
+++ b/core/tests/Drupal/Tests/Core/Common/TagsTest.php
@@ -11,7 +11,9 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests Tags::explodeTags and Tags::implodeTags().
+ * Tests explosion and implosion of autocomplete tags.
+ *
+ * @group Common
  */
 class TagsTest extends UnitTestCase {
 
@@ -22,14 +24,6 @@ class TagsTest extends UnitTestCase {
     '"Drupal, although it rhymes with sloopal, is as awesome as a troopal!"' => 'Drupal, although it rhymes with sloopal, is as awesome as a troopal!',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Autocomplete tags',
-      'description' => 'Tests explosion and implosion of autocomplete tags.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Explodes a series of tags.
    */
diff --git a/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php b/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php
index 8081ea8c7ae0..b3c4706bbc66 100644
--- a/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php
+++ b/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php
@@ -12,26 +12,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests resolving a set of conditions.
- *
  * @coversDefaultClass \Drupal\Core\Condition\ConditionAccessResolverTrait
- *
- * @group Drupal
  * @group Condition
  */
 class ConditionAccessResolverTraitTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests resolving a set of conditions',
-      'description' => '',
-      'group' => 'Condition',
-    );
-  }
-
   /**
    * Tests the resolveConditions() method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Config/CachedStorageTest.php b/core/tests/Drupal/Tests/Core/Config/CachedStorageTest.php
index a66d55b2b7cf..619d57d0bedc 100644
--- a/core/tests/Drupal/Tests/Core/Config/CachedStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/CachedStorageTest.php
@@ -19,14 +19,6 @@ class CachedStorageTest extends UnitTestCase {
    */
   protected $cacheFactory;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Config cached storage test',
-      'description' => 'Tests the interaction of cache and file storage in CachedStorage.',
-      'group' => 'Configuration'
-    );
-  }
-
   public function setUp() {
     $this->cacheFactory = $this->getMock('Drupal\Core\Cache\CacheFactoryInterface');
   }
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigDependencyManagerTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigDependencyManagerTest.php
index b802c1684d47..ff50e9c35dbd 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigDependencyManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigDependencyManagerTest.php
@@ -13,19 +13,10 @@
 /**
  * Tests the ConfigDependencyManager class.
  *
- * @group Drupal
  * @group Config
  */
 class ConfigDependencyManagerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'ConfigDependencyManager test',
-      'description' => 'Tests the ConfigDependencyManager class.',
-      'group' => 'Configuration'
-    );
-  }
-
   public function testNoConfiguration() {
     $dep_manger = new ConfigDependencyManager();
     $this->assertEmpty($dep_manger->getDependentEntities('entity', 'config_test.dynamic.entity_id:745b0ce0-aece-42dd-a800-ade5b8455e84'));
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php
index a824b3ab5fbf..e5dea6dcdfad 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php
@@ -16,8 +16,6 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Config\Entity\ConfigEntityBase
- *
- * @group Drupal
  * @group Config
  */
 class ConfigEntityBaseUnitTest extends UnitTestCase {
@@ -92,17 +90,6 @@ class ConfigEntityBaseUnitTest extends UnitTestCase {
    */
   protected $typedConfigManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Config\Entity\ConfigEntityBase unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityDependencyTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityDependencyTest.php
index 6591a14871a5..98a9d31aef3e 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityDependencyTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityDependencyTest.php
@@ -13,19 +13,10 @@
 /**
  * Tests the ConfigEntityDependency class.
  *
- * @group Drupal
  * @group Config
  */
 class ConfigEntityDependencyTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'ConfigEntityDependency test',
-      'description' => 'Tests the ConfigEntityDependency class.',
-      'group' => 'Configuration'
-    );
-  }
-
   public function testEmptyDependencies() {
     $dep = new ConfigEntityDependency('config_test.dynamic.entity_id', array());
 
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
index 12c4823dc99c..73c558f87273 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
@@ -15,8 +15,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Config\Entity\ConfigEntityStorage
- *
- * @group Drupal
+ * @group Config
  */
 class ConfigEntityStorageTest extends UnitTestCase {
 
@@ -104,17 +103,6 @@ class ConfigEntityStorageTest extends UnitTestCase {
    */
   protected $typedConfigManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'ConfigEntityStorage unit test',
-      'description' => 'Tests \Drupal\Core\Config\Entity\ConfigEntityStorage',
-      'group' => 'Configuration',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityTypeTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityTypeTest.php
index 3db843ab99c8..207315c7f20b 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityTypeTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityTypeTest.php
@@ -13,23 +13,10 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Config\Entity\ConfigEntityType
- *
- * @group Drupal
  * @group Config
  */
 class ConfigEntityTypeTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Config\Entity\ConfigEntityType unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * Sets up a ConfigEntityType object for a given set of values.
    *
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
index 314e04410538..63c5ae0015b9 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/EntityDisplayModeBaseUnitTest.php
@@ -12,8 +12,6 @@
 
 /**
  * @coversDefaultClass \Drupal\entity\EntityDisplayModeBase
- *
- * @group Drupal
  * @group Config
  */
 class EntityDisplayModeBaseUnitTest extends UnitTestCase {
@@ -53,17 +51,6 @@ class EntityDisplayModeBaseUnitTest extends UnitTestCase {
    */
   protected $uuid;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\entity\EntityDisplayModeBase unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Config/StorageComparerTest.php b/core/tests/Drupal/Tests/Core/Config/StorageComparerTest.php
index 178be29008fe..15962fee8424 100644
--- a/core/tests/Drupal/Tests/Core/Config/StorageComparerTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/StorageComparerTest.php
@@ -13,8 +13,6 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Config\StorageComparer
- *
- * @group Drupal
  * @group Config
  */
 class StorageComparerTest extends UnitTestCase {
@@ -48,14 +46,6 @@ class StorageComparerTest extends UnitTestCase {
    */
   protected $configData;
 
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Config\StorageComparer unit test',
-      'group' => 'Configuration',
-    );
-  }
-
   public function setUp() {
     $this->sourceStorage = $this->getMock('Drupal\Core\Config\StorageInterface');
     $this->targetStorage = $this->getMock('Drupal\Core\Config\StorageInterface');
diff --git a/core/tests/Drupal/Tests/Core/Controller/ControllerBaseTest.php b/core/tests/Drupal/Tests/Core/Controller/ControllerBaseTest.php
index 0345f0ebec42..23b3950b38aa 100644
--- a/core/tests/Drupal/Tests/Core/Controller/ControllerBaseTest.php
+++ b/core/tests/Drupal/Tests/Core/Controller/ControllerBaseTest.php
@@ -11,6 +11,8 @@
 
 /**
  * Tests that the base controller class.
+ *
+ * @group Controller
  */
 class ControllerBaseTest extends UnitTestCase {
 
@@ -21,14 +23,6 @@ class ControllerBaseTest extends UnitTestCase {
    */
   protected $controllerBase;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Controller Base tests',
-      'description' => 'Tests that the base controller class.',
-      'group' => 'Routing',
-    );
-  }
-
   protected function setUp() {
     $this->controllerBase = $this->getMockForAbstractClass('Drupal\Core\Controller\ControllerBase');
   }
diff --git a/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php b/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php
index 923c94b8e35b..d245f1c435f1 100644
--- a/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php
+++ b/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php
@@ -19,12 +19,8 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests that the Drupal-extended ControllerResolver is functioning properly.
- *
- * @see \Drupal\Core\Controller\ControllerResolver
- *
- * @group Drupal
- * @group Routing
+ * @coversDefaultClass \Drupal\Core\Controller\ControllerResolver
+ * @group Controller
  */
 class ControllerResolverTest extends UnitTestCase {
 
@@ -42,17 +38,6 @@ class ControllerResolverTest extends UnitTestCase {
    */
   protected $container;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Controller Resolver tests',
-      'description' => 'Tests that the Drupal-extended ControllerResolver is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Controller/ExceptionControllerTest.php b/core/tests/Drupal/Tests/Core/Controller/ExceptionControllerTest.php
index 50d017283369..7307780b1acc 100644
--- a/core/tests/Drupal/Tests/Core/Controller/ExceptionControllerTest.php
+++ b/core/tests/Drupal/Tests/Core/Controller/ExceptionControllerTest.php
@@ -13,22 +13,11 @@
 use Symfony\Component\Debug\Exception\FlattenException;
 
 /**
- * Tests exception controller.
- *
- * @see \Drupal\Core\Controller\ExceptionController
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Controller\ExceptionController
+ * @group Controller
  */
 class ExceptionControllerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Exception controller',
-      'description' => 'Performs tests on the exception handler controller class.',
-      'group' => 'System',
-    );
-  }
-
   /**
    * Ensure the execute() method returns a valid response on 405 exceptions.
    */
diff --git a/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php b/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php
index 94f24ca87cae..b153d9fc76e6 100644
--- a/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php
+++ b/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the title resolver.
- *
- * @see \Drupal\Core\Controller\TitleResolver
+ * @coversDefaultClass \Drupal\Core\Controller\TitleResolver
+ * @group Controller
  */
 class TitleResolverTest extends UnitTestCase {
 
@@ -42,14 +41,6 @@ class TitleResolverTest extends UnitTestCase {
    */
   protected $titleResolver;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Title resolver',
-      'description' => 'Tests the title resolver.',
-      'group' => 'Routing',
-    );
-  }
-
   protected function setUp() {
     $this->controllerResolver = $this->getMock('\Drupal\Core\Controller\ControllerResolverInterface');
     $this->translationManager = $this->getMock('\Drupal\Core\StringTranslation\TranslationInterface');
diff --git a/core/tests/Drupal/Tests/Core/Database/ConnectionTest.php b/core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
index 20667ee211c8..cba899bfca07 100644
--- a/core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
+++ b/core/tests/Drupal/Tests/Core/Database/ConnectionTest.php
@@ -12,24 +12,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests Drupal\Core\Database\Connection.
+ * Tests the Connection class.
  *
- * @group Drupal
  * @group Database
  */
 class ConnectionTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Connection Test',
-      'description' => 'Test the Connection class.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Dataprovider for testPrefixRoundTrip().
    *
diff --git a/core/tests/Drupal/Tests/Core/Database/EmptyStatementTest.php b/core/tests/Drupal/Tests/Core/Database/EmptyStatementTest.php
index e1360af04683..693775a59ea6 100644
--- a/core/tests/Drupal/Tests/Core/Database/EmptyStatementTest.php
+++ b/core/tests/Drupal/Tests/Core/Database/EmptyStatementTest.php
@@ -13,16 +13,10 @@
 
 /**
  * Tests the empty pseudo-statement class.
+ *
+ * @group Database
  */
 class EmptyStatementTest extends UnitTestCase {
-  public static function getInfo() {
-    return array(
-      'name' => 'Empty statement',
-      'description' => 'Test the empty pseudo-statement class.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * Tests that the empty result set behaves as empty.
    */
diff --git a/core/tests/Drupal/Tests/Core/Database/OrderByTest.php b/core/tests/Drupal/Tests/Core/Database/OrderByTest.php
index e69b11a25adb..7152593713ca 100644
--- a/core/tests/Drupal/Tests/Core/Database/OrderByTest.php
+++ b/core/tests/Drupal/Tests/Core/Database/OrderByTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the orderBy() method of select queries.
+ *
+ * @group Database
  */
 class OrderByTest extends UnitTestCase {
 
@@ -22,17 +24,6 @@ class OrderByTest extends UnitTestCase {
    */
   protected $query;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Order by',
-      'description' => 'Tests the orderBy() method of select queries.',
-      'group' => 'Database',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Datetime/DateTest.php b/core/tests/Drupal/Tests/Core/Datetime/DateTest.php
index 57cfe001401d..55a59a1c3d5c 100644
--- a/core/tests/Drupal/Tests/Core/Datetime/DateTest.php
+++ b/core/tests/Drupal/Tests/Core/Datetime/DateTest.php
@@ -11,11 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the date service.
- *
- * @group Drupal
- *
- * @see \Drupal\Core\Datetime\Date
+ * @coversDefaultClass \Drupal\Core\Datetime\Date
+ * @group Datetime
  */
 class DateTest extends UnitTestCase {
 
@@ -47,17 +44,6 @@ class DateTest extends UnitTestCase {
    */
   protected $date;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Date service test.',
-      'description' => 'Tests the date service.',
-      'group' => 'System'
-    );
-  }
-
   protected function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
     $this->languageManager = $this->getMock('Drupal\Core\Language\LanguageManagerInterface');
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php
index a9955bfd2bd4..dd03a1fe5527 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php
@@ -13,26 +13,11 @@
 use Symfony\Component\DependencyInjection\Reference;
 
 /**
- * Tests the tagged handler compiler pass.
- *
- * @group Drupal
- * @group DependencyInjection
- *
  * @coversDefaultClass \Drupal\Core\DependencyInjection\Compiler\TaggedHandlersPass
+ * @group DependencyInjection
  */
 class TaggedHandlersPassTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\DependencyInjection\Compiler\TaggedHandlersPass',
-      'description' => '',
-      'group' => 'Dependency injection',
-    );
-  }
-
   protected function buildContainer($environment = 'dev') {
     $container = new ContainerBuilder();
     $container->setParameter('kernel.environment', $environment);
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
index fcc898f34759..83bae6020b8c 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php
@@ -14,23 +14,11 @@
 require_once __DIR__ . '../../../../../../vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php';
 
 /**
- * Tests the dependency injection container builder overrides of Drupal.
- *
- * @see \Drupal\Core\DependencyInjection\ContainerBuilder
+ * @coversDefaultClass \Drupal\Core\DependencyInjection\ContainerBuilder
+ * @group DependencyInjection
  */
 class ContainerBuilderTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Dependency injection container builder',
-      'description' => 'Tests the dependency injection container builder overrides of Drupal.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * Tests set with a synchronized service.
    */
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerTest.php
index ff1afed169d3..e892f227083c 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the dependency injection container overrides of Drupal.
- *
- * @see \Drupal\Core\DependencyInjection\Container
+ * @coversDefaultClass \Drupal\Core\DependencyInjection\Container
+ * @group DependencyInjection
  */
 class ContainerTest extends UnitTestCase {
 
@@ -24,17 +23,6 @@ class ContainerTest extends UnitTestCase {
    */
   public $container;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Dependency injection container',
-      'description' => 'Tests the dependency injection container overrides of Drupal.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
index 2c852565fae8..ad05400d5ce7 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php
@@ -14,23 +14,11 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Tests the dependency serialization trait.
- *
  * @coversDefaultClass \Drupal\Core\DependencyInjection\DependencySerializationTrait
+ * @group DependencyInjection
  */
 class DependencySerializationTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => '\Drupal\Core\DependencyInjection\DependencySerializationTrait unit test',
-      'description' => '',
-      'group' => 'System'
-    );
-  }
-
   /**
    * @covers ::__sleep
    * @covers ::__wakeup
diff --git a/core/tests/Drupal/Tests/Core/Display/DisplayVariantTest.php b/core/tests/Drupal/Tests/Core/Display/DisplayVariantTest.php
index 41a0458552f8..add47b158950 100644
--- a/core/tests/Drupal/Tests/Core/Display/DisplayVariantTest.php
+++ b/core/tests/Drupal/Tests/Core/Display/DisplayVariantTest.php
@@ -10,26 +10,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the base variant plugin.
- *
  * @coversDefaultClass \Drupal\Core\Display\VariantBase
- *
- * @group Drupal
  * @group Display
  */
 class DisplayVariantTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Display variant',
-      'description' => '',
-      'group' => 'Display variant',
-    );
-  }
-
   /**
    * Sets up a display variant plugin for testing.
    *
diff --git a/core/tests/Drupal/Tests/Core/DrupalTest.php b/core/tests/Drupal/Tests/Core/DrupalTest.php
index 5ace2411a1c2..9e4c4b39488f 100644
--- a/core/tests/Drupal/Tests/Core/DrupalTest.php
+++ b/core/tests/Drupal/Tests/Core/DrupalTest.php
@@ -12,9 +12,7 @@
 /**
  * Tests the Drupal class.
  *
- * @group Drupal
- *
- * @see \Drupal
+ * @group DrupalTest
  */
 class DrupalTest extends UnitTestCase {
 
@@ -25,14 +23,6 @@ class DrupalTest extends UnitTestCase {
    */
   protected $container;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Drupal test',
-      'description' => 'Tests the Drupal class.',
-      'group' => 'System'
-    );
-  }
-
   public function setUp() {
     $this->container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
       ->setMethods(array('get'))
diff --git a/core/tests/Drupal/Tests/Core/Enhancer/ParamConversionEnhancerTest.php b/core/tests/Drupal/Tests/Core/Enhancer/ParamConversionEnhancerTest.php
index 5106ff770a97..bfc089ea8d3f 100644
--- a/core/tests/Drupal/Tests/Core/Enhancer/ParamConversionEnhancerTest.php
+++ b/core/tests/Drupal/Tests/Core/Enhancer/ParamConversionEnhancerTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the parameter conversion enhancer.
- *
  * @coversDefaultClass \Drupal\Core\Routing\Enhancer\ParamConversionEnhancer
+ * @group Enhancer
  */
 class ParamConversionEnhancerTest extends UnitTestCase {
 
@@ -31,17 +30,6 @@ class ParamConversionEnhancerTest extends UnitTestCase {
    */
   protected $paramConverterManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Parameter conversion enhancer',
-      'description' => 'Tests the parameter conversion enhancer.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
index 08fa85c8f6d2..adb8979ab653 100644
--- a/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
@@ -15,8 +15,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Entity\ContentEntityBase
- *
- * @group Drupal
+ * @group Entity
  */
 class ContentEntityBaseUnitTest extends UnitTestCase {
 
@@ -97,17 +96,6 @@ class ContentEntityBaseUnitTest extends UnitTestCase {
    */
   protected $fieldDefinitions;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Entity\ContentEntityBase unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php
index c74320082a16..960f7356f38e 100644
--- a/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php
@@ -13,11 +13,7 @@
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 
 /**
- * Tests the fieldable database storage.
- *
  * @coversDefaultClass \Drupal\Core\Entity\ContentEntityDatabaseStorage
- *
- * @group Drupal
  * @group Entity
  */
 class ContentEntityDatabaseStorageTest extends UnitTestCase {
@@ -50,17 +46,6 @@ class ContentEntityDatabaseStorageTest extends UnitTestCase {
    */
   protected $entityManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Fieldable database storage',
-      'description' => 'Tests the fieldable database storage enhancer for entities.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/Controller/EntityViewControllerTest.php b/core/tests/Drupal/Tests/Core/Entity/Controller/EntityViewControllerTest.php
index ac6c8864bdc8..6539a2b678c4 100644
--- a/core/tests/Drupal/Tests/Core/Entity/Controller/EntityViewControllerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/Controller/EntityViewControllerTest.php
@@ -11,23 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the entity view controller.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Entity\Controller\EntityViewController
  * @group Entity
- *
- * @see \Drupal\Core\Entity\Controller\EntityViewController
  */
 class EntityViewControllerTest extends UnitTestCase{
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity view controller test',
-      'description' => 'Tests the entity view controller.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * Tests the enhancer method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Entity/Enhancer/EntityRouteEnhancerTest.php b/core/tests/Drupal/Tests/Core/Entity/Enhancer/EntityRouteEnhancerTest.php
index a2903a9b711e..3727a069a118 100644
--- a/core/tests/Drupal/Tests/Core/Entity/Enhancer/EntityRouteEnhancerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/Enhancer/EntityRouteEnhancerTest.php
@@ -13,23 +13,11 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the entity route enhancer.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
  * @group Entity
- *
- * @see \Drupal\Core\Entity\Enhancer\EntityRouteEnhancer
  */
 class EntityRouteEnhancerTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity route enhancer test',
-      'description' => 'Tests the entity route enhancer.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * Tests the enhancer method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php
index bba441972f8a..ba5ffcf07d36 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityAccessCheckTest.php
@@ -14,20 +14,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the entity access controller.
+ * Unit test of entity access checking system.
  *
  * @group Entity
  */
 class EntityAccessCheckTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity access check test',
-      'description' => 'Unit test of entity access checking system.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * Tests the method for checking access to routes.
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityCreateAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityCreateAccessCheckTest.php
index fdf5675423b2..e195e4c33be6 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityCreateAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityCreateAccessCheckTest.php
@@ -14,11 +14,8 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the entity-create access controller.
- *
+ * @coversDefaultClass \Drupal\Core\Entity\EntityCreateAccessCheck
  * @group Entity
- *
- * @see \Drupal\Core\Entity\EntityCreateAccessCheck
  */
 class EntityCreateAccessCheckTest extends UnitTestCase {
 
@@ -29,14 +26,6 @@ class EntityCreateAccessCheckTest extends UnitTestCase {
    */
   public $entityManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity create access check test',
-      'description' => 'Unit test of entity create access checking system.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityFormBuilderTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityFormBuilderTest.php
index 42b619113d92..0242a44825e3 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityFormBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityFormBuilderTest.php
@@ -7,6 +7,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Entity\EntityFormBuilder
+ * @group Entity
  */
 class EntityFormBuilderTest extends UnitTestCase {
 
@@ -31,17 +32,6 @@ class EntityFormBuilderTest extends UnitTestCase {
    */
   protected $entityFormBuilder;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Form Builder test',
-      'description' => 'Unit test the entity form builder.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
index 121d7455357d..a7e0792ec805 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
@@ -14,11 +14,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the entity list builder.
- *
+ * @coversDefaultClass \Drupal\entity_test\EntityTestListBuilder
  * @group Entity
- *
- * @see \Drupal\entity_test\EntityTestListBuilder
  */
 class EntityListBuilderTest extends UnitTestCase {
 
@@ -71,14 +68,6 @@ class EntityListBuilderTest extends UnitTestCase {
    */
   protected $entityListBuilder;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity list builder test',
-      'description' => 'Unit test of entity list builder system.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityManagerTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityManagerTest.php
index c65883c225ac..0a7acf4c2db4 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityManagerTest.php
@@ -24,11 +24,7 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Tests the \Drupal\Core\Entity\EntityManager class.
- *
  * @coversDefaultClass \Drupal\Core\Entity\EntityManager
- *
- * @group Drupal
  * @group Entity
  */
 class EntityManagerTest extends UnitTestCase {
@@ -96,17 +92,6 @@ class EntityManagerTest extends UnitTestCase {
    */
   protected $typedDataManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity Manager test',
-      'description' => 'Unit test the entity manager.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
index add0e230af1f..b070e3578663 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php
@@ -16,12 +16,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Provides a test for the entity resolver.
- *
- * @group Drupal
- * @group Entity
- *
  * @coversDefaultClass \Drupal\Core\Entity\EntityResolverManager
+ * @group Entity
  */
 class EntityResolverManagerTest extends UnitTestCase {
 
@@ -60,17 +56,6 @@ class EntityResolverManagerTest extends UnitTestCase {
    */
   protected $container;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => '\Drupal\Core\Entity\EntityResolverManager unit test',
-      'description' => '',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityTypeTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityTypeTest.php
index ac29654c7737..046744d5702c 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityTypeTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityTypeTest.php
@@ -12,23 +12,10 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Entity\EntityType
- *
- * @group Drupal
  * @group Entity
  */
 class EntityTypeTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Entity type test',
-      'description' => 'Unit test entity type info.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * Sets up an EntityType object for a given set of values.
    *
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php
index 3ecc8de06698..0ca1e8525cd9 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php
@@ -16,8 +16,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Entity\Entity
- *
- * @group Drupal
+ * @group Entity
  */
 class EntityUnitTest extends UnitTestCase {
 
@@ -84,17 +83,6 @@ class EntityUnitTest extends UnitTestCase {
    */
   protected $values;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Entity\Entity unit test',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php b/core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php
index bd8e53f1f14d..7f6ff8fa310e 100644
--- a/core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php
@@ -12,11 +12,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the \Drupal\Core\Entity\EntityInterface URL methods.
- *
  * @coversDefaultClass \Drupal\Core\Entity\Entity
- *
- * @group Drupal
  * @group Entity
  */
 class EntityUrlTest extends UnitTestCase {
@@ -33,17 +29,6 @@ class EntityUrlTest extends UnitTestCase {
    */
   protected $urlGenerator;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'EntityInterface URL test',
-      'description' => 'Unit test the EntityInterface URL methods.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/FieldDefinitionTest.php b/core/tests/Drupal/Tests/Core/Entity/FieldDefinitionTest.php
index abf8505b6953..5368574fb4f2 100644
--- a/core/tests/Drupal/Tests/Core/Entity/FieldDefinitionTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/FieldDefinitionTest.php
@@ -13,7 +13,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests \Drupal\Core\Field\FieldDefinition.
+ * Unit test for FieldDefinition.
  *
  * @group Entity
  */
@@ -34,14 +34,6 @@ class FieldDefinitionTest extends UnitTestCase {
   protected $fieldTypeDefinition;
 
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Field definition test',
-      'description' => 'Unit test for FieldDefinition.',
-      'group' => 'Entity'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
index bc21d8a2268c..f3447baa5107 100644
--- a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
@@ -16,9 +16,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage
- *
- * @group Drupal
- * @group KeyValueEntityStorage
+ * @group Entity
  */
 class KeyValueEntityStorageTest extends UnitTestCase {
 
@@ -76,17 +74,6 @@ class KeyValueEntityStorageTest extends UnitTestCase {
    */
   protected $cacheBackend;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'KeyValueEntityStorage',
-      'description' => 'Tests \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/Schema/ContentEntitySchemaHandlerTest.php b/core/tests/Drupal/Tests/Core/Entity/Schema/ContentEntitySchemaHandlerTest.php
index 0b91716f892c..83b3509266a1 100644
--- a/core/tests/Drupal/Tests/Core/Entity/Schema/ContentEntitySchemaHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/Schema/ContentEntitySchemaHandlerTest.php
@@ -13,11 +13,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the content entity schema handler.
- *
  * @coversDefaultClass \Drupal\Core\Entity\Schema\ContentEntitySchemaHandler
- *
- * @group Drupal
  * @group Entity
  */
 class ContentEntitySchemaHandlerTest extends UnitTestCase {
@@ -57,17 +53,6 @@ class ContentEntitySchemaHandlerTest extends UnitTestCase {
    */
   protected $schemaHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Content entity schema handler',
-      'description' => 'Tests the schema generation for content entities.',
-      'group' => 'Entity',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php b/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php
index 196ff7784a92..18802c74d16b 100644
--- a/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php
@@ -10,26 +10,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the default table mapping class.
- *
  * @coversDefaultClass \Drupal\Core\Entity\Sql\DefaultTableMapping
- *
- * @group Drupal
  * @group Entity
  */
 class DefaultTableMappingTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return [
-      'name' => 'Default table mapping',
-      'description' => 'Check that the default table mapping works.',
-      'group' => 'Entity',
-    ];
-  }
-
   /**
    * Tests DefaultTableMapping::getTableNames().
    *
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/AccessSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/AccessSubscriberTest.php
index 5ec7f815b738..11f35655eebd 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/AccessSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/AccessSubscriberTest.php
@@ -20,12 +20,8 @@
 
 
 /**
- * Tests the AccessSubscriber class.
- *
- * @see \Drupal\Core\EventSubscriber\AccessSubscriber
- *
- * @group System
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\EventSubscriber\AccessSubscriber
+ * @group EventSubscriber
  */
 class AccessSubscriberTest extends UnitTestCase {
 
@@ -59,17 +55,6 @@ class AccessSubscriberTest extends UnitTestCase {
    */
   protected $currentUser;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Access subscriber',
-      'description' => 'Tests the access subscriber',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ExceptionListenerTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ExceptionListenerTest.php
index 6469199534da..5815ee167f92 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ExceptionListenerTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ExceptionListenerTest.php
@@ -15,12 +15,8 @@
 use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
 
 /**
- * Tests the exception listener.
- *
- * @group Drupal
- * @group Routing
- *
- * @see \Drupal\Core\EventSubscriber\ExceptionListener
+ * @coversDefaultClass \Drupal\Core\EventSubscriber\ExceptionListener
+ * @group EventSubscriber
  */
 class ExceptionListenerTest extends UnitTestCase {
 
@@ -45,17 +41,6 @@ class ExceptionListenerTest extends UnitTestCase {
    */
   protected $errorLog;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Exception listener',
-      'description' => 'Tests the exception listener',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ModuleRouteSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ModuleRouteSubscriberTest.php
index 0018ffd41f3e..57607a81b785 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ModuleRouteSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ModuleRouteSubscriberTest.php
@@ -14,11 +14,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the ModuleRouteSubscriber class.
- *
- * @group Drupal
- *
- * @see \Drupal\Core\EventSubscriber\ModuleRouteSubscriber
+ * @coversDefaultClass \Drupal\Core\EventSubscriber\ModuleRouteSubscriber
+ * @group EventSubscriber
  */
 class ModuleRouteSubscriberTest extends UnitTestCase {
 
@@ -29,14 +26,6 @@ class ModuleRouteSubscriberTest extends UnitTestCase {
    */
   protected $moduleHandler;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Module route subscriber',
-      'description' => 'Unit test the \Drupal\Core\EventSubscriber\ModuleRouteSubscriber class.',
-      'group' => 'System'
-    );
-  }
-
   public function setUp() {
     $this->moduleHandler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface');
 
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php
index 565a575bd91a..02acb666663a 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/PathRootsSubscriberTest.php
@@ -14,12 +14,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests Drupal\Core\EventSubscriber\PathRootsSubscriber.
- *
- * @group Drupal
- * @group Routing
- *
  * @coversDefaultClass \Drupal\Core\EventSubscriber\PathRootsSubscriber
+ * @group EventSubscriber
  */
 class PathRootsSubscriberTest extends UnitTestCase {
 
@@ -37,17 +33,6 @@ class PathRootsSubscriberTest extends UnitTestCase {
    */
   protected $pathRootsSubscriber;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Drupal\Core\EventSubscriber\PathRootsSubscriber',
-      'description' => '',
-      'group' => 'Routing'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php
index db093f8c202c..04f7ecf5e1c5 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/RedirectResponseSubscriberTest.php
@@ -17,26 +17,11 @@
 use Symfony\Component\HttpKernel\KernelEvents;
 
 /**
- * Tests response redirection using destination get argument.
- *
- * @group Drupal
- * @group Routing
- *
  * @coversDefaultClass \Drupal\Core\EventSubscriber\RedirectResponseSubscriber
+ * @group EventSubscriber
  */
 class RedirectResponseSubscriberTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests response redirection using destination get argument.',
-      'description' => '',
-      'group' => 'Routing'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
index a4570e6653d1..2b197882e449 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
@@ -13,20 +13,12 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the ReverseProxySubscriber.
+ * Unit test the reverse proxy event subscriber.
  *
- * @group System
+ * @group EventSubscriber
  */
 class ReverseProxySubscriberUnitTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Reverse proxy implementation',
-      'description' => 'Unit test the reverse proxy event subscriber.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * Tests that subscriber does not act when reverse proxy is not set.
    */
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php
index 65ba07d3ba19..cdab44f16a87 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/SpecialAttributesRouteSubscriberTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the special attributes route subscriber.
- *
- * @see \Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
+ * @coversDefaultClass \Drupal\Core\EventSubscriber\SpecialAttributesRouteSubscriber
+ * @group EventSubscriber
  */
 class SpecialAttributesRouteSubscriberTest extends UnitTestCase {
 
@@ -28,14 +27,6 @@ class SpecialAttributesRouteSubscriberTest extends UnitTestCase {
    */
   protected  $specialAttributesRouteSubscriber;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Special attributes route subscriber',
-      'description' => 'Tests the special attributes route subscriber.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
index cfb86f2a239b..bc5da97a61cd 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
@@ -12,12 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the module handler.
- *
- * @group Drupal
- * @group Module
- *
  * @coversDefaultClass \Drupal\Core\Extension\ModuleHandler
+ * @group Extension
  */
 class ModuleHandlerTest extends UnitTestCase {
 
@@ -36,17 +32,6 @@ class ModuleHandlerTest extends UnitTestCase {
    */
   protected $moduleHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Module handler',
-      'description' => 'Tests the module handler.',
-      'group' => 'Module',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
index 2645bf1845c2..4e6e06b74c5d 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
@@ -16,12 +16,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the theme handler.
- *
- * @group Drupal
- * @group Theme
- *
- * @see \Drupal\Core\Extension\ThemeHandler
+ * @coversDefaultClass \Drupal\Core\Extension\ThemeHandler
+ * @group Extension
  */
 class ThemeHandlerTest extends UnitTestCase {
 
@@ -81,17 +77,6 @@ class ThemeHandlerTest extends UnitTestCase {
    */
   protected $themeHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme handler',
-      'description' => 'Tests the theme handler.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/ExternalUrlTest.php b/core/tests/Drupal/Tests/Core/ExternalUrlTest.php
index c44e3028983a..ce0fb84c9c72 100644
--- a/core/tests/Drupal/Tests/Core/ExternalUrlTest.php
+++ b/core/tests/Drupal/Tests/Core/ExternalUrlTest.php
@@ -14,12 +14,8 @@
 use Symfony\Component\Routing\Exception\ResourceNotFoundException;
 
 /**
- * Tests the \Drupal\Core\Url class for external paths.
- *
- * @group Drupal
- * @group Url
- *
  * @coversDefaultClass \Drupal\Core\Url
+ * @group ExternalUrlTest
  */
 class ExternalUrlTest extends UnitTestCase {
 
@@ -44,17 +40,6 @@ class ExternalUrlTest extends UnitTestCase {
    */
   protected $path = 'http://drupal.org';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Url object (external)',
-      'description' => 'Tests the \Drupal\Core\Url class with external paths.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Form/ConfirmFormHelperTest.php b/core/tests/Drupal/Tests/Core/Form/ConfirmFormHelperTest.php
index f7d142c54f96..06a48028572c 100644
--- a/core/tests/Drupal/Tests/Core/Form/ConfirmFormHelperTest.php
+++ b/core/tests/Drupal/Tests/Core/Form/ConfirmFormHelperTest.php
@@ -13,26 +13,11 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the confirm form helper class.
- *
  * @coversDefaultClass \Drupal\Core\Form\ConfirmFormHelper
- *
- * @group Drupal
  * @group Form
  */
 class ConfirmFormHelperTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Confirm form helper test',
-      'description' => 'Tests the confirm form helper class.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * @covers ::buildCancelLink
    *
diff --git a/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php b/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php
index 03ba5ebe8f16..fbef0672efa9 100644
--- a/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php
@@ -12,26 +12,11 @@
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Tests the form builder.
- *
  * @coversDefaultClass \Drupal\Core\Form\FormBuilder
- *
- * @group Drupal
  * @group Form
  */
 class FormBuilderTest extends FormTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Form builder test',
-      'description' => 'Tests the form builder.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests the getFormId() method with a string based form ID.
    */
diff --git a/core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php b/core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php
index 1d65e50f33e9..cc34f74dfe86 100644
--- a/core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php
+++ b/core/tests/Drupal/Tests/Core/Form/FormSubmitterTest.php
@@ -15,11 +15,7 @@
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
- * Tests the form submission handler.
- *
  * @coversDefaultClass \Drupal\Core\Form\FormSubmitter
- *
- * @group Drupal
  * @group Form
  */
 class FormSubmitterTest extends UnitTestCase {
@@ -31,17 +27,6 @@ class FormSubmitterTest extends UnitTestCase {
    */
   protected $urlGenerator;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Form submission test',
-      'description' => 'Tests the form submission handler.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php b/core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php
index efb06c4bb6a4..0870788f0630 100644
--- a/core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php
+++ b/core/tests/Drupal/Tests/Core/Form/FormValidatorTest.php
@@ -13,26 +13,11 @@
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
- * Tests the form validator.
- *
  * @coversDefaultClass \Drupal\Core\Form\FormValidator
- *
- * @group Drupal
  * @group Form
  */
 class FormValidatorTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Form validator test',
-      'description' => 'Tests the form validator.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests that form errors during submission throw an exception.
    *
diff --git a/core/tests/Drupal/Tests/Core/Form/OptGroupTest.php b/core/tests/Drupal/Tests/Core/Form/OptGroupTest.php
index febc6c68ba49..6f353b9a4b25 100644
--- a/core/tests/Drupal/Tests/Core/Form/OptGroupTest.php
+++ b/core/tests/Drupal/Tests/Core/Form/OptGroupTest.php
@@ -11,26 +11,11 @@
 use Drupal\Core\Form\OptGroup;
 
 /**
- * Tests the OptGroup class.
- *
  * @coversDefaultClass \Drupal\Core\Form\OptGroup
- *
- * @group Drupal
  * @group Form
  */
 class OptGroupTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'OptGroup test',
-      'description' => 'Tests the OptGroup class.',
-      'group' => 'Form API',
-    );
-  }
-
   /**
    * Tests the flattenOptions() method.
    *
diff --git a/core/tests/Drupal/Tests/Core/HttpKernelTest.php b/core/tests/Drupal/Tests/Core/HttpKernelTest.php
index 8115ada67c1a..4e5509c18266 100644
--- a/core/tests/Drupal/Tests/Core/HttpKernelTest.php
+++ b/core/tests/Drupal/Tests/Core/HttpKernelTest.php
@@ -19,20 +19,11 @@
 use Symfony\Component\HttpKernel\KernelEvents;
 
 /**
- * Tests the custom http kernel of drupal.
- *
- * @see \Drupal\Core\HttpKernel
+ * @coversDefaultClass \Drupal\Core\HttpKernel
+ * @group HttpKernelTest
  */
 class HttpKernelTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'HttpKernel (Unit)',
-      'description' => 'Tests the HttpKernel.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * Tests the forward method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Image/ImageTest.php b/core/tests/Drupal/Tests/Core/Image/ImageTest.php
index 8e1fd65593e3..94ee5d4b75a3 100644
--- a/core/tests/Drupal/Tests/Core/Image/ImageTest.php
+++ b/core/tests/Drupal/Tests/Core/Image/ImageTest.php
@@ -12,6 +12,8 @@
 
 /**
  * Tests the image class.
+ *
+ * @group Image
  */
 class ImageTest extends UnitTestCase {
 
@@ -36,14 +38,6 @@ class ImageTest extends UnitTestCase {
    */
   protected $toolkit;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Image class functionality',
-      'description' => 'Tests the Image class.',
-      'group' => 'Image',
-    );
-  }
-
   protected function setUp() {
     // Use the Druplicon image.
     $this->source = __DIR__ . '/../../../../../misc/druplicon.png';
diff --git a/core/tests/Drupal/Tests/Core/Language/LanguageUnitTest.php b/core/tests/Drupal/Tests/Core/Language/LanguageUnitTest.php
index 2533330cc080..7abed94bfc1c 100644
--- a/core/tests/Drupal/Tests/Core/Language/LanguageUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Language/LanguageUnitTest.php
@@ -13,8 +13,6 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Language\Language
- *
- * @group Drupal
  * @group Language
  */
 class LanguageUnitTest extends UnitTestCase {
@@ -26,17 +24,6 @@ class LanguageUnitTest extends UnitTestCase {
    */
   protected $language;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Core\Language\Language unit test',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Lock/LockBackendAbstractTest.php b/core/tests/Drupal/Tests/Core/Lock/LockBackendAbstractTest.php
index 2ce4ef7fe018..d044ef409226 100644
--- a/core/tests/Drupal/Tests/Core/Lock/LockBackendAbstractTest.php
+++ b/core/tests/Drupal/Tests/Core/Lock/LockBackendAbstractTest.php
@@ -10,12 +10,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the LockBackendAbstract class.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Tests\Core\Lock\LockBackendAbstractTest
  * @group Lock
- *
- * @see \Drupal\Tests\Core\Lock\LockBackendAbstractTest
  */
 class LockBackendAbstractTest extends UnitTestCase {
 
@@ -26,14 +22,6 @@ class LockBackendAbstractTest extends UnitTestCase {
    */
   protected $lock;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'LockBackendAbstract test',
-      'description' => 'Test the LockBackendAbstract class.',
-      'group' => 'Lock',
-    );
-  }
-
   public function setUp() {
     $this->lock = $this->getMockForAbstractClass('Drupal\Core\Lock\LockBackendAbstract');
   }
diff --git a/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php b/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
index 2fa198eeb92f..2ef2d087b27a 100644
--- a/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
+++ b/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
@@ -11,24 +11,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the log message parser.
- *
- * @see \Drupal\Core\Logger\LogMessageParser
  * @coversDefaultClass \Drupal\Core\Logger\LogMessageParser
- *
- * @group Drupal
  * @group Logger
  */
 class LogMessageParserTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Log message parser',
-      'description' => 'Unit tests for the log message parser.',
-      'group' => 'Logger',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Logger/LoggerChannelFactoryTest.php b/core/tests/Drupal/Tests/Core/Logger/LoggerChannelFactoryTest.php
index 7cdcb60fbc81..9f7864160a77 100644
--- a/core/tests/Drupal/Tests/Core/Logger/LoggerChannelFactoryTest.php
+++ b/core/tests/Drupal/Tests/Core/Logger/LoggerChannelFactoryTest.php
@@ -31,24 +31,11 @@
 }
 
 /**
- * Tests the logger channel factory.
- *
- * @see \Drupal\Core\Logger\LoggerChannelFactory
  * @coversDefaultClass \Drupal\Core\Logger\LoggerChannelFactory
- *
- * @group Drupal
  * @group Logger
  */
 class LoggerChannelFactoryTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Logger channel factory',
-      'description' => 'Unit tests for the logger channel factory object.',
-      'group' => 'Logger',
-    );
-  }
-
   /**
    * Tests LoggerChannelFactory::get().
    *
diff --git a/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php b/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
index 51c7e86f6ce0..00360c25b2d4 100644
--- a/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
+++ b/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
@@ -31,24 +31,11 @@
 }
 
 /**
- * Tests the logger channel.
- *
- * @see \Drupal\Core\Logger\LoggerChannel
  * @coversDefaultClass \Drupal\Core\Logger\LoggerChannel
- *
- * @group Drupal
  * @group Logger
  */
 class LoggerChannelTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Logger channel',
-      'description' => 'Unit tests for the logger channel object.',
-      'group' => 'Logger',
-    );
-  }
-
   /**
    * Tests LoggerChannel::log().
    *
diff --git a/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php b/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php
index f85f4448dc14..b40db1dcee4d 100644
--- a/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php
@@ -11,12 +11,8 @@
 use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
 
 /**
- * Tests the mail plugin manager.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Mail\MailManager
  * @group Mail
- *
- * @see \Drupal\Core\Mail\MailManager
  */
 class MailManagerTest extends UnitTestCase {
 
@@ -64,17 +60,6 @@ class MailManagerTest extends UnitTestCase {
     ),
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Mail manager test',
-      'description' => 'Tests the mail plugin manager.',
-      'group' => 'Mail',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Menu/ContextualLinkDefaultTest.php b/core/tests/Drupal/Tests/Core/Menu/ContextualLinkDefaultTest.php
index 9b1b4e700902..24e58c078891 100644
--- a/core/tests/Drupal/Tests/Core/Menu/ContextualLinkDefaultTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/ContextualLinkDefaultTest.php
@@ -15,7 +15,6 @@
 /**
  * Tests the contextual link default class.
  *
- * @group Drupal
  * @group Menu
  */
 class ContextualLinkDefaultTest extends UnitTestCase {
@@ -57,14 +56,6 @@ class ContextualLinkDefaultTest extends UnitTestCase {
    */
   protected $stringTranslation;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contextual links default.',
-      'description' => 'Tests the contextual link default class.',
-      'group' => 'Menu',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Menu/ContextualLinkManagerTest.php b/core/tests/Drupal/Tests/Core/Menu/ContextualLinkManagerTest.php
index 7ca082a8ed2b..0858c1400320 100644
--- a/core/tests/Drupal/Tests/Core/Menu/ContextualLinkManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/ContextualLinkManagerTest.php
@@ -12,12 +12,8 @@
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
- * Tests the contextual links manager.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Menu\ContextualLinkManager
  * @group Menu
- *
- * @see \Drupal\Core\Menu\ContextualLinkManager
  */
 class ContextualLinkManagerTest extends UnitTestCase {
 
@@ -70,14 +66,6 @@ class ContextualLinkManagerTest extends UnitTestCase {
    */
   protected $accessManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Contextual links manager.',
-      'description' => 'Tests the contextual links manager.',
-      'group' => 'Menu',
-    );
-  }
-
   protected function setUp() {
     $this->contextualLinkManager = $this
       ->getMockBuilder('Drupal\Core\Menu\ContextualLinkManager')
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php
index 70bddbc93a35..dade25461b8e 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php
@@ -13,9 +13,8 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the local action default class.
- *
- * @see \Drupal\Core\Menu\LocalActionDefault
+ * @coversDefaultClass \Drupal\Core\Menu\LocalActionDefault
+ * @group Menu
  */
 class LocalActionDefaultTest extends UnitTestCase {
 
@@ -63,14 +62,6 @@ class LocalActionDefaultTest extends UnitTestCase {
    */
   protected $routeProvider;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Local actions default plugin.',
-      'description' => 'Tests the local action default class.',
-      'group' => 'Menu',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
index 16bf072bc58c..0f67a1d70388 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
@@ -22,12 +22,8 @@
 use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
 
 /**
- * Tests the local action manager.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Menu\LocalActionManager
  * @group Menu
- *
- * @covers \Drupal\Core\Menu\LocalActionManager
  */
 class LocalActionManagerTest extends UnitTestCase {
 
@@ -101,17 +97,6 @@ class LocalActionManagerTest extends UnitTestCase {
    */
   protected $localActionManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Local actions manager',
-      'description' => 'Tests the local action manager.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php
index 9cd72102cca3..530b8a147466 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the local task default class.
- *
- * @see \Drupal\Core\Menu\LocalTaskDefaultTest
+ * @coversDefaultClass \Drupal\Core\Menu\LocalTaskDefaultTest
+ * @group Menu
  */
 class LocalTaskDefaultTest extends UnitTestCase {
 
@@ -65,14 +64,6 @@ class LocalTaskDefaultTest extends UnitTestCase {
    */
   protected $routeProvider;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Local tasks default plugin.',
-      'description' => 'Tests the local task default class.',
-      'group' => 'Menu',
-    );
-  }
-
   protected function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php
index b612cf5543ca..5966e51696e8 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalTaskManagerTest.php
@@ -15,9 +15,8 @@
 use Zend\Stdlib\ArrayObject;
 
 /**
- * Tests local tasks manager.
- *
- * @see \Drupal\Core\Menu\LocalTaskManager
+ * @coversDefaultClass \Drupal\Core\Menu\LocalTaskManager
+ * @group Menu
  */
 class LocalTaskManagerTest extends UnitTestCase {
 
@@ -84,14 +83,6 @@ class LocalTaskManagerTest extends UnitTestCase {
    */
   protected $accessManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Local tasks manager.',
-      'description' => 'Tests local tasks manager.',
-      'group' => 'Menu',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Page/HtmlPageTest.php b/core/tests/Drupal/Tests/Core/Page/HtmlPageTest.php
index ed73bad9463a..f2305dbf7f61 100644
--- a/core/tests/Drupal/Tests/Core/Page/HtmlPageTest.php
+++ b/core/tests/Drupal/Tests/Core/Page/HtmlPageTest.php
@@ -12,23 +12,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the HTML page object.
- *
  * @coversDefaultClass \Drupal\Core\Page\HtmlPage
+ * @group Page
  */
 class HtmlPageTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\Page\HtmlPage',
-      'description' => '',
-      'group' => 'Page',
-    );
-  }
-
   /**
    * Ensures that a single metatags can be changed.
    */
diff --git a/core/tests/Drupal/Tests/Core/ParamConverter/ParamConverterManagerTest.php b/core/tests/Drupal/Tests/Core/ParamConverter/ParamConverterManagerTest.php
index d308a5d23b0e..df308fdfcc3f 100644
--- a/core/tests/Drupal/Tests/Core/ParamConverter/ParamConverterManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/ParamConverter/ParamConverterManagerTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the typed data resolver manager.
- *
  * @coversDefaultClass \Drupal\Core\ParamConverter\ParamConverterManager
+ * @group ParamConverter
  */
 class ParamConverterManagerTest extends UnitTestCase {
 
@@ -26,17 +25,6 @@ class ParamConverterManagerTest extends UnitTestCase {
    */
   protected $manager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Parameter converter manager',
-      'description' => 'Tests the parameter converter manager.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Path/AliasManagerTest.php b/core/tests/Drupal/Tests/Core/Path/AliasManagerTest.php
index bffc88de2c63..eeaa60b9b21e 100644
--- a/core/tests/Drupal/Tests/Core/Path/AliasManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Path/AliasManagerTest.php
@@ -17,10 +17,8 @@
 use Symfony\Component\Routing\Exception\ResourceNotFoundException;
 
 /**
- * @group Drupal
- * @group Path
- *
  * @coversDefaultClass \Drupal\Core\Path\AliasManager
+ * @group Path
  */
 class AliasManagerTest extends UnitTestCase {
 
@@ -73,17 +71,6 @@ class AliasManagerTest extends UnitTestCase {
    */
   protected $path = 'key';
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Url object (external)',
-      'description' => 'Tests the \Drupal\Core\Url class with external paths.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Path/PathMatcherTest.php b/core/tests/Drupal/Tests/Core/Path/PathMatcherTest.php
index 6627c2983c2f..91e80ebf50b3 100644
--- a/core/tests/Drupal/Tests/Core/Path/PathMatcherTest.php
+++ b/core/tests/Drupal/Tests/Core/Path/PathMatcherTest.php
@@ -12,10 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests that path matching is working properly.
- *
- * @group Drupal
- * @see \Drupal\Core\Path\PathMatcher
+ * @coversDefaultClass \Drupal\Core\Path\PathMatcher
+ * @group Path
  */
 class PathMatcherTest extends UnitTestCase {
 
@@ -26,17 +24,6 @@ class PathMatcherTest extends UnitTestCase {
    */
   protected $pathMatcher;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Path Matcher tests',
-      'description' => 'Tests that path matching is working properly.',
-      'group' => 'Path',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorAliasTest.php b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorAliasTest.php
index b02a96701eb8..de652c058b25 100644
--- a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorAliasTest.php
+++ b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorAliasTest.php
@@ -12,11 +12,8 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Tests the path alias path processor.
- *
- * @group Drupal
- *
- * @see \Drupal\Core\PathProcessor\PathProcessorAlias
+ * @coversDefaultClass \Drupal\Core\PathProcessor\PathProcessorAlias
+ * @group PathProcessor
  */
 class PathProcessorAliasTest extends UnitTestCase {
 
@@ -34,14 +31,6 @@ class PathProcessorAliasTest extends UnitTestCase {
    */
   protected $pathProcessor;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path Processor alias',
-      'description' => 'Tests the path alias path processor.',
-      'group' => 'Path API',
-    );
-  }
-
   protected function setUp() {
     $this->aliasManager = $this->getMock('Drupal\Core\Path\AliasManagerInterface');
     $this->pathProcessor = new PathProcessorAlias($this->aliasManager);
diff --git a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
index 6b0c34e9a66e..776a54a8d3a0 100644
--- a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
+++ b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
@@ -20,23 +20,15 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests path processor functionality.
+ * Tests processing of the inbound path.
  *
- * @group PathApi
+ * @group PathProcessor
  */
 class PathProcessorTest extends UnitTestCase {
 
   protected $languages;
   protected $languageManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Path Processor Unit Tests',
-      'description' => 'Tests processing of the inbound path.',
-      'group' => 'Path API',
-    );
-  }
-
   public function setUp() {
 
     // Set up some languages to be used by the language-based path processor.
diff --git a/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php b/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
index 11fbb3757441..7d38dd3eec75 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
@@ -10,13 +10,8 @@
 use Drupal\Tests\Core\Plugin\Fixtures\TestConfigurablePlugin;
 
 /**
- * Tests the default plugin bag with configurable plugins.
- *
- * @see \Drupal\Component\Plugin\ConfigurablePluginInterface
- * @see \Drupal\Core\Plugin\DefaultPluginBag
- *
- * @group Drupal
- * @group Drupal_Plugin
+ * @coversDefaultClass \Drupal\Component\Plugin\ConfigurablePluginInterface
+ * @group Plugin
  */
 class ConfigurablePluginBagTest extends PluginBagTestBase {
 
@@ -27,17 +22,6 @@ class ConfigurablePluginBagTest extends PluginBagTestBase {
    */
   protected $pluginInstances;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Configurable plugin bag',
-      'description' => 'Tests the plugin bag with configurable plugins.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php b/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php
index 1569ef71f117..f465019bde86 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php
@@ -16,13 +16,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the ContextHandler class.
- *
  * @coversDefaultClass \Drupal\Core\Plugin\Context\ContextHandler
- *
- * @group Drupal
  * @group Plugin
- * @group Context
  */
 class ContextHandlerTest extends UnitTestCase {
 
@@ -40,17 +35,6 @@ class ContextHandlerTest extends UnitTestCase {
    */
   protected $contextHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'ContextHandler',
-      'description' => 'Tests the ContextHandler',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginBagTest.php b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginBagTest.php
index 18eec549a10f..2ac14f6af75b 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginBagTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginBagTest.php
@@ -8,26 +8,11 @@
 namespace Drupal\Tests\Core\Plugin;
 
 /**
- * Tests the default plugin bag.
- *
- * @see \Drupal\Core\Plugin\DefaultPluginBag
- *
- * @group Drupal
- * @group Drupal_Plugin
+ * @coversDefaultClass \Drupal\Core\Plugin\DefaultPluginBag
+ * @group Plugin
  */
 class DefaultPluginBagTest extends PluginBagTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Default plugin bag',
-      'description' => 'Tests the default plugin bag.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * Tests the has method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
index b38da38679d8..99e4d4a06bf6 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
@@ -30,17 +30,6 @@ class DefaultPluginManagerTest extends UnitTestCase {
    */
   protected $namespaces;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Default Plugin Manager',
-      'description' => 'Tests the DefaultPluginManager class.',
-      'group' => 'Plugin',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Plugin/DefaultSinglePluginBagTest.php b/core/tests/Drupal/Tests/Core/Plugin/DefaultSinglePluginBagTest.php
index ec7171a8c289..aa46c612156b 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/DefaultSinglePluginBagTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/DefaultSinglePluginBagTest.php
@@ -10,26 +10,11 @@
 use Drupal\Core\Plugin\DefaultSinglePluginBag;
 
 /**
- * Tests the default single plugin bag.
- *
- * @see \Drupal\Core\Plugin\DefaultSinglePluginBag
- *
- * @group Drupal
- * @group Drupal_Plugin
+ * @coversDefaultClass \Drupal\Core\Plugin\DefaultSinglePluginBag
+ * @group Plugin
  */
 class DefaultSinglePluginBagTest extends PluginBagTestBase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Default single plugin bag',
-      'description' => 'Tests the default single plugin bag.',
-      'group' => 'Plugin API',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Discovery/ContainerDerivativeDiscoveryDecoratorTest.php b/core/tests/Drupal/Tests/Core/Plugin/Discovery/ContainerDerivativeDiscoveryDecoratorTest.php
index 20d32ca89b02..2164ae9e8508 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/Discovery/ContainerDerivativeDiscoveryDecoratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/Discovery/ContainerDerivativeDiscoveryDecoratorTest.php
@@ -12,20 +12,11 @@
 
 /**
  * Tests the container aware derivative discovery decorator.
+ *
+ * @group Plugin
  */
 class ContainerDerivativeDiscoveryDecoratorTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Container aware derivative discovery decorator.',
-      'description' => 'Tests the container aware derivative discovery decorator.',
-      'group' => 'Plugin',
-    );
-  }
-
   /**
    * Tests the getDerivativeFetcher method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Discovery/DerivativeDiscoveryDecoratorTest.php b/core/tests/Drupal/Tests/Core/Plugin/Discovery/DerivativeDiscoveryDecoratorTest.php
index 079b315d84ff..e54a5eae98c8 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/Discovery/DerivativeDiscoveryDecoratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/Discovery/DerivativeDiscoveryDecoratorTest.php
@@ -13,6 +13,8 @@
 
 /**
  * Unit tests for the derivative discovery decorator.
+ *
+ * @group Plugin
  */
 class DerivativeDiscoveryDecoratorTest extends UnitTestCase {
 
@@ -23,17 +25,6 @@ class DerivativeDiscoveryDecoratorTest extends UnitTestCase {
    */
   protected $discoveryMain;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Derivative discovery decorator.',
-      'description' => 'Tests the derivative discovery decorator.',
-      'group' => 'Plugin',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Discovery/HookDiscoveryTest.php b/core/tests/Drupal/Tests/Core/Plugin/Discovery/HookDiscoveryTest.php
index 7ff9702b34c3..650ea959bea9 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/Discovery/HookDiscoveryTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/Discovery/HookDiscoveryTest.php
@@ -11,12 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the hook plugin discovery class.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Plugin\Discovery\HookDiscovery
  * @group Plugin
- *
- * @see \Drupal\Core\Plugin\Discovery\HookDiscovery
  */
 class HookDiscoveryTest extends UnitTestCase {
 
@@ -34,14 +30,6 @@ class HookDiscoveryTest extends UnitTestCase {
    */
   protected $hookDiscovery;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Hook Discovery',
-      'description' => 'Tests the hook plugin discovery class.',
-      'group' => 'Plugin',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryDecoratorTest.php b/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryDecoratorTest.php
index 03141f487303..41b8d41cd1c6 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryDecoratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryDecoratorTest.php
@@ -11,7 +11,9 @@
 use Drupal\Core\Plugin\Discovery\YamlDiscoveryDecorator;
 
 /**
- * Tests the YamlDiscoveryDecorator class.
+ * YamlDiscoveryDecorator unit tests.
+ *
+ * @group Plugin
  */
 class YamlDiscoveryDecoratorTest extends UnitTestCase {
 
@@ -36,14 +38,6 @@ class YamlDiscoveryDecoratorTest extends UnitTestCase {
     'decorated_2' => 'decorated_test_2',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'YamlDiscoveryDecorator',
-      'description' => 'YamlDiscoveryDecorator unit tests.',
-      'group' => 'Plugin',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryTest.php b/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryTest.php
index 6d151281eafc..75128675f689 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryTest.php
@@ -11,9 +11,8 @@
 use Drupal\Core\Plugin\Discovery\YamlDiscovery;
 
 /**
- * Tests plugin YAML discovery.
- *
- * @see \Drupal\Core\Plugin\Discovery\YamlDiscovery
+ * @coversDefaultClass \Drupal\Core\Plugin\Discovery\YamlDiscovery
+ * @group Plugin
  */
 class YamlDiscoveryTest extends UnitTestCase {
 
@@ -36,14 +35,6 @@ class YamlDiscoveryTest extends UnitTestCase {
     'test_2' => 'test_2_b',
   );
 
-  public static function getInfo() {
-    return array(
-      'name' => 'YamlDiscovery',
-      'description' => 'YamlDiscovery unit tests.',
-      'group' => 'Plugin',
-    );
-  }
-
   public function setUp() {
     parent::setUp();
 
diff --git a/core/tests/Drupal/Tests/Core/PrivateKeyTest.php b/core/tests/Drupal/Tests/Core/PrivateKeyTest.php
index b204387d6494..3762e9428a07 100644
--- a/core/tests/Drupal/Tests/Core/PrivateKeyTest.php
+++ b/core/tests/Drupal/Tests/Core/PrivateKeyTest.php
@@ -12,7 +12,9 @@
 use Drupal\Component\Utility\Crypt;
 
 /**
- * Tests the private key service.
+ * Tests the PrivateKey class.
+ *
+ * @group PrivateKeyTest
  */
 class PrivateKeyTest extends UnitTestCase {
 
@@ -37,14 +39,6 @@ class PrivateKeyTest extends UnitTestCase {
    */
   protected $key;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'PrivateKey test',
-      'description' => 'Tests the PrivateKey class.',
-      'group' => 'System'
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Render/ElementInfoTest.php b/core/tests/Drupal/Tests/Core/Render/ElementInfoTest.php
index 505a3b272e28..86878f4322ae 100644
--- a/core/tests/Drupal/Tests/Core/Render/ElementInfoTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/ElementInfoTest.php
@@ -12,9 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the element info.
- *
  * @coversDefaultClass \Drupal\Core\Render\ElementInfo
+ * @group Render
  */
 class ElementInfoTest extends UnitTestCase {
 
@@ -32,17 +31,6 @@ class ElementInfoTest extends UnitTestCase {
    */
   protected $moduleHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Tests \Drupal\Core\Render\ElementInfo',
-      'description' => '',
-      'group' => 'Render',
-    );
-  }
-
   /**
    * {@inheritdoc}
    *
diff --git a/core/tests/Drupal/Tests/Core/Render/ElementTest.php b/core/tests/Drupal/Tests/Core/Render/ElementTest.php
index 9503f2d38117..20ac8445bc25 100644
--- a/core/tests/Drupal/Tests/Core/Render/ElementTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/ElementTest.php
@@ -11,26 +11,11 @@
 use Drupal\Core\Render\Element;
 
 /**
- * Tests the Element class
- *
- * @see \Drupal\Core\Render\Element
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Render\Element
  * @group Render
  */
 class ElementTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Element test',
-      'description' => 'Tests \Drupal\Core\Render\Element helper class.',
-      'group' => 'Render',
-    );
-  }
-
   /**
    * Tests the property() method.
    */
diff --git a/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php b/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php
index aec50c2171ae..232645b2a23b 100644
--- a/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php
+++ b/core/tests/Drupal/Tests/Core/Route/RoleAccessCheckTest.php
@@ -15,20 +15,11 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Defines tests for role based access in routes.
- *
- * @see \Drupal\user\Access\RoleAccessCheck
+ * @coversDefaultClass \Drupal\user\Access\RoleAccessCheck
+ * @group Route
  */
 class RoleAccessCheckTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Router Role tests',
-      'description' => 'Test for the role based access checker in the routing system.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * Generates the test route collection.
    *
diff --git a/core/tests/Drupal/Tests/Core/RouteProcessor/RouteProcessorManagerTest.php b/core/tests/Drupal/Tests/Core/RouteProcessor/RouteProcessorManagerTest.php
index 6d23ca6b57aa..4e183802df00 100644
--- a/core/tests/Drupal/Tests/Core/RouteProcessor/RouteProcessorManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/RouteProcessor/RouteProcessorManagerTest.php
@@ -12,12 +12,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the RouteProcessorManager class.
- *
- * @group Drupal
- * @group Routing
- *
- * @see \Drupal\Core\RouteProcessor\RouteProcessorManager
+ * @coversDefaultClass \Drupal\Core\RouteProcessor\RouteProcessorManager
+ * @group RouteProcessor
  */
 class RouteProcessorManagerTest extends UnitTestCase {
 
@@ -28,14 +24,6 @@ class RouteProcessorManagerTest extends UnitTestCase {
    */
   protected $processorManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Route processor manager',
-      'description' => 'Tests the RouteProcessorManager class.',
-      'group' => 'Routing',
-    );
-  }
-
   public function setUp() {
     $this->processorManager = new RouteProcessorManager();
   }
diff --git a/core/tests/Drupal/Tests/Core/Routing/AcceptHeaderMatcherTest.php b/core/tests/Drupal/Tests/Core/Routing/AcceptHeaderMatcherTest.php
index 7bf2a283c32c..22ffa8f9336e 100644
--- a/core/tests/Drupal/Tests/Core/Routing/AcceptHeaderMatcherTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/AcceptHeaderMatcherTest.php
@@ -14,9 +14,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Basic tests for the AcceptHeaderMatcher class.
+ * Confirm that the mime types partial matcher is functioning properly.
  *
- * @coversClassDefault \Drupal\Core\Routing\AcceptHeaderMatcher
+ * @group Routing
  */
 class AcceptHeaderMatcherTest extends UnitTestCase {
 
@@ -34,17 +34,6 @@ class AcceptHeaderMatcherTest extends UnitTestCase {
    */
   protected $matcher;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Partial matcher MIME types tests',
-      'description' => 'Confirm that the mime types partial matcher is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Routing/ContentTypeHeaderMatcherTest.php b/core/tests/Drupal/Tests/Core/Routing/ContentTypeHeaderMatcherTest.php
index 71b9c6b13874..17b7e1473b69 100644
--- a/core/tests/Drupal/Tests/Core/Routing/ContentTypeHeaderMatcherTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/ContentTypeHeaderMatcherTest.php
@@ -13,9 +13,9 @@
 use Symfony\Component\HttpFoundation\Request;
 
 /**
- * Basic tests for the ContentTypeHeaderMatcher class.
+ * Confirm that the content types partial matcher is functioning properly.
  *
- * @coversClassDefault \Drupal\Core\Routing\ContentTypeHeaderMatcher
+ * @group Routing
  */
 class ContentTypeHeaderMatcherTest extends UnitTestCase {
 
@@ -33,17 +33,6 @@ class ContentTypeHeaderMatcherTest extends UnitTestCase {
    */
   protected $matcher;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Content Type header matcher test',
-      'description' => 'Confirm that the content types partial matcher is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Routing/CurrentRouteMatchTest.php b/core/tests/Drupal/Tests/Core/Routing/CurrentRouteMatchTest.php
index 9deddd5d2c0a..3293b84cc172 100644
--- a/core/tests/Drupal/Tests/Core/Routing/CurrentRouteMatchTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/CurrentRouteMatchTest.php
@@ -17,23 +17,11 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Unit tests for CurrentRouteMatch.
- *
  * @coversDefaultClass \Drupal\Core\Routing\CurrentRouteMatch
+ * @group Routing
  */
 class CurrentRouteMatchTest extends RouteMatchBaseTest {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'CurrentRouteMatch',
-      'description' => 'Unit tests for CurrentRouteMatch.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Routing/LazyLoadingRouteCollectionTest.php b/core/tests/Drupal/Tests/Core/Routing/LazyLoadingRouteCollectionTest.php
index 749ba882da76..46f59955b376 100644
--- a/core/tests/Drupal/Tests/Core/Routing/LazyLoadingRouteCollectionTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/LazyLoadingRouteCollectionTest.php
@@ -12,11 +12,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the lazy loaded route collection.
- *
- * @group \Drupal
- *
- * @see \Drupal\Core\Routing\LazyLoadingRouteCollection
+ * @coversDefaultClass \Drupal\Core\Routing\LazyLoadingRouteCollection
+ * @group Routing
  */
 class LazyLoadingRouteCollectionTest extends UnitTestCase {
 
@@ -34,14 +31,6 @@ class LazyLoadingRouteCollectionTest extends UnitTestCase {
    */
   protected $routeCollection;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Lazy loaded route collection',
-      'description' => 'Tests the lazy loaded route collection.',
-      'group' => 'Routing',
-    );
-  }
-
   protected function setUp() {
     for ($i = 0; $i < 20; $i++) {
       $this->routes['test_route_' . $i] = new Route('/test-route-' . $i);
diff --git a/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php b/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php
index fd777ce72394..aff989621ba4 100644
--- a/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php
@@ -17,12 +17,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the route builder.
- *
- * @group Drupal
+ * @coversDefaultClass \Drupal\Core\Routing\RouteBuilder
  * @group Routing
- *
- * @see \Drupal\Core\Routing\RouteBuilder
  */
 class RouteBuilderTest extends UnitTestCase {
 
@@ -82,14 +78,6 @@ class RouteBuilderTest extends UnitTestCase {
    */
   protected $state;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Route Builder',
-      'description' => 'Tests the route builder.',
-      'group' => 'Routing',
-    );
-  }
-
   protected function setUp() {
     $this->dumper = $this->getMock('Drupal\Core\Routing\MatcherDumperInterface');
     $this->lock = $this->getMock('Drupal\Core\Lock\LockBackendInterface');
diff --git a/core/tests/Drupal/Tests/Core/Routing/RouteCompilerTest.php b/core/tests/Drupal/Tests/Core/Routing/RouteCompilerTest.php
index b5b47cbd0cf1..4d1977c49956 100644
--- a/core/tests/Drupal/Tests/Core/Routing/RouteCompilerTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/RouteCompilerTest.php
@@ -13,23 +13,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Basic tests for the Route.
- *
- * @see \Drupal\Core\Routing\RouteCompiler
+ * @coversDefaultClass \Drupal\Core\Routing\RouteCompiler
+ * @group Routing
  */
 class RouteCompilerTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Routes',
-      'description' => 'Confirm that route object is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * Tests RouteCompiler::getFit().
    *
diff --git a/core/tests/Drupal/Tests/Core/Routing/RouteMatchTest.php b/core/tests/Drupal/Tests/Core/Routing/RouteMatchTest.php
index 6a51add267bd..6aab6f4c575e 100644
--- a/core/tests/Drupal/Tests/Core/Routing/RouteMatchTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/RouteMatchTest.php
@@ -15,23 +15,11 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Unit tests for RouteMatch.
- *
  * @coversDefaultClass \Drupal\Core\Routing\RouteMatch
+ * @group Routing
  */
 class RouteMatchTest extends RouteMatchBaseTest {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'RouteMatch',
-      'description' => 'Unit tests for RouteMatch.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Routing/RoutePreloaderTest.php b/core/tests/Drupal/Tests/Core/Routing/RoutePreloaderTest.php
index acb99152fa51..a928c97b8f53 100644
--- a/core/tests/Drupal/Tests/Core/Routing/RoutePreloaderTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/RoutePreloaderTest.php
@@ -15,9 +15,8 @@
 use Symfony\Component\Routing\RouteCollection;
 
 /**
- * Tests the non admin routes preloader.
- *
- * @see \Drupal\Core\Routing\RoutePreloader
+ * @coversDefaultClass \Drupal\Core\Routing\RoutePreloader
+ * @group Routing
  */
 class RoutePreloaderTest extends UnitTestCase {
 
@@ -49,17 +48,6 @@ class RoutePreloaderTest extends UnitTestCase {
    */
   protected $preloader;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Route preloader',
-      'description' => 'Tests the non admin routes preloader.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
index 5226261e4317..bd56fa26ac11 100644
--- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
@@ -18,7 +18,7 @@
 use Symfony\Component\Routing\RequestContext;
 
 /**
- * Basic tests for the Route.
+ * Confirm that the UrlGenerator is functioning properly.
  *
  * @group Routing
  */
@@ -52,14 +52,6 @@ class UrlGeneratorTest extends UnitTestCase {
    */
   protected $routeProcessorManager;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'UrlGenerator',
-      'description' => 'Confirm that the UrlGenerator is functioning properly.',
-      'group' => 'Routing',
-    );
-  }
-
   function setUp() {
 
     $routes = new RouteCollection();
diff --git a/core/tests/Drupal/Tests/Core/Session/AnonymousUserSessionTest.php b/core/tests/Drupal/Tests/Core/Session/AnonymousUserSessionTest.php
index 2fb144de8e45..e918fa4ed776 100644
--- a/core/tests/Drupal/Tests/Core/Session/AnonymousUserSessionTest.php
+++ b/core/tests/Drupal/Tests/Core/Session/AnonymousUserSessionTest.php
@@ -14,25 +14,11 @@
 use Symfony\Component\DependencyInjection\Scope;
 
 /**
- * Tests the AnonymousUserSession class.
- *
- * @group Drupal
- *
  * @coversDefaultClass \Drupal\Core\Session\AnonymousUserSession
+ * @group Session
  */
 class AnonymousUserSessionTest extends UnitTestCase {
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Anonymous user session object',
-      'description' => 'Tests the anonymous user session object.',
-      'group' => 'Session',
-    );
-  }
-
   /**
    * Tests creating an AnonymousUserSession when the request is available.
    *
diff --git a/core/tests/Drupal/Tests/Core/Session/UserSessionTest.php b/core/tests/Drupal/Tests/Core/Session/UserSessionTest.php
index 47f484f7289e..7d610600cb5e 100644
--- a/core/tests/Drupal/Tests/Core/Session/UserSessionTest.php
+++ b/core/tests/Drupal/Tests/Core/Session/UserSessionTest.php
@@ -12,9 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the user session object.
- *
  * @coversDefaultClass \Drupal\Core\Session\UserSession
+ * @group Session
  */
 class UserSessionTest extends UnitTestCase {
 
@@ -25,14 +24,6 @@ class UserSessionTest extends UnitTestCase {
    */
   protected $users = array();
 
-  public static function getInfo() {
-    return array(
-      'name' => 'User session object',
-      'description' => 'Tests the user session object.',
-      'group' => 'Session',
-    );
-  }
-
   /**
    * Provides test data for getHasPermission().
    *
diff --git a/core/tests/Drupal/Tests/Core/Site/SettingsTest.php b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
index 603889906152..5a442b8880ec 100644
--- a/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
+++ b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
@@ -11,11 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests read-only settings.
- *
- * @group Drupal
- *
  * @coversDefaultClass \Drupal\Core\Site\Settings
+ * @group Site
  */
 class SettingsTest extends UnitTestCase {
 
@@ -33,17 +30,6 @@ class SettingsTest extends UnitTestCase {
    */
   protected $settings;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => '\Drupal\Core\Site\Settings unit test',
-      'description' => '',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * @covers ::__construct
    */
diff --git a/core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php b/core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php
index 69d2cea4eb08..044c5ebe670a 100644
--- a/core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php
+++ b/core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php
@@ -10,12 +10,7 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests \Drupal\Core\StringTranslation\StringTranslationTrait.
- *
- * @see \Drupal\Core\StringTranslation\StringTranslationTrait
  * @coversDefaultClass \Drupal\Core\StringTranslation\StringTranslationTrait
- *
- * @group Drupal
  * @group StringTranslation
  */
 class StringTranslationTraitTest extends UnitTestCase {
@@ -35,17 +30,6 @@ class StringTranslationTraitTest extends UnitTestCase {
    */
   protected $translation;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'String translation trait',
-      'description' => 'Tests the string translation trait.',
-      'group' => 'StringTranslation',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php b/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php
index f75a5fa72728..7f2859cf9ab5 100644
--- a/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php
@@ -11,9 +11,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the translation manager.
- *
- * @see \Drupal\Core\StringTranslation\TranslationManager
+ * @coversDefaultClass \Drupal\Core\StringTranslation\TranslationManager
+ * @group StringTranslation
  */
 class TranslationManagerTest extends UnitTestCase {
 
@@ -24,17 +23,6 @@ class TranslationManagerTest extends UnitTestCase {
    */
   protected $translationManager;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Translation manager',
-      'description' => 'Tests the translation manager.',
-      'group' => 'Translation',
-    );
-  }
-
   protected function setUp() {
     $this->translationManager = new TestTranslationManager();
   }
diff --git a/core/tests/Drupal/Tests/Core/Template/AttributeTest.php b/core/tests/Drupal/Tests/Core/Template/AttributeTest.php
index af5e33298754..aee1dd79d6bc 100644
--- a/core/tests/Drupal/Tests/Core/Template/AttributeTest.php
+++ b/core/tests/Drupal/Tests/Core/Template/AttributeTest.php
@@ -13,20 +13,11 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the template attribute class.
- *
- * @see \Drupal\Core\Template\Attribute
+ * @coversDefaultClass \Drupal\Core\Template\Attribute
+ * @group Template
  */
 class AttributeTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Attribute class',
-      'description' => 'Tests the template attribute class.',
-      'group' => 'Template',
-    );
-  }
-
   /**
    * Tests the constructor of the attribute class.
    */
diff --git a/core/tests/Drupal/Tests/Core/Theme/RegistryTest.php b/core/tests/Drupal/Tests/Core/Theme/RegistryTest.php
index 892743363f6e..fe42e81f789e 100644
--- a/core/tests/Drupal/Tests/Core/Theme/RegistryTest.php
+++ b/core/tests/Drupal/Tests/Core/Theme/RegistryTest.php
@@ -12,12 +12,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the theme registry service.
- *
- * @group Drupal
- * @group ${group}
- *
- * @see \Drupal\Core\Theme\Registry
+ * @coversDefaultClass \Drupal\Core\Theme\Registry
+ * @group Theme
  */
 class RegistryTest extends UnitTestCase {
 
@@ -49,17 +45,6 @@ class RegistryTest extends UnitTestCase {
    */
   protected $moduleHandler;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme Registry',
-      'description' => 'Tests the theme registry.',
-      'group' => 'Theme',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Theme/ThemeNegotiatorTest.php b/core/tests/Drupal/Tests/Core/Theme/ThemeNegotiatorTest.php
index 4830e4757de6..91f3a615324c 100644
--- a/core/tests/Drupal/Tests/Core/Theme/ThemeNegotiatorTest.php
+++ b/core/tests/Drupal/Tests/Core/Theme/ThemeNegotiatorTest.php
@@ -15,11 +15,8 @@
 use Symfony\Component\Routing\Route;
 
 /**
- * Tests the theme negotiator.
- *
- * @group Drupal
- *
- * @see \Drupal\Core\Theme\ThemeNegotiator
+ * @coversDefaultClass \Drupal\Core\Theme\ThemeNegotiator
+ * @group Theme
  */
 class ThemeNegotiatorTest extends UnitTestCase {
 
@@ -44,14 +41,6 @@ class ThemeNegotiatorTest extends UnitTestCase {
    */
   protected $themeNegotiator;
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Theme negotiator',
-      'description' => 'Tests the theme negotiator.',
-      'group' => 'Theme',
-    );
-  }
-
   protected function setUp() {
     $this->themeAccessCheck = $this->getMockBuilder('\Drupal\Core\Theme\ThemeAccessCheck')
       ->disableOriginalConstructor()
diff --git a/core/tests/Drupal/Tests/Core/UrlTest.php b/core/tests/Drupal/Tests/Core/UrlTest.php
index 83e4c740a95e..324f9e9492f4 100644
--- a/core/tests/Drupal/Tests/Core/UrlTest.php
+++ b/core/tests/Drupal/Tests/Core/UrlTest.php
@@ -16,12 +16,8 @@
 use Symfony\Component\Routing\Exception\ResourceNotFoundException;
 
 /**
- * Tests the \Drupal\Core\Url class.
- *
- * @group Drupal
- * @group Url
- *
  * @coversDefaultClass \Drupal\Core\Url
+ * @group UrlTest
  */
 class UrlTest extends UnitTestCase {
 
@@ -46,17 +42,6 @@ class UrlTest extends UnitTestCase {
    */
   protected $map;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Url object (internal)',
-      'description' => 'Tests the \Drupal\Core\Url class.',
-      'group' => 'Routing',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Utility/ColorTest.php b/core/tests/Drupal/Tests/Core/Utility/ColorTest.php
index 52476db1e499..e54d445ab877 100644
--- a/core/tests/Drupal/Tests/Core/Utility/ColorTest.php
+++ b/core/tests/Drupal/Tests/Core/Utility/ColorTest.php
@@ -11,18 +11,12 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests color conversion functions.
+ * Tests Color utility class conversions.
+ *
+ * @group Utility
  */
 class ColorTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Color conversion',
-      'description' => 'Tests Color utility class conversions.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests Color::hexToRgb().
    *
diff --git a/core/tests/Drupal/Tests/Core/Utility/ErrorTest.php b/core/tests/Drupal/Tests/Core/Utility/ErrorTest.php
index bb3fa1fbe8f5..f7f6e9fda337 100644
--- a/core/tests/Drupal/Tests/Core/Utility/ErrorTest.php
+++ b/core/tests/Drupal/Tests/Core/Utility/ErrorTest.php
@@ -11,22 +11,11 @@
 use Drupal\Core\Utility\Error;
 
 /**
- * Tests the Error class.
- *
- * @group Drupal
- *
- * @see \Drupal\Core\Utility\Error
+ * @coversDefaultClass \Drupal\Core\Utility\Error
+ * @group Utility
  */
 class ErrorTest extends UnitTestCase {
 
-  public static function getInfo() {
-    return array(
-      'name' => 'Error',
-      'description' => 'Tests the Error utility class.',
-      'group' => 'Common',
-    );
-  }
-
   /**
    * Tests the getLastCaller() method.
    *
diff --git a/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php b/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php
index d862ec14e622..7926b2fdaae0 100644
--- a/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php
@@ -13,14 +13,8 @@
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests the link generator.
- *
- * @see \Drupal\Core\Utility\LinkGenerator
- *
- * @group Drupal
- * @group Utility
- *
  * @coversDefaultClass \Drupal\Core\Utility\LinkGenerator
+ * @group Utility
  */
 class LinkGeneratorTest extends UnitTestCase {
 
@@ -56,18 +50,6 @@ class LinkGeneratorTest extends UnitTestCase {
     'absolute' => FALSE,
   );
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Link generator',
-      'description' => 'Tests the link generator.',
-      'group' => 'Common',
-    );
-  }
-
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/Core/Utility/TokenTest.php b/core/tests/Drupal/Tests/Core/Utility/TokenTest.php
index 2f67a7b7c69b..f7c33772d593 100644
--- a/core/tests/Drupal/Tests/Core/Utility/TokenTest.php
+++ b/core/tests/Drupal/Tests/Core/Utility/TokenTest.php
@@ -13,6 +13,7 @@
 
 /**
  * @coversDefaultClass \Drupal\Core\Utility\Token
+ * @group Utility
  */
 class TokenTest extends UnitTestCase {
 
@@ -44,17 +45,6 @@ class TokenTest extends UnitTestCase {
    */
   protected $token;
 
-  /**
-   * {@inheritdoc}
-   */
-  public static function getInfo() {
-    return array(
-      'description' => '',
-      'name' => '\Drupal\Tests\Core\Utility\Token unit test',
-      'group' => 'System',
-    );
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/tests/Drupal/Tests/UnitTestCase.php b/core/tests/Drupal/Tests/UnitTestCase.php
index adc7569672cd..35ed4e3fb530 100644
--- a/core/tests/Drupal/Tests/UnitTestCase.php
+++ b/core/tests/Drupal/Tests/UnitTestCase.php
@@ -26,27 +26,6 @@ abstract class UnitTestCase extends \PHPUnit_Framework_TestCase {
    */
   protected $randomGenerator;
 
-  /**
-   * Provides meta information about this test case, such as test name.
-   *
-   * @return array
-   *   An array of untranslated strings with the following keys:
-   *   - name: An overview of what is tested by the class; for example, "User
-   *     access rules".
-   *   - description: One sentence describing the test, starting with a verb.
-   *   - group: The human-readable name of the module ("Node", "Statistics"), or
-   *     the human-readable name of the Drupal facility tested (e.g. "Form API"
-   *     or "XML-RPC").
-   */
-  public static function getInfo() {
-    // PHP does not allow us to declare this method as abstract public static,
-    // so we simply throw an exception here if this has not been implemented by
-    // a child class.
-    throw new \RuntimeException(String::format('@class must implement \Drupal\Tests\UnitTestCase::getInfo().', array(
-      '@class' => get_called_class(),
-    )));
-  }
-
   /**
    * {@inheritdoc}
    */
-- 
GitLab