I see one problem at least. There are limits to filename length on a lot of unix filesystems.
If you have more than two files, you could start getting in trouble. Some filesystems may be okay. I dunno what filesystems you have.
That said, try something this ksh script:
#!/bin/ksh
set -A arr test*
cat ${arr[*]} > tmpfile
newname="test"
for i in test*
do
t1=${i#test}
t2=${t1%.txt}
newname=$newname"_$t2"
done
newname=$newname".txt"
mv tmpfile $newname