https://github.com/juntossomosmais/code-challenge-qa
Conheça nosso desafio para trabalhar conosco como profissional de QA
https://github.com/juntossomosmais/code-challenge-qa
appium code-challenge cucumber functional-testing integration-testing qa-automation-test selenium
Last synced: 18 days ago
JSON representation
Conheça nosso desafio para trabalhar conosco como profissional de QA
- Host: GitHub
- URL: https://github.com/juntossomosmais/code-challenge-qa
- Owner: juntossomosmais
- Created: 2019-04-03T14:21:40.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-19T15:11:48.000Z (over 5 years ago)
- Last Synced: 2025-03-21T11:02:52.468Z (about 1 month ago)
- Topics: appium, code-challenge, cucumber, functional-testing, integration-testing, qa-automation-test, selenium
- Homepage:
- Size: 6.84 KB
- Stars: 4
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Code Challenge QA Juntos Somos+
Primeiramente, não se preocupe em entregar algo perfeito, sério, não é isso que queremos neste desafio. O propósito dele é simples: queremos conhecer suas abordagens para entender regras de negócios, coletar cenários de testes, fluxos e afins.
Topa?
# O desafio
Trabalhamos com APIs (REST e GraphQL), temos Apps (Android e iOS) e portais web. Contudo para este desafio pedimos o foco em duas situações apenas:
- Levantamento de cenários e automatizações de testes em portais web;
- Validação de APIs.## 1. Levantamento de cenários e automatizações de testes e portais web
Queremos que você acesse a página da Juntos Somos+, mapeie e automatize os testes das principais funcionalidades dessa página.
- https://www.juntossomosmais.com.br/
Algumas funcionalidades:
* A landing page possui a função `entrar` na parte superior direita. Ao ser clicado, é mostrado um formulário para login no loyalty;
* Cadastros para os fomentadores (donos de lojas) e executores (profissionais do mercado como por exemplo pedreiros) de obras no botão `quero participar` na parte superior direita, com listagem de profissões.## 2. Validação de APIs
O site `StackExchange` possui uma documentação de suas APIs disponível no link abaixo:
- https://api.stackexchange.com/docs
Veja por exemplo a parte de [users](https://api.stackexchange.com/docs/users). O que você vê como passível de teste? Quais são os cenários? Tente nos mostrar como testar uma API validando seu contrato e afins.
## Dicas
Abaixo seguem algumas dicas falando de tecnologia e tals que podem endossar ou não a sua resposta ao desafio:
- [Selenium](https://www.seleniumhq.org/) como ferramenta de automatização;
- Embora o teste não tenha algo voltado para Apps (por enquanto), [Appium](https://appium.io/) é uma ferramente bastante utilizada no mercado;
- Uso do [Gherkin](https://docs.cucumber.io/gherkin/) para a criação dos cenários com o auxílio do [Cucumber](https://cucumber.io/);
- Não precisa se prender a ferramentas dedicadas para Java, [Capybara](https://github.com/teamcapybara/capybara) ou qualquer outra ferramenta de mercado (como [Golem](https://github.com/golemhq/golem)) é bem-vinda;
- O teste deve ser executado no Google Chrome. Se preferir, pode ser headless, tanto faz;
- É possível baixar o executável do WebDriver automaticamente por exemplo com a ajuda do [WebDriverManager](https://github.com/bonigarcia/webdrivermanager);
- Evidências que comprovam o funcionamento;
- Uma conhecida ferramenta para avaliar endpoints é o [Rest Assured](https://github.com/rest-assured/rest-assured). [PyRestTest](https://github.com/svanoort/pyresttest) é legal também, mas lembrando: fique a vontade para escolher uma que prefira;
- Uso de conteinerização (por exemplo via [Docker](https://www.docker.com/)).# Como entregar
Você deve disponibilizar seu código em algum serviço de hospedagem como Bitbucket, GitLab ou GitHub e manter o repositório como privado.
É obrigatório ter um **README** com todas as instruções sobre o seu desafio, não esqueça de nos informar a linha de comando para rodar os testes!
Assim que finalizar, nos avise para enviarmos os usuários que devem ter acesso para avaliação.