• Nenhum resultado encontrado

Algumas estórias sobre desenvolvimento e teste de software

N/A
N/A
Protected

Academic year: 2021

Share "Algumas estórias sobre desenvolvimento e teste de software"

Copied!
168
0
0

Texto

(1)

Algumas estórias sobre desenvolvimento e

teste de software

Prof. M ´arcio Delamaro

(2)

Engenharias...

(3)

Engenharias...

Tacoma Narrows Bridge – 1940

Software permite que se pratique a atividade de

(4)

Engenharias...

Tacoma Narrows Bridge – 1940

Software permite que se pratique a atividade de

teste de forma mais sistemática.

Ainda assim, existem situações imprevisíveis ou

(5)
(6)
(7)

Grace Brewster Murray Hopper

(8)

Grace Brewster Murray Hopper

Harvard Mark II

(9)
(10)
(11)

O que faz o software falhar

(12)

O que faz o software falhar

Defeitos (bugs)

(13)

O que faz o software falhar

Defeitos (bugs)

Por que eles aparecem?

(14)

O que faz o software falhar

Defeitos (bugs)

Por que eles aparecem?

Complexidade

(15)

O que faz o software falhar

Defeitos (bugs)

Por que eles aparecem?

Complexidade

Novos domínios

(16)

O que faz o software falhar

Defeitos (bugs)

Por que eles aparecem?

Complexidade

Novos domínios

Falta de métodos

(17)

O que faz o software falhar

Defeitos (bugs)

Por que eles aparecem?

Complexidade

Novos domínios

Falta de métodos

Situações imprevisíveis

(18)

Seu software vai falhar

A não ser que você invente nova forma de

(19)

Seu software vai falhar

A não ser que você invente nova forma de

desenvolvê-lo.

Mesmo com todas as precauções existem

(20)

Seu software vai falhar

A não ser que você invente nova forma de

desenvolvê-lo.

Mesmo com todas as precauções existem

situações imprevisíveis (ou quase).

Usuários são enorme fonte de comportamentos

(21)

Seu software vai falhar

A não ser que você invente nova forma de

desenvolvê-lo.

Mesmo com todas as precauções existem

situações imprevisíveis (ou quase).

Usuários são enorme fonte de comportamentos

inesperados.

(22)

Seu software vai falhar

A não ser que você invente nova forma de

desenvolvê-lo.

Mesmo com todas as precauções existem

situações imprevisíveis (ou quase).

Usuários são enorme fonte de comportamentos

inesperados.

Portanto esteja preparado para quando acontecer.

(23)

O caso Panamá

(24)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

(25)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

Software Multidata para cálculo de radiação.

Software permitia a instalação de 4 placas

(26)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

Software Multidata para cálculo de radiação.

Software permitia a instalação de 4 placas

(blocos) protetivas.

(27)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

Software Multidata para cálculo de radiação.

Software permitia a instalação de 4 placas

(blocos) protetivas.

Doutora panamenha gostaria de usar 5.

Para isso projetou um bloco único com um buraco

(28)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

Software Multidata para cálculo de radiação.

Software permitia a instalação de 4 placas

(blocos) protetivas.

Doutora panamenha gostaria de usar 5.

Para isso projetou um bloco único com um buraco

no centro.

(29)

O caso Panamá

Instituto Nacional do Câncer – Panamá.

Software Multidata para cálculo de radiação.

Software permitia a instalação de 4 placas

(blocos) protetivas.

Doutora panamenha gostaria de usar 5.

Para isso projetou um bloco único com um buraco

no centro.

Dependendo de como essa placa fosse definida, o

(30)

Caso semelhante: Therac 25

(31)

Caso semelhante: Therac 25

Máquina de radioterapia

Dois tipos de tratamento: canhão de elétrons e

(32)

Caso semelhante: Therac 25

Máquina de radioterapia

Dois tipos de tratamento: canhão de elétrons e

Raio-X

Para tratamento de raio-X, um anteparo é

(33)

Caso semelhante: Therac 25

Máquina de radioterapia

Dois tipos de tratamento: canhão de elétrons e

Raio-X

Para tratamento de raio-X, um anteparo é

interposto entre o canhão de elétrons e o paciente

Em alguns casos o paciente era bombardeado

(34)

Caso semelhante: Therac 25

Máquina de radioterapia

Dois tipos de tratamento: canhão de elétrons e

Raio-X

Para tratamento de raio-X, um anteparo é

interposto entre o canhão de elétrons e o paciente

Em alguns casos o paciente era bombardeado

diretamente, sem o anteparo

(35)
(36)
(37)

Therac 25 – problemas

(38)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

(39)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

Muito mais dependente do software

Não possuía travas de segurança que

(40)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

Muito mais dependente do software

Não possuía travas de segurança que

prevenissem superexposição

Ou seja: software passou a assumir papel crítico

(41)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

Muito mais dependente do software

Não possuía travas de segurança que

prevenissem superexposição

Ou seja: software passou a assumir papel crítico

na máquina

(42)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

Muito mais dependente do software

Não possuía travas de segurança que

prevenissem superexposição

Ou seja: software passou a assumir papel crítico

na máquina

Falta de teste

(43)

Therac 25 – problemas

Sucessor do Therac 6 e Therac 20

Muito mais dependente do software

Não possuía travas de segurança que

prevenissem superexposição

Ou seja: software passou a assumir papel crítico

na máquina

Falta de teste

Falta de equipe de teste

(44)

O que teria evitado os acidentes

(45)

O que teria evitado os acidentes

Metodologia de desenvolvimento.

(46)

O que teria evitado os acidentes

Metodologia de desenvolvimento.

Metodologia de teste.

(47)

O que teria evitado os acidentes

Metodologia de desenvolvimento.

Metodologia de teste.

Pessoal adequado.

(48)

O que teria evitado os acidentes

Metodologia de desenvolvimento.

Metodologia de teste.

Pessoal adequado.

Lição #1: software vai falhar.

(49)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

(50)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

(51)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

(52)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

Dois mortos, 40 feridos.

(53)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

Dois mortos, 40 feridos.

Tempo feio: chuva, vento, pista molhada.

(54)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

Dois mortos, 40 feridos.

Tempo feio: chuva, vento, pista molhada.

Tripulação seguiu procedimentos.

(55)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

Dois mortos, 40 feridos.

Tempo feio: chuva, vento, pista molhada.

Tripulação seguiu procedimentos.

Avião aquaplanou nos 9 segundos inicias.

Vento e chuva ludibriaram o computador, que

(56)

Airbus 320

Em setembro de 1993 um Airbus 320 fazia um

pouso no aeroporto de Varsóvia, na Polônia.

Avião varou o fim da pista e parou num morro.

Dois mortos, 40 feridos.

Tempo feio: chuva, vento, pista molhada.

Tripulação seguiu procedimentos.

Avião aquaplanou nos 9 segundos inicias.

(57)

Houston, we have a (lot of) problem

(58)

Houston, we have a (lot of) problem

Viagens no espaço são campeãs em bugs

(59)

Houston, we have a (lot of) problem

Viagens no espaço são campeãs em bugs

Por um lado software é complexo e crítico

Por outro, erros bizarros levam a perdas

(60)

Pathfinder – Marte (1997)

(61)

Pathfinder – Marte (1997)

Sonda de exploração do solo marciano.

Inaugurou diversos conceitos, inclusive o uso de

(62)

Pathfinder – Marte (1997)

Sonda de exploração do solo marciano.

Inaugurou diversos conceitos, inclusive o uso de

airbags para permitir o pouso.

O seu “rover” capaz de coletar e analisar

(63)

Pathfinder – Marte (1997)

Sonda de exploração do solo marciano.

Inaugurou diversos conceitos, inclusive o uso de

airbags para permitir o pouso.

O seu “rover” capaz de coletar e analisar

amostras.

Colhia dados por um longo tempo e depois os

(64)

Pathfinder – Marte (1997)

Sonda de exploração do solo marciano.

Inaugurou diversos conceitos, inclusive o uso de

airbags para permitir o pouso.

O seu “rover” capaz de coletar e analisar

amostras.

Colhia dados por um longo tempo e depois os

transmitia para a Terra.

(65)

O problema

Software do robô é concorrente, com

(66)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

(67)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

Cada thread possui uma prioridade.

“Information bus” é uma memória compartilhada

que serve para trocar informação entre diversas partes do sistema.

(68)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

Cada thread possui uma prioridade.

“Information bus” é uma memória compartilhada

que serve para trocar informação entre diversas partes do sistema.

(69)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

Cada thread possui uma prioridade.

“Information bus” é uma memória compartilhada

que serve para trocar informação entre diversas partes do sistema.

Acesso controlado por mutex.

Gerenciador do I.B.: roda freqüentemente, com

(70)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

Cada thread possui uma prioridade.

“Information bus” é uma memória compartilhada

que serve para trocar informação entre diversas partes do sistema.

Acesso controlado por mutex.

Gerenciador do I.B.: roda freqüentemente, com

alta prioridade.

(71)

O problema

Software do robô é concorrente, com

escalonamento preemptivo.

Cada thread possui uma prioridade.

“Information bus” é uma memória compartilhada

que serve para trocar informação entre diversas partes do sistema.

Acesso controlado por mutex.

Gerenciador do I.B.: roda freqüentemente, com

alta prioridade.

Thread meteorológica: roda de vez em quando,

(72)

O problema

(73)

O problema

Essa combinação geralmente funciona bem.

Situação de erro: Gerenciador do I.B. bloqueado

(74)

O problema

Essa combinação geralmente funciona bem.

Situação de erro: Gerenciador do I.B. bloqueado

no mutex.

Comunicação é escalonada e ganha processador

(75)

O problema

Essa combinação geralmente funciona bem.

Situação de erro: Gerenciador do I.B. bloqueado

no mutex.

Comunicação é escalonada e ganha processador

pois tem prioridade maior que a meteorologia.

(76)

O problema

Essa combinação geralmente funciona bem.

Situação de erro: Gerenciador do I.B. bloqueado

no mutex.

Comunicação é escalonada e ganha processador

pois tem prioridade maior que a meteorologia.

Comunicação demora quanto tempo quiser.

Timer expira indicando que gerenciador do I.B.

(77)

O problema

Essa combinação geralmente funciona bem.

Situação de erro: Gerenciador do I.B. bloqueado

no mutex.

Comunicação é escalonada e ganha processador

pois tem prioridade maior que a meteorologia.

Comunicação demora quanto tempo quiser.

Timer expira indicando que gerenciador do I.B.

não foi executado por um longo período de tempo.

(78)

O que salvou o projeto?

(79)

O que salvou o projeto?

Horas de execução em “debug mode”.

(80)

O que salvou o projeto?

Horas de execução em “debug mode”.

Sorte.

(81)

O que salvou o projeto?

Horas de execução em “debug mode”.

Sorte.

Lição # 1.

Alterando valor de uma constante no programa, o

(82)

O que salvou o projeto?

Horas de execução em “debug mode”.

Sorte.

Lição # 1.

Alterando valor de uma constante no programa, o

problema foi resolvido.

Herança de prioridade: quando o gerenciado do

I.B. ficou bloqueado no mutex, a meteorologia iria herdar sua prioridade.

(83)

O que salvou o projeto?

Horas de execução em “debug mode”.

Sorte.

Lição # 1.

Alterando valor de uma constante no programa, o

problema foi resolvido.

Herança de prioridade: quando o gerenciado do

I.B. ficou bloqueado no mutex, a meteorologia iria herdar sua prioridade.

(84)

O que aprendemos

(85)

O que aprendemos

O software vai falhar.

Mecanismos de depuração em alguns casos são

(86)

O que aprendemos

O software vai falhar.

Mecanismos de depuração em alguns casos são

essenciais.

Meio para corrigir o problema de maneira fácil é

(87)

O que aprendemos

O software vai falhar.

Mecanismos de depuração em alguns casos são

essenciais.

Meio para corrigir o problema de maneira fácil é

benvindo (flexibilidade)

(88)

O que aprendemos

O software vai falhar.

Mecanismos de depuração em alguns casos são

essenciais.

Meio para corrigir o problema de maneira fácil é

benvindo (flexibilidade)

Aplicar técnicas de teste adequadas ao domínio.

O que diferencia o laboratório de teste do

(89)

O que aprendemos

O software vai falhar.

Mecanismos de depuração em alguns casos são

essenciais.

Meio para corrigir o problema de maneira fácil é

benvindo (flexibilidade)

Aplicar técnicas de teste adequadas ao domínio.

O que diferencia o laboratório de teste do

ambiente real?

(90)

Os Russos também

(91)

Os Russos também

(92)

E nesse caso?

(93)

E nesse caso?

Lançado 12 de julho.

(94)

E nesse caso?

Lançado 12 de julho.

Sumiu 2 de setembro.

Foi emitido um comando de terra que desabilitou o

(95)

E nesse caso?

Lançado 12 de julho.

Sumiu 2 de setembro.

Foi emitido um comando de terra que desabilitou o

sistema referencial na nave.

Com isso ela perdeu o sol e não pôde recarregar

(96)

Perguntas

(97)

Perguntas

Por que alguém iria emitir tal comando?

(98)

Perguntas

Por que alguém iria emitir tal comando?

Falha humana.

Por que uma nave deveria ter uma funcionalidade

(99)

Perguntas

Por que alguém iria emitir tal comando?

Falha humana.

Por que uma nave deveria ter uma funcionalidade

para desabilitar o sistema de orientação?

(100)

Perguntas

Por que alguém iria emitir tal comando?

Falha humana.

Por que uma nave deveria ter uma funcionalidade

para desabilitar o sistema de orientação?

Não deveria.

(101)

Perguntas

Por que alguém iria emitir tal comando?

Falha humana.

Por que uma nave deveria ter uma funcionalidade

para desabilitar o sistema de orientação?

Não deveria.

Útil para algumas rotinas de teste.

(102)

Lições?

(103)

Lições?

Teste é teste, produção é produção.

Mantenha o software simples, remova o

(104)

Lições?

Teste é teste, produção é produção.

Mantenha o software simples, remova o

desnecessário.

(105)

E até os Europeus

(106)

E até os Europeus

Lançamento do foguete Ariane 5.

Após 40 segundos do lançamento, o foguete

perdeu completamente sua orientação, tombou e se autodestruiu.

(107)

E até os Europeus

Lançamento do foguete Ariane 5.

Após 40 segundos do lançamento, o foguete

perdeu completamente sua orientação, tombou e se autodestruiu.

Foi determinado que o sistema de orientação

deixou de funcionar por causa de um conversão de tipos.

(108)

E até os Europeus

Lançamento do foguete Ariane 5.

Após 40 segundos do lançamento, o foguete

perdeu completamente sua orientação, tombou e se autodestruiu.

Foi determinado que o sistema de orientação

deixou de funcionar por causa de um conversão de tipos.

Ao tentar converter um valor real em inteiro, houve

uma exceção que resetou o computador que cuidava da orientação.

(109)

E até os Europeus

Lançamento do foguete Ariane 5.

Após 40 segundos do lançamento, o foguete

perdeu completamente sua orientação, tombou e se autodestruiu.

Foi determinado que o sistema de orientação

deixou de funcionar por causa de um conversão de tipos.

Ao tentar converter um valor real em inteiro, houve

uma exceção que resetou o computador que cuidava da orientação.

(110)

Causas da falha?

(111)

Causas da falha?

Software foi reaproveitado do Ariane 4.

Existia um sistema de ajuste do foguete na

(112)

Causas da falha?

Software foi reaproveitado do Ariane 4.

Existia um sistema de ajuste do foguete na

plataforma, antes de ser lançado.

Sistema continuava operante por 40 segundos

(113)

Causas da falha?

Software foi reaproveitado do Ariane 4.

Existia um sistema de ajuste do foguete na

plataforma, antes de ser lançado.

Sistema continuava operante por 40 segundos

depois era desligado.

Esse sistema não era usado no Ariane 5, mas

(114)

Causas da falha?

Software foi reaproveitado do Ariane 4.

Existia um sistema de ajuste do foguete na

plataforma, antes de ser lançado.

Sistema continuava operante por 40 segundos

depois era desligado.

Esse sistema não era usado no Ariane 5, mas

estava presente.

(115)

Causas da falha?

Software foi reaproveitado do Ariane 4.

Existia um sistema de ajuste do foguete na

plataforma, antes de ser lançado.

Sistema continuava operante por 40 segundos

depois era desligado.

Esse sistema não era usado no Ariane 5, mas

estava presente.

Com a trajetória do Ariane 5, ocorria um erro de

conversão que era tratado (ou não) resetando-se o computador.

(116)

Lições

Reúso de software é ótimo mas a necessidade de

(117)

Lições

Reúso de software é ótimo mas a necessidade de

teste é a mesma

(118)

Lições

Reúso de software é ótimo mas a necessidade de

teste é a mesma

Dificuldade em se testar situações de exceção.

(119)

Lições

Reúso de software é ótimo mas a necessidade de

teste é a mesma

Dificuldade em se testar situações de exceção.

Mecanismos de redundância às vezes são inúteis.

(120)

Lições

Reúso de software é ótimo mas a necessidade de

teste é a mesma

Dificuldade em se testar situações de exceção.

Mecanismos de redundância às vezes são inúteis.

Compatibilidade é...

(121)

Lições

Reúso de software é ótimo mas a necessidade de

teste é a mesma

Dificuldade em se testar situações de exceção.

Mecanismos de redundância às vezes são inúteis.

Compatibilidade é...

Não manter coisas desnecessárias ou perigosas.

(122)

Mas o que é teste?

(123)

Mas o que é teste?

Atividade de VV

(124)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

(125)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

comportamento

(126)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

comportamento

Etapas

(127)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

comportamento

Etapas

Planejamento

(128)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

comportamento

Etapas

Planejamento

Projeto

(129)

Mas o que é teste?

Atividade de VV

Atividade dinâmica

Consiste em executar um programa e analisar seu

comportamento • EtapasPlanejamentoProjetoExecuçãoAnálise

(130)

O que se estuda em relação ao teste?

(131)

O que se estuda em relação ao teste?

Processo

(132)

O que se estuda em relação ao teste?

Processo

Documentação

(133)

O que se estuda em relação ao teste?

ProcessoDocumentaçãoAspecto humano

Técnicas e ferramentas

de seleção de casos de

teste

(134)
(135)

Técnicas e critérios de seleção

Package Design Pattern Role 1 Role 2 Role 3 id: Object id: Object Design Pattern Role 1 Role 2 Role 3 F B Bath Living Room Bedroom Bedroom Laundry Kitchen CL. CL. CL. CL. from: The Design of Light Aircraft

contact: phiscock@ee.ryerson.ca R.D. Hiscocks Vancouver, BC, Canada CLK LOAD INHIBITCLK 15 1 2 9 F G H E 3 4 5 6 A B C D 11 12 13 14 SER 10 74165 Qh

(136)
(137)
(138)
(139)
(140)
(141)
(142)

Teste exaustivo

D(P) Sucesso ou Falha S(P) P

(143)

Teste randômico

D(P) Sucesso ou Falha S(P) P T

(144)

Teste de subdomínios

D(P) Sucesso ou Falha S(P) P T

(145)

Teste de subdomínios

D(P) Sucesso ou Falha S(P) P T

(146)

Como computar domínios

(147)

Como computar domínios

Teste funcional

(148)

Como computar domínios

Teste funcional

Teste estrutural

(149)

Teste funcional

Analisa o domínio de entrada e tenta dividi-lo

(150)

Teste funcional

Analisa o domínio de entrada e tenta dividi-lo

igualmente.

(151)

Teste funcional

Analisa o domínio de entrada e tenta dividi-lo

igualmente.

Não leva em consideração a implementação.

(152)

Teste funcional

Analisa o domínio de entrada e tenta dividi-lo

igualmente.

Não leva em consideração a implementação.

É o mais flexível.

Pode ser aplicado em diversas fases do teste e do

(153)

Exemplo:

x

Y

(154)

Exemplo:

x

Y

x: número inteiro

(155)

Exemplo:

x

Y

x: número inteiro

y: número inteiro não negativo

(156)

Exemplo:

x

Y

x: número inteiro

y: número inteiro não negativo

Domínio de entrada: todo par hx, yi com y ≥ 0.

<0,0> <0,1> <0,2> <1,0> <2,0> <3,0> ... <1,1> <1,2> <−1,1> <−2,2> <−2,3> ... ...

(157)

Critérios funcionais

Partição em classe de equivalência

Análise de valor limite

(158)

Teste estrutural

(159)

Teste estrutural

Baseia-se na implementação

(160)

Teste estrutural

Baseia-se na implementação

Requisitos: comandos, desvios, variáveis

(161)

Grafo de fluxo de controle

void m() { read(x); ... if ( a < x ) ... else ... while ( ... ) { ...

(162)
(163)

Teste de mutação

if ( a > b) .... OK OK OK OK

(164)

Teste de mutação

? ? ? ? if ( a >= b) ....

(165)

Teste de mutação

? ? ? ? if ( a >= b) .... NOK

(166)

Teste de mutação

NOK OK NOK NOK OK

(167)
(168)

Introdução ao teste de software - Ed.

Campus

17 pesquisadores

Conceitos básicos

Teste funcional, estrutural, baseado em defeitos,

baseado em modelos

Teste OO, aspectos, WEB, programas

concorrentes

Propriedades, depuração, confiabilidade

Referências

Documentos relacionados

I- Identificar as funcionalidades dos sistemas para gerenciamento de serviços que agregam valor em relação aos atributos de qualidade e que possibilitem tratar as implicações

O Eixo 3 da intervenção tem por objectivo a valorização e promoção dos valores naturais e culturais singulares, no pressuposto de que apenas con- jugando os recursos naturais e

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

Para identificar quais treinamentos serão necessários para cada trabalhador ou equipe dentro de uma organização desenvolver um programa eficaz de T&amp;D, pode-se buscar

No método criado por Jeff Sutherland e formalizado por Ken Schwaber (SCHWABER e SUTHERLAND, 2013), a equipe de desenvolvimento trabalha de forma unida e com o objetivo

P or ocasião de seu 40 º aniversário, o Centro Internacional de Física Teórica (ICTP) – instituição fundada pelo Professor Abdus Salam, em 1964, com o objetivo de estimular