• Nenhum resultado encontrado

3 Abordagem Proposta

3.5 ETAPA 3: REALIZAR RASTREABILIDADE DOS REQUISITOS

Nessa etapa, a equipe de programadores e de testadores devem instruir-se e dispor de todas as informações necessárias para realizar um bom desenvolvimento e um bom teste das funcionalidades que possuem alguma ligação com as leis aplicáveis ao sistema. As leis, os requisitos legais, o modelo e as práticas de rastreabilidade denidas nas etapas anteriores são os principais elementos de entrada desta etapa da abordagem.

O principal objetivo desta etapa é possibilitar que a implementação das funcionalida- des do sistema e o desenvolvimento de testes do software estejam orientados à veri- cação da conformidade legal do sistema. Então, durante o desenvolvimento dessas ações, devem ser consideradas as atividades associadas a essa etapa da abordagem, des- critas nas subseções seguintes: i) implementar e rastrear os requisitos legais; ii) projetar testes de software dos requisitos legais; iii) realizar testes de software automáticos. A Figura 16 ilustra essas três atividades, na cor lilás.

Figura 16: Visão detalhada da terceira etapa da abordagem

3.5.1 Atividade 3.1 - Implementar e Rastrear Requisitos Legais

Nesta atividade a equipe deve manter o foco no desenvolvimento das funcionalidades do sistema ao mesmo tempo em que estabelece os elos de ligação entre o código fonte e os diversos artefatos envolvidos. As diretrizes estabelecidas na atividade anterior (Atividade 2.3), que consolidou a política de rastreabilidade com seus uxos de trabalho, boas práticas de codicação e comportamentos para rastreabilidade, por exemplo, devem ser executadas aqui.

Para sustentar a realização desta atividade, o gerente do projeto deve criar uma lista de tarefas (issues) para implementação das funcionalidades necessárias no sistema, que deverão atender aos requisitos legais documentados. Os responsáveis e os prazos para exe- cução das tarefas também devem ser denidos e acordados entre os membros da equipe. As tarefas devem ser cadastradas em uma ferramenta de gerenciamento tarefas que seja, de preferência, integrada à ferramenta de gerenciamento de requisitos para que a rastre- abilidade seja mantida.

Importa destacar que as ações realizadas durante esta atividade acontecem, principal- mente, durante a fase de implementação ou manutenção do sistema. Entretanto, mesmo que os seus principais atores sejam os membros da equipe de desenvolvimento, a colabo- ração dos envolvidos na abordagem é fundamental, principalmente dos envolvidos com a elicitação, análise e documentação dos requisitos legais identicados. O envolvimento dos outros membros da equipe nos registros dos rastros dos RL permitirá que o programador compreenda, de forma mais ampla, o impacto da alteração de um requisito nos artefatos relacionados.

Ao nal desta atividade, o projeto estará repleto de Artefatos com elos de rastre- abilidade registrados. A retenção desses elos pode ocorrer, por exemplo, com o uso de Annotations (em Java) ou Decorators (em Python), supondo que a equipe determinou como boa prática de codicação utilizar marcações especiais nos trechos de código fonte que implementam alguma funcionalidade relacionada a um RL. Um outro exemplo que pode ser dado é o uso de Tagging nas operações relacionadas ao Sistema de Controle de Versões ( SCV ) do código fonte. As Tags permitem o agrupamento de porções de código fonte com algum signicado especíco para a equipe de desenvolvimento. As Tags podem ser gerenciadas por uma ferramenta de requisitos que seja integrada ao SCV, permitindo a geração de relatórios para visualização dos elos de rastreabilidade registrados.

Também será possível identicar, ao nal desta atividade, uma Lista de Artefatos de Prova, que serão úteis na validação da conformidade legal de cada funcionalidade im- plementada. Esta lista deverá conter os artefatos que comprovam que um requisito legal foi implementado no sistema, desde modelos e diagramas arquiteturais, que apresentem partes relativas ao atendimento de algum RL, até a especicação de RL, logs de execução de testes, e outros elementos. Por exemplo, um boa prática pode ser denida, no plano de rastreabilidade do projeto, determinando que os artefatos relacionados com a implemen- tação de um RL sejam classicados como artefato de prova de atendimento do RL. A ferramenta de gerenciamento de requisitos pode, a partir desta classicação, gerar a lista de artefatos de prova do RL além de outros relatórios úteis.

3.5.2 Atividade 3.2 - Projetar Testes de Software dos Requisitos

Legais

O planejamento para os testes deve começar com os primeiros estágios de desenvol- vimento do software. Conforme o processo de engenharia de requisitos avança, o planeja- mento e execução dos testes devem ser renados de forma contínua e sistemática.

Nesta atividade, os membros da equipe do projeto devem planejar, com base na lista de requisitos legais identicados, priorizados e implementados nas etapas anteriores, como os testes devem ser executados para que a conformidade legal do sistema seja vericada. Os tipos de testes escolhidos dependem do tipo de aplicação que está sendo desenvolvida e em que fase do projeto os testes estão sendo realizados.

Caso exista um modelo padrão de plano de testes já denido para o projeto, ele po- derá ser utilizado como base para realização desta tarefa. Ele deve determinar quais as atividades que devem realizadas, denir os métodos, planejar a capacidade necessária de

recursos, estabelecer métricas e formas de acompanhamento dos testes que serão reali- zados. O planejamento dos testes, entretanto, deve ser sempre orientado no sentido de aperfeiçoar a validação dos requisitos legais do sistema.

Muitas vezes as leis não são mapeadas para requisitos funcionais (RF), nesta fase, o plano de testes deve considerar apenas os requisitos legais com alto grau de testabilidade, identicados e aprimorados na Etapa 2 da abordagem. Esta medida pretende dar mais agilidade a vericação do nível de de conformidade legal do sistema.

Um ponto que merece destaque nesta atividade é a denição de métricas de testes de software. Por exemplo, tanto métricas de cobertura quanto métricas de qualidade dos testes podem ser utilizadas como indicadores para auxiliar no monitoramento da conformidade do sistema.

Ao nal desta atividade a equipe de testes deve ter acesso a um Plano de testes de requisitos legais. Este artefato servirá como um guia para execução e controle das ativi- dades de testes e deve ser elaborado pelo gerente de testes, que deve estar familiarizado com as normas e regulamentos envolvidos.

3.5.3 Atividade 3.3 - Realizar Testes de Requisitos Legais

Nesta atividade a equipe de testes deve concentrar esforços na execução dos testes das funcionalidades relacionadas com os requisitos legais. Para isso, casos de testes devem ser especicados com base nos planos de testes denidos na atividade anterior.

Diversos tipos de testes podem ser realizados nesta atividade; os testes de aceitação, testes de desempenho e testes de integração são alguns exemplos. Durante a pesquisa, não foram encontradas referências que justiquem a utilização de um tipo especíco de teste para vericação de requisitos legais. Assim, o tipo de teste mais adequado para validação de um requisito legal depende das características e necessidades da funcionalidade que está sendo testada. Entretanto, a equipe de testes deve car atenta aos riscos e sanções impostas pela legislação relacionada ao requisito, como os prazos para disponibilização da funcionalidade no ambiente de produção do software. Nestes casos, por exemplo, a equipe deve considerar que testes automatizados de regressão levam mais tempo para serem executados do que testes de unidade ou que teste de integração podem consumir uma quantidade maior de recursos.

É importante deixar claro que o processo de testes de software adotado no projeto depende de diversos fatores, entre eles, o grau de maturidade da equipe e o tamanho do

software que está sendo produzido. Entretanto, a prática de utilização de uma ferramenta de gerenciamento das atividades de testes do sistema deve ser observada. A utilização desta ferramenta de forma integrada com as ferramentas de gerenciamento de requisitos e de gestão de tarefas irá permitir a execução da política de rastreabilidade de forma efetiva, fazendo com que informações provenientes dos resultados dos testes possam ser utilizadas como insumos para composição de indicadores que podem auxiliar na vericação da conformidade legal.

Ao nal desta atividade um Relatório de execução dos testes deve ser produzido. Nele, devem ser registradas informações sucientes para que os defeitos encontrados nos testes possam ser reproduzidos, analisados e corrigidos de forma segura e denitiva. Os defeitos apresentados no relatório irão identicar pontos de não conformidade do sistema e devem ser registrados, juntamente com suas evidências e indícios, para que o gestor do projeto planeje ações corretivas.

3.6 ETAPA 4: VERIFICAR E VALIDAR A CONFOR-