what is static testing and dynamic testing