# Testes de Pacotes de Aplicação

### Vista geral

A maioria dos pedidos de empacotamento de aplicações passa por um ciclo de teste em quatro etapas para validar a mecânica de instalação, os códigos de saída e o comportamento da implementação. Os testes funcionais das funcionalidades da aplicação são da responsabilidade do proprietário da aplicação cliente.

### Etapas de teste

#### 1. Instalação manual no sistema sandbox

* As binárias da aplicação são instaladas manualmente seguindo a documentação do fornecedor
* As dependências e os requisitos do ambiente são identificados e documentados
* A reinstalação sobre uma instalação existente é testada
* A desinstalação tal como fornecida pelas binárias do fornecedor é verificada

#### 2. Instalação pela linha de comandos

* Os parâmetros e sinalizadores de instalação silenciosa fornecidos são testados e verificados
* Os códigos de saída são validados para cenários de sucesso e falha
* Os scripts de instalação são desenvolvidos e executados
* Os procedimentos automatizados de reinstalação e desinstalação são validados
* Todos os processos são confirmados para serem executados sem interação do utilizador

#### 3. Preparação do pacote

* Os ficheiros de instalação são organizados em formatos de pacote RealmJoin (NuGet, intunewin)
* Os metadados e scripts do pacote são definidos, documentação adicionada (se aplicável)

#### 4. Instalação automatizada

* O pacote é instalado num sistema sandbox novo
* O comportamento da instalação é verificado em relação aos testes manuais anteriores e aos testes de CLI
* A reinstalação e desinstalação baseadas em pacote são testadas
* Os códigos de saída são validados em todos os cenários
* **A verificação de malware** é realizada em generic-packages durante a compilação automatizada como uma barreira de segurança obrigatória
