A técnica do teste de mesa ajuda programadores de qualquer nível a compreender melhor a lógica empregada ao verificar o fluxo e mudanças de estados de varíavel no decorrer da execução de um programa.
Esta biblioteca pretende realizar leitura de scripts PHP a fim de executar o teste de mesa informando ao usuário cada passo que será tomado pelo processador de script, do início até a conclusão da execução do script.
Ainda estamos em desenvolvimento inicial, por isso a quantidade de recursos da linguagem que são suportados são poucos.
É necessário Composer para o gerenciamento das dependências.
$ git clone https://github.com/ifroariquemes/PHP-TestBed
$ cd PHP-TestBed
$ composer install
Script de teste:
<?php
for($i = 1; $i <= 2; $i++) {
echo $i + 1;
}
Saída:
Script iniciado
Linha 3: --- Entrou no laço FOR ---
Linha 3: A variável $i recebe o valor 1
Linha 3: A condição da estrutura retorna o valor true resultante da operação ($i <= 2) onde $i = 1
Linha 4: Imprime na tela o valor 2 resultante da operação ($i + 1) onde $i = 1
Linha 3: A variável $i tem seu valor incrementado para 2
Linha 3: A condição da estrutura retorna o valor true resultante da operação ($i <= 2) onde $i = 2
Linha 4: Imprime na tela o valor 3 resultante da operação ($i + 1) onde $i = 2
Linha 3: A variável $i tem seu valor incrementado para 3
Linha 3: A condição da estrutura retorna o valor false resultante da operação ($i <= 2) onde $i = 3
Linha 5: --- Saiu do laço FOR ---
Script finalizado
Comando | Incluso na versão |
Estruturas condicionais | |
If-Else | v0.1.0 |
Switch-Case-Default | v0.2.0 |
Laços de repetição | |
For | v0.1.0 |
Foreach | v0.2.0 |
While | v0.1.0 |
Do-While | v0.1.0 |
Operações aritméticas | |
Soma (`+`) | v0.1.0 |
Subtração (`-`) | v0.1.0 |
Multiplicação (`*`) | v0.1.0 |
Divisão (`/`) | v0.1.0 |
Resto da divisão (`%`) | v0.1.0 |
Deslocamento binário (`<<` e `>>`) | v0.1.0 |
Incrementação (`++`) | v0.1.0 (posterior) v0.2.0(anterior) |
Decrementação (`--`) | v0.2.0 |
Operações lógicas | |
Booleano E (`&&`) | v0.1.0 |
Booleano OU (`||`) | v0.1.0 |
Bitwise E (`&`) | v0.1.0 |
Bitwise OU (`|`) | v0.1.0 |
Bitwise OU EXCLUSIVO (`^`) | v0.1.0 |
Operações relacionais | |
Igual (`==`) | v0.1.0 |
Idêntico (`===`) | v0.1.0 |
Diferente (`!=`) | v0.1.0 |
Não idêntico (`!==`) | v0.1.0 |
Maior (`>`) | v0.1.0 |
Maior ou igual (`>=`) | v0.1.0 |
Menor (`<`) | v0.1.0 |
Menor ou igual (`<=`) | v0.1.0 |
Nave espacial (`<=>`) | v0.1.0 |
Outros | |
Echo | v0.1.0 |
Atribuição (`=`) | v0.1.0 |
Concatenação (`.`) | v0.1.0 |
Global | v0.2.0 |
Parada (`break`) | v0.2.0 |
Constantes | v0.2.0 (`const`) em breve (`define`) |
Vetores e Matrizes (`array()` e `[]`) | v0.2.0 |
Try-Catch-Finally | v0.2.0 |
Throw | v0.2.0 |
Ajude-nos a fazer esse software dar certo. Veja em milestones que funções essa biblioteca ainda precisa implementar. Ou então revise o que já existe para continuar melhorando a qualidade e desempenho.
Este trabalho está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional