Yes, that is typical for symbolic tests. You could generate the symbolic matrix in code here, which is independent of your actual implementation code. But this is good. You can clean it up too:

```python
transformation_matrix = [
    [cos(p[1])*cos(p[2]), sin(p[0])*sin(p[1])*cos(p[2]) + sin(p[2])*cos(p[0]),
        sin(p[0])*sin(p[2]) - sin(p[1])*cos(p[0])*cos(p[2]), 10], 
    [-sin(p[2])*cos(p[1]), -sin(p[0])*sin(p[1])*sin(p[2]) +  cos(p[0])*cos(p[2]), 
        sin(p[0])*cos(p[2]) + sin(p[1])*sin(p[2])*cos(p[0]),10],
    [sin(p[1]), -sin(p[0])*cos(p[1]), cos(p[0])*cos(p[1]),10], [0, 0, 0, 1]] 
```