SmartMonTools: How can I know if there is any smartctl test running on my hard disk?

In smartctl -a <device> look for Self-test execution status.

Example when no test is running:

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.

Example while a test is running:

Self-test execution status:      ( 249) Self-test routine in progress...
                                        90% of test remaining.

When running selective self-test (-t select) there will also be a progress shown here:

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA    MAX_LBA  CURRENT_TEST_STATUS
    1        0  125045423  Self_test_in_progress [90% left] (2881512-2947047)

Try :

smartctl -c /dev/sda

if /dev/sda is the drive you want to check.