Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qualidade de Software Apresentação O cliente, ao comprar qualquer produto ou serviço, sempre espera recebê-lo com qualidade, sem defeitos e em total condições de uso. No caso do software não é diferente. Receber um software com defeito causa uma quebra de confiança e pode gerar muitos transtornos para o cliente. Desta forma, adotar estratégias que controlem a qualidade do software é de extrema importância. Nesta Unidade de Aprendizagem, você vai conhecer o conceito de qualidade de software, identificar os benefícios da qualidade de software e aprender como aplicar os conceitos de qualidade de software. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Conceituar qualidade de software.• Identificar os benefícios da qualidade de software.• Aplicar os conceitos de qualidade. • Desafio Testes de software são uma atividade de extrema importância para a garantia da qualidade do produto de software. Podem ser realizados diversos tipos de testes, sejam estes feitos diretamente no código fonte do software ou através da execução do software que está sendo testado. Um dos tipos de teste que podem ser executados é o exploratório. Este tipo de teste se baseia no conhecimento do testador do negócio da empresa, de forma que o testador irá explorar o sistema buscando por falhas. Para suportar esse trabalho de busca exploratória de erros, podem ser criados checklists, estes garantem que as principais funcionalidades serão testadas e que todas as validações necessárias serão feitas. Após ler essas informações, avalie a situação a seguir: Agora, com base na análise realizada, elabore um checklist que possa ser usado para validação dessa tela e reaproveitado para outras telas que você testar no futuro. Infográfico A área de qualidade de software pode ser dividida em dois grandes grupos, sendo eles: qualidade de processos e qualidade de produtos. Na parte de qualidade de processos, uma das formas utilizadas para garantia da qualidade são os modelos de maturidade que medem o quanto a empresa é madura, ou seja, aderente aos processos. São exemplos CMMI e MPS.BR. T Todavia, a qualidade de produto considera como atividade principal a realização de testes de software e esta pode ser dividida em duas partes: testes caixa branca e testes caixa preta. Caixa branca é o teste realizado com acesso ao código fonte da funcionalidade em teste e; caixa preta, sem acesso a esse código. Veja, no Infográfico, uma síntese das informações sobre essas duas subdivisões da área de qualidade de software.uma síntese das informações sobre essas duas subdivisões da área de qualidade de software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/79677ec9-91a2-4d3e-9254-c3ce69e1aacf/bae651ee-fcc5-4c20-aee6-749943c8dc4b.png Conteúdo do livro No contexto da engenharia de software, a qualidade do software mede como o software é projetado (qualidade do projeto) e como está de acordo com esse design (qualidade de conformidade). A qualidade de software é frequentemente descrita como a "adequação ao propósito" de um software. Ela aumenta a probabilidade de que os produtos/softwares gerados estejam de acordo com as necessidades do cliente. No capítulo Qualidade de software, do livro Qualidade de software, você vai compreender os conceitos sobre qualidade de software, identificar os benefícios e também entender um pouco sobre o processo de aplicação dos conceitos de qualidade no dia a dia de desenvolvimento de software. Boa leitura. QUALIDADE DE SOFTWARE Aline Zanin Qualidade de software Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Conceituar qualidade de software. Identificar os benefícios da qualidade de software. Aplicar os conceitos de qualidade. Introdução Ao adquirir um produto ou serviço, o cliente deseja que esse produto seja entregue em pleno funcionamento, de acordo com aquilo que foi solicitado e livre de falhas. No contexto de software, essa realidade é exatamente a mesma: quando o cliente solicita um software, cria-se uma expectativa e, por isso, faz-se necessário garantir que o software atenda a ela. O produto deve ser entregue em funcionamento e deve atender aos requisitos solicitados pelo cliente. O responsável pela garantia dessa entrega eficaz é o setor de qua- lidade de software. A qualidade de software atua em dois segmentos distintos: qualidade de produto e qualidade de processo. Neste capítulo, você vai estudar os conceitos fundamentais desses dois segmentos, bem como conhecer os benefícios da qualidade de software e como aplicá-la nos projetos de desenvolvimento de sistemas. Conceitos A palavra qualidade parece ter um signifi cado bastante óbvio, contudo, trata- -se de um elemento complexo e de difícil mensuração, dado que a qualidade é relativa e pode assumir diversos valores, de acordo com a pessoa que a observa. Nesse sentido, a qualidade do software pode ser medida de acordo com o quanto ele está em conformidade com o que o cliente solicitou. Ou seja, mensura-se se o software está em conformidade com os requisitos funcionais e não funcionais especifi cados explicitamente pelo cliente, conforme leciona Basu (2015). Façamos uma analogia: suponha que você tenha preferência por chocolate do tipo meio amargo, e seu irmão tenha preferência por chocolate ao leite; ao chegar em casa, se seu pai trouxer um chocolate ao leite, muito provavelmente seu irmão dirá que esse chocolate é de alta qualidade, enquanto você dirá que o chocolate não tem qualidade, porque não atende ao seu gosto, à sua expectativa. Embora a qualidade do software seja uma prática recente, que ganhou evi- dência com o advento da tecnologia, a qualidade, no geral, é uma preocupação bem antiga. Existem registros de que há mais de quatro mil anos os egípcios estabeleceram um padrão de medida para realizar seus trabalhos de forma apurada, chamado de cúbito, que equivalia ao tamanho do braço do faraó reinante, conforme Koscianski e Soares (2007). Entretanto, mesmo a qualidade sendo um conceito tão antigo, os projetos de software contam com vários desafios para entregar o software em perfeito funcionamento, devido a uma série de fatores — em especial, a complexi- dade. Isso porque construir um sistema envolve diversas habilidades, como comunicação e interpretação, para conseguir entender o que o cliente deseja, além de habilidades específicas para as etapas de programação, análise da qualidade, entre outras, que são de grande complexidade. Dada a multidisciplinariedade envolvida no processo de desenvolvimento de software e a complexidade de todo o processo, o segmento de qualidade se divide em duas áreas relacionadas, porém distintas: qualidade de processos e qualidade de produtos. A área de qualidade de processos trata da organi- zação sistemática dos processos da empresa, visando ao melhor andamento dos projetos de desenvolvimento de sistemas, otimizando o tempo, tornando os processos repetitivos e evitando problemas em situações críticas para os projetos, por exemplo: estimativa, custo, entrada e saída de recursos humanos. Ao buscar garantir a qualidade de um software, estamos diante do desafio de estabelecer uma cultura de não tolerância a erros, por meio de processos que objetivem inibir ou impedir falhas, segundo Bartié (2002). É a área de qualidade de processos que se responsabiliza pela definição da metodologia ou Qualidade de software2 do ciclo de vida de software que a equipe utilizará, podendo optar, por exemplo, por trabalhar com métodos ágeis ou métodos tradicionais. Independentemente da metodologia escolhida, o importante é que um processo seja seguido, para que a equipe tenha um padrão para se basear. Isso melhora a comunicação e influencia na qualidade dos produtos desenvolvidos pela equipe. A área de qualidadede produtos tem por objetivo garantir a qualidade do produto tecnológico gerado durante o ciclo de desenvolvimento. Para esse fim, são realizadas atividades com o objetivo de estressar as funcionalidades do sistema, identificando o comportamento dele nesse contexto. Essas atividades são chamadas de testes de software. Essa área possui algumas divisões, sendo a mais importante a subdivisão entre testes que fazem uso do código-fonte do programa, chamados de caixa branca, e testes que não fazem uso do código- -fonte do programa, chamados de caixa preta. Além disso, os testes podem ser feitos de forma manual ou automatizada e fazendo uso das mais diversas técnicas, conforme Bartié (2002). A eficiência de um processo de testes é afetada diretamente por alguns fatores, que devem ser considerados para evitar problemas nas organizações, aponta Bartié (2002): falta de planejamento das atividades de testes, ausência de testes que validem funcionalidades antigas e ausência de processos de automação de testes. Uma terminologia bastante importante e comum na área de testes de quali- dade de software é o conceito de bug, que abrange erros, defeitos e falhas. Por curiosidade, o termo bug corresponde à palavra inseto em inglês e começou a ser utilizado justamente quando um inseto causou uma falha em um equipamento. É importante entender que os termos erro, defeito e falha se referem a coisas distintas. Defeito é um comportamento inesperado de um produto. O defeito está em uma parte do produto e, em geral, refere-se a uma funcionalidade que está implementado no código de maneira incorreta. Erro é aquilo que foi cometido pelo programador e que gerou um código defeituoso, enquanto a falha se dá quando o programa defeituoso é executado e interfere no funcionamento do sistema para o usuário final. Falhas também podem ocorrer por fatores externos ao programa, como corrupção de bases de dados ou invasões de memória por outros programas, conforme Koscianski e Soares (2007). Considere, por exemplo, o código a seguir, conforme Koscianski e Soares (2007): a = input (); c = b/a; d = a ? b/a : 0; 3Qualidade de software A linha de código que calcula o valor para a variável c pode apresentar um problema, dado que não é feita uma verificação para validar se o valor de a é 0. Dessa forma, pode acontecer um erro ao tentar realizar uma divisão por zero. O comportamento anormal do programa, que provavelmente gera um bug ou uma interrupção da execução, é provocado pela divisão b/a. Em um primeiro momento, podemos dizer que essa linha de código é defeituosa. Existe, entretanto, outra hipótese: o defeito pode estar na rotina input (). Imagine que a especificação dessa rotina estabeleça que ela não deve jamais retornar um valor nulo. Nesse caso, o erro foi cometido pelo programador responsável por essa rotina. Essa segunda hipótese é bastante razoável, pois, para a maioria dos programas, não é recomendado preceder cada operação de divisão com um teste if. Nesse caso, um erro cometido pelo programador na rotina input fez com que o programa apresentasse um defeito ao executar a divisão de a por b. Benefícios Inúmeros são os benefícios que as empresas podem ter ao demandar uma atenção especial para a área de qualidade de software. Os benefícios vão muito além de valores fi nanceiros, podendo estar relacionados inclusive com evitar transtornos legais ou preservar vidas. Empresas que desenvolvem sistemas de semáforos têm uma responsabilidade muito grande, uma vez que um erro de programação pode causar um grande acidente de trânsito ou, na melhor das hipóteses, um transtorno no trânsito. É por isso que o controle de qualidade é totalmente importante e benéfico nos dias atuais. A qualidade de software possui diversos benefícios que ajudam os usuários a não sofrerem com falhas de software e as empresas a oferecerem produtos melhores, impedindo até mesmo grandes catástrofes. Vamos verificar alguns dos benefícios da qualidade de software, com base em Basu (2015): Qualidade de software4 1. Economiza dinheiro — quanto dinheiro um projeto de software defeituoso lhe custa? Custa usuários e clientes. E é bem sabido que, quanto mais tempo leva para um bug ser detectado em seu software, mais difícil e caro é consertá-lo. Ao empregar testes de controle de qualidade durante o processo de desenvolvimento do software, você economizará tempo e dinheiro após a implantação. 2. Impede emergências corporativas catastróficas — com o software corporativo, as apostas são ainda maiores. Bugs no software corporativo podem levar a blecautes do sistema, falta de dados e falhas de comu- nicação. Se você estiver empregando software em toda a empresa ou lidando com informações confidenciais, é melhor ter certeza de que o software funcionará exatamente como ele precisa funcionar. Não há margem para erro. 3. Inspira a confiança do cliente — ao tornar o teste de software de controle de qualidade uma prioridade clara para o desenvolvimento de software, você está enviando uma mensagem para seus clientes de que deseja que o software deles seja o mais bem-sucedido possível. Isso é extremamente importante quando você busca oferecer qualidade e criar relacionamentos de longo prazo. 4. Mantém o nível de experiência do usuário elevado — está se tornando cada vez mais claro hoje em dia que a experiência do usuário pode que- brar ou impulsionar um negócio. Se o software estiver com problemas ou estiver lento, isso impedirá a experiência do usuário com o produto. Má experiência do usuário resulta em insatisfação e frustração. A boa experiência do usuário, que você obtém quando testa meticulosamente um produto de software, resulta em um usuário satisfeito — que tem muito mais probabilidade de recomendar o produto e sua empresa a outras pessoas. 5. Traz mais lucro — se você está criando um software para comercializar ou vender, investir em qualidade de software significa que você pode vender seu produto a uma taxa maior. Não há nada pior do que um usuário irritado que pagou por um produto que não funciona. 6. Aumenta a satisfação do cliente — relacionado ao ponto anterior, esse benefício está focado na reputação que a satisfação do cliente traz à sua empresa, não apenas no lucro. Ao oferecer um software de qualidade, que funciona quando e como você quer que ele funcione, você estará aumentando sua reputação, produzindo clientes satisfeitos. Não sobre- carregue a paciência dos seus clientes com um software defeituoso, 5Qualidade de software que você precisa consertar constantemente. Dê-lhes qualidade desde o início, e eles lhe recompensarão com lealdade. 7. Promove organização, produtividade e eficiência — o que você menos deseja é o caos de um software defeituoso, uma comunicação frenética e correções apressadas. Ser organizado com o teste de controle de qua- lidade, desde o início de sua estratégia de desenvolvimento, permitirá que você trabalhe em paz e seja mais produtivo com seu tempo. Ao utilizar metodologias ágeis, nas quais os desenvolvedores de software criam e entregam pequenos trechos de um produto em uma linha do tempo clara, você pode começar a testar o software à medida que ele é criado, em vez de sempre esperar até o final. Existe uma regra que vigora desde os princípios do teste de software, chamada regra 10 de Myers. Essa regra estipula que o custo de encontrar um defeito no sistema aumenta 10 vezes a cada etapa do processo em que esse erro avançar, conforme aponta Myers (1979). Essa regra é mais aplicada para o contexto de projetos com ciclo de vida em cascata, em que as etapas são executadas sequencialmente, dado que, em equipes ágeis, não existe essa divisão exata de etapas. A Figura 1 ilustra essa regra. Figura 1. Regra 10 de Myers. Fonte: MPT… (2010, p. 8). 12.000 10.000 8.000 6.000 4.000 2.000 0 De se nh o Es pe cifi ca çã o Co ns tru çã o Te ste Pro du çã o Fases do processo de desenvolvimento Cu st o em U S$ Qualidade de software6Aplicando a qualidade de software Conforme vimos anteriormente, a área de qualidade de software pode ser dividida em qualidade de produtos e qualidade de processos e é uma im- portante área no desenvolvimento de sistemas. Para a garantia da qualidade de processos, as empresas podem buscar certifi cações. Essas certifi cações fazem com a empresa seja, de certa forma, obrigada a seguir um processo que implemente a qualidade de processos de forma prática. As principais certifi cações são CMMI e MPS.BR. O CMMI, sigla para Capability Maturity Model Integration, é um mo- delo de maturidade utilizado para medir a maturidade dos processos de uma empresa. Ele serve também como um guia para a melhoria dos processos das organizações. Esse modelo classifica as empresas em cinco níveis, conforme Koscianski e Soares (2007), sendo eles: Inicial: processos caóticos; em geral, não existe um ambiente propício para o desenvolvimento de software. Gerenciado: nesse nível, já é perceptível uma melhoria em relação ao nível 1. Aqui já existem requisitos gerenciados e processos planejados, medidos e controlados. Definido: nesse nível, a maturidade da empresa já está em um nível considerável. Aqui os processos são caracterizados e entendidos. Gerenciado quantitativamente: nesse nível, os processos são controlados usando métodos estatísticos e outras técnicas quantitativas. Otimizado: nesse nível, os processos são continuamente melhorados com base em análises feitas pela equipe. O MPS.BR — sigla para Melhoria do Processo de Software Brasileiro — também é um modelo de maturidade, similar ao CMMI e com o mesmo objetivo. O MPS.BR foi proposto no Brasil e é utilizado por empresas brasi-leiras. Esse modelo considera sete níveis, sendo eles: A: processo em otimização. B: processo gerenciado quantitativamente. C: processo definido. D: processo largamente definido. E: processo parcialmente definido. F: processo gerenciado. 7Qualidade de software G: processo parcialmente gerenciado. Já para a qualidade de produto, diversas são as técnicas que podem ser empregadas. A área de testes de software é bastante abrangente e completa, sendo sempre recomendado que o trabalho de testes seja feito em conjunto com o desenvolvedor e durante o desenvolvimento do sistema, isto é, sem esperar que o sistema seja concluído para, então, testar. Vamos falar aqui de alguns tipos de testes e como aplicá-los, com base em Graham et al. (2008). Teste unitário — é um tipo de teste realizado diretamente no código fonte do programa em teste. Nesse tipo de teste, são criadas funcionalidades de testes que validam o comportamento dos métodos ou funções implementadas pelo programador. No teste unitário, são identificados os primeiros erros e, quando obtido sucesso nos testes (ou seja, quando não forem localizadas falhas), as funcionalidades principais do programa devem estar funcionando. Um exemplo de técnica para teste unitário é o TDD — test driven development —, que tem por objetivo o desenvolvedor criar primeiro o código de teste, para depois criar a funcionalidade e, então, executar o teste que valida essa funcionalidade. Teste funcional — é um tipo de teste realizado após o desenvolvimento do sistema ou de um módulo do sistema. O teste funcional pode ser automatizado ou manual. No caso de teste automatizado, são utilizados scripts de teste, que simulam o comportamento de um usuário no sistema, por exemplo, clicando em botões e inserindo valores em campos, e verificam a resposta do sistema para esses comportamentos. Para testes automatizados, esses scripts são executados automaticamente, e os defeitos localizados são sinalizados também de forma automática. No caso de testes manuais, os scripts são substituídos por casos de teste. Caso de teste é um documento em que é descrita a ação do usuário e a resposta esperada do sistema para ela. Nesse caso, a execução do caso de teste é feita manualmente, e o registro dos defeitos também. Teste de aceitação — esse teste é realizado junto com o cliente e visa a verificar se o sistema que foi ou está sendo construído é realmente o que foi solicitado. Teste exploratório — esse tipo de teste é muito comum, mais rápido de ser realizado e se torna uma alternativa para projetos com cronograma apertado. Nesse tipo de teste, o testador usa a sua experiência para navegar no sistema visando a localizar erros. A principal vantagem desse tipo de testes é localizar defeitos que não seriam localizados nos demais testes; por exemplo, casos em que o usuário tem um comportamento incomum, como clicar duas vezes em um botão de salvar. Para organizar esses testes e garantir que as funcionalidades principais sejam testadas, é comum criar um checklist, que Qualidade de software8 nada mais é do que uma lista que registra os principais pontos que devem ser testados nas telas do sistema. BARTIE, A. Garantia da qualidade de software. Rio de Janeiro: Elsevier, 2002. BASU, A. Software quality assurance, testing and metrics. India: PHI Learning, 2015. GRAHAM, D. et al. Foundations of software testing: ISTQB certification. United Kingdom: Cengage Learning EMEA, 2008. KOSCIANSKI, A.; SOARES, M. Qualidade de software: aprenda as metodologias e técnicas mais modernas para o desenvolvimento de software. 2. ed. São Paulo: Novatec, 2007. MPT – Melhoria de processo de teste brasileiro. 2010. Disponível em: <http://www. mpt.org.br/wp-content/uploads/2010/12/MPT_BR_Nivel_1_v_2.2.pdf>. Acesso em: 23 jan. 2019. MYERS, G. J. Art of software testing. New York: John Wiley & Sons, 1979. Leitura recomendada LEWIS, W. E. Software testing and continuous quality improvement. Boca Raton: CRC Press, 2016. 9Qualidade de software Dica do professor Garantir a qualidade dos softwares entregues aos clientes é uma tarefa muito importante e também muito complexa. Para realizar essa tarefa, utilizam-se técnicas de testes de software. Nesta Dica do Professor, você vai estudar sobre testes de software caixa branca e caixa preta e, também, sobre automação de testes. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/773b2e9e0d243b5b5c541a5664d6b43f Exercícios 1) Um dos grandes problemas que traz transtornos para as empresas desenvolvedoras de software é a presença de bugs no sistema. Isto porque eles afetam a satisfação do cliente com o sistema. Analise as alternativas a seguir e assinale a que define corretamente erro, defeito e falha: A) João é programador e inseriu por engano uma função infinitamente recursiva. João cometeu uma falha que pode prejudicar a empresa. B) Por causa da atitude errônea de João (que inseriu por engano uma função infinitamente recursiva no programa), quando Ana efetuou testes unitários no código fonte, ela identificou um defeito (uma linha defeituosa) no código. C) Juca é usuário do sistema e, ao cadastrar uma nova nota fiscal, deparou-se com um erro no software. D) Pedro estava fazendo um teste unitário no sistema e descobriu que Antônio cometeu uma falha, efetuou a declaração de uma variável com o tipo de dado errado. E) Lucas, usuário do sistema, deixou um campo em branco ao cadastrar um novo usuário para o sistema e fez com que o sistema travasse. Lucas estava diante de um erro de software. 2) A área de qualidade de software é a principal responsável por garantir a satisfação do cliente para com o software que foi entregue, desta forma, essa área se preocupa não apenas em entregar o software funcionando, mas em entregar o software em conformidade com os requisitos estabelecidos pelo cliente. Para ajudar nesse processo de garantia da qualidade, a área de qualidade de processos norteia a organização da estrutura de trabalho da empresa. Sobre qualidade de processos, analise a alternativa CORRETA: A) CMMI e ISO9001 são modelos de maturidade que fornecem informações para os funcionáriossobre como fazer o seu trabalho de forma eficiente. B) Um exemplo de processo que pode ser utilizado para garantia da qualidade de processos são as metodologias rápidas. C) A utilização de ciclo de desenvolvimento em cascata garante que a empresa irá atingir o nível máximo de maturidade no CMMI. D) Um dos critérios para ser promovido em nível de maturidade é a comunicação eficiente e, por isso, o uso de metodologias ágeis é pré-requisito. E) O nível V do CMMI é o último nível de maturidade, ele considera que todos os processos já estão definidos e são seguidos pela empresa, estando em constante otimização. 3) A regra 10 de Myers estima que o prejuízo causado por um defeito no sistema aumenta 10 vezes a cada etapa do processo de desenvolvimento que é avançado. Desta forma, é de extrema importância encontrar precocemente os defeitos antes que estes se tornem falhas e sejam visíveis para o cliente. Esta é uma função do segmento de qualidade de produto. Sobre qualidade de produto, analise as alternativas a seguir e assinale a alternativa CORRETA: A) É parte da atribuição do segmento de qualidade de produto realizar junto com o cliente uma verificação antes da entrega do software para garantir que o software entregue está de acordo com o solicitado. B) O profissional que trabalha com qualidade de produto, também chamado de QP, tem, entre suas funções, que garantir que o desenvolvimento do produto seja feito de acordo com uma metodologia, como, por exemplo, metodologia ágil Scrum. C) A realização de testes de software só é possível após o final do desenvolvimento do produto, isto porque é necessário que toda a funcionalidade tenha sido desenvolvida para poder testá- la. D) A qualidade de produto não interfere na confiança do cliente, esta é uma responsabilidade burocrática aliada à qualidade de processos. E) O teste exploratório deve ser sempre o primeiro teste a ser realizado, ainda durante o processo de desenvolvimento, pelo programador. 4) Os modelos CMMI e MPS-BR têm por objetivo auxiliar as empresas na organização de seus processos e avaliar a maturidade a qual os processos das empresas se encontram. Sobre estes dois modelos, assinale a alternativa CORRETA: A) Pode-se dizer que uma empresa que utiliza métodos ágeis de desenvolvimento de sistemas é automaticamente mais madura do que uma empresa que utiliza métodos tradicionais. B) O modelo MPS-BR pode ser considerado uma extensão do CMMI, uma vez que ele replica os níveis do CMMI complementando os níveis intermediários. C) Processo largamente definido é um nível de maturidade do modelo CMMI. D) O modelo CMMI é utilizado apenas dentro do Brasil, embora tenha sido criado fora. E) Tanto o CMMI quando o MPS-BR são ferramentas para organização de processos empresariais. 5) A qualidade da entrega dos produtos é fundamental para a fidelização do cliente e o ganho de confiança. Isto se aplica para software e para qualquer outro produto ou serviço que seja fornecido por uma empresa para clientes. Sobre a importância da qualidade de software, assinale a alternativa CORRETA: A) Embora conquistar o cliente seja bastante importante para a empresa fornecedora de software, caso este cause danos financeiros ao cliente, não é responsabilidade da fornecedora. B) A regra 10 de Myers se aplica ao modelo ágil de desenvolvimento de sistemas. C) A regra 10 de Myers considera que o custo de um defeito localizado aumenta 100 vezes a cada etapa avançada no ciclo de desenvolvimento. D) Um dos benefícios aliados à qualidade de usuário é melhorar a experiência deste. E) Qualidade de software é útil apenas em momentos de catástrofes. Na prática Os testes de software podem ser do tipo caixa branca ou caixa preta. Dentro dos testes de caixa preta, um teste utilizado com frequência é o teste manual, baseado em casos de testes. Ele descreve o passo a passo que o testador precisa fazer no sistema e o resultado esperado para cada ação executada. Aprender a criar um caso de teste manual é um primeiro passo para depois aprender a automatizar testes, uma vez que os scripts automatizados são muito similares aos casos de teste por também conterem descrição de ações e resultados esperados. Criar casos de teste ajuda a desenvolver o pensamento crítico para depois automatizar. Na Prática, você vai verificar como é feita a criação e a execução de um caso de teste a partir de um cenário empresarial. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/6f34831f-bc4a-4437-9d9c-e01650c4dc28/d4be6f6e-a3ab-49af-8980-38f986cfbeda.png Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Conheça os principais tipos de certificações em teste de software Aqui, você encontra as principais certificações de testes de software. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Resultados da implantação de CMMI® e MPS-BR em empresas de desenvolvimento e manutenção de software: a visão da alta gestão Neste artigo, os autores apresentam dados referentes aos resultados da implementação dos modelos CMMI e MPS-BR em empresas de desenvolvimento e manutenção de software, a partir da alta gestão das empresas. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. 5 benefícios que um software de gestão traz para a sua empresa Navegue no site e saiba mais a respeito do uso de soluções para a gestão empresarial, sistemas modernos integrando os departamentos das organizações. https://www.monitoratec.com.br/blog/teste-de-software/ https://www.researchgate.net/publication/325072055_Resultados_da_implantacao_de_CMMI_e_MPS-BR_em_empresas_de_desenvolvimento_e_manutencao_de_software_a_visao_da_alta_gestao Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://josecarlosfortes.com.br/gestao-e-inovacao/5-beneficios-que-um-software-de-gestao-traz-para-a-sua-empresa/
Compartilhar