SELECT TESTER
FROM @TableTester
ORDER BY
CASE WHEN TESTER LIKE '[A-Z]%' THEN LEFT(TESTER,PATINDEX('%[0-9]%',TESTER)-1) ELSE NULL END,
CAST(
CASE WHEN TESTER LIKE '%[0-9]%'
THEN REPLACE(SUBSTRING(TESTER,PATINDEX('%[0-9]%',TESTER),CHARINDEX(' ;',TESTER+' ;')-1),' ;','')
ELSE TESTER END
as int)

The main idea is to get letters and digits separated and than use cast to make them integer and sort first by letters than by integer.