Is this important to clean test data?
It depends:
Normalizing the data: If you normalized your training data, then yes, normalize the test data in exactly the way you normalized the training data. But be careful that you do not re-tune any parameters you tuned on the training data.
Filling missing values: idem. Treat the test data as the training data but do not re-tune any of the parameters.
Removing outliers: probably not. The aim of the test set is to make an estimate about how well your model will perform on unseen data. So removing outliers will probably not be a good idea.
In general: only do things to your test data that you can/will also do on unseen data upon applying your model.
In the training data, I did feature engineering and clean my data. Is this important to do the same with test data?
I know some basic modifications like label encoding, dependent/independent feature split, etc.. are required in test data as well. But do we really need to CLEAN the test data before we do the predictions?