Análise e Teste de Software (H507O9)
Equipa Docente
João Saraiva: Aulas teóricas
José Nuno Macedo: Aulas laboratoriais
Sumários
Aula 1 (14/10)
(T + PL) Apresentação da disciplina. Combinadores de Parsing.
"Embedded Domain Specific Languages". Gramáticas (BNF) como uma EDSL em Haskell: Combinadores de Parsing.
Material
Combinadores de Parser -
Slides:
Slides-Parsing.pdf
Combinadores de Parsing -
Library:
Parser.hs
Parser para a linguage
Let:
Parser_Let.hs
Combinadores de Parsing - Exercícios:
*Parsing.pdf*
Aula 2 (21/10)
T: Métricas de Software e Smells de Código.
PL: O Sistema SonarQube.
Material
Software Metrics -
Slides:
SoftwareMetrics.pdf
Code Smells -
Slides:
CodeSmells.pdf
Sonarqube -
Slides:
SonarQube.pdf
Aula 3 (28/10)
T: Catálogo de Smells de Código e
Program Refactoring.
PL: Program Refactoring em intelliJ.
Material
Program Refactoring -
Slides:
ProgramRefactoring.pdf
Program Refactoring - _ Exercícios_:
Refactoring.pdf
Exemplos de Programas:
Contactos.zip,
Poligono.zip
Aula 4 (04/11)
T: Technical Debt. e
Green Software.
PL: Análise da
Technical Debt de um sistema de software usando o SonarQube. Utilização de refactorings do IntelliJ para eliminar smells e diminuir o
Technical Debt.
Material
Technical Debt - Slides:
TechnicalDebt.pdf
Green Software - Slides:
GreenSoftware.pdf
Ficha de Exercícios:
ficha.pdf
Software:
Sofwate.zip
Aula 5 (11/11)
T: Green Software: Analysis and Optimization.
PL: Análise do consumo de energia usando a framework da Intel RAPL.
Material
Green Software Smells - Slides:
GreenSoftware-Smells.pdf
RAPL - Software:
RAPL_2020.tar.tgz
Aula 6 (18/11)
T: Software Testing: White Box vs Black Box Testing. Testing
Layers. Testing coverage.
PL: The Java Unit testing framework JUnit. Exercises.
Material
Software Testing - Slides:
Testing-Coverage.pdf
Software Testing - JUnit:
ficha-SwTesting.pdf
Aula 7 (25/11)
T: Software Testing: Automated Test Case Generation.
PL: The EvoSuite system. Exercises.
Material
EvoSuite - Slides:
Test-Generation-Using-EvoSuite.pdf
EvoSuite - Exercises:
ficha-evosuite.pdf
Aula 8 (02/12)
T: Software Testing: Automated Test Case Generation and Property-based Testing.
PL: The QuickCheck. Exercises.
Material
QuickCheck - Test Case Generation:
AutomatedTestGenaration-2020-2021.pdf
QuickCheck - Property-Based Testing:
PropertyBasedTesting-2020-2021.pdf
QuickCheck - Exercises:
ficha-test_case_generation.pdf
ficha-property_testing.pdf
Aula 9 (09/12)
T: Software Testing: Mutation-based Testing. Fault Localization.
PL: The PIT and CodeDefender. Exercises and Game.
Material
PIT - Mutation-base Testing in Java - Ficha:
ficha-mutation.pdf
Spectrum-based Fault Localization - Slides:
FaultLocalization.pdf ,
Excel Template
Aula 10 (16/12)
T: Web-Based Testing. O Sistema Selenium.
PL: CodeDefender: practice.
Material
Web-Based Testing - Selenium:
Selenium.pdf
Aula 11 (06/01)
T + PL: Teste Individual
Projeto em Grupo
Enunciado do projeto:.
projeto.pdf
Material
Sistema de Software -
Enúnciado/Requisitos:
enunciado.pdf
Sistema de Software - Soluções:
software.zip
Regime de Avaliação
A avaliação consiste em duas componentes: prova individual (PI) (teste ou exame escritos) e Projeto em Grupo (PG) (a resolver durante o semestre). As provas escritas são de consulta de material impresso, apenas.
A Nota final é calcula de acordo com a seguinte fórmula: 50% PI + 50% PG, com nota mínima de 8 valores em todas as componentes de avaliação.
O projeto em grupo será desenvolvido por
grupos de 3 alunos.
Importante: O torneio de CodeDefender será disputado
individualmente e poderá contibuir com (mais) dois valores na nota do
projeto em grupo.
O início do torneio é 3a feira, dia 22/12, às 14:00, e será realizado
no BlackBoard Collaborate Ultra.
Os resultados da fase de grupos estão disponíveis
aqui. (ver worksheet: Resultados Fase de Grupos).
Haverá ainda uma eliminatória entre 5 alunos, em que os dois melhores
passarão aos quartos de final. (ver worksheet: Eliminatorias).
Esta eliminatória será realizada no dia do teste (6 de Janeiro).
Os quartos de final, meia final e final serão realizados no dia
26 de Janeiro.
Os alunos podem praticar para o torneio no site local do Code Defender disponível aqui
Datas da Avaliação
Prova Individual: 06/01/2021 às 14:00
(última aula do semestre)
Notas do Teste Individual:
ATS-Notas-2020-2021.pdf
O teste do ano passado está disponível
aqui.
Entrega do Projeto em Grupo: 25/01/2021
Torneio - Finais: 26/01/2021, às 14:00
Exame::
??/??/2021 (a definir)
Alunos | Students
# | Nome | Curso | Grupo |
a84584 | Alexandra de Barros Reigada | MiEI | 5 |
a84462 | Alexandre Esteves Miranda | MiEI | 12 |
a83916 | Ana João Dias de Almeida | MiEI | 3 |
a85762 | Ana Afonso | MiEI | 1 |
a84475 | Ana Rita Miranda Rosendo | MiEI | 9 |
a84807 | André Sousa Figueiredo | MiEI | 3 |
a85516 | António Manuel Carvalho Gonçalves | MiEI | 9 |
a78352 | Bruno Cruz Veloso | MiEI | 4 |
pg42818 | Carolina Resende Marques | MiEI | 6 |
pg39286 | Emely da Mata Mendonça | MEI | 6 |
a76089 | Etienne da Silva Filipe Amado da Costa | MiEI | 8 |
a65277 | Flávio Manuel Machado Martins | MiEI | 1 |
a85579 | Hugo Filipe Duarte Carvalho | MiEI | 2 |
a85573 | Jorge Gabriel Alves Cerqueira | MiEI | 6 |
a84776 | José Emanuel Silva Rodrigues | MiEI | 3 |
a85501 | José Manuel Pires Rodrigues | MiEI | 7 |
a84577 | José Pedro Oliveira Silva | MiEI | 10 |
a80791 | João Diogo Mendes Teixeira da Mota | MiEI | 4 |
a83581 | João Miguel Fernandes Cerqueira Soares | MiEI | 9 |
a80397 | João Nuno Alves Lopes | MiEI | 1 |
a84241 | Luís Manuel Azevedo Maia | MiEI | 11 |
a86265 | Luís Pedro Barbosa Ferreira | MiEI | 3 |
e9867 | Maria Medvidova | Erasmus | 8 |
a83840 | Maria Moutinho Figueiredo da Silva | MiEI | 12 |
a85242 | Maria Miguel Albuquerque Regueiras | MiEI | 5 |
a71407 | Maurício Zulueta Lima Salgado | MiEI | 8 |
a44419 | Miguel Mateus Ribeiro | MEI | 12 |
a83819 | Miguel Rúben Silva de Oliveira | MiEI | 7 |
a84727 | Nelson Correia Faria | MiEI | 7 |
a85493 | Pedro Alexandre Gonçalves Ribeiro | MiEI | 2 |
a82535 | Pedro Mendes Pinto | MiEI | |
a85700 | Pedro Miguel Araújo Costa | MiEI | 10 |
a84783 | Pedro Miguel Borges Rodrigues | MiEI | 10 |
a86266 | Rafael Inácio Lourenço | MiEI | 4 |
a82568 | Ricardo Jorge Silva Ferreira | MiEI | 11 |
a83765 | Rodrigo da Silva Pimentel | MiEI | 11 |
a80789 | Rui Filipe Brito Azevedo | MiEI | 8 |
a83712 | Rui Filipe Moreira Mendes | MiEI | 2 |
a85176 | Tânia Filipa Amorim da Rocha | MiEI | 5 |