Bom dia,
Eu sou Ana, trabalho com o Fábio , trabalhamos juntos no time Rational, responsáveis por soluções de Virtualização para o Brasil.
Temos exeperiencia na implantação de processos de desenvolvimento
A solução que vamos falar faz parte de um plataforma IBM para desenvolvimento de apps mobile,
Que inclui diferentes disciplinas e ferramental.
A nossa idéia hj é mostrar como o uso de Virtualização de serviços pode contrubir para uma nova abordagemem testes
Vamos então pensar um pouco mais a respeito do processo de testes
I: Teams compromise on the meaning of done, done, done
Image: Stuart Miles / FreeDigitalPhotos.net
Vamos então pensar um pouco mais a respeito do processo de testes
We always want to be testing.
Stub interfacing components out that are unavailable at the time and then re-introduce them when they are available.
O teste de integração pode ser feito em nível de componente.
Inicia-se os testes virtualizando os componentes que não estao disponiveis. Ã medida que ficam prontos, são substituídos.
E entao, quando um novo componente ou uma nova versão é introduzida, pode se executar testes de regressao.
Assim se contra o risco de liberar um componente com erros. É uma abordagem iterativa para os testes de integração.
Essa abordagem é interessante para times usando métodos agile, permitindo que os testes sejam de fato executados em cada iteração.
Heterogeneous environment: An IT environment that includes computers, operating systems, platforms, databases, applications, and other components from different vendors.
This represents a simple system for a lot of our customers.
Vamos então pensar um pouco mais a respeito do processo de testes
We always want to be testing.
Stub interfacing components out that are unavailable at the time and then re-introduce them when they are available.
O teste de integração pode ser feito em nível de componente.
Inicia-se os testes virtualizando os componentes que não estao disponiveis. Ã medida que ficam prontos, são substituídos.
E entao, quando um novo componente ou uma nova versão é introduzida, pode se executar testes de regressao.
Assim se contra o risco de liberar um componente com erros. É uma abordagem iterativa para os testes de integração.
Essa abordagem é interessante para times usando métodos agile, permitindo que os testes sejam de fato executados em cada iteração.
Por conta dessa complexidade, podemos imaginar o esforço necessário para se confirgurar um ambinete de testes, quando se implanta um sistema novo ou se faz upgrade de uma nova versão.
A quantidade de hardware, software, sistemas operacionais, banco de dados usados nesse processo.
Em muitos casos, o time de infraestrutura é responsável pela disponibilização desse ambiente. Fazem uso de Vmware, que sem dúvida facilita a montagem dos ambientes, mas ainda assim estas precisam ser instaladas, configuradas e uma vez disponibilizadas, se precisa de alguém que conheça as aplicações, às vezes de terceiros, que saiba como usá-las, conheça as senhas, etc.
Isso é uma reliadade para a maioria de nossos clientes.
Effectively “build on steroids”
You want to rebuild the system when something changes.
On dev sandbox you’ll be building your component(s) several times a day.
On integration sandbox you;ll rebuild after promoting your code changes. Ideally you should rebuild this environment at least nightly
The pre-production environments will be built less often, perhaps weekly for example, depending on system size and need to do so.
You may deploy into production only once a quarter or once a year for example, even though your development iterations are much shorter (e.g. two weeks).
Integration support
BF and RTC both have automated build functionality
Software analyzer does static code analysis. This should be particularly interesting to agile teams looking to take the “next step” in build quality
Deployment of code/components
BF automates deployment between sandboxes/environments
Reporting defects back to the dev team:
ClearQuest is used to communicate defect reports/enhancement requests back to the dev team from testers or support people
Independent testers can record defects as work items in RTC
P: Finding a way to bring valuable integration testing earlier in the cycle has a positive impact
Complex systems mean nightly testing is insufficient
Quality means fewer bugs in production
Not necessarily fewer bugs (catch them early)
Agile improves quality through working software earlier
Finding problems earlier means working software earlier
Test driven development and commitment to unit tests only go so far
This is a high level view. Most of the details are in “Prep Service Virutalization”, this requires building the service virtualization stubs, deployment automation and test automation that supports these steps:
Build request
Nightly build completes (compiles & junits)
Automation installs & configures the AUT onto SUT
Include a GH agent in the environment
All parts of the system except the part that is being built. GH is virtualizing *everything* else
GH VIE receives a notification to modify the configuration files on SUT
AUT is started
Tests are invoked/run
Results collected, update build status in RTC