O código parece estar correto, não há erros quando abro no console do navegador. Mas não consigo fazer a função desenhaTexto(); funcionar, ou seja, exibir o texto. Segue o código:
<canvas width = '600' height = '400'></canvas>
<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    pincel.fillRect(0, 0, 600, 400,);
     function desenhaTexto(texto, x , y) {
        pincel.font='20px Georgia';
        pincel.fillStyle='black';
        pincel.fillText(texto, x, y);    
    }
    desenhaTexto("Qual é a fração?", 50, 30);
    function desenhaQuadrado(x, y, tamanho, cor ){
        pincel.fillStyle = cor;
        pincel.fillRect(x, y, tamanho, tamanho,);
        pincel.fillStroke = 'black';
        pincel.strokeRect (x, y, tamanho, tamanho)
    }
    for (var x = 0; x < 150; x = x + 50){
        desenhaQuadrado(x, 0, 50, 'green');
        desenhaQuadrado(x, 0, 50, 'green');
        desenhaQuadrado(x, 0, 50, 'green');
}
        desenhaQuadrado(x, 0, 50, 'white');
</script> 
            