TESTE DE SOFTWARE
Desafios e oportunidades no mundo da
virtualização, dos containers e do desenvolvimento
mobile
Amador Pa...
INSERT DESIGNATOR, IF NEEDED2
TESTE DE
SOFTWARE
Unit tests
Component tests
Integration tests
API tests
Functional
tests (G...
INSERT DESIGNATOR, IF NEEDED3
Unit tests
Component tests
Integration tests
API tests
Functional
tests (GUI)
$
TESTE DE
SOF...
INSERT DESIGNATOR, IF NEEDED4
Unit tests
Component tests
Integration tests
API tests
Functional
tests (GUI)
$
Developers
T...
INSERT DESIGNATOR, IF NEEDED5
Unit tests
Component tests
Integration tests
API tests
Functional
tests (GUI)
$
Developers
Q...
INSERT DESIGNATOR, IF NEEDED6
DESAFIOS
LOCAL CI PRODUCTION
INSERT DESIGNATOR, IF NEEDED7
DESAFIOS
DB BACKEND FRONTENDFRONTEND
INSERT DESIGNATOR, IF NEEDED8
DESAFIOS
DB BACKEND FRONTENDAPI
WEB
MOBILE
INSERT DESIGNATOR, IF NEEDED9
NOVOS DESAFIOS
DB
BACKEND
API
WEB
VM Container
API
Container
Container
MOBILE
Avocado Testing Framework
What’s Avocado?
• A set of tools and libraries to help with automated
testing
• Native tests are written in Python
• Any e...
Test Runner
Test API Libraries
Test Runner
Test Runner
• Automated logging
• Sysinfo collection
• Nice UI
• Output formats (HTML, JSON, TAP, XUNIT)
...
Loader/Runner Plugins
Avocado Instrumented Tests (Avocado Test API)
Simple tests (executables)
Python Unittest
Robot Frame...
Test Runner
• Results
• TUI
• JSON
• XUNIT
• TAP
• HTML
• ResultsDB
Test Runner - Varianter
Test Runner - Varianter
Variant 1: /run/hw/cpu/intel, /run/hw/disk/scsi, /run/distro/fedora,
/run/env/prod
/run/distro/fed...
ANÁLISE COMBINATÓRIA
P1 P2 P3
A X 0
B Z 1
A X 0
A X 0
A X 1
A Y 0
A Y 1
B X 0
B X 1
B Y 0
B Y 1
ANÁLISE COMBINATÓRIA
P1 P2 P3
A X 0
B Z 1
A X 0
A X 0
A X 1
A Y 0
A Y 1
B X 0
B X 1
B Y 0
B Y 1
ANÁLISE COMBINATÓRIA
P1 P2 P3
A X 0
B Z 1
A X 0
A X 0
A X 1
A Y 0
A Y 1
B X 0
B X 1
B Y 0
B Y 1
Test Runner – Job Replay
Test Runner – Job Dif
Test API
Test API
Test API - Parameters
• INSTRUMENTED tests:
self.params.get(‘cpu’, default=’cpu0’)
• SIMPLE tests:
• Environment variables...
Test API - Logging
Test API - Asset Fetcher
Libraries
Libraries
• Process
• Kernel
• Memory
• SoftwareManager
• VmImage
• FileLock
...
Libraries
Release Management
• Current: 55.0:
• Tarballs
• RPMs for Fedora and EL7
• LTS (v36.4 and v52.0)
• Available in project re...
Get Involved!
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitte...
Próximos SlideShares
Carregando em…5
×

Teste de software Desafios e oportunidades no mundo da Virtualizacao, dos Containers e do Desenvolvimento Mobile - Amador Pahim

69 visualizações

Publicada em

Teste de Software: desafios e oportunidades no mundo da virtualização, dos containers e do desenvolvimento mobile por Amador Pahim

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Teste de software Desafios e oportunidades no mundo da Virtualizacao, dos Containers e do Desenvolvimento Mobile - Amador Pahim

  1. 1. TESTE DE SOFTWARE Desafios e oportunidades no mundo da virtualização, dos containers e do desenvolvimento mobile Amador Pahim Software Engineer Virtualization Team
  2. 2. INSERT DESIGNATOR, IF NEEDED2 TESTE DE SOFTWARE Unit tests Component tests Integration tests API tests Functional tests (GUI)
  3. 3. INSERT DESIGNATOR, IF NEEDED3 Unit tests Component tests Integration tests API tests Functional tests (GUI) $ TESTE DE SOFTWARE
  4. 4. INSERT DESIGNATOR, IF NEEDED4 Unit tests Component tests Integration tests API tests Functional tests (GUI) $ Developers TESTE DE SOFTWARE
  5. 5. INSERT DESIGNATOR, IF NEEDED5 Unit tests Component tests Integration tests API tests Functional tests (GUI) $ Developers QA TESTE DE SOFTWARE
  6. 6. INSERT DESIGNATOR, IF NEEDED6 DESAFIOS LOCAL CI PRODUCTION
  7. 7. INSERT DESIGNATOR, IF NEEDED7 DESAFIOS DB BACKEND FRONTENDFRONTEND
  8. 8. INSERT DESIGNATOR, IF NEEDED8 DESAFIOS DB BACKEND FRONTENDAPI WEB MOBILE
  9. 9. INSERT DESIGNATOR, IF NEEDED9 NOVOS DESAFIOS DB BACKEND API WEB VM Container API Container Container MOBILE
  10. 10. Avocado Testing Framework
  11. 11. What’s Avocado? • A set of tools and libraries to help with automated testing • Native tests are written in Python • Any executable can serve as a test Designed to give a common ground to both QA and Developers
  12. 12. Test Runner Test API Libraries
  13. 13. Test Runner
  14. 14. Test Runner • Automated logging • Sysinfo collection • Nice UI • Output formats (HTML, JSON, TAP, XUNIT) ...
  15. 15. Loader/Runner Plugins Avocado Instrumented Tests (Avocado Test API) Simple tests (executables) Python Unittest Robot Framework Golang External runner (basically anything) Test Runner
  16. 16. Test Runner • Results • TUI • JSON • XUNIT • TAP • HTML • ResultsDB
  17. 17. Test Runner - Varianter
  18. 18. Test Runner - Varianter Variant 1: /run/hw/cpu/intel, /run/hw/disk/scsi, /run/distro/fedora, /run/env/prod /run/distro/fedora:init => systemd /run/env/prod:opt_CFLAGS => -O2 /run/hw/cpu/intel:cpu_CFLAGS => -march=core2 /run/hw/disk/scsi:disk_type => scsi Variant 2: /run/hw/cpu/intel, /run/hw/disk/scsi, /run/distro/mint, /run/env/prod /run/distro/mint:init => systemv /run/env/prod:opt_CFLAGS => -O2 /run/hw/cpu/intel:cpu_CFLAGS => -march=core2 /run/hw/disk/scsi:disk_type => scsi Variant 3: /run/hw/cpu/intel, /run/hw/disk/virtio, /run/distro/fedora, /run/env/prod /run/distro/fedora:init => systemd /run/env/prod:opt_CFLAGS => -O2 /run/hw/cpu/intel:cpu_CFLAGS => -march=core2 /run/hw/disk:disk_type => virtio ...
  19. 19. ANÁLISE COMBINATÓRIA P1 P2 P3 A X 0 B Z 1 A X 0 A X 0 A X 1 A Y 0 A Y 1 B X 0 B X 1 B Y 0 B Y 1
  20. 20. ANÁLISE COMBINATÓRIA P1 P2 P3 A X 0 B Z 1 A X 0 A X 0 A X 1 A Y 0 A Y 1 B X 0 B X 1 B Y 0 B Y 1
  21. 21. ANÁLISE COMBINATÓRIA P1 P2 P3 A X 0 B Z 1 A X 0 A X 0 A X 1 A Y 0 A Y 1 B X 0 B X 1 B Y 0 B Y 1
  22. 22. Test Runner – Job Replay
  23. 23. Test Runner – Job Dif
  24. 24. Test API
  25. 25. Test API
  26. 26. Test API - Parameters • INSTRUMENTED tests: self.params.get(‘cpu’, default=’cpu0’) • SIMPLE tests: • Environment variables • Python: os.environ.get(‘cpu’) • Bash: ${cpu} …
  27. 27. Test API - Logging
  28. 28. Test API - Asset Fetcher
  29. 29. Libraries
  30. 30. Libraries • Process • Kernel • Memory • SoftwareManager • VmImage • FileLock ...
  31. 31. Libraries
  32. 32. Release Management • Current: 55.0: • Tarballs • RPMs for Fedora and EL7 • LTS (v36.4 and v52.0) • Available in project repository • Supported for 18 months • Minor releases from time to time • Only bug fixes and other stability related changes • New LTS every year (or so) • Fedora: • python2-avocado • Pip: • avocado-framework
  33. 33. Get Involved!
  34. 34. THANK YOU plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHatNews

×