diff --git a/reg-tests/README b/reg-tests/README
index 05d7e54..d05a2a8 100644
--- a/reg-tests/README
+++ b/reg-tests/README
@@ -1,63 +1,65 @@
-                 * Regression testing for HAProxy with varnishtest *
+                 * Regression testing for HAProxy with VTest *
 
 
-This little README file is about how to compile and run varnishtest test case files (VTC files) to test HAProxy for any regression.
+This little README file is about how to compile and run vtest test case files (VTC files)
+to test HAProxy for any regression.
 
-To do so, you will have to compile varnishtest program sources which comes with
-Varnish cache application. varnishtest is a very useful program which has been
-developed to test Varnish cache application. varnishtest has been modified in
-collaboration with Varnish cache conceptor Poul-Henning Kamp to support HAProxy in
-addition to Varnish cache.
-See also: doc/regression-testing.txt
+To do so, you will have to compile vtest program sources which depends on
+Varnish cache application sources. vtest, formerly varnishtest, is a very useful
+program which has been developed to test Varnish cache application. vtest has been
+modified in collaboration with Varnish cache conceptor Poul-Henning Kamp to support
+HAProxy in addition to Varnish cache.
 
-* varnishtest compilation *
+See also: doc/regression-testing.txt
 
-  - Clone recent Varnish cache sources which may be found in this GitHub repository
-    https://github.com/varnishcache/varnish-cache:
+* vtest compilation *
 
-    $ git clone https://github.com/varnishcache/varnish-cache
+    $ git clone https://github.com/vtest/VTest
 
-  - Compile Varnish cache sources:
+    $ cd VTest
 
-    $ cd varnish-cache && ./autogen.sh && ./configure && make
+    $ make vtest
 
-  Then varnishtest program may be found in bin/varnishtest directory.
-  VTC files for Varnish cache may be found in bin/varnishtest/tests directory.
-  The Varnish cache manuals are located in 'man' directory. You will have to
-  have a look at varnishtest(7) and vtc(7) manuals.
+  Then vtest program may be found at the root directory of vtest sources directory.
+  The Varnish cache manuals are located in 'man' directory of Varnish cache sources
+  directory. You will have to have a look at varnishtest(7) and vtc(7) manuals to
+  use vtest.
 
   Some information may also be found in doc/regression-testing.txt in HAProxy
   sources.
 
+  Note that VTC files for Varnish cache may be found in bin/varnishtest/tests directory
+  of Varnish cache sources directory which may be found here:
+  https://github.com/varnishcache/varnish-cache
+
 
-* varnishtest execution *
+* vtest execution *
 
   You must set HAPROXY_PROGRAM environment variable to give the location
-  of the HAProxy program to test to varnishtest:
+  of the HAProxy program to test to vtest:
 
-    $ HAPROXY_PROGRAM=<my haproxy program> varnishtest [-Dno-htx=] ...
+    $ HAPROXY_PROGRAM=<my haproxy program> vtest [-Dno-htx=] ...
 
   The HAProxy VTC files found in HAProxy sources may be run with the reg-tests
-  Makefile target. You must set the VARNISHTEST_PROGRAM environment variable to
-  give the location of the varnishtest program which has been previously compiled.
+  Makefile target. You must set the VTEST_PROGRAM environment variable to
+  give the location of the vtest program which has been previously compiled.
 
-    $ VARNISHTEST_PROGRAM=<my varnishtest program> HAPROXY_PROGRAM=<my haproxy program> make reg-tests
+    $ VTEST_PROGRAM=<my vtest program> make reg-tests
 
-  Note that varnishtest is run with -t5 and -l option. -l option is to keep
-  keep varnishtest temporary directory in case of failed test cases. core files
+  "reg-tests" Makefile target run scripts/run-regtest.sh script.
+  To get more information about this script run it with --help option.
+
+  Note that vtest is run with -t10 and -l option. -l option is to keep
+  keep vtest temporary directory in case of failed test cases. core files
   may be found in this directory (if enabled by ulimit).
 
 
-* varnishtest patches for HAProxy VTC files *
+* vtest patches for HAProxy VTC files *
 
-  When producing a patch to add a VCT regression testing file to reg-tests directory,
+  When producing a patch to add a VTC regression testing file to reg-tests directory,
   please follow these simple rules:
 
-    - Add the commit number on the first line.
-    - Then, copy and paste the commit log.
-    - If your VTC file needs others files, use the same basename as that of the VTC
-      file.
+    - If your VTC file needs others files, if possible, use the same basename as that
+      of the VTC file,
     - Put these files in a directory with the same name as the code area concerned
       by the bug ('peers', 'lua', 'acl' etc).
-
-
