No exemplo acima. você declarou que TestB extends TestA, ou seja, TestB herda todos os atributos e métodos da classe TestA, se você quiser chamar algum método da classe que você está herdando então você não precisa utilizar o casting.
faça assim:
super.start();
Você pode usar o seu método start da classe TestB, lembre-se que no seu exemplo um objeto TestB também é um TestA, pois ele estende-o.
Casting a gente só usa quando tem a necessidade de pegar determinado dado e transformá-lo no formato em que precisamos trabalhar.
Mas lembre-se que existem métodos na API do Java que faz isso para você. Então sugiro que você dê uma pesquisada.
A JVM invoca o método do tipo em tempo de execução nesse caso, assim mesmo que você force o casting para TestA, em tempo de execução a JVM identifica que o método está sendo executado em um tipo TestB. A única forma de você executar o método de TestA, neste override, é usando o super como o newbbc indicou… Pelo menos pelo que eu lembro era somente assim, tem um capítulo inteiro dedicado a OO no livro que estou usando para o SCJP, preciso revisar para ter certeza mas no momento ele está no escritório