For each field (separated by : . or tab) in the input, if a random number is less than 0.5, convert the field to uppercase and print the result.
awk -F'[:.\t]' -v OFS='' '{for(i=1;i<=NF;i++)if(rand()<.5)$i=toupper($i);print}'