Dealing with model assumption violation (homogeneity of regression coefficients for ANCOVA) I have one continuous dependent, two categorical independent and one continuous covariate. How I can deal with the violation of homogeneity of regression coefficients which is the ANCOVA assumption. Do I need to check this assumption when I enter the interaction between two independent variables too?
 A: *

*Ditch the ANCOVA and fit your model in a regression object.

*How bad is the heteroscedasticity? Could you include a scatterplot of fitted by residual values? Standard regression may be robust to the heteroscedasticity you have. Your heteroscedasticity could also be coming from a quadratic or cubic trend in your data—it's hard to tell without seeing the plot.

*The standard approach is to use robust standard errors, such as the Huber-White standard error. You can fit your model using the lm() function in R. There are good tutorials on getting standard errors that are robust to heteroskedasticity here and here.

*Another common approach is weighted least squares (WLS) regression instead of the standard ordinary least squares (OLS). You can set weights using the weight argument in the lm() function in R. That approach is discussed here.
A: An analysis of covariance (ANCOVA) is a model with one continuous covariate and or more categorical predictors (if there is more than one, then it's a factorial ANCOVA). It is a kind of multiple regression model. 
In order to test whether an ANCOVA model is appropriate for your data, one thing you need to check is that the effect of the covariate is the same in each group --- in other words, that an interaction isn't needed to allow differences in the effect of the covariate for different levels of the categorical predictor(s). If that assumption is violated, then you should include the interaction in the model. At that point, it's not called an ANCOVA any more, but it's still a multiple regression model --- so you would just called it multiple regression. Multiple regression is any linear model with a single continuous outcome and more than one predictor (if there's only one, it's called "simple regression"). As I mentioned, ANCOVAs (and ANOVAs, for that matter) are just some common kinds of multiple regression models that get their own names. 
If you run this in R, you'll use the same function to estimate the model it whether or not it includes the interaction (i.e. whether or not it can be called an ANCOVA, or just "multiple regression"). 
Here's the ANCOVA version of the model: 
ancova <- lm(outcome ~ covariate + factor, data = my_data)

And here it is with the interaction added, making it not an ANCOVA any more:
mul_reg <- lm(outcome ~ covariate * factor, data = my_data)

To test whether the interaction is significant, you can test the two models against each other (this is handy if you have more than 2 levels in your categorical predcitor(s), since they would then be represented in more than one regression coefficient):
anova(mul_reg, ancova)

If there is a significant improvement in model fit ($R^2$) when you allow the interaction, then you can say the assumption of homogeneity of regression coeffiicents is violated. At that point, you would use the mul_reg model instead of the ancova model to interpret your effects, and you would describe your model as "multiple regression" rather than "an analysis of covariance".  
