You can use sage for a lot of group theory tests. The following should give you an idea of how things work in Sage.
Sage has a lot of built-in groups that you can call. The following are a few examples.
S4 = SymmetricGroup(4)
D4 = DihedralGroup(4)
These are a few examples of groups. There is a whole lot of other groups that Sage has; you can google for it.
Even if you find a new group, and you want to understand it more, you can ask for it to print the multiplication table:
D4.cayley_table()
Or just list the elements:
D4.list()
Or even show the Cayley graph of it:
show(D4.cayley_graph())
Whenever you are unsure of what a specific command does, you can always ask for help
D4.cayley_graph?
for g in D4:
print(g.inverse()), #the comma means the print command will not print a newline at the end
print(g)
You can also use the disjoint cycle notation to refer to a specific element of the group.
rho = D4([(1,2),(3,4)])
pi = D4([(1,4),(2,3)])
tau = rho * pi * rho.inverse()
tau
You can also make membership queries (and a LOT more)
print(S4([(1,2,3,4)]) in D4)
print(S4([(1,2)])) in D4
Let us consider the rotations of the cube:
S8 = SymmetricGroup(8)
rotX = S8([(1,2,3,4),(5,6,7,8)])
rotY = S8([(1,5,8,4),(2,6,7,3)])
rotZ = S8([(1,2,6,5),(4,3,7,8)])
G = PermutationGroup([rotX,rotY,rotZ])
G.order()
G.is_isomorphic(SymmetricGroup(4))
You have a pretty good tutorial here. Play around with sage to get a better hang of things.