diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectCollectionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectCollectionTest.java
index a53a20d..8083c0a 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectCollectionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectCollectionTest.java
@@ -415,10 +415,9 @@
     }
   }
 
-
   /**
-   * Creates an aspect wiht a class named {@code className} advertizing a provider
-   * {@code className} that requires any of providers {@code requiredAspects}.
+   * Creates an aspect with a class named {@code className} advertizing a provider {@code className}
+   * that requires any of providers {@code requiredAspects}.
    */
   private Aspect createAspect(final String className, String... requiredAspects) {
     ImmutableList.Builder<ImmutableSet<SkylarkProviderIdentifier>> requiredProvidersBuilder =
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleCustomBehavior.java b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleCustomBehavior.java
index 2d811dc..422f47a 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleCustomBehavior.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/MockRuleCustomBehavior.java
@@ -18,7 +18,7 @@
 import com.google.devtools.build.lib.packages.RuleClass;
 
 /**
- * Interface for supporting arbitary custom behavior in mock rule classes.
+ * Interface for supporting arbitrary custom behavior in mock rule classes.
  *
  * <p>See {@link MockRule} for details and usage instructions.
  */
diff --git a/src/test/java/com/google/devtools/build/lib/concurrent/MoreFuturesTest.java b/src/test/java/com/google/devtools/build/lib/concurrent/MoreFuturesTest.java
index 227b9e7..89793ee 100644
--- a/src/test/java/com/google/devtools/build/lib/concurrent/MoreFuturesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/concurrent/MoreFuturesTest.java
@@ -156,7 +156,7 @@
       }
     } finally {
       // The @After-annotated shutdownExecutor method blocks on completion of all tasks. Since we
-      // submitted a bunch of tasks that never complete, we need to explictly cancel them.
+      // submitted a bunch of tasks that never complete, we need to explicitly cancel them.
       for (DelayedFuture delayedFuture : futureList) {
         delayedFuture.cancel(/*mayInterruptIfRunning=*/ true);
       }
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
index ef62137..9d054f7 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
@@ -752,7 +752,7 @@
   public void testEarlyFlushBadInitialEvent() throws Exception {
     // Verify that an early flush works correctly with an unusual start event.
     // In this case, we expect 3 events in the stream, in that order:
-    // - an artifical progress event as initial event, to properly link in
+    // - an artificial progress event as initial event, to properly link in
     //   all events
     // - the unusal first event we have seen, and
     // - a progress event reporting the flushed messages.
