4. COMO TESTAR?
DEFINIR O QUE SERÁ TESTADO
NOVA FUNCIONALIDADE?
REGRESSÃO?
CORREÇÃO DE BUGS?
DEFINIR O CENÁRIO DE TESTE
5. COMO ESCREVER UM
CENÁRIO DE TESTE?
ENGLISH STYLE
GIVEN SOME CONDITION
WHEN CONTAINER IS STARTED WITH ENV
ENVS...
THEN CHECK SOMETHING
6. COMO ESCREVER UM
CENÁRIO DE TESTE?
ESQUELETO DO CENÁRIO DE TESTE
Feature my cool feature
Scenario test my cool feature - it should print Hello and World on logs
Given/When image is built/container is ready
Then container log should contain Hello
And container logs should contain World
ANOTAÇÕES: @OPENSHIFT, @EAP, ETC...
8. FÁCIL CUSTOMIZAÇÃO/ADIÇÃO DE
NOVAS SENTENÇAS
from behave import *
@given('some known state')
def step_impl(context):
set_up(some, state)
Given some known state
and some other known state
when some action is taken
then some outcome is observed
but some other outcome is not observed
http://pythonhosted.org/behave/api.html
10. SMOKE TESTS
POR QUE TESTAR?
GARANTIR QUE A IMAGEM GERADA FUNCIONE COMO ESPERADO
GARANTIR QUE A FUNCIONALIDADE X É CORRETAMENTE CONFIGURADA
GARANTIR QUE NOSSOS PRODUTOS DE
MIDDLEWARE FUNCIONEM CORRETAMENTE NA
NUVEM
11. SMOKE TESTS
POR QUE ARQUILLIAN?
FRAMEWORK DE TESTES USADOS NOS PROJETOS E PRODUTOS JBOSS
ALTAMENTE CUSTOMIZÁVEL ATRAVÉS DE EXTENSÕES
ARQUILLIAN-CUBE
DOCKER/KUBERNETES/OPENSHIFT
CONSTANTE DESENVOLVIMENTO E CORREÇÃO DE BUGS
CLOUD ENABLEMENT - ARQUILLIAN EXTENSION (CE-ARQ)
APPLICATION TEMPLATES
SÃO NECESSÁRIOS PARA OS TESTES
13. SMOKE TESTS
COMO OS TESTES SÃO REALIZADOS?
TEMPLATE (OPENSHIFT APPLICATION TEMPLATES)
APLICAÇÃO (OPENSHIFT QUICKSTARTS)
CLASSE DE TESTES LOCAL OU REMOTO
@RUNASCLIENT
DEFINIÇÃO DE UM "TESTRUNNER POD" (CONTAINER)
DESCRITOR ARQUILLIAN.XML
14. SMOKE TESTS
@RunWith(Arquillian.class)
@Template(url = "https://raw.githubusercontent.com/${template.repository:jboss-openshift}/application-
templates/${template.branch:master}/decisionserver/decisionserver63-basic-s2i.json",
parameters = {
@TemplateParameter(name = "KIE_SERVER_USER", value = "${kie.username:kieserver}"),
@TemplateParameter(name = "KIE_SERVER_PASSWORD", value = "${kie.password:Redhat@123}")
}
)
@OpenShiftResources({
@OpenShiftResource("https://raw.githubusercontent.com/${template.repository:jboss-
openshift}/application-templates/${template.branch:master}/secrets/decisionserver-app-secret.json")
})
public class DecisionServerBasicTest extends DecisionServerTestBase {
...
@RunAsClient
public void testDecisionServerCapabilities() throws MalformedURLException {
checkKieServerCapabilities(getRouteURL(), "BRM");
}
}