Mike commit

-refractoring some test codes and GUI now would show whether tests are
passed or not

-add the non-functional test