Skip to content

Commit

Permalink
Change readme.md and readme-pt.md
Browse files Browse the repository at this point in the history
  • Loading branch information
thiagodp committed Mar 9, 2019
1 parent 602e8da commit 676da71
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 36 deletions.
33 changes: 16 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Translations: [Português](readme-pt.md) 🌎

![Example](media/example-en.gif)

*Concordia* is a tool that allows you to generate functional tests from a requirements specification written in *Concordia Language*. You can use them for:
*Concordia Compiler* is a tool that allows you to generate functional tests from a requirements specification written in *Concordia Language*. You can use them for:

1. Writing [business-readable](https://martinfowler.com/bliki/BusinessReadableDSL.html) specifications.

Expand Down Expand Up @@ -73,7 +73,7 @@ Translations: [Português](readme-pt.md) 🌎

## 💿 Installation

Concordia requires [NodeJS](https://nodejs.org/) version `8` or above.
Concordia Compiler requires [NodeJS](https://nodejs.org/) version `8` or above.

> Whether you wish to install the plugin CodeceptJS for testing web applications (CodeceptJS + WebDriverIO), it is also needed to install the [Java Runtime Environment (JRE)](http://www.oracle.com/technetwork/java/javase/downloads/index.html).
Expand Down Expand Up @@ -115,15 +115,15 @@ Run the following command to start a testing server:
concordia --plugin-serve <plugin-name>
```

After the server is started, you probably have to run Concordia in another terminal (console).
After the server is started, you probably have to run Concordia Compiler in another terminal (console).

### 🗲 Running Concordia
### 🗲 Running

```bash
concordia path/to/your/features --plugin <plugin-name>
```

Or just go the directory of your features and inform the desired plugin. Example:
For example, the following command will search for feature files recursively from the current directory.
```bash
concordia --plugin codeceptjs
```
Expand All @@ -132,7 +132,7 @@ concordia --plugin codeceptjs

It is likely that your testing server remain open after executing all the tests.

Type `Ctrl + C` to close it.
Type <kbd>Ctrl</kbd> + <kbd>C</kbd> to close it.


## 📑 Very basic example
Expand Down Expand Up @@ -340,7 +340,7 @@ concordia --help

1. Write or update your requirements specification with the *Concordia Language* and validate it with users or stakeholders;

2. Use *Concordia* to generate tests from the specification and to run them;
2. Use *Concordia Compiler* to generate tests from the specification and to run them;

3. If the tests **failed**, there are some possibilities:

Expand All @@ -356,30 +356,29 @@ concordia --help

![Process](media/process.png)

1. Concordia reads your `.feature` and `.testcase` files like a compiler, and uses a [lexer](https://en.wikipedia.org/wiki/Lexical_analysis) and a [parser](https://en.wikipedia.org/wiki/Parsing#Computer_languages) to identify and check documents' structure.
1. Reads your `.feature` and `.testcase` files like a compiler, and uses a [lexer](https://en.wikipedia.org/wiki/Lexical_analysis) and a [parser](https://en.wikipedia.org/wiki/Parsing#Computer_languages) to identify and check documents' structure.

2. Concordia uses basic [Natural Language Processing](https://en.wikipedia.org/wiki/Natural-language_processing) (NLP) to identify sentences' [intent](http://mrbot.ai/blog/natural-language-processing/understanding-intent-classification/). This increases the chances of recognizing sentences written in different styles.
2. Uses basic [Natural Language Processing](https://en.wikipedia.org/wiki/Natural-language_processing) (NLP) to identify sentences' [intent](http://mrbot.ai/blog/natural-language-processing/understanding-intent-classification/). This increases the chances of recognizing sentences written in different styles.

3. Concordia performs [semantic analysis](https://en.wikipedia.org/wiki/Semantic_analysis_(compilers)) to check recognized declarations.
3. Performs [semantic analysis](https://en.wikipedia.org/wiki/Semantic_analysis_(compilers)) to check recognized declarations.

4. Concordia uses the specification to infer the most suitable *test cases*, *test data*, and *test oracles*, and then generates `.testcase` files in Concordia Language, a kind of *restricted natural language*.
4. Uses the specification to infer the most suitable *test cases*, *test data*, and *test oracles*, and then generates `.testcase` files in Concordia Language, a kind of *restricted natural language*.

5. Concordia transforms all the test cases into test scripts (that is, source code) using a plug-in.
5. Transforms all the test cases into test scripts (that is, source code) using a plug-in.

6. Concordia executes the test scripts with the plug-in. These test scripts will check your application's behavior through its user interface.
6. Executes the test scripts with the plug-in. These test scripts will check your application's behavior through its user interface.

7. Concordia reads and presents execution results. These results relate failing tests to the specification, in order to help you understanding the possible reasons of a failure.
7. Reads and presents execution results. These results relate failing tests to the specification, in order to help you understanding the possible reasons of a failure.


👉 See the [test cases generated by Concordia](docs/test-cases.md).
👉 See the [set of generated test cases](docs/test-cases.md).


## 🍻 Contributing to Concordia
## 🍻 Contributing

*There are lot of ways to contribute. Many of them are a piece of cake!* 😉

- Spread
- *Talk to your friends* - their feedback will help us too!
- *Give it a star* - ⭐ People that follows you will know about it
- Use it and tell us
- *[Chat](https://concordialang.slack.com) with us* - Did you like it? Do you have any doubts?
Expand Down
37 changes: 18 additions & 19 deletions readme-pt.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![npm](https://img.shields.io/npm/l/concordialang.svg)](https://github.com/thiagodp/concordialang/blob/master/LICENSE.txt)
[![slack](https://img.shields.io/badge/slack-chat-blue.svg)](https://bit.ly/2u2vKJX)

*Concordia* é uma ferramenta que permite gerar [testes funcionais](https://en.wikipedia.org/wiki/Functional_testing) a partir de uma especificação de requisitos escrita em *Linguagem Concordia*. Você pode usá-las para:
O *Compilador Concordia* é uma ferramenta que permite gerar [testes funcionais](https://en.wikipedia.org/wiki/Functional_testing) a partir de uma especificação de requisitos escrita em *Linguagem Concordia*. Você pode usá-las para:

1. Escrever especificações [legíveis para pessoas de negócio](https://martinfowler.com/bliki/BusinessReadableDSL.html).

Expand All @@ -28,7 +28,7 @@ A *Linguagem Concordia* é uma meta linguagem de especificação [Ágil](https:/

- [Últimas novidades](https://github.com/thiagodp/concordialang/releases)
- [Documentação](docs/readme-pt.md)
- [Por que Concordia?](#por-que-concordia)
- [Por que usar Concordia?](#por-que-usar-concordia)
- [Instalação](#instalação)
- [Execução](#execução)
- [Exemplo básico](#exemplo-básico)
Expand All @@ -38,7 +38,7 @@ A *Linguagem Concordia* é uma meta linguagem de especificação [Ágil](https:/
- [Contribuindo com Concordia](#contribuindo-com-concordia)
- [Veja também](#veja-também)

## ❓ Por que Concordia?
## ❓ Por que usar Concordia?

- [Sintaxe](docs/language/pt.md) simples

Expand Down Expand Up @@ -69,7 +69,7 @@ A *Linguagem Concordia* é uma meta linguagem de especificação [Ágil](https:/

## 💿 Instalação

Concordia requer [NodeJS](https://nodejs.org/) versão `8` ou superior.
O Compilador Concordia requer [NodeJS](https://nodejs.org/) versão `8` ou superior.

> Se você for instalar o plug-in para CodeceptJS para testar aplicações web (CodeceptJS + WebDriverIO), também é preciso instalar o [Java Runtime Environment (JRE)](http://www.oracle.com/technetwork/java/javase/downloads/index.html).
Expand Down Expand Up @@ -110,15 +110,15 @@ Para iniciar o servidor relacionado ao plugin, basta executar:
```bash
concordia --plugin-serve <nome-do-plugin>
```
Com o servidor iniciado, você pode executar testes com Concordia em outro terminal (console).
Com o servidor iniciado, você pode executar testes com Concordia Compiler em outro terminal (console).

### 🗲 Executando Concordia
### 🗲 Executando

```bash
concordia caminho/ate/suas/features --plugin <nome-do-plugin>
```

Se você já estiver no diretório onde estão suas features, basta informar o plugin. Exemplo:
Por exemplo, o comando abaixo procura recursivamente por arquivos de feature a partir do diretório atual.
```bash
concordia --plugin codeceptjs
```
Expand All @@ -127,7 +127,7 @@ concordia --plugin codeceptjs

É provável que o servidor de testes continue aberto após você executar todos os testes.

Tecle `Ctrl + C` para finalizá-lo.
Tecle <kbd>Ctrl</kbd> + <kbd>C</kbd> para finalizá-lo.


## 📑 Exemplo básico
Expand Down Expand Up @@ -339,7 +339,7 @@ concordia --help

1. Escreva ou atualize sua especificação de requisitos com a *Linguagem Concordia* e valide-a com usuários ou interessados;

2. Use **Concordia** para gerar testes a partir da especificação e os execute;
2. Use o **Compilador Concordia** para gerar testes a partir da especificação e os execute;

3. Se os testes **falharam**, há algumas possibilidades, como:

Expand All @@ -356,30 +356,29 @@ concordia --help

![Process](media/process.png)

1. Concordia lê arquivos `.feature` e `.testcase` como um compilador e usa um [lexer](https://pt.wikipedia.org/wiki/An%C3%A1lise_l%C3%A9xica) e um [parser](https://pt.wikipedia.org/wiki/An%C3%A1lise_sint%C3%A1tica_(computa%C3%A7%C3%A3o)) para identificar e verificar a estrutura dos documentos.
1. arquivos `.feature` e `.testcase` como um compilador e usa um [lexer](https://pt.wikipedia.org/wiki/An%C3%A1lise_l%C3%A9xica) e um [parser](https://pt.wikipedia.org/wiki/An%C3%A1lise_sint%C3%A1tica_(computa%C3%A7%C3%A3o)) para identificar e verificar a estrutura dos documentos.

2. Concordia usa [processamento de linguagem natural](https://pt.wikipedia.org/wiki/Processamento_de_linguagem_natural) para identificar a [intenção](http://mrbot.ai/blog/natural-language-processing/understanding-intent-classification/) das sentenças. Isso aumenta as changes de reconhecer sentenças em diferentes estilos de escrita.
2. Usa [processamento de linguagem natural](https://pt.wikipedia.org/wiki/Processamento_de_linguagem_natural) para identificar a [intenção](http://mrbot.ai/blog/natural-language-processing/understanding-intent-classification/) das sentenças. Isso aumenta as changes de reconhecer sentenças em diferentes estilos de escrita.

3. Concordia realiza uma [análise semântica](https://pt.wikipedia.org/wiki/An%C3%A1lise_sem%C3%A2ntica) para checar as declarações reconhecidas.
3. Realiza uma [análise semântica](https://pt.wikipedia.org/wiki/An%C3%A1lise_sem%C3%A2ntica) para checar as declarações reconhecidas.

4. Concordia usa a especificação para inferir os casos de teste, dados de teste e oráculos de teste e gera arquivos `.testcase` em Linguagem Concordia, um tipo de *linguagem natural restrita*.
4. Usa a especificação para inferir os casos de teste, dados de teste e oráculos de teste e gera arquivos `.testcase` em Linguagem Concordia, um tipo de *linguagem natural restrita*.

5. Concordia transforma todos os casos de teste em scripts de teste (isso é, código-fonte) usando um plug-in.
5. Transforma todos os casos de teste em scripts de teste (isso é, código-fonte) usando um plug-in.

6. Concordia executa os scripts de teste através do mesmo plug-in. Esses scripts irão verificar o comportamento da aplicação através de sua interface de usuário.
6. Executa os scripts de teste através do mesmo plug-in. Esses scripts irão verificar o comportamento da aplicação através de sua interface de usuário.

7. Concordia lê e apresenta os resultados da execução. Esses resultados relacionam testes que falharam com a especificação, de forma a ajudar a você a decidir as possíveis razões.
7. e apresenta os resultados da execução. Esses resultados relacionam testes que falharam com a especificação, de forma a ajudar a você a decidir as possíveis razões.


👉 Veja os [casos de teste gerados por Concordia](docs/test-cases-pt.md).
👉 Veja os [tipos de casos de teste gerados](docs/test-cases-pt.md).


## 🍻 Contribuindo com Concordia
## 🍻 Contribuindo

*Há muitas formas de contribuir. A maioria é bem fácil.* 😉

- Divulgando
- *Fale sobre Concordia com seus amigos* - mais feedback o projeto receberá
- *Dê uma estrela* - ⭐ Quem segue você fica sabendo do projeto
- Use e nos conte
- *Conte no [chat](https://concordialang.slack.com)* - O que achou? Teve dúvidas? Quais?
Expand Down

0 comments on commit 676da71

Please sign in to comment.