Practice and theory of agile testing