Streamlit na Garantia de Qualidade (QA): Simplificando Visualizações e Automação de Testes
Esta ferramenta vai surpreender você!
Na área de QA (Garantia de Qualidade), a visualização de dados e automação de testes são componentes cruciais para garantir que o software entregue esteja livre de bugs e funcione como esperado. Uma ferramenta emergente que pode ajudar a tornar esses processos mais dinâmicos e interativos é o Streamlit. Inicialmente desenvolvido para cientistas de dados, o Streamlit agora está ganhando força em outras áreas, incluindo QA, por sua capacidade de transformar rapidamente scripts Python em aplicativos interativos e fáceis de usar.
O que é Streamlit?
Streamlit é um framework de código aberto em Python que permite criar aplicativos web interativos e dinâmicos com pouca codificação. É projetado para ser rápido e intuitivo, o que o torna perfeito para profissionais de QA que precisam visualizar rapidamente resultados de testes, gerar relatórios e realizar monitoramento em tempo real de dados sem a necessidade de habilidades avançadas em front-end.
Para Rodar o Streamlit
Você deverá logar no site do Streamlit primeiramente para verificar toda a documentação e execução, pois há vários outros recursos bem interessantes.
Para rodar localmente:
pip install streamlit
2. Crie o arquivo Python com o código do relatório. Por exemplo, salve o código em um arquivo chamado relatorio_teste.py.
3. Execute o arquivo Streamlit com o seguinte comando:
streamlit run relatorio_teste.py
Esse comando abrirá uma janela no navegador exibindo o aplicativo com o relatório interativo gerado pelo Streamlit.
Como Streamlit Beneficia a Área de QA?
Muitas vezes, os profissionais de QA lidam com grandes volumes de dados de testes automatizados. Normalmente, esses dados são armazenados em arquivos de log, que podem ser difíceis de interpretar rapidamente. Usando o Streamlit, você pode criar dashboards interativos que exibem os resultados de testes em gráficos, tabelas e visualizações detalhadas.
Exemplo: Suponha que você tenha um conjunto de testes automatizados rodando em um ambiente CI/CD. Ao invés de analisar arquivos JSON ou XML brutos, o Streamlit pode transformar esses dados em gráficos de barras ou linhas que mostrem o número de testes bem-sucedidos, falhas, e quais áreas do sistema precisam de mais atenção.
Recomendados pelo LinkedIn
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
# Exemplo de visualização de resultados de testes
data = {'Test Case': ['Login Test', 'Checkout Test', 'Profile Update'],
'Success': [85, 75, 90],
'Failed': [15, 25, 10]}
df = pd.DataFrame(data)
st.title('Relatório de Testes Automatizados')
st.write('Visualização de Resultados de Teste:')
st.dataframe(df)
fig, ax = plt.subplots()
df.plot(kind='bar', ax=ax)
st.pyplot(fig)pyt
2. Geração de Relatórios de Teste Automatizados
A geração de relatórios sempre foi um ponto crítico em QA. Ferramentas tradicionais podem ser demoradas e muitas vezes complexas para personalizar. Com o Streamlit, você pode criar relatórios automatizados e personalizados em tempo real, integrando-se diretamente com suas pipelines de testes.
Exemplo: Um relatório de testes pode ser gerado automaticamente ao final de cada execução de testes, com gráficos interativos que mostram a porcentagem de sucesso, tempo de execução dos testes, e uma lista detalhada de testes falhos. Esses relatórios podem ser compartilhados via link, facilitando a comunicação entre equipes.
st.header('Relatório de Testes Automático')
st.write('Relatório gerado automaticamente a partir dos resultados de testes:')
if st.button('Gerar Relatório'):
st.success('Relatório gerado com sucesso!')
# Código para criar o relatório e exibir dados...py
3. Monitoramento de Qualidade em Tempo Real
Com o aumento de testes contínuos em ambientes de DevOps, monitorar a qualidade do software em tempo real se torna essencial. O Streamlit pode ser usado para criar painéis de monitoramento em tempo real que se conectam diretamente aos resultados de testes e métricas de desempenho do software.
Exemplo: Imagine ter um dashboard em tempo real que monitore os testes de regressão contínua em várias plataformas e ambientes. O Streamlit pode exibir os resultados à medida que os testes são executados, permitindo a rápida identificação de problemas críticos.
import time
st.title('Monitoramento de Testes em Tempo Real')
progress_bar = st.progress(0)
for i in range(100):
time.sleep(0.1)
progress_bar.progress(i + 1)
st.success('Monitoramento Completo!')
Testes Exploratórios Interativos
Uma abordagem interessante é a utilização de Streamlit para criar interfaces personalizadas que permitam testes exploratórios mais eficientes. Profissionais de QA podem criar pequenos aplicativos que permitem testar componentes específicos do sistema de forma interativa, sem a necessidade de mexer diretamente no código.
Exemplo: Um profissional de QA pode criar um aplicativo com Streamlit que permite testar diferentes entradas para uma API RESTful, visualizando as respostas diretamente no dashboard.
import requests
st.title('Teste Exploratórios de API')
endpoint = st.text_input('URL da API:')
param = st.text_input('Parâmetros:')
if st.button('Testar API'):
response = requests.get(endpoint, params={'param': param})
st.write('Resposta da API:', response.json())
Vantagens do Uso do Streamlit em QA
Conclusão
O Streamlit é uma ferramenta valiosa para equipes de QA que buscam melhorar a visualização e o monitoramento de resultados de testes. A simplicidade de sua implementação permite que os times de QA ganhem mais agilidade ao identificar falhas, gerar relatórios em tempo real e otimizar os processos de testes exploratórios. A personalização que ele oferece torna possível que qualquer equipe crie soluções sob medida para suas necessidades de teste, melhorando assim a qualidade geral do produto.
Se você está procurando uma forma de aprimorar a visualização dos resultados de testes, criar relatórios mais intuitivos e aumentar a eficiência do time de QA, o Streamlit pode ser a solução que faltava!
QA Engineer | Cypress | Azure DevOps | Postman | Test Automation | Engenheiro da Computação
3 mGostei, aparentemente bem dinâmico e você fica responsável pela sua configuração, né isso? Hoje eu uso o Allure Report, o plugin já vem com tudo isso configurado ( Sucess, failed ), e basta aplicar a execução do plugin que você tem seu relatório de testes gerado, indico também.