diff --git a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
index 04e98f1..0588da3 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
@@ -190,6 +190,30 @@ public function __construct($test_id = NULL) {
   }
 
   /**
+   * Provides meta information about this test case such as test name.
+   *
+   * @return array
+   *   An array of untranslated strings with the following keys:
+   *   - name: describes an overview of what subsystem is tested by the class;
+   *     for example, "User access rules" or "Menu link creation/deletion".
+   *   - description: One sentence describing the test, starting with a verb.
+   *   - group: 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(__CLASS__ . ': ' . __METHOD__ . ' must be implemented.');
+  }
+
+  /**
+   * Performs setup tasks before each individual test method is run.
+   */
+  abstract public function setUp();
+
+  /**
    * Checks the matching requirements for Test.
    *
    * @return
@@ -1007,6 +1031,8 @@ protected function rebuildContainer() {
   }
 
   /**
+   * Performs cleanup tasks after each individula test method has bee run.
+   *
    * Deletes created files, database tables, and reverts environment changes.
    *
    * This method needs to be invoked for both unit and integration tests.
