diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorageTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorageTest.java
index 5b8a05a..70dd65c 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorageTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorageTest.java
@@ -63,13 +63,13 @@
   }
 
   @Test
-  public void canListPersistedUpdate() throws Exception {
+  public void canListWaitingUpdate() throws Exception {
     storage.create(REF_UPDATE);
     assertContainsExactly(storage, REF_UPDATE);
   }
 
   @Test
-  public void canFinishPersistedUpdate() throws Exception {
+  public void canFinishRunningUpdate() throws Exception {
     storage.create(REF_UPDATE);
     storage.start(uriUpdates);
     storage.finish(uriUpdates);
@@ -94,7 +94,7 @@
   }
 
   @Test
-  public void sameRefUpdatePersistedTwiceIsStoredOnce() throws Exception {
+  public void sameRefUpdateCreatedTwiceIsStoredOnce() throws Exception {
     String key = storage.create(REF_UPDATE);
     String secondKey = storage.create(REF_UPDATE);
     assertEquals(key, secondKey);
@@ -102,7 +102,7 @@
   }
 
   @Test
-  public void canPersistDifferentUris() throws Exception {
+  public void canCreateDifferentUris() throws Exception {
     ReplicateRefUpdate updateB =
         new ReplicateRefUpdate(
             PROJECT,
@@ -138,7 +138,7 @@
   }
 
   @Test
-  public void differentUrisPersistedTwiceIsStoredOnce() throws Exception {
+  public void differentUrisCreatedTwiceIsStoredOnce() throws Exception {
     ReplicateRefUpdate updateB =
         new ReplicateRefUpdate(
             PROJECT,
@@ -154,7 +154,7 @@
   }
 
   @Test
-  public void canPersistMulipleRefsForSameUri() throws Exception {
+  public void canCreateMulipleRefsForSameUri() throws Exception {
     ReplicateRefUpdate refA = new ReplicateRefUpdate(PROJECT, "refA", URISH, REMOTE);
     ReplicateRefUpdate refB = new ReplicateRefUpdate(PROJECT, "refB", URISH, REMOTE);
 
@@ -183,7 +183,7 @@
   }
 
   @Test(expected = Test.None.class /* no exception expected */)
-  public void illegalFinishNonPersistedIsGraceful() throws Exception {
+  public void illegalFinishUncreatedIsGraceful() throws Exception {
     storage.finish(uriUpdates);
   }
 
