diff --git a/Tests/Functional/Python/PyFit/CMakeLists.txt b/Tests/Functional/Python/PyFit/CMakeLists.txt
index c2e919e4fc216aef368eb91b3ef74ed0dad3ea65..2e947e15d75374d9f7b3e23dd030ba89b377a735 100644
--- a/Tests/Functional/Python/PyFit/CMakeLists.txt
+++ b/Tests/Functional/Python/PyFit/CMakeLists.txt
@@ -14,7 +14,8 @@ endforeach()
 set(tests
     "testfit_UsingBuilder.py"
     "fitsuite_api.py"
-    "fit_parameters.py"
+    "minimizer_api.py"
+    "standalone_fits.py"
 #    "testfit_GSLLMA.py"
 #    "testfit_GSLMultiMin.py"
 #    "testfit_GSLSimAn.py"
diff --git a/Tests/Functional/Python/PyFit/fit_parameters.py b/Tests/Functional/Python/PyFit/minimizer_api.py
similarity index 94%
rename from Tests/Functional/Python/PyFit/fit_parameters.py
rename to Tests/Functional/Python/PyFit/minimizer_api.py
index 5a70514448b5660481a79d1e3f8f178d1c1883be..a474c767d4697d3133f937d4a90bb68b21e75ed4 100644
--- a/Tests/Functional/Python/PyFit/fit_parameters.py
+++ b/Tests/Functional/Python/PyFit/minimizer_api.py
@@ -1,5 +1,5 @@
 """
-Testing python specific FitSuite API.
+Testing python specific API for Minimizer related classes.
 """
 import sys
 import os
@@ -20,7 +20,7 @@ class TestMinimizerHelper:
         return 42.0
 
 
-class FitParametersAPITest(unittest.TestCase):
+class MinimizerAPITest(unittest.TestCase):
 
     def test_ParametersSetIterator(self):
         """
diff --git a/Tests/Functional/Python/PyFit/standalone_fits.py b/Tests/Functional/Python/PyFit/standalone_fits.py
new file mode 100644
index 0000000000000000000000000000000000000000..bbe063403b3650ba026e80c1453c093330e51ab6
--- /dev/null
+++ b/Tests/Functional/Python/PyFit/standalone_fits.py
@@ -0,0 +1,58 @@
+"""
+Fitting scalar and residual based objective functions
+"""
+import sys
+import os
+import unittest
+
+sys.path.append("@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
+import bornagain as ba
+import numpy as np
+
+
+class Rosenbrock:
+    def __init__(self):
+        self.m_expected_minimum = 0.0
+        self.m_expected_params = [1.0, 1.0]
+        pass
+
+    def objective_function(self, params):
+        """
+        Returns the value of Rosenbrock function
+        """
+        x = params["x"].value()
+        y = params["y"].value()
+        tmp1 = y - x * x
+        tmp2 = 1 - x
+        return 100 * tmp1 * tmp1 + tmp2 * tmp2
+
+
+class StandaloneFitTest(unittest.TestCase):
+
+    def test_RosenbrockFit(self):
+        """
+        Testing fit of rosenbrock function
+        """
+        pars = ba.Parameters()
+        pars.add(ba.Parameter("x", -1.2, ba.AttLimits.limited(-5.0, 5.0), 0.01))
+        pars.add(ba.Parameter("y", 1.0, ba.AttLimits.limited(-5.0, 5.0), 0.01))
+
+        rosenbrock = Rosenbrock()
+        minimizer = ba.Minimizer()
+        result = minimizer.minimize(rosenbrock.objective_function, pars)
+
+        print(result.toString())
+
+        # check found parameter values
+        np.testing.assert_almost_equal(result.parameters().values(),
+                                       rosenbrock.m_expected_params, 3)
+
+        # check found minimum
+        np.testing.assert_almost_equal(result.minValue(),
+                                       rosenbrock.m_expected_minimum, 3)
+
+
+
+
+if __name__ == '__main__':
+    unittest.main()