[{"data":1,"prerenderedAt":792},["ShallowReactive",2],{"navigation_docs":3,"-atividades-atv-09-testes":252,"-atividades-atv-09-testes-surround":787},[4,96,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"⚙️ Engenharia de Software","i-lucide-book-open","\u002Fengenharia-software","1.engenharia-software",[10,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92],{"title":5,"path":7,"stem":11},"1.engenharia-software\u002Findex",{"title":13,"path":14,"stem":15},"📋 Plano de Ensino e Aplicações","\u002Fengenharia-software\u002Fengenharia-software-aplicacoes","1.engenharia-software\u002F01.engenharia-software-aplicacoes",{"title":17,"path":18,"stem":19},"Cap 01: Introdução e Natureza do Software","\u002Fengenharia-software\u002Fcap-01","1.engenharia-software\u002F02.cap-01",{"title":21,"path":22,"stem":23},"Cap 02: Modelos de Processo de Software","\u002Fengenharia-software\u002Fcap-02","1.engenharia-software\u002F03.cap-02",{"title":25,"path":26,"stem":27},"Cap 03: As Atividades do Processo","\u002Fengenharia-software\u002Fcap-03","1.engenharia-software\u002F04.cap-03",{"title":29,"path":30,"stem":31},"Cap 04: Metodologias Ágeis","\u002Fengenharia-software\u002Fcap-04","1.engenharia-software\u002F05.cap-04",{"title":33,"path":34,"stem":35},"Cap 05: Fundamentos de Requisitos","\u002Fengenharia-software\u002Fcap-05","1.engenharia-software\u002F06.cap-05",{"title":37,"path":38,"stem":39},"Cap 06: Elicitação e Levantamento","\u002Fengenharia-software\u002Fcap-06","1.engenharia-software\u002F07.cap-06",{"title":41,"path":42,"stem":43},"Cap 07: Especificação de Requisitos (ERS)","\u002Fengenharia-software\u002Fcap-07","1.engenharia-software\u002F08.cap-07",{"title":45,"path":46,"stem":47},"Cap 08: Validação e Gestão","\u002Fengenharia-software\u002Fcap-08","1.engenharia-software\u002F09.cap-08",{"title":49,"path":50,"stem":51},"Cap 09: Fundamentos da Modelagem","\u002Fengenharia-software\u002Fcap-09","1.engenharia-software\u002F10.cap-09",{"title":53,"path":54,"stem":55},"Cap 10: Diagrama de Casos de Uso (Conceitos)","\u002Fengenharia-software\u002Fcap-10","1.engenharia-software\u002F11.cap-10",{"title":57,"path":58,"stem":59},"Cap 11: Casos de Uso (Prática e Relações)","\u002Fengenharia-software\u002Fcap-11","1.engenharia-software\u002F12.cap-11",{"title":61,"path":62,"stem":63},"Cap 12: Diagrama de Classes (Conceitos)","\u002Fengenharia-software\u002Fcap-12","1.engenharia-software\u002F13.cap-12",{"title":65,"path":66,"stem":67},"Cap 13: Herança e Polimorfismo","\u002Fengenharia-software\u002Fcap-13","1.engenharia-software\u002F14.cap-13",{"title":69,"path":70,"stem":71},"Cap 14: Diagrama de Sequência","\u002Fengenharia-software\u002Fcap-14","1.engenharia-software\u002F15.cap-14",{"title":73,"path":74,"stem":75},"Cap 15: Diagramas Dinâmicos (Estados e Atividades)","\u002Fengenharia-software\u002Fcap-15","1.engenharia-software\u002F16.cap-15",{"title":77,"path":78,"stem":79},"Cap 16: Qualidade de Software (SQA)","\u002Fengenharia-software\u002Fcap-16","1.engenharia-software\u002F17.cap-16",{"title":81,"path":82,"stem":83},"Cap 17: Estratégias de Teste","\u002Fengenharia-software\u002Fcap-17","1.engenharia-software\u002F18.cap-17",{"title":85,"path":86,"stem":87},"Cap 18: Manutenção e Evolução","\u002Fengenharia-software\u002Fcap-18","1.engenharia-software\u002F19.cap-18",{"title":89,"path":90,"stem":91},"Cap 19: Gerência de Configuração (SCM)","\u002Fengenharia-software\u002Fcap-19","1.engenharia-software\u002F20.cap-19",{"title":93,"path":94,"stem":95},"Cap 20: Conclusão e Próximos Passos","\u002Fengenharia-software\u002Fcap-20","1.engenharia-software\u002F21.cap-20",{"title":97,"icon":98,"path":99,"stem":100,"children":101},"🛠️ Atividades","i-lucide-wrench","\u002Fatividades","2.atividades",[102,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185],{"title":103,"path":99,"stem":104},"📋 Orientações Gerais","2.atividades\u002Findex",{"title":106,"path":107,"stem":108},"📅 Cronograma","\u002Fatividades\u002Fcronograma","2.atividades\u002F01.cronograma",{"title":110,"path":111,"stem":112},"✏️ Atividade 01: Escopo e Personas","\u002Fatividades\u002Fatv-01-escopo","2.atividades\u002F02.atv-01-escopo",{"title":114,"path":115,"stem":116},"⚙️ Atividade 02: Processos de Software","\u002Fatividades\u002Fatv-02-processos","2.atividades\u002F03.atv-02-processos",{"title":118,"path":119,"stem":120},"📋 Atividade 03: Engenharia de Requisitos","\u002Fatividades\u002Fatv-03-requisitos","2.atividades\u002F04.atv-03-requisitos",{"title":122,"path":123,"stem":124},"📝 Atividade 04: User Stories e Backlog","\u002Fatividades\u002Fatv-04-backlog","2.atividades\u002F05.atv-04-backlog",{"title":126,"path":127,"stem":128},"🎭 Atividade 05: Casos de Uso (UML)","\u002Fatividades\u002Fatv-05-casos-uso","2.atividades\u002F06.atv-05-casos-uso",{"title":130,"path":131,"stem":132},"🖼️ Atividade 06: Prototipagem e Wireframes","\u002Fatividades\u002Fatv-06-prototipagem","2.atividades\u002F07.atv-06-prototipagem",{"title":134,"path":135,"stem":136},"🏛️ Atividade 07: Diagrama de Classes (UML)","\u002Fatividades\u002Fatv-07-classes","2.atividades\u002F08.atv-07-classes",{"title":138,"path":139,"stem":140},"🔀 Atividade 08: Diagrama de Sequência (UML)","\u002Fatividades\u002Fatv-08-sequencia","2.atividades\u002F09.atv-08-sequencia",{"title":142,"path":143,"stem":144},"🧪 Atividade 09: Qualidade e Testes","\u002Fatividades\u002Fatv-09-testes","2.atividades\u002F10.atv-09-testes",{"title":146,"path":147,"stem":148},"🏁 Atividade 10: Projeto Integrador Final","\u002Fatividades\u002Fatv-10-projeto-final","2.atividades\u002F11.atv-10-projeto-final",{"title":150,"path":151,"stem":152},"📊 Atividade 11: Diagrama de Atividades (UML)","\u002Fatividades\u002Fatv-11-atividades","2.atividades\u002F12.atv-11-atividades",{"title":154,"path":155,"stem":156},"🔄 Atividade 12: Diagrama de Transição de Estados (UML)","\u002Fatividades\u002Fatv-12-estados","2.atividades\u002F13.atv-12-estados",{"title":158,"path":159,"stem":160},"🏗️ Atividade 13: Arquitetura de Software e Padrões","\u002Fatividades\u002Fatv-13-arquitetura","2.atividades\u002F14.atv-13-arquitetura",{"title":162,"path":163,"stem":164},"🌐 Atividade 14: Modelagem de APIs REST e Swagger","\u002Fatividades\u002Fatv-14-apis-swagger","2.atividades\u002F15.atv-14-apis-swagger",{"title":166,"path":167,"stem":168},"🌿 Atividade 15: GitFlow e Trabalho Colaborativo","\u002Fatividades\u002Fatv-15-gitflow-colaboracao","2.atividades\u002F16.atv-15-gitflow-colaboracao",{"title":170,"path":171,"stem":172},"🚀 Atividade 16: Pipelines de CI\u002FCD com GitHub Actions","\u002Fatividades\u002Fatv-16-pipelines-cicd","2.atividades\u002F17.atv-16-pipelines-cicd",{"title":174,"path":175,"stem":176},"🐳 Atividade 17: Containerização de Ambientes com Docker","\u002Fatividades\u002Fatv-17-conteineres-docker","2.atividades\u002F18.atv-17-conteineres-docker",{"title":178,"path":179,"stem":180},"🔒 Atividade 18: Segurança no Desenvolvimento e OWASP","\u002Fatividades\u002Fatv-18-seguranca-devsecops","2.atividades\u002F19.atv-18-seguranca-devsecops",{"title":182,"path":183,"stem":184},"📈 Atividade 19: Métricas de Software, Estimativas e DORA","\u002Fatividades\u002Fatv-19-metricas-estimativas","2.atividades\u002F20.atv-19-metricas-estimativas",{"title":186,"path":187,"stem":188},"🏆 Atividade 20: Projeto Final Avançado (Fase 2)","\u002Fatividades\u002Fatv-20-projeto-final-avancado","2.atividades\u002F21.atv-20-projeto-final-avancado",{"title":190,"icon":191,"path":192,"stem":193,"children":194},"🖼️ Galeria de Projetos Integradores","i-lucide-image","\u002Fprojetos-integradores","3.projetos-integradores",[195,197,207,216,225,234,243],{"title":190,"path":192,"stem":196},"3.projetos-integradores\u002Findex",{"title":198,"path":199,"stem":200,"children":201},"🅿️ Projeto 01: Gestão de Estacionamentos","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002Findex",[202,203],{"title":198,"path":199,"stem":200},{"title":204,"path":205,"stem":206},"README","\u002Fprojetos-integradores\u002Fpi-01-gestao-estacionamentos\u002Freadme","3.projetos-integradores\u002F01.pi-01-gestao-estacionamentos\u002F2.readme",{"title":208,"path":209,"stem":210,"children":211},"🔐 Projeto 02: Gerador de Senhas","\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002Findex",[212,213],{"title":208,"path":209,"stem":210},{"title":204,"path":214,"stem":215},"\u002Fprojetos-integradores\u002Fpi-02-gerador-senhas\u002Freadme","3.projetos-integradores\u002F02.pi-02-gerador-senhas\u002F2.readme",{"title":217,"path":218,"stem":219,"children":220},"🍣 Projeto 03: Pedidos Restaurante","\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002Findex",[221,222],{"title":217,"path":218,"stem":219},{"title":204,"path":223,"stem":224},"\u002Fprojetos-integradores\u002Fpi-03-pedidos-restaurante\u002Freadme","3.projetos-integradores\u002F03.pi-03-pedidos-restaurante\u002F2.readme",{"title":226,"path":227,"stem":228,"children":229},"📱 Projeto 04: Empréstimos Dispositivos","\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002Findex",[230,231],{"title":226,"path":227,"stem":228},{"title":204,"path":232,"stem":233},"\u002Fprojetos-integradores\u002Fpi-04-emprestimos-dispositivos\u002Freadme","3.projetos-integradores\u002F04.pi-04-emprestimos-dispositivos\u002F2.readme",{"title":235,"path":236,"stem":237,"children":238},"📦 Projeto 05: Gestão de Estoque","\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002Findex",[239,240],{"title":235,"path":236,"stem":237},{"title":204,"path":241,"stem":242},"\u002Fprojetos-integradores\u002Fpi-05-gestao-estoque\u002Freadme","3.projetos-integradores\u002F05.pi-05-gestao-estoque\u002F2.readme",{"title":244,"path":245,"stem":246,"children":247},"🛵 Projeto 06: Aplicativo de Delivery","\u002Fprojetos-integradores\u002Fpi-06-delivery","3.projetos-integradores\u002F06.pi-06-delivery\u002Findex",[248,249],{"title":244,"path":245,"stem":246},{"title":204,"path":250,"stem":251},"\u002Fprojetos-integradores\u002Fpi-06-delivery\u002Freadme","3.projetos-integradores\u002F06.pi-06-delivery\u002F2.readme",{"id":253,"title":142,"body":254,"description":781,"extension":782,"links":783,"meta":784,"navigation":495,"path":143,"seo":785,"stem":144,"__hash__":786},"docs\u002F2.atividades\u002F10.atv-09-testes.md",{"type":255,"value":256,"toc":756},"minimark",[257,260,265,269,299,301,305,312,315,325,327,331,334,339,342,357,361,375,380,393,397,399,403,406,461,465,468,472,544,548,557,559,563,569,588,592,595,597,601,606,618,621,624,626,630,633,652,654,658,670,672,676,752],[258,259],"hr",{},[261,262,264],"h2",{"id":263},"objetivo-da-aula","🎯 Objetivo da Aula",[266,267,268],"p",{},"Ao final desta atividade, você será capaz de:",[270,271,272,285,292],"ul",{},[273,274,275,276,280,281,284],"li",{},"Diferenciar ",[277,278,279],"strong",{},"Verificação"," (Estamos construindo o produto certo?) de ",[277,282,283],{},"Validação"," (Estamos construindo o produto corretamente?).",[273,286,287,288,291],{},"Redigir ",[277,289,290],{},"Casos de Teste (Test Cases)"," com passo a passo e resultados esperados.",[273,293,294,295,298],{},"Aplicar a técnica de ",[277,296,297],{},"Teste de Caixa Preta (Black-Box)",", focando em testes positivos e negativos.",[258,300],{},[261,302,304],{"id":303},"o-cenário-prático-seu-desafio","🏢 O Cenário Prático (Seu Desafio)",[266,306,307,308,311],{},"Na ",[277,309,310],{},"TecProExpress",", os desenvolvedores terminaram o \"App de Rastreamento\". No entanto, no primeiro dia de uso, um motorista tentou digitar o número da placa e o sistema travou porque ele usou letras minúsculas. O cliente tentou rastrear um pedido inexistente e o App exibiu uma tela de erro técnica (código 500) em vez de uma mensagem amigável.",[266,313,314],{},"O custo de imagem da empresa foi lá embaixo.",[316,317,318],"blockquote",{},[266,319,320,321,324],{},"\"Seu desafio como ",[277,322,323],{},"Analista de QA (Quality Assurance)"," é criar um Plano de Testes. Você deve antecipar o erro humano e criar roteiros que garantam que, mesmo que o usuário faça 'bobagem', o sistema se comporte de forma segura e elegante.\"",[258,326],{},[261,328,330],{"id":329},"fundamentos-a-teoria-traduzida","🧠 Fundamentos: A Teoria Traduzida",[266,332,333],{},"Testar software não é apenas \"clicar para ver se funciona\". É tentar provar que o sistema falha.",[335,336,338],"h3",{"id":337},"o-caso-de-teste-test-case","O Caso de Teste (Test Case)",[266,340,341],{},"Um caso de teste é um experimento científico controlado. Ele tem:",[343,344,345,351],"ol",{},[273,346,347,350],{},[277,348,349],{},"Ação:"," O que eu faço? (Ex: Digito a senha errada).",[273,352,353,356],{},[277,354,355],{},"Resultado Esperado:"," O que deve acontecer? (Ex: Mensagem de erro \"Senha inválida\").",[335,358,360],{"id":359},"testes-positivos-vs-negativos","Testes Positivos vs Negativos",[270,362,363,369],{},[273,364,365,368],{},[277,366,367],{},"Positivo:"," O usuário faz tudo certo. (Ex: Login com dados corretos).",[273,370,371,374],{},[277,372,373],{},"Negativo:"," O usuário faz tudo errado ou tenta \"quebrar\" o sistema. (Ex: Colocar letras no campo de 'Quantidade' ou deixar campos obrigatórios vazios).",[376,377,379],"h4",{"id":378},"visualizando-a-lógica","📊 Visualizando a Lógica",[381,382,385,388,389,392],"callout",{"color":383,"icon":384},"success","i-lucide-lightbulb",[277,386,387],{},"Dica:"," Um bom QA não testa apenas o que o sistema faz, mas o que o sistema ",[277,390,391],{},"NÃO DEVE"," fazer.",[394,395],"mermaid",{"code":396},"flowchart LR\n    A[Entrada de Dados] --> B{Filtro de Teste}\n    B -- \"Dados Válidos\" --> C[Sucesso]\n    B -- \"Dados Inválidos\" --> D[Tratamento de Erro Amigável]\n",[258,398],{},[261,400,402],{"id":401},"exemplo-guiado","📖 Exemplo Guiado",[266,404,405],{},"Abaixo, veja como estruturar um Caso de Teste para o login da TecProExpress.",[407,408,409,429],"table",{},[410,411,412],"thead",{},[413,414,415,420,423,426],"tr",{},[416,417,419],"th",{"align":418},"left","ID",[416,421,422],{"align":418},"Título do Teste",[416,424,425],{"align":418},"Ação do Usuário",[416,427,428],{"align":418},"Resultado Esperado",[430,431,432,447],"tbody",{},[413,433,434,438,441,444],{},[435,436,437],"td",{"align":418},"CT01",[435,439,440],{"align":418},"Login Vazio",[435,442,443],{"align":418},"Clica em 'Entrar' sem digitar nada.",[435,445,446],{"align":418},"O sistema deve exibir \"Campos Obrigatórios\".",[413,448,449,452,455,458],{},[435,450,451],{"align":418},"CT02",[435,453,454],{"align":418},"Formato CPF",[435,456,457],{"align":418},"Digita CPF sem pontos e traços.",[435,459,460],{"align":418},"O sistema deve formatar e aceitar o login.",[376,462,464],{"id":463},"a-pirâmide-de-testes-da-engenharia-profissional","📊 A Pirâmide de Testes da Engenharia Profissional",[394,466],{"code":467},"flowchart TD\n    subgraph P [Níveis de Cobertura e Esforço]\n        direction BT\n        E2E[\"Testes de Interface \u002F Ponta a Ponta (E2E)\u003Cbr\u002F>(Lentos \u002F Altamente Frágeis \u002F Cobertura Focada)\"]\n        INT[\"Testes de Integração\u003Cbr\u002F>(Médio esforço \u002F Valida comunicações entre APIs)\"]\n        UNI[\"Testes de Unidade (JUnit)\u003Cbr\u002F>(Ultra rápidos \u002F Baratos \u002F Cobertura massiva)\"]\n        UNI --> INT --> E2E\n    end\n    style UNI fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px\n    style INT fill:#e1f5fe,stroke:#0288d1,stroke-width:2px\n    style E2E fill:#fffde7,stroke:#fbc02d,stroke-width:2px\n",[335,469,471],{"id":470},"️-estrutura-do-roteiro-de-teste","🛠️ Estrutura do Roteiro de Teste",[473,474,479],"pre",{"className":475,"code":476,"language":477,"meta":478,"style":478},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# CT03: Teste de Upload de Comprovante\n\n**Objetivo:** Validar se o sistema aceita apenas imagens de comprovantes.\n**Pré-condição:** Estar na tela de finalização de entrega.\n**Passos:**\n1. Clicar no botão \"Anexar Foto\".\n2. Tentar selecionar um arquivo do tipo \".PDF\".\n3. Clicar em \"Confirmar\".\n\n**Resultado Esperado:** O sistema deve bloquear a seleção do PDF e exibir o erro \"Formato não permitido. Use JPG ou PNG\".\n","markdown","",[480,481,482,490,497,503,509,515,521,527,533,538],"code",{"__ignoreMap":478},[483,484,487],"span",{"class":485,"line":486},"line",1,[483,488,489],{},"# CT03: Teste de Upload de Comprovante\n",[483,491,493],{"class":485,"line":492},2,[483,494,496],{"emptyLinePlaceholder":495},true,"\n",[483,498,500],{"class":485,"line":499},3,[483,501,502],{},"**Objetivo:** Validar se o sistema aceita apenas imagens de comprovantes.\n",[483,504,506],{"class":485,"line":505},4,[483,507,508],{},"**Pré-condição:** Estar na tela de finalização de entrega.\n",[483,510,512],{"class":485,"line":511},5,[483,513,514],{},"**Passos:**\n",[483,516,518],{"class":485,"line":517},6,[483,519,520],{},"1. Clicar no botão \"Anexar Foto\".\n",[483,522,524],{"class":485,"line":523},7,[483,525,526],{},"2. Tentar selecionar um arquivo do tipo \".PDF\".\n",[483,528,530],{"class":485,"line":529},8,[483,531,532],{},"3. Clicar em \"Confirmar\".\n",[483,534,536],{"class":485,"line":535},9,[483,537,496],{"emptyLinePlaceholder":495},[483,539,541],{"class":485,"line":540},10,[483,542,543],{},"**Resultado Esperado:** O sistema deve bloquear a seleção do PDF e exibir o erro \"Formato não permitido. Use JPG ou PNG\".\n",[376,545,547],{"id":546},"detalhamento-do-processo","🔍 Detalhamento do Processo:",[270,549,550],{},[273,551,552,553,556],{},"Note que o roteiro é tão detalhado que qualquer pessoa (mesmo quem não conhece o sistema) conseguiria executá-lo. Isso permite a ",[277,554,555],{},"Reprodutibilidade do Erro",".",[258,558],{},[261,560,562],{"id":561},"️-prática-obrigatória-1-tabela-de-casos-de-teste","🛠️ Prática Obrigatória 1: Tabela de Casos de Teste",[266,564,565,568],{},[277,566,567],{},"Cenário:"," O projeto semestral da sua equipe.",[343,570,571,578,585],{},[273,572,573,574,577],{},"Escolha ",[277,575,576],{},"3 Requisitos Funcionais"," da sua Atividade 03.",[273,579,580,581,584],{},"Para cada requisito, crie ",[277,582,583],{},"2 Casos de Teste"," (um positivo e um negativo).",[273,586,587],{},"Organize-os em uma tabela contendo: ID, Título, Ação e Resultado Esperado.",[335,589,591],{"id":590},"resultado-esperado-para-sua-referência","🏁 Resultado Esperado (Para sua Referência)",[266,593,594],{},"Uma tabela com 6 roteiros de teste (3 pares) que cubram as funcionalidades críticas do seu sistema.",[258,596],{},[261,598,600],{"id":599},"️-prática-obrigatória-2-o-teste-de-caixa-preta","🛠️ Prática Obrigatória 2: O Teste de Caixa Preta",[266,602,603,605],{},[277,604,567],{}," Antecipando falhas críticas.",[343,607,608,611],{},[273,609,610],{},"Identifique uma funcionalidade do seu sistema que envolva cálculos ou datas (ex: Data de entrega, Valor total, Idade do usuário).",[273,612,613,614,617],{},"Descreva um cenário de ",[277,615,616],{},"Teste Negativo"," complexo (ex: o que acontece se eu colocar uma data de nascimento no futuro?).",[335,619,591],{"id":620},"resultado-esperado-para-sua-referência-1",[266,622,623],{},"Um parágrafo descrevendo o cenário e como o sistema deveria \"se defender\" desse erro de entrada.",[258,625],{},[261,627,629],{"id":628},"instruções-de-entrega-microsoft-teams","📤 Instruções de Entrega (Microsoft Teams)",[266,631,632],{},"Após validar seus roteiros de teste:",[343,634,635,646,649],{},[273,636,637,638,641,642,645],{},"Salve o arquivo de documentação com o nome ",[480,639,640],{},"Atividade_09.md"," na pasta ",[480,643,644],{},"es-atv-09-testes\u002F"," do seu repositório GitHub.",[273,647,648],{},"Certifique-se de fazer o commit e push para o repositório público.",[273,650,651],{},"Submeta o link do seu repositório no Microsoft Teams para avaliação do professor.",[258,653],{},[261,655,657],{"id":656},"checkpoint-de-lógica","💡 Checkpoint de Lógica",[381,659,662,665,666,669],{"color":660,"icon":661},"primary","i-lucide-megaphone",[277,663,664],{},"Importante:"," ",[277,667,668],{},"Reflexão Profissional:","\nO que é mais caro para uma empresa: encontrar um erro durante a fase de Requisitos (Atividade 03) ou encontrar esse mesmo erro depois que o software já foi entregue para 10.000 clientes? (Resposta: Depois da entrega. O custo de correção no mercado pode ser até 100x maior devido a recalls, suporte e perda de reputação). 🧠🛡️",[258,671],{},[261,673,675],{"id":674},"rubrica-formativa-de-avaliação","📊 Rubrica Formativa de Avaliação",[407,677,679,680,679,700],{"style":678},"width:100%; border-collapse: collapse; font-family: sans-serif; margin: 20px 0; border: 1px solid #ddd; box-shadow: 0 4px 8px rgba(0,0,0,0.1);","\n  ",[410,681,682,683,679],{},"\n    ",[413,684,686,687,686,691,686,694,686,697,682],{"style":685},"background-color: #2c3e50; color: white;","\n      ",[416,688,690],{"style":689},"padding: 12px; border: 1px solid #ddd; text-align: left;","Critério de Avaliação",[416,692,693],{"style":689},"Insuficiente (0% - 40%)",[416,695,696],{"style":689},"Regular (41% - 70%)",[416,698,699],{"style":689},"Excelente (71% - 100%)",[430,701,682,702,682,720,682,736,679],{},[413,703,686,705,686,711,686,714,686,717,682],{"style":704},"background-color: #f8f9fa;",[435,706,708],{"style":707},"padding: 10px; border: 1px solid #ddd;",[277,709,710],{},"Casos de Teste (Positivo & Negativo)",[435,712,713],{"style":707},"Menos de 6 roteiros ou contendo apenas testes positivos óbvios.",[435,715,716],{"style":707},"Cria 6 casos de teste mas sem clareza no resultado esperado.",[435,718,719],{"style":707},"Tabela completa com 6 casos de teste (3 pares Positivo\u002FNegativo) cobrindo ID, Título, Ação e Resultado Esperado.",[413,721,686,722,686,727,686,730,686,733,682],{},[435,723,724],{"style":707},[277,725,726],{},"Teste de Caixa Preta & Defesa do Sistema",[435,728,729],{"style":707},"Omite o cenário de teste de validação de dados\u002Fcaixa preta.",[435,731,732],{"style":707},"Descreve o cenário negativo sem indicar a ação de defesa do sistema.",[435,734,735],{"style":707},"Detalhamento impecável de teste de borda\u002Fcaixa preta e comportamento defensivo da aplicação.",[413,737,686,738,686,743,686,746,686,749,682],{"style":704},[435,739,740],{"style":707},[277,741,742],{},"Entrega no GitHub",[435,744,745],{"style":707},"Entrega fora da pasta `es-atv-09-testes\u002F`.",[435,747,748],{"style":707},"Arquivo entregue mas sem tabela organizada em Markdown.",[435,750,751],{"style":707},"`Atividade_09.md` publicado com formatação limpa e validada.",[753,754,755],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":478,"searchDepth":492,"depth":499,"links":757},[758,759,760,766,772,775,778,779,780],{"id":263,"depth":492,"text":264},{"id":303,"depth":492,"text":304},{"id":329,"depth":492,"text":330,"children":761},[762,763],{"id":337,"depth":499,"text":338},{"id":359,"depth":499,"text":360,"children":764},[765],{"id":378,"depth":505,"text":379},{"id":401,"depth":492,"text":402,"children":767},[768,769],{"id":463,"depth":505,"text":464},{"id":470,"depth":499,"text":471,"children":770},[771],{"id":546,"depth":505,"text":547},{"id":561,"depth":492,"text":562,"children":773},[774],{"id":590,"depth":499,"text":591},{"id":599,"depth":492,"text":600,"children":776},[777],{"id":620,"depth":499,"text":591},{"id":628,"depth":492,"text":629},{"id":656,"depth":492,"text":657},{"id":674,"depth":492,"text":675},"Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI \u002F Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência da qualidade, garantindo que o software seja robusto e confiável antes de chegar ao cliente final. 🛡️🧩","md",null,{},{"title":142,"description":781},"tmFllMocGIvmR_7VJ7NshnDXOxOb4Ot_5QJG0rJo8Do",[788,790],{"title":138,"path":139,"stem":140,"description":789,"children":-1},"Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI \u002F Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência da dinâmica de software, entendendo como o sistema \"conversa\" internamente. 🛡️🧩",{"title":146,"path":147,"stem":148,"description":791,"children":-1},"Bem-vindo ao grande encerramento do seu módulo de Engenharia de Software. Ao longo deste semestre, você não apenas aprendeu teoria, você construiu um ativo intelectual. Hoje, você consolidará todas as etapas em um único documento de padrão internacional: o ERS (Especificação de Requisitos de Software). 🛡️🧩",1788375144493]