It looks fine other than the R port being inout (as Russell noted). If for some reason you need the R port to be bi-directional, make sure to assign it to 'Z' during appropriate times in the testbench:
testProc : process
begin
...
R <= (others => 'Z') ;
In the future, you can save your self some time by using a direct entity instantiation in place of the component declaration, configuration specification, and component instantiation:
ALU_Behaviorial : use work.simple_alu(Behavioral)
PORT MAP (
A => A_tb,
B => B_tb,
R => R1_tb,
Op => Op_tb,
Clk => Clk_tb,
Res => Res_tb
);
If you stay with component declaration, there is no need to create separate component names for each of the models. It is your configuration specification that is associating the architecture name with the entity.
I recommend that you forget about configuration specifications and use direct entity instantiation for simple cases and configuration declarations for more complex cases.