Doubts

1>In my transaction class ,I am randomizing certain inputs but it shows same sets of value of randomized signal(variable)even though I am running the simulation again and again
2> In driver class I am driving the inputs like data_in ,push,pop in my dut model(fifo model) through interface (in the code I have tried to read what valued is being driven in dut)but when I am reading the same inputs push ,pop in monitor class ,it shows different values.
how same input signal in driver class and monitor can have different values?
please clear the above doubts.

Regarding 1, reproducibility of pseudo-random values between test runs is a feature of the language, as that aids in debugging. If you desire unique sequences of pseudo-random values between test runs, you need to change the randomization seed.

In reply to SidRaj:
Difficult to answer without seeing any code. Usually this happens when you randomize and push the same object without constructing a new object for each transaction.