The qRotation value is correct. Quaternions do not show the rotation angle. Your problem is with how you are using the Slerp. That would need to be called each frame until it is complete. It interpolates from rotation A to rotation B by parameter T. Either set your rotation and then call the slerp every frame or use a coroutine like so;
public void RotateObj(float duration)
{
StartCoroutine(RotateActual(duration));
}
private IEnumerator RotateActual(float duration)
{
var startRot = transform.rotation;
var randomRot = Random.Range(-360f, 360f);
var endRot = Quaternion.Euler(0, randomRot, 0);
var t = 0f;
while (t <= 1f)
{
transform.rotation = Quaternion.Slerp(startRot, endRot, t);
t += Time.deltaTime / duration;
yield return null;
}
transform.rotation = endRot;
}