diff --git a/src/test/java/org/apache/commons/exec/issues/Exec34Test.java b/src/test/java/org/apache/commons/exec/issues/Exec34Test.java
index 340a48c..e4eb468 100644
--- a/src/test/java/org/apache/commons/exec/issues/Exec34Test.java
+++ b/src/test/java/org/apache/commons/exec/issues/Exec34Test.java
@@ -53,7 +53,7 @@
     public void testExec34_1() throws Exception {
 
         final CommandLine cmdLine = new CommandLine(pingScript);
-        cmdLine.addArgument("10"); // sleep 10 secs
+        cmdLine.addArgument("10"); // sleep 10 seconds
 
         final ExecuteWatchdog watchdog = new ExecuteWatchdog(Integer.MAX_VALUE);
         final DefaultExecuteResultHandler handler = new DefaultExecuteResultHandler();
@@ -75,7 +75,7 @@
     public void testExec34_2() throws Exception {
 
         final CommandLine cmdLine = new CommandLine(pingScript);
-        cmdLine.addArgument("10"); // sleep 10 secs
+        cmdLine.addArgument("10"); // sleep 10 seconds
 
         final ExecuteWatchdog watchdog = new ExecuteWatchdog(5000);
         final DefaultExecuteResultHandler handler = new DefaultExecuteResultHandler();
diff --git a/src/test/java/org/apache/commons/exec/issues/Exec41Test.java b/src/test/java/org/apache/commons/exec/issues/Exec41Test.java
index d7fa07e..a6af4c6 100644
--- a/src/test/java/org/apache/commons/exec/issues/Exec41Test.java
+++ b/src/test/java/org/apache/commons/exec/issues/Exec41Test.java
@@ -68,7 +68,7 @@
         }
 
         final DefaultExecutor executor = new DefaultExecutor();
-        final ExecuteWatchdog watchdog = new ExecuteWatchdog(2 * 1000); // allow process no more than 2 secs
+        final ExecuteWatchdog watchdog = new ExecuteWatchdog(2 * 1000); // allow process no more than 2 seconds
         final PumpStreamHandler pumpStreamHandler = new PumpStreamHandler(System.out, System.err);
         // this method was part of the patch I reverted
         // pumpStreamHandler.setAlwaysWaitForStreamThreads(false);
@@ -113,9 +113,9 @@
     public void testExec41WithoutStreams() throws Exception {
 
         final CommandLine cmdLine = new CommandLine(pingScript);
-        cmdLine.addArgument("10"); // sleep 10 secs
+        cmdLine.addArgument("10"); // sleep 10 seconds
         final DefaultExecutor executor = new DefaultExecutor();
-        final ExecuteWatchdog watchdog = new ExecuteWatchdog(2*1000); // allow process no more than 2 secs
+        final ExecuteWatchdog watchdog = new ExecuteWatchdog(2*1000); // allow process no more than 2 seconds
 
         // create a custom "PumpStreamHandler" doing no pumping at all
         final PumpStreamHandler pumpStreamHandler = new PumpStreamHandler(null, null, null);
