Livro 09 Verificação, Validação e Teste de Software Ajax

Documentos relacionados
Fundamentos de Teste de Software

Os salários de 15 áreas de TI nas cinco regiões do Brasil

ENGENHARIA DE SOFTWARE

Métricas de Software

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

Desenvolvimento de Software

Engenharia de Software II

3 Metodologia de pesquisa

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

CONSELHO REGIONAL DE ENFERMAGEM DE SÃO PAULO. Resposta aos questionamentos efetuados pela empresa TOTVS, temos a informar conforme segue:

O Terminal. VS Adapt. O modelo apresenta um ótimo custo benefício, pois alia elegância e economia para a sua empresa.

Arquitecturas de Software Enunciado de Projecto

Drone2Map: o software que transforma imagens de drones em mapas 2D e 3D

ICI AMPLIA INCLUSÃO DIGITAL E PROMOVE AVANÇOS NA ROTINA DOS ESTUDANTES DA REDE PÚBLICA COM APLICAÇÃO DE WI-FI NAS ESCOLAS

O que é um banco de dados? Banco de Dados. Banco de dados

HAVE A SILCA COPY COPY HAVE A SILCA COPY. Duplicadoras Electrónicas HAVE A SILCA COPY HAVE A SILCA COPY HAVE A SILCA COPY HAVE A COPY

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

Modelagem De Sistemas

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

RELATÓRIO SOBRE A GESTÃO DE RISCOS BANCO ABN AMRO S.A. Setembro de 2013

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Como Elaborar uma Proposta de Projeto

Metodologias de PETI. Prof. Marlon Marcon

Introdução à orientação a objetos

Título do Case: O impacto do layout na agilidade dos processos

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

2 Workshop processamento de artigos em serviços de saúde Recolhimento de artigos esterilizados: é possível evitar?

AZ - AUTOMAÇÃO E MANUTENÇÃO INDUSTRIAL LTDA.

MODELAGENS. Modelagem Estratégica

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

Análise de Requisitos

MBA em Gerenciamento de Projetos. Teoria Geral do Planejamento. Professora: Maria Erileuza do Nascimento de Paula

Programação Orientada a Objetos SANTOS, Rafael

A Mongeral Aegon é a seguradora mais antiga do Brasil em atividade contínua;

Processo de Gerenciamento do Catálogo de Serviços de TIC

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Dureza Rockwell. No início do século XX houve muitos progressos. Nossa aula. Em que consiste o ensaio Rockwell. no campo da determinação da dureza.

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

Deswik.Sched. Sequenciamento por Gráfico de Gantt

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

Gestão Documental. Gestão Documental

CONTROLE DA QUALIDADE TOTAL (TQC)

Projeto de Desenvolvimento de Software

Manual Mobuss Construção - Móvel

PROGRAMA TREINAMENTO E CAPACITAÇÃO TÉCNICA TCT

APRESENTAÇÃO DA CERTIFICAÇÃO OCUPACIONAL

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

MBA em Gerenciamento de Projetos

Ação de formação Excel Avançado

ARTIGO. Sobre monitoramento a Distancia e aplicação automática de medicamentos. Sistema de monitoração a distancia e aplicação de medicamentos.

Análise e Projeto de Sistemas

OBJETIVO GERAL DA DISCIPLINA

Política de Responsabilidade Socioambiental - (PRSA) Política de Responsabilidade Socioambiental (PRSA).

Política de investimentos sociais 3M

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

Registro de Retenções Tributárias e Pagamentos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Centro de Hematologia e Hemoterapia do Paraná HEMEPAR Farm. Elvira Rosa Folda DVGQB Jul/2012

Manual de Utilização do CNIPE

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Banco de Dados I. Prof. Edson Thizon

DOCUMENTO DE REQUISITO DE SOFTWARE

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Curso de Extensão Inteligência Teoria e Prática 2010

MANUAL HAE - WEB MANUAL WEB HAE

Descrição da Estrutura de Gerenciamento Risco Operacional -

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

MANUAL DE INSTALAÇÃO SAT DIMEP PDV CAKE

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

e Autorizador Odontológico

SISTEMAS DISTRIBUÍDOS

TOP 20 ROTINAS QUE VOCÊ PODE AUTOMATIZAR HOJE!

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

Regulamento das Bolsas PARSUK Xperience 2014

PALAVRAS-CHAVE Handhelds, Manutenção de Subestação, Tecnologia da Informação.

Insight for a better planet SOLUÇÕES EM PLANEJAMENTO, AGENDAMENTO E OTIMIZAÇÃO FLORESTAL

CENTRO EDUCACIONAL SIGMA

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

Laboratório Virtual de Sistema de Controle Via Web em Labview. 1/6

Dos Serviços de Obras, Arquitetura, Engenharia e Tecnologia, Sanitária.

Projeto Manutenção SAP Web e Portal TRT

Pós-Graduação em Computação Distribuída e Ubíqua

PROGRAMA PARA A VALORIZAÇÃO DE INICIATIVAS CULTURAIS VAI SECRETARIA MUNICIPAL DA CULTURA São Paulo, Janeiro de 2012.

Índice. Conteúdo. Planilha Profissional Para Cálculo de Preços de Artesanato

Mini currículo. Sérgio Augusto de Carvalho Júnior

RESENHAS REVIEWS RESPONSABILIDADE CIVIL DA ATIVIDADE MÉDICA NO CÓDIGO DE DEFESA DO CONSUMIDOR

GUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE

MÓDULO 2 Topologias de Redes

Transcrição:

1

Sumário Parte I - Verificação, Validação e Introdução; Definições; Conceitos; Visão; BUG; Defeito; e Qualidade; Verificação de Software Histórico; de Verificação; Validação do Software de Validação; Caixa Preta; Caixa Branca; Dimensões do Introdução; Dimensão 1 Estado do ; Dimensão 2 Técnica do ; Dimensão 3 Metas do ; Dimensão 4 Ambiente do ; Parte II - JavaScript Ajax Introdução. Tecnologias. Testando o Código w3schools. Explorando. Considerações. Processo de Introdução; Modelo V ; Profissional de ; Considerações; 2

Diga não à pirataria O leitor que adquiriu o e-book legalmente no site AlbertEije.COM poderá imprimir o conteúdo para seu uso pessoal. A cópia do conteúdo do livro sem autorização configura crime. Além de contribuir para a criminalidade, a cópia ilegal desestimula o autor de realizar novos trabalhos. Todos saem perdendo com a pirataria. 3

Autor Apresentação Albert Eije é bacharel em Sistemas de Informação e especialista em Engenharia de Software. Possui larga experiência no desenvolvimento dos mais diversos tipos de sistemas. O autor iniciou sua investida no universo da informática nos idos de 1990. Na época seu interesse era por computação gráfica: CorelDRAW, PageMaker, Photoshop, etc. Com o tempo conheceu o mundo da programação, primeiro através do Clipper, seguido do Delphi e várias outras linguagens e ferramentas. Desenvolver sistemas passou a ser o seu negócio. No início focou em pequenas e médias empresas: condomínios, livrarias, construtoras, etc. Um desenvolvedor que trabalha por conta própria costuma ser o faz-tudo da empresa por um bom tempo: analista, programador, vendedor, suporte, etc. Como funcionário do Banco do Brasil, trabalhou nas Diretorias de Governo e Tecnologia. Teve contato com sistemas de grande porte e participou do desenvolvimento de vários módulos do sistema do Banco do Brasil, o maior banco da América Latina. Atualmente faz parte da Equipe T2Ti, que já formou milhares de profissionais para o mercado de desenvolvimento de software, criando treinamentos personalizados e exclusivos não encontrados em outras empresas de treinamento. Escreveu dois livros que foram publicados pela Editora Ciência Moderna e outros 20 e-books que estão disponíveis no seu site: AlbertEije.COM. Contate o autor através do site AlbertEije.COM. 4

PARTE I Verificação, Validação e de Software 5

Introdução Nas décadas de 1960 e 1970, os desenvolvedores dedicavam a maior parcela dos seus esforços nas atividades de codificação e nos testes unitários. Estima-se que 80% desse esforço eram para esse tipo de atividade. Uma parcela menor era dedicada à integração dos programas e nos testes dos sistemas. As atividades de teste eram consideradas um mal necessário para provar aos usuários que os produtos funcionavam e não eram tratados como um processo formal alinhado com as atividades do processo de desenvolvimento de sistemas. A partir dos anos 1980, durante o processo de desenvolvimento, passou a ser dada maior importância a analise dos requisitos, ao desenho funcional e técnico dos novos sistemas. Nós últimos anos, com a utilização da Internet para a realização de negócios, houve uma mudança significativa na abrangência e complexidade das aplicações, onde fatores, tais como segurança e performance passam a ser relevante, tornando a atividade de testar cada vez mais especializada. 6

Definições Existem várias definições para, segundo alguns autores: Testar é verificar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e não está fazendo o que não deveria fazer (Rios e Moreira 2002). Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Glen Myers - 1979). Testar é qualquer atividade que a partir da avaliação de um atributo ou capacidade de um programa ou sistema, seja possível determinar se ele alcança os resultados desejados (Bill Hetzel 1998). Muitas outras definições poderiam ser ainda citadas, mas em essência, teste de software é o processo que visa executar o software de forma controlada, com o objetivo de avaliar o seu comportamento, baseado no que foi especificado. A execução dos testes é considerada um tipo de validação. 7

Conceitos Muitas empresas não se preocupam com testes colocando desenvolvedores menos qualificados para os realizar, pois para elas qualquer um pode testar, entretanto quando desenvolvedores os testam querem provar que algo funciona, já o analista de teste procura provar que algo não funciona. O fato é que é mais fácil provar que algo funciona do que provar que algo não funciona. Quando falamos que o software foi testado, entendemos que está livre de erros. Quem pensar assim estará se enganando, pois erros sempre existiram. O que se faz é diminuir o risco de ocorrer um erro. s servem para diminuir o risco. Consideremos então alguns conceitos básicos relacionados ao universo dos testes de software. 8

Conceitos Base de (Test Basis) Todos os documentos a partir dos quais os requisitos de um determinado componente ou sistema podem ser inferidos. Documentação na qual os casos de testes estão baseados. Se um documento pode ser alterado somente por meio de procedimento formal, então a base de teste passa a se chamar base de teste congelada. Caso de (Test Case) Conjunto de valores de entrada/inputs, precondições de execução, resultados esperados e pós-condições de execução desenvolvidas para um determinado objetivo ou condição de teste, tais como para exercitar o caminho de um determinado programa ou verificar o atendimento a um requisito especifico. 9

Conceitos Execução de (Test Execution) Processo de executar um teste em um componente ou sistema sendo testado e que produz resultados reais. Fase de (Test Phase) Conjunto distinto de atividades de teste coletadas em uma fase gerenciável do projeto. Gerente de (Test Manager) Pessoa responsável pelo gerenciamento do projeto, pelas atividades e recursos de teste e por avaliar o objeto de teste. É o indivíduo que dirige, controla, administra, planeja e regula a avaliação de um objeto de teste. Objetivo de (Test Objective) Razão ou finalidade por trás da modelagem e da execução de um teste. 10

Conceitos Nível de (Test Level) Grupo de atividades de teste organizadas e gerenciadas conjuntamente. Um nível de teste está ligado às responsabilidades do projeto. Podemos citar como exemplos: teste de componente, teste de integração, teste de sistema e teste de aceitação. Testador (r) Profissional habilitado e envolvido no teste de um componente ou sistema. Política de (Test Policy) Documento de alto nível que descreve os princípios, a abordagem e os principais objetivos da organização de um teste. Resultado de (Test Result) Consequência da execução de um teste. Inclui saídas/outputs para telas, alterações de dados, relatórios e comunicações enviadas. Ver também resultado real e resultado esperado. 11

Conceitos Software (Software) Programas e procedimentos de computação, e possível documentação associada e dados pertinentes à operação de um sistema de computador. Testware (Testware) Artefatos produzidos durante o processo de teste e requeridos para planejar, projetar e executar testes, entre eles documentação, roteiros, entradas/inputs, resultados esperados, procedimentos de preparação e de esclarecimento, arquivos, bancos de dados, ambiente e qualquer software adicional ou utilitários utilizados no teste. 12

Visão Algumas pessoas têm uma visão errada do profissional de teste, pois pensam que ele está ali para ser inimigo dos desenvolvedores e analistas de requisitos e para apontar quem não está fazendo seu trabalho direito. Visão do Analista de Sistemas 1. Provar que as coisas estão funcionando. 2. Idealizar um conjunto de cenários favoráveis à utilização de um software ou um documento qualquer. Apresentar os cenários positivos. Visão do Analista de s 1. Provar a não adequação de algo. 2. Estender nossa abstração e identificar um maior volume de cenários positivos. 3. Idealizar um conjunto de cenários desfavoráveis à utilização de um software ou um documento qualquer. Apresentar os cenários negativos. 13

BUG O termo bug foi associado a interferências e mau funcionamento bem antes que existissem os computadores modernos, sendo Thomas Edison um dos primeiros a usar este significado. Mas foi uma mulher, Grace Murray Hopper, quem em 1945 documentou o primeiro bug da informática. Esta outra acepção se refere a elementos e circunstâncias no software ou hardware, involuntários e indesejados, que provocam um mau funcionamento. Ao longo dos anos este termo se popularizou e hoje em dia utilizamos frequentemente para referir-se aos erros nos programas de computador. A palavra traduzida literalmente do inglês como inseto, adquire outro significado quando falamos de informática. 14

BUG Grace Brewster Murray Hopper (1906-1992), doutora em matemática pela universidade de Yale, passou à história por ser uma inovadora programadora durante as primeiras gerações de computadores. Em 1943, durante a segunda guerra mundial, decidiu incorporar-se à marinha americana e foi enviada para o laboratório de cálculo Howard Aiken na Universidade de Harvard, onde trabalhou como programadora no Mark I. Em 9 de setembro de 1945 o grupo de trabalho de Aiken e Grace se encontrava na sala do Mark II tentando averiguar porquê o computador não funcionava adequadamente. Depois de um exame minucioso conseguiram detectar o problema, uma mariposa entre os contatos de uns dos relés do Mark II. Mais tarde, Grace registraria o incidente no caderno de registros, colou a borboleta que causou o problema e anotou embaixo a frase "First atual case of bug being found". A partir de então, cada vez que algum computador dava problemas eles diziam que tinha bugs. 15

PARTE II Ajax 16

Ajax Introdução O nome Ajax foi cunhado por Jesse James Garrett em 2005 para se referir a um conjunto de tecnologias que já existiam, mas que passaram a ser usadas de forma inovadora, enriquecendo as possibilidades de interação na web para torná-las o mais próximo de aplicações desktop quanto possível. As páginas web sempre sofreram com falta de interação devido a própria natureza caótica da internet, de possuir uma latência alta e ser pouco confiável. Assim, é muito comum clicarmos em um link e termos que esperar as vezes até alguns segundos, dependendo da conexão, até que a próxima página seja carregada do servidor para sua máquina. É claro que as conexões têm melhorado dia a dia, mas ainda assim o simples fato de que a cada mudança de página precisamos exibir um documento totalmente novo que contém, além dos dados que requisitamos, todas as informações de layout novamente, representa um gasto de banda considerável. 17

Ajax Introdução Uma grande diferença do Ajax é que as páginas apresentadas no browser passam a ser aplicações, ou seja, a primeira vez que entramos em uma página, a aplicação é carregada para nossa máquina e depois essa aplicação fica responsável por requisitar ou enviar os dados para o servidor de forma assíncrona. Como a aplicação está o tempo todo no browser do cliente, este não perde a interação e pode realizar ações mesmo enquanto espera a requisição de algum dado do servidor. As aplicações Ajax possuem uma camada a mais entre a interface com o usuário e o servidor, essa camada é a aplicação propriamente dita. 18

Ajax Introdução Uma grande diferença do Ajax é que as páginas apresentadas no browser passam a ser aplicações, ou seja, a primeira vez que entramos em uma página, a aplicação é carregada para nossa máquina e depois essa aplicação fica responsável por requisitar ou enviar os dados para o servidor de forma assíncrona. Como a aplicação está o tempo todo no browser do cliente, este não perde a interação e pode realizar ações mesmo enquanto espera a requisição de algum dado do servidor. As aplicações Ajax possuem uma camada a mais entre a interface com o usuário e o servidor, essa camada é a aplicação propriamente dita. 19

Ajax Tecnologias As quatro principais tecnologias utilizadas para o desenvolvimento de aplicações Ajax são esquematizadas na imagem abaixo. 20