diff --git a/tests/framework/Framework.cpp b/tests/framework/Framework.cpp
index e59c5a4..03c1db8 100644
--- a/tests/framework/Framework.cpp
+++ b/tests/framework/Framework.cpp
@@ -529,7 +529,7 @@
     {
         if(_stop_on_error)
         {
-            throw std::runtime_error("Abort on first error.");
+            throw std::runtime_error("Abandon on first error.");
         }
     }
 
diff --git a/tests/framework/Framework.h b/tests/framework/Framework.h
index 4c2e86c..274f03a 100644
--- a/tests/framework/Framework.h
+++ b/tests/framework/Framework.h
@@ -230,13 +230,13 @@
 
     /** Indicates if test execution is stopped after the first failed test.
      *
-     * @return True if the execution is going to be aborted after the first failed test.
+     * @return True if the execution is going to be stopped after the first failed test.
      */
     bool stop_on_error() const;
 
-    /** Set whether to abort execution after the first failed test.
+    /** Set whether to stop execution after the first failed test.
      *
-     * @param[in] stop_on_error True if execution is going to be aborted after first failed test.
+     * @param[in] stop_on_error True if execution is going to be stopped after first failed test.
      */
     void set_stop_on_error(bool stop_on_error);
 
diff --git a/tests/main.cpp b/tests/main.cpp
index e1963b1..bc264de 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -116,7 +116,7 @@
     auto filter_id = parser.add_option<utils::SimpleOption<std::string>>("filter-id");
     filter_id->set_help("List of test ids. ... can be used to define a range.");
     auto stop_on_error = parser.add_option<utils::ToggleOption>("stop-on-error");
-    stop_on_error->set_help("Abort execution after the first failed test (useful for debugging)");
+    stop_on_error->set_help("Stop execution after the first failed test (useful for debugging)");
     auto seed = parser.add_option<utils::SimpleOption<std::random_device::result_type>>("seed", std::random_device()());
     seed->set_help("Global seed for random number generation");
     auto list_tests = parser.add_option<utils::ToggleOption>("list-tests", false);
diff --git a/tests/validation/reference/FullyConnectedLayer.cpp b/tests/validation/reference/FullyConnectedLayer.cpp
index 2133395..af30e9e 100644
--- a/tests/validation/reference/FullyConnectedLayer.cpp
+++ b/tests/validation/reference/FullyConnectedLayer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -123,7 +123,7 @@
     // Create reference
     SimpleTensor<T> dst{ TensorShape{ dst_shape }, src.data_type(), 1, out_quant_info };
 
-    // Sanity checks
+    // Health checks
     const int          num_batch_dimensions = std::max(0, static_cast<int>(dst_shape.num_dimensions()) - 1);
     const int          num_input_dimensions = src.shape().num_dimensions() - num_batch_dimensions;
     const unsigned int linear_input_size    = src.shape().total_size_lower(num_input_dimensions);
